Skip to content

Knowledge bases

Create tag

Create a tag definition. Write document values by `tagSlot` and filter by `displayName`. Omitting `tagSlot` selects a free slot; exhaustion returns `400`. An occupied slot or duplicate name returns `409`. Use Bulk save tag definitions for multiple definitions. Workspace API keys return `403`; use a personal API key or scoped OAuth token. OAuth scope: `api:write`.

POST/api/v2/knowledge/{knowledgeBaseId}/tags

Create a tag definition. Write document values by tagSlot and filter by displayName. Omitting tagSlot selects a free slot; exhaustion returns 400. An occupied slot or duplicate name returns 409. Use Bulk save tag definitions for multiple definitions. Workspace API keys return 403; use a personal API key or scoped OAuth token.

OAuth scope: api:write.

Authentication

Send a personal or workspace API key in X-API-Key. See key types and access; operations that reject workspace keys say so in their description.

Send X-API-Key in the request header.

Alternatively

Send a Sim OAuth access token in Authorization: Bearer. See OAuth authentication and scopes.

Authorization: Bearer YOUR_ACCESS_TOKEN

Required scopes: api:write

OAuth flows
json
{
  "authorizationCode": {
    "authorizationUrl": "https://www.sim.ai/api/auth/oauth2/authorize",
    "tokenUrl": "https://www.sim.ai/api/auth/oauth2/token",
    "refreshUrl": "https://www.sim.ai/api/auth/oauth2/token",
    "scopes": {
      "api:read": "Read your workspaces, workflows, files, tables, and logs",
      "api:write": "Read, create, change, run, and delete resources in your workspaces",
      "offline_access": "Stay signed in without asking again"
    }
  }
}

OAuth scope: api:write.

Path parameters

knowledgeBaseIdstringRequired

Unique knowledge base identifier.

minLength
1

Request body

Required

Workspace scope, display name, field type, and optional slot.

object

Workspace scope, display name, field type, and optional slot.

4 fields
workspaceIdstringRequired

Workspace that owns the knowledge base.

minLength
1
maxLength
128
displayNamestringRequired

Name tag filters and document reads use for this tag.

minLength
1
maxLength
100
fieldTypestring

Value type stored in the slot; it decides which slots are usable and which filter operators apply. Slot capacity per type: text 7, number 5, date 2, boolean 3.

default
text
enum
["text","number","date","boolean"]
tagSlotstring

Slot to store the tag in. Omit to take the next free slot for the field type; a slot that does not belong to the field type, or one already in use, is rejected.

enum
["tag1","tag2","tag3","tag4","tag5","tag6","tag7","number1","number2","number3","number4","number5","date1","date2","boolean1","boolean2","boolean3"]

Additional properties are not allowed.

Request example 1

json
{
  "workspaceId": "a91c4b2e-6d3f-4e8a-b5c7-0d9e2f1a8c64",
  "displayName": "category",
  "fieldType": "text"
}

Responses

201

The created tag definition.

object

A single tag definition.

1 field
dataobjectRequired

Response data.

4 fields
idstringRequired

Tag definition ID used by Update tag and Delete tag.

displayNamestringRequired

Display name used by tag filters and by tag values on document reads.

tagSlotstringRequired

Slot used by document updates: tag1–tag7, number1–number5, date1–date2, or boolean1–boolean3. Upload creation accepts text slots; use Update document for other types.

fieldTypestringRequired

Value type stored in the slot; it determines the valid filter operators.

Additional properties are not allowed.

Additional properties are not allowed.

Response headers

X-RateLimit-Limitinteger

Maximum requests allowed in the current window.

minimum
0
maximum
9007199254740991
X-RateLimit-Remaininginteger

Requests remaining in the current window.

minimum
0
maximum
9007199254740991
X-RateLimit-Resetstring

ISO 8601 timestamp when the current rate-limit window resets.

format
date-time
pattern
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
Was this helpful?
Suggest an edit