GenuineAIGenuineAI
For usersFor developers
  • Overview
  • Guides
  • How-to
  • API reference
Documentation
  • Quickstart
  • Authentication
  • Errors
  • Rate limits
  • API reference
Platform
  • Platform overview
  • Solutions
  • Pricing
  • Sign in
Company
  • Status
  • Trust Center
  • Contact
  • Terms of Service
  • Privacy Policy

© 2026 GenuineAI Ventures LLC

support@genuinehq.com
Overview
Core
Media library
AI
Documents
Knowledge
    Knowledge bases
    Knowledge base records
    Knowledge base schemas
    Objects
    Object taxonomies
      List taxonomy nodesgetCreate a taxonomy nodepostGet a taxonomy nodegetDelete a taxonomy nodedeleteUpdate a taxonomy nodepatch
    Object schemas
    Object lifecycle flows
    Object sources
Creative
Website & content
Automation
Customer channels
Administration
Schemas
GenuineAI API
GenuineAI API

Object taxonomies

The classification schemes objects are filed under. Several independent trees coexist, and an object may sit in as many of them as it needs.


List taxonomy nodes

GET
https://api.genuineai.app/api/v1
/object-taxonomies

Beta — this operation may change on 30 days notice. See versioning.

The nodes of a scheme, in display order — filter to one with tax_type. Ask for a whole tree with a limit that covers it: a page cut through a tree leaves children whose parent is missing. Pass counts=true for the number of objects filed under each node, and root=true for the top level only.

Requires the module-objects license feature. Without it the request is refused with 403 license_required — see plans and modules.

List taxonomy nodes › query Parameters

counts
​boolean
cursor
​string · maxLength: 512 · pattern: ^[A-Za-z0-9_-]+$
limit
​integer
offset
​integer · min: 0
root
​boolean
sort
​string · minLength: 1 · maxLength: 64 · pattern: ^-?[a-z0-9_]+$
tax_active
​boolean
tax_id
​string · uuid
tax_key
​string
tax_name
​string
tax_parent
​string · uuid
tax_type
​string

List taxonomy nodes › Headers

X-Tenant-Id
​string · uuid · required

The workspace this request acts in. Every row the API returns is isolated to it at the database layer by row-level security.

List taxonomy nodes › Responses

Success

​ObjectTaxonomy[] · required
has_more
​boolean · required

Whether more rows exist past this page.

next_cursor
​string | null · required

Pass back as cursor for the next page. Null on the last page.

GET/object-taxonomies
curl https://api.genuineai.app/api/v1/object-taxonomies \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>'
Example Responses
{ "data": [ { "tax_id": "00000000-0000-0000-0000-000000000000", "tax_active": true, "tax_created": "2024-08-25T15:00:00Z", "tax_updated": "2024-08-25T15:00:00Z", "tax_type": "tax_type", "tax_name": "tax_name", "tax_key": "tax_key", "tax_parent": "tax_parent", "tax_order": 0, "tax_metadata": {}, "object_count": 0 } ], "has_more": true, "next_cursor": "next_cursor" }
json
application/json

Create a taxonomy node

POST
https://api.genuineai.app/api/v1
/object-taxonomies

Beta — this operation may change on 30 days notice. See versioning.

A node with no tax_parent starts a new tree. A node with one must share its parent's tax_type — a tree belongs to a single scheme.

Requires the module-objects license feature. Without it the request is refused with 403 license_required — see plans and modules.

Create a taxonomy node › Headers

X-Tenant-Id
​string · uuid · required

The workspace this request acts in. Every row the API returns is isolated to it at the database layer by row-level security.

Create a taxonomy node › Request Body

tax_type
​string · minLength: 1 · maxLength: 64 · required
tax_name
​string · minLength: 1 · maxLength: 300 · required
tax_key
​string · maxLength: 200
tax_parent
​string · uuid
tax_order
​integer
tax_metadata
​object

Create a taxonomy node › Responses

Created

One node of a classification scheme. Nodes sharing a `tax_type` form one tree; `tax_parent` is the node above, and a node with none is a root.
ObjectTaxonomy
tax_id
​string · uuid
tax_active
​boolean
tax_created
​string · date-time
tax_updated
​string · date-time
tax_type
​string
tax_name
​string
tax_key
​string
tax_parent
​string
tax_order
​integer
tax_metadata
​object
object_count
​integer

How many objects are filed directly under this node.

POST/object-taxonomies
curl https://api.genuineai.app/api/v1/object-taxonomies \ --request POST \ --header 'Content-Type: application/json' \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>' \ --data '{ "tax_type": "tax_type", "tax_name": "tax_name", "tax_key": "tax_key", "tax_parent": "00000000-0000-0000-0000-000000000000", "tax_order": 0, "tax_metadata": {} }'
Example Request Body
{ "tax_type": "tax_type", "tax_name": "tax_name", "tax_key": "tax_key", "tax_parent": "00000000-0000-0000-0000-000000000000", "tax_order": 0, "tax_metadata": {} }
json
Example Responses
{ "tax_id": "00000000-0000-0000-0000-000000000000", "tax_active": true, "tax_created": "2024-08-25T15:00:00Z", "tax_updated": "2024-08-25T15:00:00Z", "tax_type": "tax_type", "tax_name": "tax_name", "tax_key": "tax_key", "tax_parent": "tax_parent", "tax_order": 0, "tax_metadata": {}, "object_count": 0 }
json
application/json

Get a taxonomy node

GET
https://api.genuineai.app/api/v1
/object-taxonomies/{id}

Beta — this operation may change on 30 days notice. See versioning.

Returns one node of a classification scheme.

Requires the module-objects license feature. Without it the request is refused with 403 license_required — see plans and modules.

Get a taxonomy node › path Parameters

id
​string · uuid · required

Get a taxonomy node › Headers

X-Tenant-Id
​string · uuid · required

The workspace this request acts in. Every row the API returns is isolated to it at the database layer by row-level security.

Get a taxonomy node › Responses

Success

One node of a classification scheme. Nodes sharing a `tax_type` form one tree; `tax_parent` is the node above, and a node with none is a root.
ObjectTaxonomy
tax_id
​string · uuid
tax_active
​boolean
tax_created
​string · date-time
tax_updated
​string · date-time
tax_type
​string
tax_name
​string
tax_key
​string
tax_parent
​string
tax_order
​integer
tax_metadata
​object
object_count
​integer

How many objects are filed directly under this node.

GET/object-taxonomies/{id}
curl https://api.genuineai.app/api/v1/object-taxonomies/:id \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>'
Example Responses
{ "tax_id": "00000000-0000-0000-0000-000000000000", "tax_active": true, "tax_created": "2024-08-25T15:00:00Z", "tax_updated": "2024-08-25T15:00:00Z", "tax_type": "tax_type", "tax_name": "tax_name", "tax_key": "tax_key", "tax_parent": "tax_parent", "tax_order": 0, "tax_metadata": {}, "object_count": 0 }
json
application/json

Delete a taxonomy node

DELETE
https://api.genuineai.app/api/v1
/object-taxonomies/{id}

Beta — this operation may change on 30 days notice. See versioning.

Refused while the node still has children, unless reparent_children=true attaches them to its parent. Objects filed under it stop being classified there but are otherwise untouched.

Requires the module-objects license feature. Without it the request is refused with 403 license_required — see plans and modules.

Delete a taxonomy node › path Parameters

id
​string · uuid · required

Delete a taxonomy node › query Parameters

reparent_children
​boolean

Delete a taxonomy node › Headers

X-Tenant-Id
​string · uuid · required

The workspace this request acts in. Every row the API returns is isolated to it at the database layer by row-level security.

Delete a taxonomy node › Responses

Success. No content.

No data returned
DELETE/object-taxonomies/{id}
curl https://api.genuineai.app/api/v1/object-taxonomies/:id \ --request DELETE \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>'
Example Responses
No example specified for this content type

Update a taxonomy node

PATCH
https://api.genuineai.app/api/v1
/object-taxonomies/{id}

Beta — this operation may change on 30 days notice. See versioning.

Setting tax_parent moves the node and everything under it. A move that would put a node inside its own subtree is refused. tax_type cannot be changed.

Requires the module-objects license feature. Without it the request is refused with 403 license_required — see plans and modules.

Update a taxonomy node › path Parameters

id
​string · uuid · required

Update a taxonomy node › Headers

X-Tenant-Id
​string · uuid · required

The workspace this request acts in. Every row the API returns is isolated to it at the database layer by row-level security.

Update a taxonomy node › Request Body

tax_type
​string · required
tax_name
​string · minLength: 1 · maxLength: 300
tax_key
​string · maxLength: 200
tax_parent
​string · uuid
tax_order
​integer
tax_metadata
​object

Update a taxonomy node › Responses

Success

One node of a classification scheme. Nodes sharing a `tax_type` form one tree; `tax_parent` is the node above, and a node with none is a root.
ObjectTaxonomy
tax_id
​string · uuid
tax_active
​boolean
tax_created
​string · date-time
tax_updated
​string · date-time
tax_type
​string
tax_name
​string
tax_key
​string
tax_parent
​string
tax_order
​integer
tax_metadata
​object
object_count
​integer

How many objects are filed directly under this node.

PATCH/object-taxonomies/{id}
curl https://api.genuineai.app/api/v1/object-taxonomies/:id \ --request PATCH \ --header 'Content-Type: application/json' \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>' \ --data '{ "tax_name": "tax_name", "tax_key": "tax_key", "tax_parent": "00000000-0000-0000-0000-000000000000", "tax_order": 0, "tax_metadata": {}, "tax_type": "tax_type" }'
Example Request Body
{ "tax_name": "tax_name", "tax_key": "tax_key", "tax_parent": "00000000-0000-0000-0000-000000000000", "tax_order": 0, "tax_metadata": {}, "tax_type": "tax_type" }
json
Example Responses
{ "tax_id": "00000000-0000-0000-0000-000000000000", "tax_active": true, "tax_created": "2024-08-25T15:00:00Z", "tax_updated": "2024-08-25T15:00:00Z", "tax_type": "tax_type", "tax_name": "tax_name", "tax_key": "tax_key", "tax_parent": "tax_parent", "tax_order": 0, "tax_metadata": {}, "object_count": 0 }
json
application/json

ObjectsObject schemas