Add a dictionary table to a zone
POST/api/public/v1/zones/{zone_id}/dictionary/tables beta
A name is defined once per zone chain: 409 DICTIONARY_TABLE_EXISTS when it is already defined above, here or below. 422 INVALID_OBSERVATION for an observation or a kind outside the toolbox.
curl --fail-with-body -X POST 'https://app.openlatch.ai/api/public/v1/zones/<zone_id>/dictionary/tables' \ -H "Authorization: Bearer $OPENLATCH_API_KEY" \ -H 'Content-Type: application/json' \ -d '{"name":"<table_name>","observation":"name","kinds":["branch"]}'import jsonimport osimport urllib.request
body = '{"name":"<table_name>","observation":"name","kinds":["branch"]}'request = urllib.request.Request( 'https://app.openlatch.ai/api/public/v1/zones/<zone_id>/dictionary/tables', method='POST', data=body.encode(), headers={ 'Authorization': 'Bearer ' + os.environ['OPENLATCH_API_KEY'], 'Content-Type': 'application/json', },)with urllib.request.urlopen(request) as response: text = response.read().decode() print(json.dumps(json.loads(text), indent=2) if text else response.status)#!/usr/bin/env bashset -euo pipefail
curl -sS --fail-with-body -X POST 'https://app.openlatch.ai/api/public/v1/zones/<zone_id>/dictionary/tables' \ -H "Authorization: Bearer $OPENLATCH_API_KEY" \ -H 'Content-Type: application/json' \ -d '{"name":"<table_name>","observation":"name","kinds":["branch"]}' | jq .$headers = @{ Authorization = "Bearer $env:OPENLATCH_API_KEY"}$body = '{"name":"<table_name>","observation":"name","kinds":["branch"]}'Invoke-RestMethod -Method POST -Uri 'https://app.openlatch.ai/api/public/v1/zones/<zone_id>/dictionary/tables' -Headers $headers -ContentType 'application/json; charset=utf-8' -Body $body | ConvertTo-Json -Depth 20Authorization
Section titled “Authorization”| Role in the organization | This endpoint |
|---|---|
owner | Allowed |
admin | Allowed |
editor | Allowed |
viewer | Not allowed |
A key carries the role its owner holds in the organization. See Authentication.
API key scope: zones:write
Path parameters
Section titled “Path parameters”| Parameter | Type | Description |
|---|---|---|
zone_id | string (uuid) | Required. |
Header parameters
Section titled “Header parameters”| Parameter | Type | Description |
|---|---|---|
Idempotency-Key | string or null | Optional. Makes the request safe to retry: the same key and the same request, within 24 hours, returns the stored response with Idempotent-Replayed: true and runs once. |
Request body
Section titled “Request body”| Field | Type | Description |
|---|---|---|
case_sensitive | boolean | |
kinds | array of string | |
name | string | Required. |
observation | string | Required. |
question | string or null |
Response
Section titled “Response”- 201 Created — the call succeeded.
- 400 Bad Request —
BAD_REQUEST - 401 Unauthorized —
UNAUTHORIZED - 402 Payment Required —
license_expired - 403 Forbidden —
FEATURE_DISABLED,FORBIDDEN,INSUFFICIENT_SCOPE - 404 Not Found —
NOT_FOUND - 409 Conflict —
DICTIONARY_TABLE_EXISTS,IDEMPOTENCY_IN_PROGRESS - 422 Unprocessable Content —
IDEMPOTENCY_KEY_REUSED,INVALID_ID,INVALID_NAME,INVALID_OBSERVATION,VALIDATION_ERROR - 429 Too Many Requests —
TOO_MANY_REQUESTS - 500 Internal Server Error —
INTERNAL_SERVER_ERROR,tenant_isolation_violation - 503 Service Unavailable —
FEATURE_STATE_UNAVAILABLE,SERVICE_UNAVAILABLE
Response fields
Section titled “Response fields”| Field | Type | Description |
|---|---|---|
data | object | Required. One dictionary table of the zone's chain, with its origin zone and its values. |
data.case_sensitive | boolean | Required. |
data.in_use | boolean | Required. True when deleting the table would answer DICTIONARY_TABLE_IN_USE. |
data.kinds | array of string | Required. |
data.name | string | Required. |
data.observation | string | Required. |
data.origin_zone_id | string | Required. |
data.question | string or null | |
data.values | array of object | Required. |
data.values[].origin_zone_id | string | Required. |
data.values[].value | string | Required. |
Example response
Section titled “Example response”{ "data": { "case_sensitive": false, "in_use": false, "kinds": [ "string" ], "name": "release-bot", "observation": "string", "origin_zone_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10", "question": "string", "values": [ { "origin_zone_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10", "value": "string" } ] }}