from niadra import Niadra, phone, system_id
niadra = Niadra() # reads NIADRA_API_KEY
# Queued and sent in the background, in batches
niadra.track({
"channel": "whatsapp",
"conversation_id": "wa-8812",
"idempotency_key": message["id"], # the provider message id
"handles": [phone("+14155550123")],
"speaker": {"role": "customer"},
"content": {"text": "The technician never showed up. I am calling you."},
})
niadra.action(
"credit",
subject=system_id("crm", "48213"),
object="invoice:erp:0823",
result="$40 credit on the August bill",
closes={"object": {"type": "invoice", "namespace": "erp", "id": "0823"}, "operation": "dispute"},
channel="erp",
task_id="billing-7741",
)
niadra.flush() # waits for the queue, for example before a worker exits
import { Niadra, handles } from "@niadra/sdk";
const niadra = new Niadra(); // reads NIADRA_API_KEY
// Queued and sent in the background, in batches
niadra.track({
channel: "whatsapp",
conversation_id: "wa-8812",
idempotency_key: message.id, // the provider message id
handles: [handles.phone("+14155550123")],
speaker: "customer",
text: "The technician never showed up. I am calling you.",
});
niadra.action({
channel: "erp",
task_id: "billing-7741",
handles: [handles.systemId("48213", "crm")],
object_refs: ["invoice:erp:0823"],
operation: "credit",
result: "$40 credit on the August bill",
closes: { object: { type: "invoice", namespace: "erp", id: "0823" }, operation: "dispute" },
});
await niadra.flush(); // waits for the queue, for example before a worker exits
Messages, system events, actions, identification and verification in one batch, with per-item errors.
POST
/
v1
/
batch
Python
from niadra import Niadra, phone, system_id
niadra = Niadra() # reads NIADRA_API_KEY
# Queued and sent in the background, in batches
niadra.track({
"channel": "whatsapp",
"conversation_id": "wa-8812",
"idempotency_key": message["id"], # the provider message id
"handles": [phone("+14155550123")],
"speaker": {"role": "customer"},
"content": {"text": "The technician never showed up. I am calling you."},
})
niadra.action(
"credit",
subject=system_id("crm", "48213"),
object="invoice:erp:0823",
result="$40 credit on the August bill",
closes={"object": {"type": "invoice", "namespace": "erp", "id": "0823"}, "operation": "dispute"},
channel="erp",
task_id="billing-7741",
)
niadra.flush() # waits for the queue, for example before a worker exits
import { Niadra, handles } from "@niadra/sdk";
const niadra = new Niadra(); // reads NIADRA_API_KEY
// Queued and sent in the background, in batches
niadra.track({
channel: "whatsapp",
conversation_id: "wa-8812",
idempotency_key: message.id, // the provider message id
handles: [handles.phone("+14155550123")],
speaker: "customer",
text: "The technician never showed up. I am calling you.",
});
niadra.action({
channel: "erp",
task_id: "billing-7741",
handles: [handles.systemId("48213", "crm")],
object_refs: ["invoice:erp:0823"],
operation: "credit",
result: "$40 credit on the August bill",
closes: { object: { type: "invoice", namespace: "erp", id: "0823" }, operation: "dispute" },
});
await niadra.flush(); // waits for the queue, for example before a worker exits
Every item was accepted or recognized as a duplicate.
accepted
integer
required
duplicates
integer
required
Items whose idempotency key was already stored.
errors
ItemError · object[]
required
Show child attributes
masked
Masked · object
Values held back from the accepted items before storage, by type (card, cvv, password, secret): the stored text says [retido:cartão ****1234] where the value was.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Niadra","description":"A camada de memória omnichannel para os agentes de IA da empresa: os eventos de todo canal, plataforma e sistema viram uma memória só de cada cliente, que qualquer agente lê, com governança.","colors":{"primary":"#5e7c00","light":"#a2d500","dark":"#5e7c00"},"logo":{"light":"https://mintcdn.com/niadra/sChzk53yMj_IBTWz/logo/light.png?fit=max\u0026auto=format\u0026n=sChzk53yMj_IBTWz\u0026q=85\u0026s=b4f8c5972b2a2afcf8c16aa3f16efa98","dark":"https://mintcdn.com/niadra/sChzk53yMj_IBTWz/logo/dark.png?fit=max\u0026auto=format\u0026n=sChzk53yMj_IBTWz\u0026q=85\u0026s=06906f20c8354be16a1476a2da676d83","href":"https://niadra.com"},"favicon":"https://mintcdn.com/niadra/sChzk53yMj_IBTWz/favicon.svg?fit=max\u0026auto=format\u0026n=sChzk53yMj_IBTWz\u0026q=85\u0026s=e559f3bf2e91ef9bb510fa075d7f6ea3","background":{"color":{"light":"#ffffff","dark":"#111113"}},"footer":{"socials":{"github":"https://github.com/ainiadra","website":"https://niadra.com"}},"fonts":{"heading":{"family":"Archivo","weight":700},"body":{"family":"Instrument Sans","weight":400}},"contextual":{"options":["copy","view","chatgpt","claude","cursor","mcp"],"display":"header"},"styling":{"latex":true},"navigation":{"languages":[{"language":"pt-BR","default":true,"navbar":{"links":[{"icon":"life-ring","href":"https://niadra.com/enterprise","label":"Suporte"},{"icon":"github","href":"https://github.com/ainiadra","label":"GitHub"}],"primary":{"type":"button","label":"Console","href":"https://niadra.com/console"}},"href":""},{"language":"en","navbar":{"links":[{"icon":"life-ring","href":"https://niadra.com/en/enterprise","label":"Support"},{"icon":"github","href":"https://github.com/ainiadra","label":"GitHub"}],"primary":{"type":"button","label":"Console","href":"https://niadra.com/console"}},"href":"en"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"niadra","hasAudioNarration":false,"actualSubdomain":"niadra","customDomains":["docs.niadra.com"],"gitSource":{"type":"github","owner":"ainiadra","repo":"niadra-developer-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6acabe7d1854b09019d59b89","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"pt-BR","tag":"Referência da API","count":259},{"language":"en","tag":"API reference","count":259},{"language":"pt-BR","tag":"Integrações","count":46},{"language":"en","tag":"Integrations","count":46},{"language":"pt-BR","tag":"Conceitos","count":28},{"language":"en","tag":"Concepts","count":28},{"language":"pt-BR","tag":"Frameworks de agente","count":20},{"language":"en","tag":"Agent frameworks","count":20},{"language":"pt-BR","tag":"Registro de turnos e replay","count":19},{"language":"pt-BR","tag":"Privacidade e auditoria","count":19},{"language":"en","tag":"Turn records and replay","count":19},{"language":"en","tag":"Privacy and audit","count":19},{"language":"pt-BR","tag":"Identidade e perfis","count":18},{"language":"en","tag":"Identity and profiles","count":18},{"language":"pt-BR","tag":"Coordenação","count":17},{"language":"en","tag":"Coordination","count":17},{"language":"pt-BR","tag":"Memória do agente","count":15},{"language":"pt-BR","tag":"Guias","count":15},{"language":"en","tag":"Agent memory","count":15},{"language":"en","tag":"Guides","count":15}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":":root{--gray-50: 250 250 250 !important;--gray-100: 244 244 245 !important;--gray-200: 228 228 231 !important;--gray-300: 212 212 216 !important;--gray-400: 161 161 170 !important;--gray-500: 113 113 122 !important;--gray-600: 82 82 91 !important;--gray-700: 63 63 70 !important;--gray-800: 39 39 42 !important;--gray-900: 24 24 27 !important;--gray-950: 17 17 19 !important}"}],"page":{"pagePath":"en/api/batch","slug":"/en/api/batch","pageMetadata":{"title":"Send a batch","description":"Messages, system events, actions, identification and verification in one batch, with per-item errors.","openapi":"openapi/en/cell.json POST /v1/batch","href":"/en/api/batch"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Messages, system events, actions, identification and verification in one batch, with per-item errors.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Send a batch","description":"Messages, system events, actions, identification and verification in one batch, with per-item errors.","openapi":"openapi/en/cell.json POST /v1/batch","href":"/en/api/batch"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"batch_v1_batch_post","requestBody":"05751cb0-b0bf-48c0-b9cf-aba0c344c221","responses":{"200":"d7693f02-c399-4e39-832e-1f4e6ca575f1","207":"5056e3c0-de7e-4f41-a1b7-61fd817931f7"},"summary":"Send a batch","tags":["ingest"],"description":"Messages, system events, actions, identification and verification in one batch, with per-item errors.","security":["e88c5806-2642-42d2-9fff-e4dcf5618a8f"],"x-codeSamples":[{"lang":"python","label":"Python","source":"from niadra import Niadra, phone, system_id\n\nniadra = Niadra() # reads NIADRA_API_KEY\n\n# Queued and sent in the background, in batches\nniadra.track({\n \"channel\": \"whatsapp\",\n \"conversation_id\": \"wa-8812\",\n \"idempotency_key\": message[\"id\"], # the provider message id\n \"handles\": [phone(\"+14155550123\")],\n \"speaker\": {\"role\": \"customer\"},\n \"content\": {\"text\": \"The technician never showed up. I am calling you.\"},\n})\n\nniadra.action(\n \"credit\",\n subject=system_id(\"crm\", \"48213\"),\n object=\"invoice:erp:0823\",\n result=\"$40 credit on the August bill\",\n closes={\"object\": {\"type\": \"invoice\", \"namespace\": \"erp\", \"id\": \"0823\"}, \"operation\": \"dispute\"},\n channel=\"erp\",\n task_id=\"billing-7741\",\n)\n\nniadra.flush() # waits for the queue, for example before a worker exits"},{"lang":"typescript","label":"TypeScript","source":"import { Niadra, handles } from \"@niadra/sdk\";\n\nconst niadra = new Niadra(); // reads NIADRA_API_KEY\n\n// Queued and sent in the background, in batches\nniadra.track({\n channel: \"whatsapp\",\n conversation_id: \"wa-8812\",\n idempotency_key: message.id, // the provider message id\n handles: [handles.phone(\"+14155550123\")],\n speaker: \"customer\",\n text: \"The technician never showed up. I am calling you.\",\n});\n\nniadra.action({\n channel: \"erp\",\n task_id: \"billing-7741\",\n handles: [handles.systemId(\"48213\", \"crm\")],\n object_refs: [\"invoice:erp:0823\"],\n operation: \"credit\",\n result: \"$40 credit on the August bill\",\n closes: { object: { type: \"invoice\", namespace: \"erp\", id: \"0823\" }, operation: \"dispute\" },\n});\n\nawait niadra.flush(); // waits for the queue, for example before a worker exits"}],"method":"post","type":"path","servers":["0be549a6-71d8-44fe-89a3-59c438e10f96"],"path":"/v1/batch","baseUrlOptions":["https://{space}.{region}.api.niadra.com"],"title":"Send a batch","codeSamples":[{"label":"Python","lang":"python","source":"from niadra import Niadra, phone, system_id\n\nniadra = Niadra() # reads NIADRA_API_KEY\n\n# Queued and sent in the background, in batches\nniadra.track({\n \"channel\": \"whatsapp\",\n \"conversation_id\": \"wa-8812\",\n \"idempotency_key\": message[\"id\"], # the provider message id\n \"handles\": [phone(\"+14155550123\")],\n \"speaker\": {\"role\": \"customer\"},\n \"content\": {\"text\": \"The technician never showed up. I am calling you.\"},\n})\n\nniadra.action(\n \"credit\",\n subject=system_id(\"crm\", \"48213\"),\n object=\"invoice:erp:0823\",\n result=\"$40 credit on the August bill\",\n closes={\"object\": {\"type\": \"invoice\", \"namespace\": \"erp\", \"id\": \"0823\"}, \"operation\": \"dispute\"},\n channel=\"erp\",\n task_id=\"billing-7741\",\n)\n\nniadra.flush() # waits for the queue, for example before a worker exits"},{"label":"TypeScript","lang":"typescript","source":"import { Niadra, handles } from \"@niadra/sdk\";\n\nconst niadra = new Niadra(); // reads NIADRA_API_KEY\n\n// Queued and sent in the background, in batches\nniadra.track({\n channel: \"whatsapp\",\n conversation_id: \"wa-8812\",\n idempotency_key: message.id, // the provider message id\n handles: [handles.phone(\"+14155550123\")],\n speaker: \"customer\",\n text: \"The technician never showed up. I am calling you.\",\n});\n\nniadra.action({\n channel: \"erp\",\n task_id: \"billing-7741\",\n handles: [handles.systemId(\"48213\", \"crm\")],\n object_refs: [\"invoice:erp:0823\"],\n operation: \"credit\",\n result: \"$40 credit on the August bill\",\n closes: { object: { type: \"invoice\", namespace: \"erp\", id: \"0823\" }, operation: \"dispute\" },\n});\n\nawait niadra.flush(); // waits for the queue, for example before a worker exits"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"$id":"urn:niadra:v1:batch-request","additionalProperties":false,"properties":{"items":{"items":{"oneOf":[{"type":"object","title":"EventItem","description":"A message, a system event or an agent action.","required":["idempotency_key","channel","speaker","occurred_at"],"properties":{"channel":{"maxLength":256,"minLength":1,"title":"Channel","type":"string","description":"Where it happened: `whatsapp`, `voice`, `app`, `email`, `erp`, `crm`, `ticket`.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.channel","typeLabel":"string"},"idempotency_key":{"description":"Provider message id, or a UUIDv7 minted by the SDK.","maxLength":512,"minLength":1,"title":"Idempotency Key","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.idempotency_key","typeLabel":"string"},"occurred_at":{"format":"date-time","title":"Occurred At","type":"string","description":"When it happened at the source. Events are ordered by this, never by arrival.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.occurred_at","typeLabel":"string\u003cdate-time>"},"speaker":{"additionalProperties":false,"properties":{"role":{"enum":["customer","ai_agent","human_agent","system"],"title":"Speaker","type":"string","description":"Who produced the event.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.speaker.role","typeLabel":"enum\u003cstring>"},"id":{"oneOf":[{"type":"string","title":"Id","description":"Agent or attendant id inside the source.","maxLength":256,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.0.speaker.id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Id","description":"Agent or attendant id inside the source.","uniqueKey":"\\items.items.[INDEX].oneOf.0.speaker.id.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.speaker.id","typeLabel":"string | null"}},"required":["role"],"title":"SpeakerRef","type":"object","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.speaker","typeLabel":"SpeakerRef · object"},"action":{"oneOf":[{"type":"object","title":"ActionInfo","description":"Required when `kind` is `action`, and only valid there. Needs the `act` scope.","required":["operation"],"properties":{"operation":{"description":"Canonical operation, e.g. `credit`, `reschedule`.","maxLength":256,"minLength":1,"title":"Operation","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.operation","typeLabel":"string"},"closes":{"oneOf":[{"type":"object","title":"Closes","description":"The open item an action fulfils: by id, or by object and canonical operation.","properties":{"item_id":{"oneOf":[{"type":"string","title":"Item Id","description":"An open item's id.","format":"uuid","uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.closes.oneOf.0.item_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","title":"Item Id","description":"An open item's id.","uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.closes.oneOf.0.item_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.closes.oneOf.0.item_id","typeLabel":"string\u003cuuid> | null"},"object":{"oneOf":[{"type":"object","title":"ObjectRef","description":"A business object in a system of record, e.g. `invoice` / `erp` / `0823`.","required":["type","namespace","id"],"properties":{"id":{"maxLength":512,"minLength":1,"title":"Id","type":"string","description":"The id in that system.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.closes.oneOf.0.object.oneOf.0.id","typeLabel":"string"},"namespace":{"maxLength":256,"minLength":1,"title":"Namespace","type":"string","description":"The system it lives in, such as `erp`.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.closes.oneOf.0.object.oneOf.0.namespace","typeLabel":"string"},"type":{"maxLength":256,"minLength":1,"title":"Type","type":"string","description":"Object type, such as `invoice`, `order` or `ticket`.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.closes.oneOf.0.object.oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.closes.oneOf.0.object.oneOf.0","typeLabel":"ObjectRef · object"},{"type":"null","uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.closes.oneOf.0.object.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.closes.oneOf.0.object","typeLabel":"ObjectRef · object | null"},"operation":{"oneOf":[{"type":"string","title":"Operation","description":"Canonical operation, together with `object`.","maxLength":256,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.closes.oneOf.0.operation.oneOf.0","typeLabel":"string"},{"type":"null","title":"Operation","description":"Canonical operation, together with `object`.","uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.closes.oneOf.0.operation.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.closes.oneOf.0.operation","typeLabel":"string | null"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.closes.oneOf.0","typeLabel":"Closes · object"},{"type":"null","uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.closes.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.closes","typeLabel":"Closes · object | null"},"corrects_action_id":{"oneOf":[{"type":"string","title":"Corrects Action Id","description":"A correction goes as a new action that points to the old one.","uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.corrects_action_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Corrects Action Id","description":"A correction goes as a new action that points to the old one.","uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.corrects_action_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.corrects_action_id","typeLabel":"string | null"},"purpose":{"oneOf":[{"type":"string","title":"Purpose","maxLength":256,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.purpose.oneOf.0","typeLabel":"string"},{"type":"null","title":"Purpose","uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.purpose.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.purpose","typeLabel":"string | null"},"result":{"oneOf":[{"type":"string","title":"Result","description":"What the agent did or delivered, in its words, kept whole: as long as an event's text.","maxLength":200000,"uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.result.oneOf.0","typeLabel":"string"},{"type":"null","title":"Result","description":"What the agent did or delivered, in its words, kept whole: as long as an event's text.","uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.result.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0.result","typeLabel":"string | null"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.0","typeLabel":"ActionInfo · object"},{"type":"null","uniqueKey":"\\items.items.[INDEX].oneOf.0.action.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.action","typeLabel":"ActionInfo · object | null"},"backing":{"oneOf":[{"type":"object","title":"Backing","description":"An agent's message: which of the values it states have no source, and which guards it went against, as the SDK's backing check found them.","required":["checked"],"properties":{"checked":{"description":"Values the check read in the turn.","maximum":500,"minimum":0,"title":"Checked","type":"integer","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.backing.oneOf.0.checked","typeLabel":"integer"},"guard_violations":{"description":"Short ids (`PackSlot.id`) of the guard lines the turn went against: a value of the guarded kind other than the guarded one.","items":{"pattern":"^[0-9a-f]{8}$","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.0.backing.oneOf.0.guard_violations.items.[INDEX]","typeLabel":"string"},"maxItems":8,"title":"Guard Violations","type":"array","uniqueKey":"\\items.items.[INDEX].oneOf.0.backing.oneOf.0.guard_violations","typeLabel":"string[]"},"unbacked_values":{"description":"The values with no source, in the order said.","items":{"additionalProperties":false,"description":"A value the agent's turn states that nothing it had backs: the kind only, never the value.","properties":{"kind":{"description":"`amount` (with a currency or a money word), `date`, `number` (three or more digits) or `code` (letters and three or more digits).","enum":["amount","date","number","code"],"title":"Kind","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.backing.oneOf.0.unbacked_values.items.[INDEX].kind","typeLabel":"enum\u003cstring>"}},"required":["kind"],"title":"UnbackedValue","type":"object","uniqueKey":"\\items.items.[INDEX].oneOf.0.backing.oneOf.0.unbacked_values.items.[INDEX]","typeLabel":"UnbackedValue · object"},"maxItems":100,"title":"Unbacked Values","type":"array","uniqueKey":"\\items.items.[INDEX].oneOf.0.backing.oneOf.0.unbacked_values","typeLabel":"UnbackedValue · object[]"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.0.backing.oneOf.0","typeLabel":"Backing · object"},{"type":"null","description":"An agent's message: which of the values it states have no source, and which guards it went against, as the SDK's backing check found them.","uniqueKey":"\\items.items.[INDEX].oneOf.0.backing.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.backing","typeLabel":"Backing · object | null"},"canonical_type":{"oneOf":[{"type":"string","title":"Canonical Type","description":"System events only, e.g. `invoice.credited`.","maxLength":256,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.0.canonical_type.oneOf.0","typeLabel":"string"},{"type":"null","title":"Canonical Type","description":"System events only, e.g. `invoice.credited`.","uniqueKey":"\\items.items.[INDEX].oneOf.0.canonical_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.canonical_type","typeLabel":"string | null"},"content":{"oneOf":[{"type":"object","title":"Content","description":"What was said or sent. Media never travels inline: upload it first and pass the reference.","properties":{"media_ref":{"oneOf":[{"type":"string","title":"Media Ref","description":"Reference returned by /v1/media/uploads.","maxLength":512,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.0.content.oneOf.0.media_ref.oneOf.0","typeLabel":"string"},{"type":"null","title":"Media Ref","description":"Reference returned by /v1/media/uploads.","uniqueKey":"\\items.items.[INDEX].oneOf.0.content.oneOf.0.media_ref.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.content.oneOf.0.media_ref","typeLabel":"string | null"},"media_sha256":{"oneOf":[{"type":"string","title":"Media Sha256","description":"SHA-256 of the media, in hex.","pattern":"^[0-9a-f]{64}$","uniqueKey":"\\items.items.[INDEX].oneOf.0.content.oneOf.0.media_sha256.oneOf.0","typeLabel":"string"},{"type":"null","title":"Media Sha256","description":"SHA-256 of the media, in hex.","uniqueKey":"\\items.items.[INDEX].oneOf.0.content.oneOf.0.media_sha256.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.content.oneOf.0.media_sha256","typeLabel":"string | null"},"stt_confidence":{"oneOf":[{"type":"number","title":"Stt Confidence","description":"Speech-to-text confidence, 0 to 1.","maximum":1,"minimum":0,"uniqueKey":"\\items.items.[INDEX].oneOf.0.content.oneOf.0.stt_confidence.oneOf.0","typeLabel":"number"},{"type":"null","title":"Stt Confidence","description":"Speech-to-text confidence, 0 to 1.","uniqueKey":"\\items.items.[INDEX].oneOf.0.content.oneOf.0.stt_confidence.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.content.oneOf.0.stt_confidence","typeLabel":"number | null"},"text":{"oneOf":[{"type":"string","title":"Text","maxLength":200000,"uniqueKey":"\\items.items.[INDEX].oneOf.0.content.oneOf.0.text.oneOf.0","typeLabel":"string"},{"type":"null","title":"Text","uniqueKey":"\\items.items.[INDEX].oneOf.0.content.oneOf.0.text.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.content.oneOf.0.text","typeLabel":"string | null"},"transcript":{"oneOf":[{"type":"string","title":"Transcript","maxLength":200000,"uniqueKey":"\\items.items.[INDEX].oneOf.0.content.oneOf.0.transcript.oneOf.0","typeLabel":"string"},{"type":"null","title":"Transcript","uniqueKey":"\\items.items.[INDEX].oneOf.0.content.oneOf.0.transcript.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.content.oneOf.0.transcript","typeLabel":"string | null"},"type":{"default":"text","enum":["text","audio","image","file"],"title":"Type","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.0.content.oneOf.0.type","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.0.content.oneOf.0","typeLabel":"Content · object"},{"type":"null","uniqueKey":"\\items.items.[INDEX].oneOf.0.content.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.content","typeLabel":"Content · object | null"},"context_stamp":{"oneOf":[{"type":"object","title":"ContextStamp","description":"Which context an agent's prompt carried and when it went in: the SDK sets it on the\nagent's turn, so measurement can tell a late context from an unused one.","required":["injected_at"],"properties":{"injected_at":{"format":"date-time","title":"Injected At","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.context_stamp.oneOf.0.injected_at","typeLabel":"string\u003cdate-time>"},"etag":{"oneOf":[{"type":"string","title":"Etag","maxLength":512,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.0.context_stamp.oneOf.0.etag.oneOf.0","typeLabel":"string"},{"type":"null","title":"Etag","uniqueKey":"\\items.items.[INDEX].oneOf.0.context_stamp.oneOf.0.etag.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.context_stamp.oneOf.0.etag","typeLabel":"string | null"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.0.context_stamp.oneOf.0","typeLabel":"ContextStamp · object"},{"type":"null","uniqueKey":"\\items.items.[INDEX].oneOf.0.context_stamp.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.context_stamp","typeLabel":"ContextStamp · object | null"},"conversation_aliases":{"items":{"maxLength":512,"minLength":1,"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.0.conversation_aliases.items.[INDEX]","typeLabel":"string"},"maxItems":8,"title":"Conversation Aliases","type":"array","description":"Other ids of the same conversation, such as the platform id and the trunk id of a call.","uniqueKey":"\\items.items.[INDEX].oneOf.0.conversation_aliases","typeLabel":"string[]"},"conversation_id":{"oneOf":[{"type":"string","title":"Conversation Id","description":"Your id for the conversation. A WhatsApp thread may last months; Niadra splits it into sessions.","maxLength":512,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.0.conversation_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Conversation Id","description":"Your id for the conversation. A WhatsApp thread may last months; Niadra splits it into sessions.","uniqueKey":"\\items.items.[INDEX].oneOf.0.conversation_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.conversation_id","typeLabel":"string | null"},"corrects_event_id":{"oneOf":[{"type":"string","title":"Corrects Event Id","uniqueKey":"\\items.items.[INDEX].oneOf.0.corrects_event_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Corrects Event Id","uniqueKey":"\\items.items.[INDEX].oneOf.0.corrects_event_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.corrects_event_id","typeLabel":"string | null"},"direction":{"oneOf":[{"type":"string","title":"Direction","enum":["inbound","outbound"],"uniqueKey":"\\items.items.[INDEX].oneOf.0.direction.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Direction","uniqueKey":"\\items.items.[INDEX].oneOf.0.direction.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.direction","typeLabel":"enum\u003cstring> | null"},"fields":{"additionalProperties":true,"description":"Structured fields of a system event.","title":"Fields","type":"object","uniqueKey":"\\items.items.[INDEX].oneOf.0.fields","typeLabel":"Fields · object"},"handles":{"items":{"additionalProperties":false,"description":"An identifier of a subject in some channel or system: a phone, an e-mail, a CRM id.","properties":{"type":{"enum":["phone_e164","wa_id","wa_jid","wa_lid","wa_bsuid","email","gov_id_hmac","app_user_id","system_id","org_registry_hmac","email_domain","anon_id"],"title":"HandleType","type":"string","description":"The kind of identifier. The value is classified by its format, never by the field it came from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.handles.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"value":{"maxLength":320,"minLength":1,"title":"Value","type":"string","description":"The identifier. Normalized on the server: E.164 for phones, lowercase for e-mail.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.handles.items.[INDEX].value","typeLabel":"string"},"scope":{"oneOf":[{"type":"string","title":"Scope","description":"Namespace for scoped identifiers: the WhatsApp Business account for `wa_bsuid`, the system for `system_id`, the country for `gov_id_hmac`.","maxLength":256,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.0.handles.items.[INDEX].scope.oneOf.0","typeLabel":"string"},{"type":"null","title":"Scope","description":"Namespace for scoped identifiers: the WhatsApp Business account for `wa_bsuid`, the system for `system_id`, the country for `gov_id_hmac`.","uniqueKey":"\\items.items.[INDEX].oneOf.0.handles.items.[INDEX].scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.handles.items.[INDEX].scope","typeLabel":"string | null"},"subject_kind":{"oneOf":[{"type":"string","title":"SubjectKind","description":"Defaults to `person`, except for organization-only handle types.","enum":["person","account","partner","staff"],"uniqueKey":"\\items.items.[INDEX].oneOf.0.handles.items.[INDEX].subject_kind.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Defaults to `person`, except for organization-only handle types.","uniqueKey":"\\items.items.[INDEX].oneOf.0.handles.items.[INDEX].subject_kind.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.handles.items.[INDEX].subject_kind","typeLabel":"enum\u003cstring> | null"}},"required":["type","value"],"title":"Handle","type":"object","uniqueKey":"\\items.items.[INDEX].oneOf.0.handles.items.[INDEX]","typeLabel":"Handle · object"},"maxItems":16,"title":"Handles","type":"array","description":"Handles of the person the event is about.","uniqueKey":"\\items.items.[INDEX].oneOf.0.handles","typeLabel":"Handle · object[]"},"kind":{"enum":["message","system_event","action"],"title":"EventKind","type":"string","description":"Defaults to `message`.","default":"message","uniqueKey":"\\items.items.[INDEX].oneOf.0.kind","typeLabel":"enum\u003cstring>"},"object_refs":{"items":{"additionalProperties":false,"description":"A business object in a system of record, e.g. `invoice` / `erp` / `0823`.","properties":{"id":{"maxLength":512,"minLength":1,"title":"Id","type":"string","description":"The id in that system.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.object_refs.items.[INDEX].id","typeLabel":"string"},"namespace":{"maxLength":256,"minLength":1,"title":"Namespace","type":"string","description":"The system it lives in, such as `erp`.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.object_refs.items.[INDEX].namespace","typeLabel":"string"},"type":{"maxLength":256,"minLength":1,"title":"Type","type":"string","description":"Object type, such as `invoice`, `order` or `ticket`.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.object_refs.items.[INDEX].type","typeLabel":"string"}},"required":["type","namespace","id"],"title":"ObjectRef","type":"object","uniqueKey":"\\items.items.[INDEX].oneOf.0.object_refs.items.[INDEX]","typeLabel":"ObjectRef · object"},"maxItems":16,"title":"Object Refs","type":"array","description":"Orders, tickets, invoices the event is about.","uniqueKey":"\\items.items.[INDEX].oneOf.0.object_refs","typeLabel":"ObjectRef · object[]"},"subjects":{"items":{"additionalProperties":false,"properties":{"handles":{"items":{"additionalProperties":false,"description":"An identifier of a subject in some channel or system: a phone, an e-mail, a CRM id.","properties":{"type":{"enum":["phone_e164","wa_id","wa_jid","wa_lid","wa_bsuid","email","gov_id_hmac","app_user_id","system_id","org_registry_hmac","email_domain","anon_id"],"title":"HandleType","type":"string","description":"The kind of identifier. The value is classified by its format, never by the field it came from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.subjects.items.[INDEX].handles.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"value":{"maxLength":320,"minLength":1,"title":"Value","type":"string","description":"The identifier. Normalized on the server: E.164 for phones, lowercase for e-mail.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.subjects.items.[INDEX].handles.items.[INDEX].value","typeLabel":"string"},"scope":{"oneOf":[{"type":"string","title":"Scope","description":"Namespace for scoped identifiers: the WhatsApp Business account for `wa_bsuid`, the system for `system_id`, the country for `gov_id_hmac`.","maxLength":256,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.0.subjects.items.[INDEX].handles.items.[INDEX].scope.oneOf.0","typeLabel":"string"},{"type":"null","title":"Scope","description":"Namespace for scoped identifiers: the WhatsApp Business account for `wa_bsuid`, the system for `system_id`, the country for `gov_id_hmac`.","uniqueKey":"\\items.items.[INDEX].oneOf.0.subjects.items.[INDEX].handles.items.[INDEX].scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.subjects.items.[INDEX].handles.items.[INDEX].scope","typeLabel":"string | null"},"subject_kind":{"oneOf":[{"type":"string","title":"SubjectKind","description":"Defaults to `person`, except for organization-only handle types.","enum":["person","account","partner","staff"],"uniqueKey":"\\items.items.[INDEX].oneOf.0.subjects.items.[INDEX].handles.items.[INDEX].subject_kind.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Defaults to `person`, except for organization-only handle types.","uniqueKey":"\\items.items.[INDEX].oneOf.0.subjects.items.[INDEX].handles.items.[INDEX].subject_kind.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.subjects.items.[INDEX].handles.items.[INDEX].subject_kind","typeLabel":"enum\u003cstring> | null"}},"required":["type","value"],"title":"Handle","type":"object","uniqueKey":"\\items.items.[INDEX].oneOf.0.subjects.items.[INDEX].handles.items.[INDEX]","typeLabel":"Handle · object"},"maxItems":16,"minItems":1,"title":"Handles","type":"array","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.subjects.items.[INDEX].handles","typeLabel":"Handle · object[]"},"kind":{"enum":["person","account","partner","staff"],"title":"SubjectKind","type":"string","description":"A person, a customer organization (`account`) or an organization that takes part without being a customer (`partner`).","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.subjects.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"role":{"oneOf":[{"type":"string","title":"Role","description":"Role of the person in the event, such as `driver` or `buyer`.","maxLength":256,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.0.subjects.items.[INDEX].role.oneOf.0","typeLabel":"string"},{"type":"null","title":"Role","description":"Role of the person in the event, such as `driver` or `buyer`.","uniqueKey":"\\items.items.[INDEX].oneOf.0.subjects.items.[INDEX].role.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.subjects.items.[INDEX].role","typeLabel":"string | null"}},"required":["kind","handles"],"title":"Subject","type":"object","description":"One subject an event is about, when it is about more than one (a driver and the carrier).","uniqueKey":"\\items.items.[INDEX].oneOf.0.subjects.items.[INDEX]","typeLabel":"Subject · object"},"maxItems":8,"title":"Subjects","type":"array","description":"Use instead of `handles` when the event is about more than one subject.","uniqueKey":"\\items.items.[INDEX].oneOf.0.subjects","typeLabel":"Subject · object[]"},"task_id":{"oneOf":[{"type":"string","title":"Task Id","description":"Your id for the task of an internal agent.","maxLength":512,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.0.task_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Task Id","description":"Your id for the task of an internal agent.","uniqueKey":"\\items.items.[INDEX].oneOf.0.task_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.task_id","typeLabel":"string | null"},"type":{"const":"event","default":"event","title":"Type","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.0.type","typeLabel":"string"},"usage":{"oneOf":[{"type":"object","title":"ModelUsage","description":"The model call behind an `ai_agent` message: tokens and prompt cache.","required":["provider","model","prompt_tokens"],"properties":{"model":{"description":"The model the provider says answered, e.g. `gpt-4.1-2025-04-14`.","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:/@-]{0,127}$","title":"Model","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.usage.oneOf.0.model","typeLabel":"string"},"prompt_tokens":{"description":"Every input token, cached ones included.","maximum":100000000,"minimum":0,"title":"Prompt Tokens","type":"integer","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.usage.oneOf.0.prompt_tokens","typeLabel":"integer"},"provider":{"description":"Who served the call, lowercase: `openai`, `anthropic`, a router or a cloud.","pattern":"^[a-z0-9][a-z0-9_.-]{0,63}$","title":"Provider","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.usage.oneOf.0.provider","typeLabel":"string"},"cache_write_tokens":{"default":0,"description":"Input tokens written to the cache (Anthropic's cache creation).","minimum":0,"title":"Cache Write Tokens","type":"integer","uniqueKey":"\\items.items.[INDEX].oneOf.0.usage.oneOf.0.cache_write_tokens","typeLabel":"integer"},"cached_tokens":{"default":0,"description":"Input tokens read from the provider's cache.","minimum":0,"title":"Cached Tokens","type":"integer","uniqueKey":"\\items.items.[INDEX].oneOf.0.usage.oneOf.0.cached_tokens","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.0.usage.oneOf.0","typeLabel":"ModelUsage · object"},{"type":"null","description":"The model call behind an `ai_agent` message: tokens and prompt cache.","uniqueKey":"\\items.items.[INDEX].oneOf.0.usage.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.usage","typeLabel":"ModelUsage · object | null"},"valid_until":{"oneOf":[{"type":"string","title":"Valid Until","description":"Until when what this event states holds, e.g. an offer valid until a date: after it, the facts it gave leave the context and the search (`show_expired` still finds them).","format":"date-time","uniqueKey":"\\items.items.[INDEX].oneOf.0.valid_until.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Valid Until","description":"Until when what this event states holds, e.g. an offer valid until a date: after it, the facts it gave leave the context and the search (`show_expired` still finds them).","uniqueKey":"\\items.items.[INDEX].oneOf.0.valid_until.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.valid_until","typeLabel":"string\u003cdate-time> | null"},"verification_hint":{"oneOf":[{"type":"string","title":"Verification","description":"Session verification levels. `no_customer` sits outside the V0-V4 scale.","enum":["V0","V1","V2","V3","V4","no_customer"],"uniqueKey":"\\items.items.[INDEX].oneOf.0.verification_hint.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","uniqueKey":"\\items.items.[INDEX].oneOf.0.verification_hint.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.verification_hint","typeLabel":"enum\u003cstring> | null"},"visibility":{"enum":["public","internal"],"title":"Visibility","type":"string","description":"Defaults to `public`.","default":"public","uniqueKey":"\\items.items.[INDEX].oneOf.0.visibility","typeLabel":"enum\u003cstring>"},"voice":{"oneOf":[{"type":"object","title":"VoiceInfo","description":"Call metadata for voice events.","properties":{"ani":{"oneOf":[{"type":"string","title":"Ani","description":"Calling number.","maxLength":256,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.ani.oneOf.0","typeLabel":"string"},{"type":"null","title":"Ani","description":"Calling number.","uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.ani.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.ani","typeLabel":"string | null"},"answered_at":{"oneOf":[{"type":"string","title":"Answered At","format":"date-time","uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.answered_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Answered At","uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.answered_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.answered_at","typeLabel":"string\u003cdate-time> | null"},"dnis":{"oneOf":[{"type":"string","title":"Dnis","description":"Dialed number.","maxLength":256,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.dnis.oneOf.0","typeLabel":"string"},{"type":"null","title":"Dnis","description":"Dialed number.","uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.dnis.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.dnis","typeLabel":"string | null"},"end_reason":{"oneOf":[{"type":"string","title":"End Reason","maxLength":256,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.end_reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"End Reason","uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.end_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.end_reason","typeLabel":"string | null"},"ended_at":{"oneOf":[{"type":"string","title":"Ended At","format":"date-time","uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.ended_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Ended At","uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.ended_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.ended_at","typeLabel":"string\u003cdate-time> | null"},"network_attestation":{"oneOf":[{"type":"string","title":"Network Attestation","description":"Network attestation level of the call (STIR/SHAKEN and equivalents). A maps to V2, B and C to V1.","enum":["A","B","C"],"uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.network_attestation.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Network Attestation","description":"Network attestation level of the call (STIR/SHAKEN and equivalents). A maps to V2, B and C to V1.","uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.network_attestation.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.network_attestation","typeLabel":"enum\u003cstring> | null"},"recording_ref":{"oneOf":[{"type":"string","title":"Recording Ref","maxLength":512,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.recording_ref.oneOf.0","typeLabel":"string"},{"type":"null","title":"Recording Ref","uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.recording_ref.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.recording_ref","typeLabel":"string | null"},"trunk":{"oneOf":[{"type":"string","title":"Trunk","maxLength":256,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.trunk.oneOf.0","typeLabel":"string"},{"type":"null","title":"Trunk","uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.trunk.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.trunk","typeLabel":"string | null"},"turn_offset_ms":{"oneOf":[{"type":"integer","title":"Turn Offset Ms","description":"Offset of this turn from the start of the call.","minimum":0,"uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.turn_offset_ms.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Turn Offset Ms","description":"Offset of this turn from the start of the call.","uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.turn_offset_ms.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0.turn_offset_ms","typeLabel":"integer | null"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.0","typeLabel":"VoiceInfo · object"},{"type":"null","uniqueKey":"\\items.items.[INDEX].oneOf.0.voice.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.voice","typeLabel":"VoiceInfo · object | null"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.0","typeLabel":"EventItem · object"},{"type":"object","title":"IdentifyItem","description":"States that several handles belong to the same subject.","required":["idempotency_key","handles","occurred_at"],"properties":{"handles":{"items":{"additionalProperties":false,"description":"An identifier of a subject in some channel or system: a phone, an e-mail, a CRM id.","properties":{"type":{"enum":["phone_e164","wa_id","wa_jid","wa_lid","wa_bsuid","email","gov_id_hmac","app_user_id","system_id","org_registry_hmac","email_domain","anon_id"],"title":"HandleType","type":"string","description":"The kind of identifier. The value is classified by its format, never by the field it came from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.handles.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"value":{"maxLength":320,"minLength":1,"title":"Value","type":"string","description":"The identifier. Normalized on the server: E.164 for phones, lowercase for e-mail.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.handles.items.[INDEX].value","typeLabel":"string"},"scope":{"oneOf":[{"type":"string","title":"Scope","description":"Namespace for scoped identifiers: the WhatsApp Business account for `wa_bsuid`, the system for `system_id`, the country for `gov_id_hmac`.","maxLength":256,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.1.handles.items.[INDEX].scope.oneOf.0","typeLabel":"string"},{"type":"null","title":"Scope","description":"Namespace for scoped identifiers: the WhatsApp Business account for `wa_bsuid`, the system for `system_id`, the country for `gov_id_hmac`.","uniqueKey":"\\items.items.[INDEX].oneOf.1.handles.items.[INDEX].scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.1.handles.items.[INDEX].scope","typeLabel":"string | null"},"subject_kind":{"oneOf":[{"type":"string","title":"SubjectKind","description":"Defaults to `person`, except for organization-only handle types.","enum":["person","account","partner","staff"],"uniqueKey":"\\items.items.[INDEX].oneOf.1.handles.items.[INDEX].subject_kind.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Defaults to `person`, except for organization-only handle types.","uniqueKey":"\\items.items.[INDEX].oneOf.1.handles.items.[INDEX].subject_kind.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.1.handles.items.[INDEX].subject_kind","typeLabel":"enum\u003cstring> | null"}},"required":["type","value"],"title":"Handle","type":"object","uniqueKey":"\\items.items.[INDEX].oneOf.1.handles.items.[INDEX]","typeLabel":"Handle · object"},"maxItems":16,"minItems":2,"title":"Handles","type":"array","description":"Handles that belong to the same subject.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.handles","typeLabel":"Handle · object[]"},"idempotency_key":{"maxLength":512,"minLength":1,"title":"Idempotency Key","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.idempotency_key","typeLabel":"string"},"occurred_at":{"format":"date-time","title":"Occurred At","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.occurred_at","typeLabel":"string\u003cdate-time>"},"conversation_id":{"oneOf":[{"type":"string","title":"Conversation Id","maxLength":512,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.1.conversation_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Conversation Id","uniqueKey":"\\items.items.[INDEX].oneOf.1.conversation_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.1.conversation_id","typeLabel":"string | null"},"method":{"enum":["explicit_identify","otp","login","system_import","same_event","co_occurrence","channel_rotation","accepted_suggestion","external_resolver","declared"],"title":"AssertionMethod","type":"string","description":"Defaults to `explicit_identify`.","default":"explicit_identify","uniqueKey":"\\items.items.[INDEX].oneOf.1.method","typeLabel":"enum\u003cstring>"},"subject_kind":{"enum":["person","account","partner","staff"],"title":"SubjectKind","type":"string","description":"Defaults to `person`. Handles of different subject kinds are never linked by an assertion.","default":"person","uniqueKey":"\\items.items.[INDEX].oneOf.1.subject_kind","typeLabel":"enum\u003cstring>"},"type":{"const":"identify","default":"identify","title":"Type","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.1.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.1","typeLabel":"IdentifyItem · object"},{"type":"object","title":"VerifyItem","description":"Raises the verification level of one conversation or task. Never inferred.","required":["idempotency_key","method","level","handle","occurred_at"],"properties":{"handle":{"additionalProperties":false,"description":"The handle whose possession was proven.","properties":{"type":{"enum":["phone_e164","wa_id","wa_jid","wa_lid","wa_bsuid","email","gov_id_hmac","app_user_id","system_id","org_registry_hmac","email_domain","anon_id"],"title":"HandleType","type":"string","description":"The kind of identifier. The value is classified by its format, never by the field it came from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.handle.type","typeLabel":"enum\u003cstring>"},"value":{"maxLength":320,"minLength":1,"title":"Value","type":"string","description":"The identifier. Normalized on the server: E.164 for phones, lowercase for e-mail.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.handle.value","typeLabel":"string"},"scope":{"oneOf":[{"type":"string","title":"Scope","description":"Namespace for scoped identifiers: the WhatsApp Business account for `wa_bsuid`, the system for `system_id`, the country for `gov_id_hmac`.","maxLength":256,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.2.handle.scope.oneOf.0","typeLabel":"string"},{"type":"null","title":"Scope","description":"Namespace for scoped identifiers: the WhatsApp Business account for `wa_bsuid`, the system for `system_id`, the country for `gov_id_hmac`.","uniqueKey":"\\items.items.[INDEX].oneOf.2.handle.scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.2.handle.scope","typeLabel":"string | null"},"subject_kind":{"oneOf":[{"type":"string","title":"SubjectKind","description":"Defaults to `person`, except for organization-only handle types.","enum":["person","account","partner","staff"],"uniqueKey":"\\items.items.[INDEX].oneOf.2.handle.subject_kind.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Defaults to `person`, except for organization-only handle types.","uniqueKey":"\\items.items.[INDEX].oneOf.2.handle.subject_kind.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.2.handle.subject_kind","typeLabel":"enum\u003cstring> | null"}},"required":["type","value"],"title":"Handle","type":"object","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.handle","typeLabel":"Handle · object"},"idempotency_key":{"maxLength":512,"minLength":1,"title":"Idempotency Key","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.idempotency_key","typeLabel":"string"},"level":{"description":"Session verification levels. `no_customer` sits outside the V0-V4 scale.","enum":["V0","V1","V2","V3","V4","no_customer"],"title":"Verification","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.level","typeLabel":"enum\u003cstring>"},"method":{"enum":["otp_whatsapp","otp_sms","login","kba","network_attestation","human_agent"],"title":"Method","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.method","typeLabel":"enum\u003cstring>"},"occurred_at":{"format":"date-time","title":"Occurred At","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.occurred_at","typeLabel":"string\u003cdate-time>"},"conversation_id":{"oneOf":[{"type":"string","title":"Conversation Id","maxLength":512,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.2.conversation_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Conversation Id","uniqueKey":"\\items.items.[INDEX].oneOf.2.conversation_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.2.conversation_id","typeLabel":"string | null"},"task_id":{"oneOf":[{"type":"string","title":"Task Id","maxLength":512,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.2.task_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Task Id","uniqueKey":"\\items.items.[INDEX].oneOf.2.task_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.2.task_id","typeLabel":"string | null"},"type":{"const":"verify","default":"verify","title":"Type","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.2.type","typeLabel":"string"},"valid_until":{"oneOf":[{"type":"string","title":"Valid Until","format":"date-time","uniqueKey":"\\items.items.[INDEX].oneOf.2.valid_until.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Valid Until","uniqueKey":"\\items.items.[INDEX].oneOf.2.valid_until.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.2.valid_until","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.2","typeLabel":"VerifyItem · object"},{"type":"object","title":"ConversationEndedItem","description":"Closes the session now instead of waiting for inactivity. Send it at the end of every call.","required":["idempotency_key","conversation_id","occurred_at"],"properties":{"conversation_id":{"maxLength":512,"minLength":1,"title":"Conversation Id","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.conversation_id","typeLabel":"string"},"idempotency_key":{"maxLength":512,"minLength":1,"title":"Idempotency Key","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.idempotency_key","typeLabel":"string"},"occurred_at":{"format":"date-time","title":"Occurred At","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.occurred_at","typeLabel":"string\u003cdate-time>"},"type":{"const":"conversation.ended","default":"conversation.ended","title":"Type","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.3.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.3","typeLabel":"ConversationEndedItem · object"},{"type":"object","title":"TaskEndedItem","description":"Closes the session of an internal-agent task.","required":["idempotency_key","task_id","occurred_at"],"properties":{"idempotency_key":{"maxLength":512,"minLength":1,"title":"Idempotency Key","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.idempotency_key","typeLabel":"string"},"occurred_at":{"format":"date-time","title":"Occurred At","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.occurred_at","typeLabel":"string\u003cdate-time>"},"task_id":{"maxLength":512,"minLength":1,"title":"Task Id","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.task_id","typeLabel":"string"},"type":{"const":"task.ended","default":"task.ended","title":"Type","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.4.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.4","typeLabel":"TaskEndedItem · object"},{"type":"object","title":"HandoffItem","description":"A transfer to a human or another agent; the measurement reads it.","required":["idempotency_key","conversation_id","target","occurred_at"],"properties":{"conversation_id":{"maxLength":512,"minLength":1,"title":"Conversation Id","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.conversation_id","typeLabel":"string"},"idempotency_key":{"maxLength":512,"minLength":1,"title":"Idempotency Key","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.idempotency_key","typeLabel":"string"},"occurred_at":{"format":"date-time","title":"Occurred At","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.occurred_at","typeLabel":"string\u003cdate-time>"},"target":{"enum":["human","agent"],"title":"Target","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.target","typeLabel":"enum\u003cstring>"},"mode":{"default":"warm","enum":["warm","cold"],"title":"Mode","type":"string","description":"`warm` when the receiver gets a briefing. Defaults to `warm`.","uniqueKey":"\\items.items.[INDEX].oneOf.5.mode","typeLabel":"enum\u003cstring>"},"reason":{"oneOf":[{"type":"string","title":"Reason","maxLength":256,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.5.reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reason","uniqueKey":"\\items.items.[INDEX].oneOf.5.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.5.reason","typeLabel":"string | null"},"target_source":{"oneOf":[{"type":"string","title":"Target Source","description":"The `source_id` of the source that takes over, when it is integrated with Niadra.","maxLength":256,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.5.target_source.oneOf.0","typeLabel":"string"},{"type":"null","title":"Target Source","description":"The `source_id` of the source that takes over, when it is integrated with Niadra.","uniqueKey":"\\items.items.[INDEX].oneOf.5.target_source.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.5.target_source","typeLabel":"string | null"},"type":{"const":"handoff","default":"handoff","title":"Type","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.5.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.5","typeLabel":"HandoffItem · object"},{"type":"object","title":"InteractionItem","description":"An interaction of a subject, for a source that sends no turn records: what a turn record carries in\n`interactions`, with the subject and the conversation. Accepted only in a space with the `signals`\nagent feature on; a duplicate by `idempotency_key` is applied once.","required":["idempotency_key","handle","occurred_at","interaction"],"properties":{"handle":{"additionalProperties":false,"description":"An identifier of a subject in some channel or system: a phone, an e-mail, a CRM id.","properties":{"type":{"enum":["phone_e164","wa_id","wa_jid","wa_lid","wa_bsuid","email","gov_id_hmac","app_user_id","system_id","org_registry_hmac","email_domain","anon_id"],"title":"HandleType","type":"string","description":"The kind of identifier. The value is classified by its format, never by the field it came from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.handle.type","typeLabel":"enum\u003cstring>"},"value":{"maxLength":320,"minLength":1,"title":"Value","type":"string","description":"The identifier. Normalized on the server: E.164 for phones, lowercase for e-mail.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.handle.value","typeLabel":"string"},"scope":{"oneOf":[{"type":"string","title":"Scope","description":"Namespace for scoped identifiers: the WhatsApp Business account for `wa_bsuid`, the system for `system_id`, the country for `gov_id_hmac`.","maxLength":256,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.6.handle.scope.oneOf.0","typeLabel":"string"},{"type":"null","title":"Scope","description":"Namespace for scoped identifiers: the WhatsApp Business account for `wa_bsuid`, the system for `system_id`, the country for `gov_id_hmac`.","uniqueKey":"\\items.items.[INDEX].oneOf.6.handle.scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.6.handle.scope","typeLabel":"string | null"},"subject_kind":{"oneOf":[{"type":"string","title":"SubjectKind","description":"Defaults to `person`, except for organization-only handle types.","enum":["person","account","partner","staff"],"uniqueKey":"\\items.items.[INDEX].oneOf.6.handle.subject_kind.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Defaults to `person`, except for organization-only handle types.","uniqueKey":"\\items.items.[INDEX].oneOf.6.handle.subject_kind.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.6.handle.subject_kind","typeLabel":"enum\u003cstring> | null"}},"required":["type","value"],"title":"Handle","type":"object","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.handle","typeLabel":"Handle · object"},"idempotency_key":{"maxLength":512,"minLength":1,"title":"Idempotency Key","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.idempotency_key","typeLabel":"string"},"interaction":{"oneOf":[{"type":"object","title":"Presented","description":"A list delivered to the person: the exposure. Its canonical moment is `delivered_at`, when the\ninterface bridge handed the list to the client, never when a tool returned it or the model named it.","required":["kind","exposure_id","list_id","items","delivered_at"],"properties":{"delivered_at":{"format":"date-time","title":"Delivered At","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.delivered_at","typeLabel":"string\u003cdate-time>"},"exposure_id":{"format":"uuid","title":"Exposure Id","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.exposure_id","typeLabel":"string\u003cuuid>"},"items":{"items":{"additionalProperties":false,"properties":{"pos":{"description":"1-based position in the whole list, across pages.","maximum":10000,"minimum":1,"title":"Pos","type":"integer","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.\\items.items.[INDEX].pos","typeLabel":"integer"},"ref":{"pattern":"^[a-z][a-z0-9_]{0,39}:[^:\\s]{1,256}:\\S{1,512}$","title":"Ref","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.\\items.items.[INDEX].ref","typeLabel":"string"},"shown":{"description":"The values the item showed, for the fields its type tracks or lets be claimed; what `changes_since_seen` later compares against.","maxProperties":32,"patternProperties":{"^[a-z][a-z0-9_]{0,63}$":{"anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"number"},{"maxLength":256,"type":"string"},{"type":"null"}]}},"title":"Shown","type":"object","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.\\items.items.[INDEX].shown","typeLabel":"Shown · object"},"team":{"oneOf":[{"type":"string","title":"Team","description":"Which of two interleaved lists contributed the item.","enum":["a","b"],"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.\\items.items.[INDEX].team.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Team","description":"Which of two interleaved lists contributed the item.","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.\\items.items.[INDEX].team.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.\\items.items.[INDEX].team","typeLabel":"enum\u003cstring> | null"}},"required":["pos","ref"],"title":"PresentedItem","type":"object","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.\\items.items.[INDEX]","typeLabel":"PresentedItem · object"},"maxItems":100,"minItems":1,"title":"Items","type":"array","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.\\items","typeLabel":"PresentedItem · object[]"},"kind":{"const":"presented","title":"Kind","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.kind","typeLabel":"string"},"list_id":{"maxLength":256,"minLength":1,"title":"List Id","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.list_id","typeLabel":"string"},"for":{"default":"self","pattern":"^(?:self|gift|beneficiary:[A-Za-z0-9_-]{1,64})$","title":"For","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.for","typeLabel":"string"},"list_kind":{"default":"results","maxLength":256,"minLength":1,"title":"List Kind","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.list_kind","typeLabel":"string"},"method":{"default":"bridge","description":"`bridge` from the interface bridge, `otel` from a `niadra.exposure` span, `tool_result` inferred from what a tool returned: labeled, because it counts more than was shown.","enum":["bridge","otel","tool_result"],"title":"Method","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.method","typeLabel":"enum\u003cstring>"},"offset":{"default":0,"maximum":10000,"minimum":0,"title":"Offset","type":"integer","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.offset","typeLabel":"integer"},"page":{"default":1,"description":"\"See more\" is the same list with `page + 1`.","maximum":1000,"minimum":1,"title":"Page","type":"integer","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.page","typeLabel":"integer"},"parent_list_id":{"oneOf":[{"type":"string","title":"Parent List Id","maxLength":256,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.parent_list_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Parent List Id","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.parent_list_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.parent_list_id","typeLabel":"string | null"},"visible_k":{"oneOf":[{"type":"integer","title":"Visible K","description":"How many of the first items were visible on delivery.","maximum":100,"minimum":1,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.visible_k.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Visible K","description":"How many of the first items were visible on delivery.","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.visible_k.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0.visible_k","typeLabel":"integer | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.0","typeLabel":"Presented · object"},{"type":"object","title":"Seen","description":"A ping of the list component: how far the person saw.","required":["kind","exposure_id","max_index_seen"],"properties":{"exposure_id":{"format":"uuid","title":"Exposure Id","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.1.exposure_id","typeLabel":"string\u003cuuid>"},"kind":{"const":"seen","title":"Kind","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.1.kind","typeLabel":"string"},"max_index_seen":{"description":"The highest `pos` the component showed.","maximum":10000,"minimum":1,"title":"Max Index Seen","type":"integer","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.1.max_index_seen","typeLabel":"integer"},"for":{"default":"self","pattern":"^(?:self|gift|beneficiary:[A-Za-z0-9_-]{1,64})$","title":"For","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.1.for","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.1","typeLabel":"Seen · object"},{"type":"object","title":"Engaged","required":["kind","ref","how"],"properties":{"how":{"enum":["click","detail","mention","add_to_cart","compare","share","other"],"title":"How","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.2.how","typeLabel":"enum\u003cstring>"},"kind":{"const":"engaged","title":"Kind","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.2.kind","typeLabel":"string"},"ref":{"pattern":"^[a-z][a-z0-9_]{0,39}:[^:\\s]{1,256}:\\S{1,512}$","title":"Ref","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.2.ref","typeLabel":"string"},"exposure_id":{"oneOf":[{"type":"string","title":"Exposure Id","description":"Absent for an item of no list.","format":"uuid","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.2.exposure_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","title":"Exposure Id","description":"Absent for an item of no list.","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.2.exposure_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.2.exposure_id","typeLabel":"string\u003cuuid> | null"},"for":{"default":"self","pattern":"^(?:self|gift|beneficiary:[A-Za-z0-9_-]{1,64})$","title":"For","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.2.for","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.2","typeLabel":"Engaged · object"},{"type":"object","title":"Feedback","required":["kind","ref","polarity"],"properties":{"kind":{"const":"feedback","title":"Kind","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.3.kind","typeLabel":"string"},"polarity":{"enum":["positive","negative"],"title":"Polarity","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.3.polarity","typeLabel":"enum\u003cstring>"},"ref":{"pattern":"^[a-z][a-z0-9_]{0,39}:[^:\\s]{1,256}:\\S{1,512}$","title":"Ref","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.3.ref","typeLabel":"string"},"for":{"default":"self","pattern":"^(?:self|gift|beneficiary:[A-Za-z0-9_-]{1,64})$","title":"For","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.3.for","typeLabel":"string"},"reason_attrs":{"items":{"pattern":"^[a-z][a-z0-9_]{0,39}\\.[a-z][a-z0-9_]{0,63}$","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.3.reason_attrs.items.[INDEX]","typeLabel":"string"},"maxItems":10,"title":"Reason Attrs","type":"array","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.3.reason_attrs","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.3","typeLabel":"Feedback · object"},{"type":"object","title":"Preference","description":"What the person wants or refuses, said or captured from a tool's arguments; only these become hard.","required":["kind","attr","op","values","strength"],"properties":{"attr":{"pattern":"^[a-z][a-z0-9_]{0,39}\\.[a-z][a-z0-9_]{0,63}$","title":"Attr","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.4.attr","typeLabel":"string"},"kind":{"const":"preference","title":"Kind","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.4.kind","typeLabel":"string"},"op":{"enum":["in","not_in","eq","ne","lt","lte","gt","gte","between"],"title":"Op","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.4.op","typeLabel":"enum\u003cstring>"},"strength":{"enum":["must","must_not","prefer","avoid"],"title":"Strength","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.4.strength","typeLabel":"enum\u003cstring>"},"values":{"items":{"oneOf":[{"type":"boolean","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.4.values.items.[INDEX].oneOf.0","typeLabel":"boolean"},{"type":"integer","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.4.values.items.[INDEX].oneOf.1","typeLabel":"integer"},{"type":"number","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.4.values.items.[INDEX].oneOf.2","typeLabel":"number"},{"type":"string","maxLength":256,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.4.values.items.[INDEX].oneOf.3","typeLabel":"string"}],"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.4.values.items.[INDEX]","typeLabel":"boolean | integer | number | string"},"maxItems":50,"minItems":1,"title":"Values","type":"array","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.4.values","typeLabel":"(boolean | integer | number | string)[]"},"category":{"oneOf":[{"type":"string","title":"Category","description":"Holds only in this category of the type.","maxLength":256,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.4.category.oneOf.0","typeLabel":"string"},{"type":"null","title":"Category","description":"Holds only in this category of the type.","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.4.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.4.category","typeLabel":"string | null"},"expires_at":{"oneOf":[{"type":"string","title":"Expires At","format":"date-time","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.4.expires_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Expires At","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.4.expires_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.4.expires_at","typeLabel":"string\u003cdate-time> | null"},"for":{"default":"self","pattern":"^(?:self|gift|beneficiary:[A-Za-z0-9_-]{1,64})$","title":"For","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.4.for","typeLabel":"string"},"scope":{"default":"session","enum":["turn","session","persistent"],"title":"Scope","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.4.scope","typeLabel":"enum\u003cstring>"},"source":{"default":"stated","enum":["stated","tool_args","correction"],"title":"Source","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.4.source","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.4","typeLabel":"Preference · object"},{"type":"object","title":"Attribute","description":"What the person is: a size, a preferred network, a diet. Said here; the lifecycle's outcomes (bought,\nkept, returned for size) derive the rest on the server, never an agent.","required":["kind","name","value"],"properties":{"kind":{"const":"attribute","title":"Kind","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.5.kind","typeLabel":"string"},"name":{"pattern":"^[a-z][a-z0-9_]{0,63}(?:\\.[a-z0-9_]{1,64}){0,3}$","title":"Name","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.5.name","typeLabel":"string"},"value":{"oneOf":[{"type":"boolean","title":"Value","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.5.value.oneOf.0","typeLabel":"boolean"},{"type":"integer","title":"Value","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.5.value.oneOf.1","typeLabel":"integer"},{"type":"number","title":"Value","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.5.value.oneOf.2","typeLabel":"number"},{"type":"string","title":"Value","maxLength":256,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.5.value.oneOf.3","typeLabel":"string"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.5.value","typeLabel":"boolean | integer | number | string"},"category":{"oneOf":[{"type":"string","title":"Category","maxLength":256,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.5.category.oneOf.0","typeLabel":"string"},{"type":"null","title":"Category","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.5.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.5.category","typeLabel":"string | null"},"for":{"default":"self","pattern":"^(?:self|gift|beneficiary:[A-Za-z0-9_-]{1,64})$","title":"For","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.5.for","typeLabel":"string"},"source":{"default":"stated","enum":["stated","correction"],"title":"Source","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.5.source","typeLabel":"enum\u003cstring>"},"system":{"oneOf":[{"type":"string","title":"System","description":"The measuring system: `BR`, `EU`, `US`.","maxLength":256,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.5.system.oneOf.0","typeLabel":"string"},{"type":"null","title":"System","description":"The measuring system: `BR`, `EU`, `US`.","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.5.system.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.5.system","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.5","typeLabel":"Attribute · object"},{"type":"object","title":"Watch","description":"An explicit \"let me know when\": the only way an interest raises a notice.","required":["kind","ref","condition","consent_event_key"],"properties":{"condition":{"description":"A `niadra-expr` expression over the object's fields.","maxLength":500,"minLength":1,"title":"Condition","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.6.condition","typeLabel":"string"},"consent_event_key":{"maxLength":512,"minLength":1,"title":"Consent Event Key","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.6.consent_event_key","typeLabel":"string"},"kind":{"const":"watch","title":"Kind","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.6.kind","typeLabel":"string"},"ref":{"pattern":"^[a-z][a-z0-9_]{0,39}:[^:\\s]{1,256}:\\S{1,512}$","title":"Ref","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.6.ref","typeLabel":"string"},"expires_at":{"oneOf":[{"type":"string","title":"Expires At","format":"date-time","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.6.expires_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Expires At","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.6.expires_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.6.expires_at","typeLabel":"string\u003cdate-time> | null"},"for":{"default":"self","pattern":"^(?:self|gift|beneficiary:[A-Za-z0-9_-]{1,64})$","title":"For","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.6.for","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.6","typeLabel":"Watch · object"},{"type":"object","title":"Unwatch","required":["kind","ref"],"properties":{"kind":{"const":"unwatch","title":"Kind","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.7.kind","typeLabel":"string"},"ref":{"pattern":"^[a-z][a-z0-9_]{0,39}:[^:\\s]{1,256}:\\S{1,512}$","title":"Ref","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.7.ref","typeLabel":"string"},"for":{"default":"self","pattern":"^(?:self|gift|beneficiary:[A-Za-z0-9_-]{1,64})$","title":"For","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.7.for","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction.oneOf.7","typeLabel":"Unwatch · object"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.interaction","typeLabel":"Presented · object | Seen · object | Engaged · object | Feedback · object | Preference · object | Attribute · object | Watch · object | Unwatch · object"},"occurred_at":{"format":"date-time","title":"Occurred At","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.occurred_at","typeLabel":"string\u003cdate-time>"},"agent":{"oneOf":[{"type":"string","title":"Agent","maxLength":256,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.6.agent.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent","uniqueKey":"\\items.items.[INDEX].oneOf.6.agent.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.6.agent","typeLabel":"string | null"},"conversation_id":{"oneOf":[{"type":"string","title":"Conversation Id","maxLength":512,"minLength":1,"uniqueKey":"\\items.items.[INDEX].oneOf.6.conversation_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Conversation Id","uniqueKey":"\\items.items.[INDEX].oneOf.6.conversation_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.6.conversation_id","typeLabel":"string | null"},"type":{"const":"interaction","default":"interaction","title":"Type","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.6.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.6","typeLabel":"InteractionItem · object"},{"type":"object","title":"HeartbeatItem","description":"Periodic counters from the SDK, used to compute per-source coverage.","required":["window_start","sent"],"properties":{"sent":{"minimum":0,"title":"Sent","type":"integer","description":"Events the SDK sent in the window.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.sent","typeLabel":"integer"},"window_start":{"format":"date-time","title":"Window Start","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.window_start","typeLabel":"string\u003cdate-time>"},"type":{"const":"heartbeat","default":"heartbeat","title":"Type","type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.7.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.7","typeLabel":"HeartbeatItem · object"}],"uniqueKey":"\\items.items.[INDEX]","typeLabel":"EventItem · object | IdentifyItem · object | VerifyItem · object | ConversationEndedItem · object | TaskEndedItem · object | HandoffItem · object | InteractionItem · object | HeartbeatItem · object"},"maxItems":500,"minItems":1,"title":"Items","type":"array","isRequired":true,"uniqueKey":"\\items","typeLabel":"(EventItem · object | IdentifyItem · object | VerifyItem · object | ConversationEndedItem · object | TaskEndedItem · object | HandoffItem · object | InteractionItem · object | HeartbeatItem · object)[]"}},"required":["items"],"title":"BatchRequest","type":"object","uniqueKey":"","typeLabel":"BatchRequest · object"},"example":{"items":[{"type":"event","kind":"message","idempotency_key":"wamid.HBgLMTQxNTU1NTAxMjMVAgASGBQzQUQ","channel":"whatsapp","conversation_id":"wa-8812","handles":[{"type":"phone_e164","value":"+14155550123"}],"speaker":{"role":"customer"},"direction":"inbound","content":{"type":"text","text":"The technician never showed up. I am calling you."},"occurred_at":"2026-09-22T17:02:11Z"},{"type":"event","kind":"action","idempotency_key":"0192f7a1-6c1e-7c3a-9b1e-5d2f8a4c0e11","channel":"erp","task_id":"billing-7741","handles":[{"type":"system_id","value":"48213","scope":"crm"}],"object_refs":[{"type":"invoice","namespace":"erp","id":"0823"}],"speaker":{"role":"ai_agent","id":"billing-agent"},"action":{"operation":"credit","result":"$40 credit on the August bill","closes":{"object":{"type":"invoice","namespace":"erp","id":"0823"},"operation":"dispute"}},"occurred_at":"2026-09-22T17:06:21Z"}]},"examples":{"Example":{"title":"Example","value":{"items":[{"type":"event","kind":"message","idempotency_key":"wamid.HBgLMTQxNTU1NTAxMjMVAgASGBQzQUQ","channel":"whatsapp","conversation_id":"wa-8812","handles":[{"type":"phone_e164","value":"+14155550123"}],"speaker":{"role":"customer"},"direction":"inbound","content":{"type":"text","text":"The technician never showed up. I am calling you."},"occurred_at":"2026-09-22T17:02:11Z"},{"type":"event","kind":"action","idempotency_key":"0192f7a1-6c1e-7c3a-9b1e-5d2f8a4c0e11","channel":"erp","task_id":"billing-7741","handles":[{"type":"system_id","value":"48213","scope":"crm"}],"object_refs":[{"type":"invoice","namespace":"erp","id":"0823"}],"speaker":{"role":"ai_agent","id":"billing-agent"},"action":{"operation":"credit","result":"$40 credit on the August bill","closes":{"object":{"type":"invoice","namespace":"erp","id":"0823"},"operation":"dispute"}},"occurred_at":"2026-09-22T17:06:21Z"}]}}},"exampleType":"examples"}},"required":true,"exampleType":"examples"},"responses":{"d7693f02-c399-4e39-832e-1f4e6ca575f1":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"accepted":{"title":"Accepted","type":"integer","isRequired":true,"uniqueKey":"accepted","typeLabel":"integer"},"duplicates":{"title":"Duplicates","type":"integer","description":"Items whose idempotency key was already stored.","isRequired":true,"uniqueKey":"duplicates","typeLabel":"integer"},"errors":{"items":{"additionalProperties":false,"properties":{"code":{"title":"Code","type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"index":{"title":"Index","type":"integer","description":"Position of the item in `items`.","isRequired":true,"uniqueKey":"errors.items.[INDEX].index","typeLabel":"integer"},"detail":{"oneOf":[{"type":"string","title":"Detail","uniqueKey":"errors.items.[INDEX].detail.oneOf.0","typeLabel":"string"},{"type":"null","title":"Detail","uniqueKey":"errors.items.[INDEX].detail.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string | null"}},"required":["index","code"],"title":"ItemError","type":"object","uniqueKey":"errors.items.[INDEX]","typeLabel":"ItemError · object"},"title":"Errors","type":"array","isRequired":true,"uniqueKey":"errors","typeLabel":"ItemError · object[]"},"masked":{"additionalProperties":{"type":"integer","uniqueKey":"masked.additionalProperties","typeLabel":"integer"},"description":"Values held back from the accepted items before storage, by type (`card`, `cvv`, `password`, `secret`): the stored text says `[retido:cartão ****1234]` where the value was.","title":"Masked","type":"object","uniqueKey":"masked","typeLabel":"Masked · object"}},"required":["accepted","duplicates","errors"],"title":"BatchResponse","type":"object","uniqueKey":"","typeLabel":"BatchResponse · object"},"example":{"accepted":2,"duplicates":0,"errors":[]},"examples":{"Example":{"title":"Example","value":{"accepted":2,"duplicates":0,"errors":[]}}},"exampleType":"examples"}},"description":"Every item was accepted or recognized as a duplicate.","exampleType":"examples"},"5056e3c0-de7e-4f41-a1b7-61fd817931f7":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"accepted":{"title":"Accepted","type":"integer","isRequired":true,"uniqueKey":"accepted","typeLabel":"integer"},"duplicates":{"title":"Duplicates","type":"integer","description":"Items whose idempotency key was already stored.","isRequired":true,"uniqueKey":"duplicates","typeLabel":"integer"},"errors":{"items":{"additionalProperties":false,"properties":{"code":{"title":"Code","type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"index":{"title":"Index","type":"integer","description":"Position of the item in `items`.","isRequired":true,"uniqueKey":"errors.items.[INDEX].index","typeLabel":"integer"},"detail":{"oneOf":[{"type":"string","title":"Detail","uniqueKey":"errors.items.[INDEX].detail.oneOf.0","typeLabel":"string"},{"type":"null","title":"Detail","uniqueKey":"errors.items.[INDEX].detail.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string | null"}},"required":["index","code"],"title":"ItemError","type":"object","uniqueKey":"errors.items.[INDEX]","typeLabel":"ItemError · object"},"title":"Errors","type":"array","isRequired":true,"uniqueKey":"errors","typeLabel":"ItemError · object[]"},"masked":{"additionalProperties":{"type":"integer","uniqueKey":"masked.additionalProperties","typeLabel":"integer"},"description":"Values held back from the accepted items before storage, by type (`card`, `cvv`, `password`, `secret`): the stored text says `[retido:cartão ****1234]` where the value was.","title":"Masked","type":"object","uniqueKey":"masked","typeLabel":"Masked · object"}},"required":["accepted","duplicates","errors"],"title":"BatchResponse","type":"object","uniqueKey":"","typeLabel":"BatchResponse · object"},"example":{"accepted":1,"duplicates":0,"errors":[{"index":1,"code":"scope_missing","detail":"the key lacks the act scope"}]},"examples":{"Example":{"title":"Example","value":{"accepted":1,"duplicates":0,"errors":[{"index":1,"code":"scope_missing","detail":"the key lacks the act scope"}]}}},"exampleType":"examples"}},"description":"Some items were rejected; see `errors`.","exampleType":"examples"}},"security":{"e88c5806-2642-42d2-9fff-e4dcf5618a8f":{"sourceKey":{"type":"http","scheme":"bearer","description":"nia_sk_...","scopes":[],"schemeName":"sourceKey"}}},"servers":{"0be549a6-71d8-44fe-89a3-59c438e10f96":{"url":"https://{space}.{region}.api.niadra.com","variables":{"space":{"default":"acme-prod","description":"The space, which comes in the source key."},"region":{"default":"us-east-2","description":"The region of the space, which also comes in the key."}}}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"nia_sk_...","scopes":[],"schemeName":"sourceKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"nia_sk_...","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"sourceKey","name":"Authorization"}],"title":"sourceKey"}]},"originalFileLocation":"openapi/en/cell.json"},"subdomain":"niadra","siteName":"Niadra","title":"Send a batch - Niadra","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"pt-BR":{"href":"/api/batch","matchLevel":1},"en":{"href":"/en/api/batch","matchLevel":0}}},"lastModified":"2026-09-23T19:24:40.337Z","originalFileLocation":"en/api/batch.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Messages, system events, actions, identification and verification in one batch, with per-item errors.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Niadra\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/niadra/38eaYz5OIbvpSC0h/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/niadra/38eaYz5OIbvpSC0h/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/niadra/38eaYz5OIbvpSC0h/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/niadra/38eaYz5OIbvpSC0h/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/niadra/38eaYz5OIbvpSC0h/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/niadra/38eaYz5OIbvpSC0h/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/niadra/38eaYz5OIbvpSC0h/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/niadra/38eaYz5OIbvpSC0h/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/niadra/38eaYz5OIbvpSC0h/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Send a batch - Niadra\">\u003cmeta data-mint-head property=\"og:description\" content=\"Messages, system events, actions, identification and verification in one batch, with per-item errors.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Niadra\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.niadra.com/en/api/batch\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://niadra.mintlify.site/_mintlify/api/og/v2?division=Write\u0026amp;title=Send+a+batch\u0026amp;description=Messages%2C+system+events%2C+actions%2C+identification+and+verification+in+one+batch%2C+with+per-item+errors.\u0026amp;theme=3bdc4e12ee35368dd0bb24cb\u0026amp;signature=e643c9a89b4b445d648b3ed5221531ece3bc3489b6e405162c2de4a96cf49d50\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Send a batch - Niadra\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Messages, system events, actions, identification and verification in one batch, with per-item errors.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://niadra.mintlify.site/_mintlify/api/og/v2?division=Write\u0026amp;title=Send+a+batch\u0026amp;description=Messages%2C+system+events%2C+actions%2C+identification+and+verification+in+one+batch%2C+with+per-item+errors.\u0026amp;theme=3bdc4e12ee35368dd0bb24cb\u0026amp;signature=e643c9a89b4b445d648b3ed5221531ece3bc3489b6e405162c2de4a96cf49d50\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/niadra/38eaYz5OIbvpSC0h/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Niadra\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5e7c00\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.niadra.com/en/api/batch\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/en/api/batch.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.niadra.com/en/api/batch\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://docs.niadra.com/api/batch\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.niadra.com/api/batch\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.niadra.com/#organization\",\"name\":\"Niadra\",\"url\":\"https://docs.niadra.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/niadra/sChzk53yMj_IBTWz/logo/light.png?fit=max\u0026auto=format\u0026n=sChzk53yMj_IBTWz\u0026q=85\u0026s=b4f8c5972b2a2afcf8c16aa3f16efa98\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.niadra.com#website\",\"name\":\"Niadra\",\"url\":\"https://docs.niadra.com\",\"publisher\":{\"@id\":\"https://docs.niadra.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.niadra.com/en/api/batch#webpage\",\"url\":\"https://docs.niadra.com/en/api/batch\",\"name\":\"Send a batch\",\"description\":\"Messages, system events, actions, identification and verification in one batch, with per-item errors.\",\"dateModified\":\"2026-09-23T19:24:40.337Z\",\"isPartOf\":{\"@id\":\"https://docs.niadra.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.niadra.com/en/api/batch#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.niadra.com/en/api/batch#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Niadra\",\"item\":\"https://docs.niadra.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Send a batch\",\"item\":\"https://docs.niadra.com/en/api/batch\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.niadra.com/en/api/batch#apireference\",\"headline\":\"Send a batch\",\"name\":\"Send a batch\",\"description\":\"Messages, system events, actions, identification and verification in one batch, with per-item errors.\",\"url\":\"https://docs.niadra.com/en/api/batch\",\"mainEntityOfPage\":{\"@id\":\"https://docs.niadra.com/en/api/batch#webpage\"},\"dateModified\":\"2026-09-23T19:24:40.337Z\",\"publisher\":{\"@id\":\"https://docs.niadra.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.niadra.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Niadra\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Niadra\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/en/api/batch.md","siteName":"Niadra","nav":{"global":null,"languages":[{"language":"pt-BR","default":true,"navbar":{"links":[{"icon":"life-ring","href":"https://niadra.com/enterprise","label":"Suporte"},{"icon":"github","href":"https://github.com/ainiadra","label":"GitHub"}],"primary":{"type":"button","label":"Console","href":"https://niadra.com/console"}},"pages":[{"title":"pt-BR","href":"/api/batch"}]},{"language":"en","navbar":{"links":[{"icon":"life-ring","href":"https://niadra.com/en/enterprise","label":"Support"},{"icon":"github","href":"https://github.com/ainiadra","label":"GitHub"}],"primary":{"type":"button","label":"Console","href":"https://niadra.com/console"}},"tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/en"}]},{"tab":"Concepts","pages":[{"title":"Concepts","href":"/en/concepts/spaces-and-keys"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/en/guides/voice-agents"}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/en/integrations/overview"}]},{"tab":"SDKs","pages":[{"title":"SDKs","href":"/en/sdk/python"}]},{"tab":"API reference","groups":[{"group":"Overview","pages":[{"title":"The Niadra API","description":"Base address, authentication, and the route groups of the data API and the control API.","href":"/en/api"}]},{"group":"Write","pages":[{"title":"Send a batch","openapi":"openapi/en/cell.json POST /v1/batch","href":"/en/api/batch"},{"title":"Request a media upload","description":"A presigned URL and the exact upload headers; the event carries only the reference and the hash.","openapi":"openapi/en/cell.json POST /v1/media/uploads","href":"/en/api/media-uploads"},{"title":"Import a file","openapi":"openapi/en/cell.json POST /v1/ingest/files","href":"/en/api/ingest-files"},{"title":"Ingestion status","openapi":"openapi/en/cell.json POST /v1/ingest/status","href":"/en/api/ingest-status"},{"title":"File import status","openapi":"openapi/en/cell.json GET /v1/ingest/files/{import_id}","href":"/en/api/ingest-file"},{"title":"Receive a system webhook","openapi":"openapi/en/cell.json POST /v1/ingest/webhook/{source_id}","href":"/en/api/ingest-webhook"},{"title":"Answer the webhook challenge","openapi":"openapi/en/cell.json GET /v1/ingest/webhook/{source_id}","href":"/en/api/ingest-webhook-challenge"},{"title":"Receive OTLP traces","openapi":"openapi/en/cell.json POST /v1/otel/v1/traces","href":"/en/api/otel-traces"},{"title":"Correct the memory","openapi":"openapi/en/cell.json POST /v1/feedback","href":"/en/api/feedback"},{"title":"Correct in batch","openapi":"openapi/en/cell.json POST /v1/feedback/batch","href":"/en/api/feedback-batch"}]},{"group":"Context","pages":[{"title":"Read context","openapi":"openapi/en/cell.json POST /v1/context","href":"/en/api/context"},{"title":"Prepare the read of a turn","openapi":"openapi/en/cell.json POST /v1/context/prefetch","href":"/en/api/context-prefetch"},{"title":"Read context by profile","openapi":"openapi/en/cell.json GET /v1/context","href":"/en/api/context-by-profile"},{"title":"Mint a subject_token","openapi":"openapi/en/cell.json POST /v1/subject-tokens","href":"/en/api/subject-tokens"},{"title":"MCP server","openapi":"openapi/en/cell.json POST /mcp","href":"/en/api/mcp"}]},{"group":"History","pages":[{"title":"Search history","openapi":"openapi/en/cell.json POST /v1/history/search","href":"/en/api/history-search"},{"title":"Timeline","openapi":"openapi/en/cell.json POST /v1/history/timeline","href":"/en/api/history-timeline"},{"title":"Timeline by profile","openapi":"openapi/en/cell.json GET /v1/history/timeline","href":"/en/api/history-timeline-by-profile"},{"title":"Open an item","openapi":"openapi/en/cell.json POST /v1/history/open","href":"/en/api/history-open"},{"title":"Open an item by URL","openapi":"openapi/en/cell.json GET /v1/history/items/{item_id}","href":"/en/api/history-item"},{"title":"Tool definitions","openapi":"openapi/en/cell.json GET /v1/history/tools","href":"/en/api/history-tools"}]},{"group":"Agent memory","pages":[{"title":"Agent memory block","openapi":"openapi/en/cell.json GET /v1/agent-memory/block","href":"/en/api/agent-memory-block"},{"title":"Search the agent's notes","openapi":"openapi/en/cell.json POST /v1/agent-memory/search","href":"/en/api/agent-memory-search"},{"title":"Agent memory tools","openapi":"openapi/en/cell.json GET /v1/agent-memory/tools","href":"/en/api/agent-memory-tools"},{"title":"Save a note","openapi":"openapi/en/cell.json POST /v1/agent-memory/notes","href":"/en/api/agent-memory-notes-create"},{"title":"List notes","openapi":"openapi/en/cell.json GET /v1/agent-memory/notes","href":"/en/api/agent-memory-notes"},{"title":"Read a note","openapi":"openapi/en/cell.json GET /v1/agent-memory/notes/{note_id}","href":"/en/api/agent-memory-note"},{"title":"Edit a note","openapi":"openapi/en/cell.json PATCH /v1/agent-memory/notes/{note_id}","href":"/en/api/agent-memory-note-update"},{"title":"Retire a note","openapi":"openapi/en/cell.json POST /v1/agent-memory/notes/{note_id}/retire","href":"/en/api/agent-memory-note-retire"},{"title":"Versions of a note","openapi":"openapi/en/cell.json GET /v1/agent-memory/notes/{note_id}/versions","href":"/en/api/agent-memory-note-versions"},{"title":"Erase an agent's notes","openapi":"openapi/en/cell.json DELETE /v1/agent-memory/notes","href":"/en/api/agent-memory-notes-erase"},{"title":"Export an agent's notes","openapi":"openapi/en/cell.json GET /v1/agent-memory/export","href":"/en/api/agent-memory-export"},{"title":"Distill a note","openapi":"openapi/en/cell.json POST /v1/agent-memory/distill","href":"/en/api/agent-memory-distill"},{"title":"List proposals","openapi":"openapi/en/cell.json GET /v1/agent-memory/proposals","href":"/en/api/agent-memory-proposals"},{"title":"Approve a proposal","openapi":"openapi/en/cell.json POST /v1/agent-memory/proposals/{proposal_id}/approve","href":"/en/api/agent-memory-proposal-approve"},{"title":"Reject a proposal","openapi":"openapi/en/cell.json POST /v1/agent-memory/proposals/{proposal_id}/reject","href":"/en/api/agent-memory-proposal-reject"}]},{"group":"Objects","pages":[{"title":"Read an object","openapi":"openapi/en/cell.json GET /v1/objects/{object_type}/{namespace}/{external_id}","href":"/en/api/object"},{"title":"Object timeline","openapi":"openapi/en/cell.json GET /v1/objects/{object_type}/{namespace}/{external_id}/timeline","href":"/en/api/object-timeline"}]},{"group":"Identity and profiles","pages":[{"title":"List assertions","openapi":"openapi/en/cell.json GET /v1/identity/assertions","href":"/en/api/identity-assertions"},{"title":"Create an assertion","openapi":"openapi/en/cell.json POST /v1/identity/assertions","href":"/en/api/identity-assertions-create"},{"title":"Retract an assertion","openapi":"openapi/en/cell.json POST /v1/identity/assertions/{assertion_id}/retract","href":"/en/api/identity-assertion-retract"},{"title":"Merge profiles","openapi":"openapi/en/cell.json POST /v1/identity/merge","href":"/en/api/identity-merge"},{"title":"Unmerge profiles","openapi":"openapi/en/cell.json POST /v1/identity/unmerge","href":"/en/api/identity-unmerge"},{"title":"Block a handle","openapi":"openapi/en/cell.json POST /v1/identity/handles/block","href":"/en/api/identity-handles-block"},{"title":"Create a link","openapi":"openapi/en/cell.json POST /v1/identity/links","href":"/en/api/identity-links"},{"title":"End a link","openapi":"openapi/en/cell.json POST /v1/identity/links/{link_id}/end","href":"/en/api/identity-link-end"},{"title":"List identity suggestions","openapi":"openapi/en/cell.json GET /v1/identity/suggestions","href":"/en/api/identity-suggestions"},{"title":"Accept a suggestion","openapi":"openapi/en/cell.json POST /v1/identity/suggestions/{suggestion_id}/accept","href":"/en/api/identity-suggestion-accept"},{"title":"Dismiss a suggestion","openapi":"openapi/en/cell.json POST /v1/identity/suggestions/{suggestion_id}/dismiss","href":"/en/api/identity-suggestion-dismiss"},{"title":"List profiles","openapi":"openapi/en/cell.json GET /v1/profiles","href":"/en/api/profiles"},{"title":"Search profiles","openapi":"openapi/en/cell.json POST /v1/profiles/search","href":"/en/api/profiles-search"},{"title":"Read a profile","openapi":"openapi/en/cell.json GET /v1/profiles/{profile_id}","href":"/en/api/profile"},{"title":"Profile memory","openapi":"openapi/en/cell.json GET /v1/profiles/{profile_id}/memory","href":"/en/api/profile-memory"},{"title":"Fact history","openapi":"openapi/en/cell.json GET /v1/profiles/{profile_id}/facts/{fact_id}/history","href":"/en/api/profile-fact-history"},{"title":"Profile objects","openapi":"openapi/en/cell.json GET /v1/profiles/{profile_id}/objects","href":"/en/api/profile-objects"},{"title":"Relationship graph","openapi":"openapi/en/cell.json GET /v1/graph","href":"/en/api/graph"}]},{"group":"Privacy and audit","pages":[{"title":"Forget","openapi":"openapi/en/cell.json POST /v1/forget","href":"/en/api/forget"},{"title":"List erasures","openapi":"openapi/en/cell.json GET /v1/forget","href":"/en/api/forget-list"},{"title":"Erasure status","openapi":"openapi/en/cell.json GET /v1/forget/{request_id}","href":"/en/api/forget-status"},{"title":"Correct a data subject's memory","openapi":"openapi/en/cell.json POST /v1/corrections","href":"/en/api/corrections"},{"title":"Restore a fact","openapi":"openapi/en/cell.json POST /v1/facts/{fact_id}/restore","href":"/en/api/facts-restore"},{"title":"Correct many data subjects","openapi":"openapi/en/cell.json POST /v1/corrections/batch","href":"/en/api/corrections-batch"},{"title":"Export","openapi":"openapi/en/cell.json POST /v1/export","href":"/en/api/export"},{"title":"Download an export","openapi":"openapi/en/cell.json GET /v1/exports/{run_id}/download","href":"/en/api/export-download"},{"title":"Export runs","openapi":"openapi/en/cell.json GET /v1/exports/runs","href":"/en/api/export-runs"},{"title":"Export destination credential","openapi":"openapi/en/cell.json PUT /v1/exports/destinations/{schedule_id}/credential","href":"/en/api/export-destination-credential"},{"title":"Search receipts","openapi":"openapi/en/cell.json POST /v1/receipts/search","href":"/en/api/receipts-search"},{"title":"List receipts","openapi":"openapi/en/cell.json GET /v1/receipts","href":"/en/api/receipts"},{"title":"Verify the chain","openapi":"openapi/en/cell.json GET /v1/receipts/verify","href":"/en/api/receipts-verify"},{"title":"Receipt lineage","openapi":"openapi/en/cell.json GET /v1/lineage/receipt/{receipt_id}","href":"/en/api/lineage-receipt"},{"title":"Who saw a fact","openapi":"openapi/en/cell.json GET /v1/lineage/fact/{fact_id}","href":"/en/api/lineage-fact"},{"title":"Simulate policy","openapi":"openapi/en/cell.json POST /v1/policy/simulate","href":"/en/api/policy-simulate"},{"title":"Write a secret","openapi":"openapi/en/cell.json PUT /v1/secrets/{kind}/{secret_id}","href":"/en/api/secrets"},{"title":"Stuck work","openapi":"openapi/en/cell.json GET /v1/operations/dead-tasks","href":"/en/api/dead-tasks"},{"title":"Replay stuck work","openapi":"openapi/en/cell.json POST /v1/operations/dead-tasks/replay","href":"/en/api/dead-tasks-replay"}]},{"group":"Sources","pages":[{"title":"Events arrived","openapi":"openapi/en/cell.json GET /v1/sources/arrived","href":"/en/api/sources-arrived"},{"title":"Source coverage","openapi":"openapi/en/cell.json GET /v1/sources/coverage","href":"/en/api/sources-coverage"},{"title":"Who am I","openapi":"openapi/en/cell.json GET /v1/sources/me","href":"/en/api/sources-me"},{"title":"Cut a source in the cell","openapi":"openapi/en/cell.json POST /v1/sources/{source_id}/revoke","href":"/en/api/source-revoke"}]},{"group":"Patterns, measurement and usage","pages":[{"title":"Retract a pattern","openapi":"openapi/en/cell.json POST /v1/traits/{trait_id}/retract","href":"/en/api/trait-retract"},{"title":"Dry-run a pattern rule","openapi":"openapi/en/cell.json POST /v1/traits/rules/dry-run","href":"/en/api/traits-dry-run"},{"title":"Opt a subject out of patterns","openapi":"openapi/en/cell.json POST /v1/profiles/{profile_id}/traits/opt-out","href":"/en/api/traits-opt-out"},{"title":"Context use","openapi":"openapi/en/cell.json GET /v1/context-use","href":"/en/api/context-use"},{"title":"Measured conversations","openapi":"openapi/en/cell.json GET /v1/context-use/conversations","href":"/en/api/context-use-conversations"},{"title":"Context use of a conversation","openapi":"openapi/en/cell.json POST /v1/context-use/conversation","href":"/en/api/context-use-one-conversation"},{"title":"Context use of a conversation by URL","openapi":"openapi/en/cell.json GET /v1/context-use/{conversation_id}","href":"/en/api/context-use-conversation"},{"title":"Space usage","openapi":"openapi/en/cell.json GET /v1/usage","href":"/en/api/usage"},{"title":"AI spend ceiling","openapi":"openapi/en/cell.json GET /v1/usage/budget","href":"/en/api/usage-budget"},{"title":"Context read time","openapi":"openapi/en/cell.json GET /v1/usage/context-latency","href":"/en/api/usage-context-latency"},{"title":"Agents' prompt cache","openapi":"openapi/en/cell.json GET /v1/usage/prompt-cache","href":"/en/api/usage-prompt-cache"}]},{"group":"Review and assistant","pages":[{"title":"Review queue","openapi":"openapi/en/cell.json GET /v1/review/queue","href":"/en/api/review-queue"},{"title":"Record verdicts","openapi":"openapi/en/cell.json POST /v1/review/{sample_id}/verdicts","href":"/en/api/review-verdicts"},{"title":"Review agreement","openapi":"openapi/en/cell.json GET /v1/review/agreement","href":"/en/api/review-agreement"},{"title":"Review test cases","openapi":"openapi/en/cell.json GET /v1/review/cases","href":"/en/api/review-cases"},{"title":"Ask the assistant","openapi":"openapi/en/cell.json POST /v1/assist","href":"/en/api/assist"},{"title":"List assistant runs","openapi":"openapi/en/cell.json GET /v1/assist","href":"/en/api/assist-runs"},{"title":"Read an assistant run","openapi":"openapi/en/cell.json GET /v1/assist/{run_id}","href":"/en/api/assist-run"}]},{"group":"Triggers and webhooks","pages":[{"title":"Dry-run a trigger rule","openapi":"openapi/en/cell.json POST /v1/triggers/dry-run","href":"/en/api/triggers-dry-run"},{"title":"Trigger firings","openapi":"openapi/en/cell.json GET /v1/triggers/firings","href":"/en/api/trigger-firings"},{"title":"Webhook deliveries","openapi":"openapi/en/cell.json GET /v1/webhooks/deliveries","href":"/en/api/webhook-deliveries"},{"title":"Redeliver","openapi":"openapi/en/cell.json POST /v1/webhooks/deliveries/{delivery_id}/redeliver","href":"/en/api/webhook-redeliver"},{"title":"Send a test delivery","openapi":"openapi/en/cell.json POST /v1/webhooks/endpoints/{endpoint_id}/test","href":"/en/api/webhook-endpoint-test"}]},{"group":"Base-wide analysis","pages":[{"title":"Queryable schema","openapi":"openapi/en/cell.json GET /v1/insights/schema","href":"/en/api/insights-schema"},{"title":"Base overview","openapi":"openapi/en/cell.json GET /v1/insights/overview","href":"/en/api/insights-overview"},{"title":"Aggregate","openapi":"openapi/en/cell.json POST /v1/insights/aggregate","href":"/en/api/insights-aggregate"},{"title":"Find profiles","openapi":"openapi/en/cell.json POST /v1/insights/profiles","href":"/en/api/insights-profiles"},{"title":"Search across profiles","openapi":"openapi/en/cell.json POST /v1/insights/search","href":"/en/api/insights-search"},{"title":"Sample episodes","openapi":"openapi/en/cell.json POST /v1/insights/episodes/sample","href":"/en/api/insights-episodes-sample"},{"title":"Context of a pseudonym","openapi":"openapi/en/cell.json POST /v1/insights/context","href":"/en/api/insights-context"},{"title":"Explain lineage","openapi":"openapi/en/cell.json POST /v1/insights/lineage","href":"/en/api/insights-lineage"},{"title":"Knowledge gaps","openapi":"openapi/en/cell.json GET /v1/insights/gaps","href":"/en/api/insights-gaps"},{"title":"Decide on a gap","openapi":"openapi/en/cell.json POST /v1/insights/gaps/review","href":"/en/api/insights-gaps-review"},{"title":"Request a reveal","openapi":"openapi/en/cell.json POST /v1/insights/reveal","href":"/en/api/insights-reveal"},{"title":"Analysis MCP","openapi":"openapi/en/cell.json POST /mcp/insights","href":"/en/api/mcp-insights"}]},{"group":"Turn records and replay","pages":[{"title":"Record turns","openapi":"openapi/en/cell.json POST /v1/turns","href":"/en/api/turns"},{"title":"Promote turns","openapi":"openapi/en/cell.json POST /v1/turns/promote","href":"/en/api/turns-promote"},{"title":"Read a turn","openapi":"openapi/en/cell.json GET /v1/turns/{turn_id}","href":"/en/api/turn"},{"title":"Search turns","openapi":"openapi/en/cell.json POST /v1/turns/search","href":"/en/api/turns-search"},{"title":"Index of a day","openapi":"openapi/en/cell.json GET /v1/turns/index/{day}","href":"/en/api/turns-index"},{"title":"Ask for a replay case","openapi":"openapi/en/cell.json POST /v1/replay/cases","href":"/en/api/replay-cases"},{"title":"Create a scenario","openapi":"openapi/en/cell.json POST /v1/scenarios","href":"/en/api/scenarios-create"},{"title":"Scenario from a report","openapi":"openapi/en/cell.json POST /v1/scenarios/from-report","href":"/en/api/scenarios-from-report"},{"title":"List scenarios","openapi":"openapi/en/cell.json GET /v1/scenarios","href":"/en/api/scenarios"},{"title":"Read a scenario","openapi":"openapi/en/cell.json GET /v1/scenarios/{scenario_id}","href":"/en/api/scenario"},{"title":"Update a scenario","openapi":"openapi/en/cell.json PATCH /v1/scenarios/{scenario_id}","href":"/en/api/scenario-update"},{"title":"Report a run","openapi":"openapi/en/cell.json POST /v1/scenario-runs","href":"/en/api/scenario-runs-create"},{"title":"Read a run","openapi":"openapi/en/cell.json GET /v1/scenario-runs/{run_id}","href":"/en/api/scenario-run"},{"title":"Change log","openapi":"openapi/en/cell.json GET /v1/changes","href":"/en/api/changes"},{"title":"Data issues","openapi":"openapi/en/cell.json GET /v1/data-issues","href":"/en/api/data-issues"},{"title":"Acknowledge a data issue","openapi":"openapi/en/cell.json POST /v1/data-issues/{issue_id}/ack","href":"/en/api/data-issue-ack"},{"title":"Kept batches","openapi":"openapi/en/cell.json GET /v1/intake/failed","href":"/en/api/intake-failed"},{"title":"Retry kept batches","openapi":"openapi/en/cell.json POST /v1/intake/failed/retry","href":"/en/api/intake-failed-retry"},{"title":"Notifications feed","openapi":"openapi/en/cell.json GET /v1/notifications","href":"/en/api/notifications"}]},{"group":"Typed state","pages":[{"title":"SDK profile","openapi":"openapi/en/cell.json GET /v1/sdk/profile","href":"/en/api/sdk-profile"},{"title":"Push state","openapi":"openapi/en/cell.json POST /v1/objects/push","href":"/en/api/objects-push"},{"title":"Reconcile from a snapshot","openapi":"openapi/en/cell.json POST /v1/objects/snapshot","href":"/en/api/objects-snapshot"},{"title":"Object coverage","openapi":"openapi/en/cell.json GET /v1/objects/coverage","href":"/en/api/objects-coverage"},{"title":"Report a type fingerprint","openapi":"openapi/en/cell.json POST /v1/types/fingerprint","href":"/en/api/types-fingerprint"},{"title":"A customer's now view","openapi":"openapi/en/cell.json POST /v1/state/view","href":"/en/api/state-view"},{"title":"Read typed objects","openapi":"openapi/en/cell.json POST /v1/state/read","href":"/en/api/state-read"},{"title":"Verify a claim","openapi":"openapi/en/cell.json POST /v1/state/verify","href":"/en/api/state-verify"},{"title":"Refresh requests","openapi":"openapi/en/cell.json GET /v1/state/refresh-requests","href":"/en/api/state-refresh-requests"},{"title":"Release a refresh request","openapi":"openapi/en/cell.json POST /v1/state/refresh-requests/{request_id}/release","href":"/en/api/state-refresh-request-release"},{"title":"Release content","openapi":"openapi/en/cell.json POST /v1/content/{ref}/release","href":"/en/api/content-release"}]},{"group":"Working memory","pages":[{"title":"Write working memory","openapi":"openapi/en/cell.json PUT /v1/agent-state","href":"/en/api/agent-state-write"},{"title":"Read working memory","openapi":"openapi/en/cell.json POST /v1/agent-state/read","href":"/en/api/agent-state-read"},{"title":"A customer's working memory","openapi":"openapi/en/cell.json GET /v1/profiles/{profile_id}/agent-state","href":"/en/api/profile-agent-state"}]},{"group":"Signals and constraints","pages":[{"title":"Constraints block","openapi":"openapi/en/cell.json POST /v1/constraints","href":"/en/api/constraints"},{"title":"Inferences about a customer","openapi":"openapi/en/cell.json GET /v1/profiles/{profile_id}/inferences","href":"/en/api/profile-inferences"},{"title":"Correct an inference","openapi":"openapi/en/cell.json POST /v1/profiles/{profile_id}/inferences/{key}/correct","href":"/en/api/profile-inference-correct"},{"title":"Delete an inference","openapi":"openapi/en/cell.json DELETE /v1/profiles/{profile_id}/inferences/{key}","href":"/en/api/profile-inference-delete"},{"title":"Request a decision review","openapi":"openapi/en/cell.json POST /v1/profiles/{profile_id}/review-requests","href":"/en/api/review-requests-create"},{"title":"List review requests","openapi":"openapi/en/cell.json GET /v1/review-requests","href":"/en/api/review-requests"},{"title":"Resolve a review request","openapi":"openapi/en/cell.json POST /v1/review-requests/{request_id}/resolve","href":"/en/api/review-request-resolve"},{"title":"Create a legal hold","openapi":"openapi/en/cell.json POST /v1/legal-holds","href":"/en/api/legal-holds-create"},{"title":"Release a legal hold","openapi":"openapi/en/cell.json POST /v1/legal-holds/{hold_id}/release","href":"/en/api/legal-hold-release"}]},{"group":"Coordination","pages":[{"title":"Ask before acting","openapi":"openapi/en/cell.json POST /v1/coordination/check","href":"/en/api/coordination-check"},{"title":"Ask in batch","openapi":"openapi/en/cell.json POST /v1/coordination/check/batch","href":"/en/api/coordination-check-batch"},{"title":"Declare what happened","openapi":"openapi/en/cell.json POST /v1/coordination/declare","href":"/en/api/coordination-declare"},{"title":"Claim a customer or a task","openapi":"openapi/en/cell.json POST /v1/coordination/claims","href":"/en/api/coordination-claims"},{"title":"Release a claim","openapi":"openapi/en/cell.json POST /v1/coordination/claims/{claim_id}/release","href":"/en/api/coordination-claim-release"},{"title":"Reserve an effect","openapi":"openapi/en/cell.json POST /v1/coordination/effects","href":"/en/api/coordination-effects"},{"title":"Settle an attempt","openapi":"openapi/en/cell.json POST /v1/coordination/effects/{effect_id}/settle","href":"/en/api/coordination-effect-settle"},{"title":"Create a handoff","openapi":"openapi/en/cell.json POST /v1/handoffs","href":"/en/api/handoffs-create"},{"title":"Read a handoff","openapi":"openapi/en/cell.json GET /v1/handoffs/{handoff_id}","href":"/en/api/handoff"},{"title":"Accept a handoff","openapi":"openapi/en/cell.json POST /v1/handoffs/{handoff_id}/accept","href":"/en/api/handoff-accept"},{"title":"Record a handoff outcome","openapi":"openapi/en/cell.json POST /v1/handoffs/{handoff_id}/outcome","href":"/en/api/handoff-outcome"},{"title":"Suppression list","openapi":"openapi/en/cell.json GET /v1/suppressions","href":"/en/api/suppressions"},{"title":"Suppression list salt","openapi":"openapi/en/cell.json GET /v1/suppressions/salt","href":"/en/api/suppressions-salt"},{"title":"Contact token public keys","openapi":"openapi/en/cell.json GET /.well-known/niadra-contact-keys.json","href":"/en/api/contact-keys"},{"title":"Shadow reports","openapi":"openapi/en/cell.json GET /v1/coordination/reports","href":"/en/api/coordination-reports"},{"title":"Coordination overview","openapi":"openapi/en/cell.json GET /v1/coordination/overview","href":"/en/api/coordination-overview"},{"title":"Ask for a shadow report","openapi":"openapi/en/cell.json POST /v1/coordination/shadow","href":"/en/api/coordination-shadow"}]},{"group":"Outcomes and experiments","pages":[{"title":"Attributed outcomes","openapi":"openapi/en/cell.json GET /v1/measure/outcomes","href":"/en/api/measure-outcomes"},{"title":"Attribution","openapi":"openapi/en/cell.json GET /v1/measure/attribution","href":"/en/api/measure-attribution"},{"title":"Reserve the BI file upload","openapi":"openapi/en/cell.json POST /v1/measure/reconcile/uploads","href":"/en/api/measure-reconcile-uploads"},{"title":"Reconcile with the BI","openapi":"openapi/en/cell.json POST /v1/measure/reconcile","href":"/en/api/measure-reconcile"},{"title":"Interleaving","openapi":"openapi/en/cell.json GET /v1/measure/interleaving","href":"/en/api/measure-interleaving"},{"title":"Experiments","openapi":"openapi/en/cell.json GET /v1/measure/experiments","href":"/en/api/measure-experiments"},{"title":"Compute power","openapi":"openapi/en/cell.json POST /v1/measure/power","href":"/en/api/measure-power"},{"title":"Report a counterfactual","openapi":"openapi/en/cell.json POST /v1/measure/counterfactual-runs","href":"/en/api/measure-counterfactual-runs-create"},{"title":"List counterfactuals","openapi":"openapi/en/cell.json GET /v1/measure/counterfactual-runs","href":"/en/api/measure-counterfactual-runs"},{"title":"Read a counterfactual","openapi":"openapi/en/cell.json GET /v1/measure/counterfactual-runs/{run_id}","href":"/en/api/measure-counterfactual-run"},{"title":"Unmet demand","openapi":"openapi/en/cell.json GET /v1/measure/unmet-demand","href":"/en/api/measure-unmet-demand"}]},{"group":"Control: access","pages":[{"title":"Sign in","openapi":"openapi/en/control.json POST /v1/auth/login","href":"/en/api/control/login"},{"title":"Set up the authenticator","openapi":"openapi/en/control.json POST /v1/auth/second-factor","href":"/en/api/control/second-factor"},{"title":"Reissue a token","openapi":"openapi/en/control.json POST /v1/auth/token","href":"/en/api/control/token"},{"title":"Public keys (JWKS)","openapi":"openapi/en/control.json GET /.well-known/jwks.json","href":"/en/api/control/jwks"},{"title":"Who am I","openapi":"openapi/en/control.json GET /v1/users/me","href":"/en/api/control/me"},{"title":"Console preferences","openapi":"openapi/en/control.json GET /v1/users/me/preferences","href":"/en/api/control/me-preferences"},{"title":"Write a preference","openapi":"openapi/en/control.json PUT /v1/users/me/preferences/{key}","href":"/en/api/control/me-preference-set"},{"title":"Second factor status","openapi":"openapi/en/control.json GET /v1/users/me/second-factor","href":"/en/api/control/me-second-factor"},{"title":"Generate recovery codes","openapi":"openapi/en/control.json POST /v1/users/me/recovery-codes","href":"/en/api/control/recovery-codes"},{"title":"Change the authenticator app","openapi":"openapi/en/control.json POST /v1/users/me/second-factor","href":"/en/api/control/second-factor-change"},{"title":"Confirm the new app","openapi":"openapi/en/control.json POST /v1/users/me/second-factor/confirm","href":"/en/api/control/second-factor-confirm"},{"title":"Open an invitation","openapi":"openapi/en/control.json POST /v1/auth/invitation/preview","href":"/en/api/control/invitation-preview"},{"title":"Accept an invitation","openapi":"openapi/en/control.json POST /v1/auth/invitation","href":"/en/api/control/invitation-accept"}]},{"group":"Control: single sign-on","pages":[{"title":"Discover the SSO of an e-mail","openapi":"openapi/en/control.json POST /v1/auth/sso/discover","href":"/en/api/control/sso-discover"},{"title":"Start the SSO sign-in","openapi":"openapi/en/control.json POST /v1/auth/sso/start","href":"/en/api/control/sso-start"},{"title":"OIDC callback","openapi":"openapi/en/control.json GET /v1/auth/sso/oidc/callback","href":"/en/api/control/sso-oidc-callback"},{"title":"SAML metadata","openapi":"openapi/en/control.json GET /v1/auth/sso/saml/{tenant_id}/metadata","href":"/en/api/control/sso-saml-metadata"},{"title":"Receive the SAML response","openapi":"openapi/en/control.json POST /v1/auth/sso/saml/{tenant_id}/acs","href":"/en/api/control/sso-saml-acs"},{"title":"Exchange the SSO code for a token","openapi":"openapi/en/control.json POST /v1/auth/sso/exchange","href":"/en/api/control/sso-exchange"},{"title":"Set up the authenticator after SSO","openapi":"openapi/en/control.json POST /v1/auth/sso/second-factor","href":"/en/api/control/sso-second-factor"},{"title":"Read the tenant SSO","openapi":"openapi/en/control.json GET /v1/sso","href":"/en/api/control/sso"},{"title":"Set up SSO","openapi":"openapi/en/control.json PUT /v1/sso","href":"/en/api/control/sso-save"},{"title":"Remove SSO","openapi":"openapi/en/control.json DELETE /v1/sso","href":"/en/api/control/sso-remove"},{"title":"Test the SSO sign-in","openapi":"openapi/en/control.json POST /v1/sso/test","href":"/en/api/control/sso-test"},{"title":"SSO test result","openapi":"openapi/en/control.json GET /v1/sso/tests/{test_id}","href":"/en/api/control/sso-test-result"}]},{"group":"Control: people and roles","pages":[{"title":"List people","openapi":"openapi/en/control.json GET /v1/users","href":"/en/api/control/users"},{"title":"Invite a person","openapi":"openapi/en/control.json POST /v1/users","href":"/en/api/control/users-create"},{"title":"Set roles","openapi":"openapi/en/control.json PUT /v1/users/{user_id}/roles","href":"/en/api/control/user-roles"},{"title":"Deactivate a person","openapi":"openapi/en/control.json POST /v1/users/{user_id}/deactivate","href":"/en/api/control/user-deactivate"},{"title":"Reactivate a person","openapi":"openapi/en/control.json POST /v1/users/{user_id}/reactivate","href":"/en/api/control/user-reactivate"},{"title":"New invitation","openapi":"openapi/en/control.json POST /v1/users/{user_id}/invitation","href":"/en/api/control/user-invitation"},{"title":"Access history","openapi":"openapi/en/control.json GET /v1/users/{user_id}/history","href":"/en/api/control/user-history"},{"title":"Reset a second factor","openapi":"openapi/en/control.json POST /v1/users/{user_id}/second-factor/reset","href":"/en/api/control/second-factor-reset"},{"title":"List roles","openapi":"openapi/en/control.json GET /v1/roles","href":"/en/api/control/roles"}]},{"group":"Control: tenant and projects","pages":[{"title":"Create a tenant","openapi":"openapi/en/control.json POST /v1/tenants","href":"/en/api/control/tenants-create"},{"title":"Read a tenant","openapi":"openapi/en/control.json GET /v1/tenants/{tenant_id}","href":"/en/api/control/tenant"},{"title":"List projects","openapi":"openapi/en/control.json GET /v1/projects","href":"/en/api/control/projects"},{"title":"Create a project","openapi":"openapi/en/control.json POST /v1/projects","href":"/en/api/control/projects-create"},{"title":"Read a space","openapi":"openapi/en/control.json GET /v1/spaces/{space_id}","href":"/en/api/control/space"},{"title":"Delete a space","openapi":"openapi/en/control.json DELETE /v1/spaces/{space_id}","href":"/en/api/control/space-delete"},{"title":"Deletion receipt","openapi":"openapi/en/control.json GET /v1/spaces/{space_id}/deletion-receipt","href":"/en/api/control/space-deletion-receipt"},{"title":"Customer key of a space","openapi":"openapi/en/control.json PUT /v1/spaces/{space_id}/kms-key","href":"/en/api/control/space-kms-key"}]},{"group":"Control: sources and keys","pages":[{"title":"List sources","openapi":"openapi/en/control.json GET /v1/sources","href":"/en/api/control/sources"},{"title":"Create a source","openapi":"openapi/en/control.json POST /v1/sources","href":"/en/api/control/sources-create"},{"title":"List keys","openapi":"openapi/en/control.json GET /v1/sources/{source_id}/keys","href":"/en/api/control/keys"},{"title":"Create a key","openapi":"openapi/en/control.json POST /v1/sources/{source_id}/keys","href":"/en/api/control/keys-create"},{"title":"Rotate a key","openapi":"openapi/en/control.json POST /v1/sources/{source_id}/keys/{key_id}/rotate","href":"/en/api/control/keys-rotate"},{"title":"Revoke a key","openapi":"openapi/en/control.json POST /v1/sources/{source_id}/keys/{key_id}/revoke","href":"/en/api/control/keys-revoke"},{"title":"Revoke a source","openapi":"openapi/en/control.json POST /v1/sources/{source_id}/revoke","href":"/en/api/control/source-revoke"},{"title":"List secret references","openapi":"openapi/en/control.json GET /v1/secret-refs","href":"/en/api/control/secret-refs"},{"title":"Create a secret reference","openapi":"openapi/en/control.json POST /v1/secret-refs","href":"/en/api/control/secret-refs-create"}]},{"group":"Control: configuration","pages":[{"title":"Configuration types","openapi":"openapi/en/control.json GET /v1/config/types","href":"/en/api/control/config-types"},{"title":"Read a configuration","openapi":"openapi/en/control.json GET /v1/config/{type}","href":"/en/api/control/config-document"},{"title":"List changes","openapi":"openapi/en/control.json GET /v1/config/diffs","href":"/en/api/control/config-diffs-list"},{"title":"Record what the cell inferred","openapi":"openapi/en/control.json POST /v1/config/observed","href":"/en/api/control/config-observed"},{"title":"Propose a configuration change","openapi":"openapi/en/control.json POST /v1/config/diffs","href":"/en/api/control/config-diffs"},{"title":"Approve a change","openapi":"openapi/en/control.json POST /v1/config/diffs/{diff_id}/approve","href":"/en/api/control/config-diff-approve"},{"title":"Reject a change","openapi":"openapi/en/control.json POST /v1/config/diffs/{diff_id}/reject","href":"/en/api/control/config-diff-reject"},{"title":"Roll back a change","openapi":"openapi/en/control.json POST /v1/config/diffs/{diff_id}/rollback","href":"/en/api/control/config-diff-rollback"},{"title":"Configuration history","openapi":"openapi/en/control.json GET /v1/config/history","href":"/en/api/control/config-history"},{"title":"Receive a cell proposal","openapi":"openapi/en/control.json POST /v1/config/proposals","href":"/en/api/control/config-proposals"}]},{"group":"Control: usage","pages":[{"title":"Usage","openapi":"openapi/en/control.json GET /v1/usage","href":"/en/api/control/usage"},{"title":"Monthly usage statement","openapi":"openapi/en/control.json GET /v1/usage/statement","href":"/en/api/control/usage-statement"}]},{"group":"Control: platform operations","pages":[{"title":"List cells","openapi":"openapi/en/control.json GET /v1/cells","href":"/en/api/control/cells"},{"title":"Register a cell","openapi":"openapi/en/control.json POST /v1/cells","href":"/en/api/control/cells-create"},{"title":"Space placement","openapi":"openapi/en/control.json GET /v1/spaces/{space_id}/placement","href":"/en/api/control/placement"},{"title":"Request a cell move","openapi":"openapi/en/control.json POST /v1/spaces/{space_id}/placement","href":"/en/api/control/placement-move"},{"title":"Complete a cell move","openapi":"openapi/en/control.json POST /v1/spaces/{space_id}/placement/complete","href":"/en/api/control/placement-complete"},{"title":"Set quotas","openapi":"openapi/en/control.json PUT /v1/quotas","href":"/en/api/control/quotas"},{"title":"Signed snapshot","openapi":"openapi/en/control.json GET /v1/snapshot/{cell_id}","href":"/en/api/control/snapshot"},{"title":"Revocation feed","openapi":"openapi/en/control.json GET /v1/revocations","href":"/en/api/control/revocations"},{"title":"Access changes feed","openapi":"openapi/en/control.json GET /v1/access-changes","href":"/en/api/control/access-changes"},{"title":"Push cell usage","openapi":"openapi/en/control.json POST /v1/usage","href":"/en/api/control/usage-push"},{"title":"Receive a deletion receipt","openapi":"openapi/en/control.json POST /v1/spaces/{space_id}/deletion-receipt","href":"/en/api/control/deletion-receipt-push"}]}]},{"tab":"FAQ","pages":[{"title":"FAQ","href":"/en/faq"}]}]}]},"basePath":"","title":"Send a batch - Niadra","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DdEMm2kG.js","utils-BMo572L7.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C-4m9KAx.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DPLK2Oq9.js","snippetPresets-BKjfJMC9.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-DTsgtCEj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C8vmhyQM.js","shallow-r9w8LQGS.js","getApiPlaygroundDisplay-DjPI64HQ.js","CodeSnippet-C8Bvhl16.js","CodeSnippets-BtWUwcMy.js","Page-BIYvYBgk.js","getPastedJson-Dcm_3Pgl.js","icon-BXwrTpjc.js","MethodPill-CcjfVmmy.js","DuplicateIcon-BuKIbXAQ.js","createIcon-DaL9yXsO.js","DynamicMarkdown-Co5nikxh.js","SectionHeading-P4UNTsMZ.js","axios-vUo_bRtp.js","Markdown-CEfymfIH.js","clsx-Dq9TQuNi.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-D2J8knkn.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BgZ2ThuU.js"]}