Skip to content

Knowledge bases

Bulk save tag definitions

Create or update tag definitions, preserving unspecified slots. Updates require `originalDisplayName`; other entries create tags. Slot and name conflicts appear in per-definition `errors` with HTTP `200`, leaving conflicting values unchanged. Use Update document to set tag values. Workspace API keys return `403`; use a personal API key or scoped OAuth token. OAuth scope: `api:write`.

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

Create or update tag definitions, preserving unspecified slots. Updates require originalDisplayName; other entries create tags. Slot and name conflicts appear in per-definition errors with HTTP 200, leaving conflicting values unchanged. Use Update document to set tag values. 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 and the tag definitions to create or update.

object

Workspace scope and the tag definitions to create or update.

2 fields
workspaceIdstringRequired

Workspace that owns the knowledge base.

minLength
1
maxLength
128
definitionsarrayRequired

Tag definitions to create or update on the knowledge base.

minItems
1
maxItems
17
Schema details
Array itemobject

One tag definition declared in a bulk save.

4 fields
tagSlotstringRequired

Storage slot the tag occupies. It must belong to the tag’s fieldType.

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

Name tag filters and document reads use for this tag.

minLength
1
maxLength
100
fieldTypestringRequired

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.

enum
["text","number","date","boolean"]
originalDisplayNamestring

Previous display name, when this entry renames an existing definition.

minLength
1
maxLength
100

Additional properties are not allowed.

Additional properties are not allowed.

Request example 1

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

Responses

200

Definitions created and updated by the save.

object

Definitions created and updated, with any per-definition failures.

1 field
dataobjectRequired

Response data.

3 fields
createdarrayRequired

Definitions that did not previously exist.

Schema details
Array itemobject

A tag defined on a knowledge base, and the slot it is stored in.

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.

updatedarrayRequired

Definitions whose slot was already defined.

Schema details
Array itemobject

A tag defined on a knowledge base, and the slot it is stored in.

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.

errorsarrayRequired

Per-definition failures. A populated array still answers 200.

Schema details
Array itemstring

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