Fire ONE api_call step for ONE real person of the team, for real, and return both halves: result.request = the wire request as it went out (method, URL with the variables rendered and the query appended, headers, body; before the connection's auth was injected) and result.status / http_status / response / error_code / error_message = what the target answered. The step is the draft node verbatim (ids optional, nothing saved); {{ai.<key>}} has no record to read and renders empty (or its fallback). A refusing target is status failed in a 200, never an error envelope; the error envelope is reserved for an incomplete node (422, keyed step.<field>) or an unknown person (404). Throttled 10/min. Use it before publish to see exactly what a journey would send.
Contract:
- MCP tool `test_api_call_workflow`, registry package `mcp.playtables/workflows`, mount `playtables.workflows`.
- Operation `action`, response envelope `action`.
- Flags: none.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"GetSales","description":"REST API and MCP server of GetSales: tables of people and companies, enrichment columns, data sources, multichannel workflows, the team inbox with the AI SDR, website signals, billing and webhooks.","colors":{"primary":"#4B64FF","light":"#8E92FF","dark":"#4B64FF"},"logo":{"light":"https://mintcdn.com/getsales/um-g-UJLB97yTl7a/logo/light.svg?fit=max\u0026auto=format\u0026n=um-g-UJLB97yTl7a\u0026q=85\u0026s=428985b239f36914fa7e1e44f6211540","dark":"https://mintcdn.com/getsales/um-g-UJLB97yTl7a/logo/dark.svg?fit=max\u0026auto=format\u0026n=um-g-UJLB97yTl7a\u0026q=85\u0026s=5d6ddba134f76dc1a6fc235f12fd2477","href":"https://getsales.io"},"favicon":"https://mintcdn.com/getsales/um-g-UJLB97yTl7a/favicon.svg?fit=max\u0026auto=format\u0026n=um-g-UJLB97yTl7a\u0026q=85\u0026s=6750a85bc743ceebf9a7429797a7d21b","navbar":{"links":[{"href":"https://getsales.io/pricing/","label":"Pricing"},{"href":"https://help.getsales.io/","label":"Help centre"}],"primary":{"type":"button","label":"Start free","href":"https://beta.getsales.io/signup"}},"footer":{"socials":{"github":"https://github.com/getsales-io","website":"https://getsales.io"},"links":[{"header":"Product","items":[{"label":"Home","href":"https://getsales.io"},{"label":"Pricing","href":"https://getsales.io/pricing"},{"label":"Sign in","href":"https://beta.getsales.io/login"}]},{"header":"Resources","items":[{"label":"Blog","href":"https://getsales.io/blog"},{"label":"Help centre","href":"https://help.getsales.io/"}]}]},"seo":{"metatags":{"canonical":"https://docs.getsales.io"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"getsales","hasAudioNarration":false,"actualSubdomain":"getsales","customDomains":["docs.getsales.io"],"gitSource":{"type":"github","owner":"getsales-io","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":"","_id":"6ae6c0b853ca202614c15e7c"},"chroma":{"latestBuiltDeploymentHistoryId":"6ae6c9000339475b5aab52ec","collectionId":"850288c1-9e96-4253-bd95-144e66a0e4fa","liveDeploymentHistoryId":"6ae6c9000339475b5aab52ec","schemaVersion":"v3"},"entitlements":{},"buildId":"6ae6cd2bc01b8679a4aef318","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API Reference","count":412},{"language":"default","tag":"Playtables API","count":142},{"language":"default","tag":"Unibox API","count":125},{"language":"default","tag":"ID and Teams API","count":88},{"language":"default","tag":"sender_profiles","count":33},{"language":"default","tag":"Signals API","count":30},{"language":"default","tag":"Integrations API","count":26},{"language":"default","tag":"agents","count":14},{"language":"default","tag":"data_sources","count":13},{"language":"default","tag":"playtable_fields","count":13}]},"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":"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":"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":"llms-txt-v2","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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/playtables/workflows/test-an-api-call-step","slug":"/api-reference/playtables/workflows/test-an-api-call-step","pageMetadata":{"title":"Test an API call step","description":"Fire ONE api_call step for ONE real person of the team, for real, and return both halves: result.request = the wire request as it went out (method, URL with the variables rendered and the query appended, headers, body; before the connection's auth was injected) and result.status / http_status / response / error_code / error_message = what the target answered. The step is the draft node verbatim (ids optional, nothing saved); {{ai.\u003ckey>}} has no record to read and renders empty (or its fallback). A refusing target is status failed in a 200, never an error envelope; the error envelope is reserved for an incomplete node (422, keyed step.\u003cfield>) or an unknown person (404). Throttled 10/min. Use it before publish to see exactly what a journey would send.\n\nContract:\n- MCP tool `test_api_call_workflow`, registry package `mcp.playtables/workflows`, mount `playtables.workflows`.\n- Operation `action`, response envelope `action`.\n- Flags: none.","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflows/test-api-call","href":"/api-reference/playtables/workflows/test-an-api-call-step","autogeneratedByOpenApi":true},"description":"Fire ONE api_call step for ONE real person of the team, for real, and return both halves: result.request = the wire request as it went out (method, URL with the variables rendered and the query appended, headers, body; before the connection's auth was injected) and result.status / http_status / response / error_code / error_message = what the target answered. The step is the draft node verbatim (ids optional, nothing saved); {{ai.\u003ckey>}} has no record to read and renders empty (or its fallback). A refusing target is status failed in a 200, never an error envelope; the error envelope is reserved for an incomplete node (422, keyed step.\u003cfield>) or an unknown person (404). Throttled 10/min. Use it before publish to see exactly what a journey would send.\n\nContract:\n- MCP tool `test_api_call_workflow`, registry package `mcp.playtables/workflows`, mount `playtables.workflows`.\n- Operation `action`, response envelope `action`.\n- Flags: none.","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":"Test an API call step","description":"Fire ONE api_call step for ONE real person of the team, for real, and return both halves: result.request = the wire request as it went out (method, URL with the variables rendered and the query appended, headers, body; before the connection's auth was injected) and result.status / http_status / response / error_code / error_message = what the target answered. The step is the draft node verbatim (ids optional, nothing saved); {{ai.\u003ckey>}} has no record to read and renders empty (or its fallback). A refusing target is status failed in a 200, never an error envelope; the error envelope is reserved for an incomplete node (422, keyed step.\u003cfield>) or an unknown person (404). Throttled 10/min. Use it before publish to see exactly what a journey would send.\n\nContract:\n- MCP tool `test_api_call_workflow`, registry package `mcp.playtables/workflows`, mount `playtables.workflows`.\n- Operation `action`, response envelope `action`.\n- Flags: none.","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflows/test-api-call","href":"/api-reference/playtables/workflows/test-an-api-call-step","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"test_api_call_workflow","summary":"Test an API call step","description":"Fire ONE api_call step for ONE real person of the team, for real, and return both halves: result.request = the wire request as it went out (method, URL with the variables rendered and the query appended, headers, body; before the connection's auth was injected) and result.status / http_status / response / error_code / error_message = what the target answered. The step is the draft node verbatim (ids optional, nothing saved); {{ai.\u003ckey>}} has no record to read and renders empty (or its fallback). A refusing target is status failed in a 200, never an error envelope; the error envelope is reserved for an incomplete node (422, keyed step.\u003cfield>) or an unknown person (404). Throttled 10/min. Use it before publish to see exactly what a journey would send.\n\nContract:\n- MCP tool `test_api_call_workflow`, registry package `mcp.playtables/workflows`, mount `playtables.workflows`.\n- Operation `action`, response envelope `action`.\n- Flags: none.","tags":["workflows"],"requestBody":"8ad031c7-fdcd-4169-b5f6-38b288e29382","responses":{"200":"953d0ca7-9d3a-4de7-8505-9c766eb8e3f9","4XX":"d1d6ea51-5ab8-4b26-85b3-586bc8703b35","5XX":"1c801fa7-2752-4d26-bbf0-ca37b303c701"},"x-gs-mcp-tool":"test_api_call_workflow","x-gs-mcp-mount":"playtables.workflows","x-gs-entity":"workflows","x-gs-operation":"action","x-gs-envelope":"action","x-gs-availability":"ga","x-gs-dangerous":false,"x-gs-mass-action":false,"x-gs-step-eligible":false,"x-gs-schedule-required":false,"x-gs-tool-class":"complex","method":"post","type":"path","servers":["71624634-b298-4b81-ba22-a05986db64c0"],"security":["d3ab5cdd-2aa1-426f-93da-16562fad923f"],"path":"/api/workflows/test-api-call","baseUrlOptions":["https://beta.getsales.io/playtables/v1"],"title":"Test an API call step","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Request body of `test_api_call_workflow`.","properties":{"step":{"oneOf":[{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["linkedin_send_connection_request"],"isRequired":true,"uniqueKey":"step.oneOf.0.type","typeLabel":"enum\u003cstring>"},"id":{"type":"integer","minimum":1,"description":"Server-assigned (workflows.step_id_seq). OMIT on new steps, CARRY verbatim on kept steps; always present on read.","uniqueKey":"step.oneOf.0.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.0.name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.0.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.0.name","typeLabel":"string | null"},"message":{"oneOf":[{"type":"string","description":"Invite note - max 300 RENDERED chars (server-checked); null/omitted = blank invite. Template namespaces: {{people.*}} {{company.*}} {{record.\u003cslug>}} {{ai.\u003ckey>}}; per-variable fallback {{record.slug|text}}.","uniqueKey":"step.oneOf.0.message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Invite note - max 300 RENDERED chars (server-checked); null/omitted = blank invite. Template namespaces: {{people.*}} {{company.*}} {{record.\u003cslug>}} {{ai.\u003ckey>}}; per-variable fallback {{record.slug|text}}.","uniqueKey":"step.oneOf.0.message.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.0.message","typeLabel":"string | null"},"required_fields":{"oneOf":[{"type":"object","properties":{"refs":{"type":"array","items":{"type":"string","maxLength":160,"pattern":"^(people|company|record|ai|api)\\.[a-z][a-z0-9_]*(\\.[a-z0-9_]+)*$","uniqueKey":"step.oneOf.0.required_fields.oneOf.0.refs.items.[INDEX]","typeLabel":"string"},"maxItems":20,"description":"0..20 bare template refs required on top of the text's own variables (people.first_name, company.name, record.\u003cslug>, company.record.\u003cslug>, ai.\u003ckey>).","isRequired":true,"uniqueKey":"step.oneOf.0.required_fields.oneOf.0.refs","typeLabel":"string[]"},"on_missing":{"type":"string","enum":["fail","skip"],"description":"fail | skip - what to do when a value the text needs is empty at task time; no policy (null) sends the text as it renders.","isRequired":true,"uniqueKey":"step.oneOf.0.required_fields.oneOf.0.on_missing","typeLabel":"enum\u003cstring>"}},"required":["refs","on_missing"],"additionalProperties":false,"uniqueKey":"step.oneOf.0.required_fields.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"refs":{"type":"array","items":{"type":"string","maxLength":160,"pattern":"^(people|company|record|ai|api)\\.[a-z][a-z0-9_]*(\\.[a-z0-9_]+)*$"},"maxItems":20,"description":"0..20 bare template refs required on top of the text's own variables (people.first_name, company.name, record.\u003cslug>, company.record.\u003cslug>, ai.\u003ckey>)."},"on_missing":{"type":"string","enum":["fail","skip"],"description":"fail | skip - what to do when a value the text needs is empty at task time; no policy (null) sends the text as it renders."}},"required":["refs","on_missing"],"additionalProperties":false,"uniqueKey":"step.oneOf.0.required_fields.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.0.required_fields","typeLabel":"object | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"step.oneOf.0","typeLabel":"object"},{"type":"object","required":["type","message"],"properties":{"type":{"type":"string","enum":["linkedin_send_message"],"isRequired":true,"uniqueKey":"step.oneOf.1.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":8000,"description":"Message template (same namespaces as all templates).","isRequired":true,"uniqueKey":"step.oneOf.1.message","typeLabel":"string"},"id":{"type":"integer","minimum":1,"description":"Server-assigned (workflows.step_id_seq). OMIT on new steps, CARRY verbatim on kept steps; always present on read.","uniqueKey":"step.oneOf.1.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.1.name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.1.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.1.name","typeLabel":"string | null"},"required_fields":{"oneOf":[{"type":"object","properties":{"refs":{"type":"array","items":{"type":"string","maxLength":160,"pattern":"^(people|company|record|ai|api)\\.[a-z][a-z0-9_]*(\\.[a-z0-9_]+)*$","uniqueKey":"step.oneOf.1.required_fields.oneOf.0.refs.items.[INDEX]","typeLabel":"string"},"maxItems":20,"description":"0..20 bare template refs required on top of the text's own variables (people.first_name, company.name, record.\u003cslug>, company.record.\u003cslug>, ai.\u003ckey>).","isRequired":true,"uniqueKey":"step.oneOf.1.required_fields.oneOf.0.refs","typeLabel":"string[]"},"on_missing":{"type":"string","enum":["fail","skip"],"description":"fail | skip - what to do when a value the text needs is empty at task time; no policy (null) sends the text as it renders.","isRequired":true,"uniqueKey":"step.oneOf.1.required_fields.oneOf.0.on_missing","typeLabel":"enum\u003cstring>"}},"required":["refs","on_missing"],"additionalProperties":false,"uniqueKey":"step.oneOf.1.required_fields.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"refs":{"type":"array","items":{"type":"string","maxLength":160,"pattern":"^(people|company|record|ai|api)\\.[a-z][a-z0-9_]*(\\.[a-z0-9_]+)*$"},"maxItems":20,"description":"0..20 bare template refs required on top of the text's own variables (people.first_name, company.name, record.\u003cslug>, company.record.\u003cslug>, ai.\u003ckey>)."},"on_missing":{"type":"string","enum":["fail","skip"],"description":"fail | skip - what to do when a value the text needs is empty at task time; no policy (null) sends the text as it renders."}},"required":["refs","on_missing"],"additionalProperties":false,"uniqueKey":"step.oneOf.1.required_fields.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.1.required_fields","typeLabel":"object | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"step.oneOf.1","typeLabel":"object"},{"type":"object","required":["type","message"],"properties":{"type":{"type":"string","enum":["linkedin_send_inmail"],"isRequired":true,"uniqueKey":"step.oneOf.2.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"maxLength":8000,"isRequired":true,"uniqueKey":"step.oneOf.2.message","typeLabel":"string"},"id":{"type":"integer","minimum":1,"description":"Server-assigned (workflows.step_id_seq). OMIT on new steps, CARRY verbatim on kept steps; always present on read.","uniqueKey":"step.oneOf.2.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.2.name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.2.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.2.name","typeLabel":"string | null"},"subject":{"oneOf":[{"type":"string","maxLength":200,"uniqueKey":"step.oneOf.2.subject.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":200,"uniqueKey":"step.oneOf.2.subject.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.2.subject","typeLabel":"string | null"},"required_fields":{"oneOf":[{"type":"object","properties":{"refs":{"type":"array","items":{"type":"string","maxLength":160,"pattern":"^(people|company|record|ai|api)\\.[a-z][a-z0-9_]*(\\.[a-z0-9_]+)*$","uniqueKey":"step.oneOf.2.required_fields.oneOf.0.refs.items.[INDEX]","typeLabel":"string"},"maxItems":20,"description":"0..20 bare template refs required on top of the text's own variables (people.first_name, company.name, record.\u003cslug>, company.record.\u003cslug>, ai.\u003ckey>).","isRequired":true,"uniqueKey":"step.oneOf.2.required_fields.oneOf.0.refs","typeLabel":"string[]"},"on_missing":{"type":"string","enum":["fail","skip"],"description":"fail | skip - what to do when a value the text needs is empty at task time; no policy (null) sends the text as it renders.","isRequired":true,"uniqueKey":"step.oneOf.2.required_fields.oneOf.0.on_missing","typeLabel":"enum\u003cstring>"}},"required":["refs","on_missing"],"additionalProperties":false,"uniqueKey":"step.oneOf.2.required_fields.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"refs":{"type":"array","items":{"type":"string","maxLength":160,"pattern":"^(people|company|record|ai|api)\\.[a-z][a-z0-9_]*(\\.[a-z0-9_]+)*$"},"maxItems":20,"description":"0..20 bare template refs required on top of the text's own variables (people.first_name, company.name, record.\u003cslug>, company.record.\u003cslug>, ai.\u003ckey>)."},"on_missing":{"type":"string","enum":["fail","skip"],"description":"fail | skip - what to do when a value the text needs is empty at task time; no policy (null) sends the text as it renders."}},"required":["refs","on_missing"],"additionalProperties":false,"uniqueKey":"step.oneOf.2.required_fields.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.2.required_fields","typeLabel":"object | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"step.oneOf.2","typeLabel":"object"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["linkedin_visit_profile"],"isRequired":true,"uniqueKey":"step.oneOf.3.type","typeLabel":"enum\u003cstring>"},"id":{"type":"integer","minimum":1,"description":"Server-assigned (workflows.step_id_seq). OMIT on new steps, CARRY verbatim on kept steps; always present on read.","uniqueKey":"step.oneOf.3.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.3.name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.3.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.3.name","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"step.oneOf.3","typeLabel":"object"},{"type":"object","required":["type","skills_count"],"properties":{"type":{"type":"string","enum":["linkedin_endorse_skills"],"isRequired":true,"uniqueKey":"step.oneOf.4.type","typeLabel":"enum\u003cstring>"},"skills_count":{"type":"integer","minimum":1,"maximum":10,"description":"Endorse the person's top N listed skills, 1..10.","isRequired":true,"uniqueKey":"step.oneOf.4.skills_count","typeLabel":"integer"},"id":{"type":"integer","minimum":1,"description":"Server-assigned (workflows.step_id_seq). OMIT on new steps, CARRY verbatim on kept steps; always present on read.","uniqueKey":"step.oneOf.4.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.4.name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.4.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.4.name","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"step.oneOf.4","typeLabel":"object"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["linkedin_withdraw_connection_request"],"isRequired":true,"uniqueKey":"step.oneOf.5.type","typeLabel":"enum\u003cstring>"},"id":{"type":"integer","minimum":1,"description":"Server-assigned (workflows.step_id_seq). OMIT on new steps, CARRY verbatim on kept steps; always present on read.","uniqueKey":"step.oneOf.5.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.5.name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.5.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.5.name","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"step.oneOf.5","typeLabel":"object"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["linkedin_like_latest_post"],"isRequired":true,"uniqueKey":"step.oneOf.6.type","typeLabel":"enum\u003cstring>"},"id":{"type":"integer","minimum":1,"description":"Server-assigned (workflows.step_id_seq). OMIT on new steps, CARRY verbatim on kept steps; always present on read.","uniqueKey":"step.oneOf.6.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.6.name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.6.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.6.name","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"step.oneOf.6","typeLabel":"object"},{"type":"object","required":["type","comment"],"properties":{"type":{"type":"string","enum":["linkedin_comment_latest_post"],"isRequired":true,"uniqueKey":"step.oneOf.7.type","typeLabel":"enum\u003cstring>"},"comment":{"type":"string","minLength":1,"maxLength":1250,"description":"Comment template on the person's latest post, 1..1250 rendered; same namespaces as message templates.","isRequired":true,"uniqueKey":"step.oneOf.7.comment","typeLabel":"string"},"id":{"type":"integer","minimum":1,"description":"Server-assigned (workflows.step_id_seq). OMIT on new steps, CARRY verbatim on kept steps; always present on read.","uniqueKey":"step.oneOf.7.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.7.name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.7.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.7.name","typeLabel":"string | null"},"required_fields":{"oneOf":[{"type":"object","properties":{"refs":{"type":"array","items":{"type":"string","maxLength":160,"pattern":"^(people|company|record|ai|api)\\.[a-z][a-z0-9_]*(\\.[a-z0-9_]+)*$","uniqueKey":"step.oneOf.7.required_fields.oneOf.0.refs.items.[INDEX]","typeLabel":"string"},"maxItems":20,"description":"0..20 bare template refs required on top of the text's own variables (people.first_name, company.name, record.\u003cslug>, company.record.\u003cslug>, ai.\u003ckey>).","isRequired":true,"uniqueKey":"step.oneOf.7.required_fields.oneOf.0.refs","typeLabel":"string[]"},"on_missing":{"type":"string","enum":["fail","skip"],"description":"fail | skip - what to do when a value the text needs is empty at task time; no policy (null) sends the text as it renders.","isRequired":true,"uniqueKey":"step.oneOf.7.required_fields.oneOf.0.on_missing","typeLabel":"enum\u003cstring>"}},"required":["refs","on_missing"],"additionalProperties":false,"uniqueKey":"step.oneOf.7.required_fields.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"refs":{"type":"array","items":{"type":"string","maxLength":160,"pattern":"^(people|company|record|ai|api)\\.[a-z][a-z0-9_]*(\\.[a-z0-9_]+)*$"},"maxItems":20,"description":"0..20 bare template refs required on top of the text's own variables (people.first_name, company.name, record.\u003cslug>, company.record.\u003cslug>, ai.\u003ckey>)."},"on_missing":{"type":"string","enum":["fail","skip"],"description":"fail | skip - what to do when a value the text needs is empty at task time; no policy (null) sends the text as it renders."}},"required":["refs","on_missing"],"additionalProperties":false,"uniqueKey":"step.oneOf.7.required_fields.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.7.required_fields","typeLabel":"object | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"step.oneOf.7","typeLabel":"object"},{"type":"object","required":["type","subject","body"],"properties":{"type":{"type":"string","enum":["email_send"],"isRequired":true,"uniqueKey":"step.oneOf.8.type","typeLabel":"enum\u003cstring>"},"subject":{"type":"string","minLength":1,"maxLength":255,"isRequired":true,"uniqueKey":"step.oneOf.8.subject","typeLabel":"string"},"body":{"type":"string","minLength":1,"maxLength":100000,"description":"HTML body template.","isRequired":true,"uniqueKey":"step.oneOf.8.body","typeLabel":"string"},"id":{"type":"integer","minimum":1,"description":"Server-assigned (workflows.step_id_seq). OMIT on new steps, CARRY verbatim on kept steps; always present on read.","uniqueKey":"step.oneOf.8.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.8.name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.8.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.8.name","typeLabel":"string | null"},"required_fields":{"oneOf":[{"type":"object","properties":{"refs":{"type":"array","items":{"type":"string","maxLength":160,"pattern":"^(people|company|record|ai|api)\\.[a-z][a-z0-9_]*(\\.[a-z0-9_]+)*$","uniqueKey":"step.oneOf.8.required_fields.oneOf.0.refs.items.[INDEX]","typeLabel":"string"},"maxItems":20,"description":"0..20 bare template refs required on top of the text's own variables (people.first_name, company.name, record.\u003cslug>, company.record.\u003cslug>, ai.\u003ckey>).","isRequired":true,"uniqueKey":"step.oneOf.8.required_fields.oneOf.0.refs","typeLabel":"string[]"},"on_missing":{"type":"string","enum":["fail","skip"],"description":"fail | skip - what to do when a value the text needs is empty at task time; no policy (null) sends the text as it renders.","isRequired":true,"uniqueKey":"step.oneOf.8.required_fields.oneOf.0.on_missing","typeLabel":"enum\u003cstring>"}},"required":["refs","on_missing"],"additionalProperties":false,"uniqueKey":"step.oneOf.8.required_fields.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"refs":{"type":"array","items":{"type":"string","maxLength":160,"pattern":"^(people|company|record|ai|api)\\.[a-z][a-z0-9_]*(\\.[a-z0-9_]+)*$"},"maxItems":20,"description":"0..20 bare template refs required on top of the text's own variables (people.first_name, company.name, record.\u003cslug>, company.record.\u003cslug>, ai.\u003ckey>)."},"on_missing":{"type":"string","enum":["fail","skip"],"description":"fail | skip - what to do when a value the text needs is empty at task time; no policy (null) sends the text as it renders."}},"required":["refs","on_missing"],"additionalProperties":false,"uniqueKey":"step.oneOf.8.required_fields.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.8.required_fields","typeLabel":"object | null"},"email_field":{"oneOf":[{"type":"string","description":"Which address the send uses: any | work_email | personal_email; omitted or any = the best one.","uniqueKey":"step.oneOf.8.email_field.oneOf.0","typeLabel":"string"},{"type":"null","description":"Which address the send uses: any | work_email | personal_email; omitted or any = the best one.","uniqueKey":"step.oneOf.8.email_field.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.8.email_field","typeLabel":"string | null"},"cc":{"oneOf":[{"type":"array","items":{"type":"string","maxLength":320,"format":"email","uniqueKey":"step.oneOf.8.cc.oneOf.0.items.[INDEX]","typeLabel":"string\u003cemail>"},"maxItems":5,"description":"Up to 5 literal copy addresses.","uniqueKey":"step.oneOf.8.cc.oneOf.0","typeLabel":"string\u003cemail>[]"},{"type":"null","items":{"type":"string","maxLength":320,"format":"email"},"maxItems":5,"description":"Up to 5 literal copy addresses.","uniqueKey":"step.oneOf.8.cc.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.8.cc","typeLabel":"string\u003cemail>[] | null"},"bcc":{"oneOf":[{"type":"array","items":{"type":"string","maxLength":320,"format":"email","uniqueKey":"step.oneOf.8.bcc.oneOf.0.items.[INDEX]","typeLabel":"string\u003cemail>"},"maxItems":5,"description":"Up to 5 literal blind-copy addresses.","uniqueKey":"step.oneOf.8.bcc.oneOf.0","typeLabel":"string\u003cemail>[]"},{"type":"null","items":{"type":"string","maxLength":320,"format":"email"},"maxItems":5,"description":"Up to 5 literal blind-copy addresses.","uniqueKey":"step.oneOf.8.bcc.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.8.bcc","typeLabel":"string\u003cemail>[] | null"},"attachments":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"sid":{"type":"string","minLength":18,"maxLength":18,"pattern":"^wf_at_","isRequired":true,"uniqueKey":"step.oneOf.8.attachments.oneOf.0.items.[INDEX].sid","typeLabel":"string"},"name":{"type":"string","minLength":1,"maxLength":255,"isRequired":true,"uniqueKey":"step.oneOf.8.attachments.oneOf.0.items.[INDEX].name","typeLabel":"string"}},"required":["sid","name"],"additionalProperties":false,"uniqueKey":"step.oneOf.8.attachments.oneOf.0.items.[INDEX]","typeLabel":"object"},"maxItems":5,"description":"Up to 5 library files ({sid: wf_at_…, name}) sent with the email.","uniqueKey":"step.oneOf.8.attachments.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"type":"object","properties":{"sid":{"type":"string","minLength":18,"maxLength":18,"pattern":"^wf_at_"},"name":{"type":"string","minLength":1,"maxLength":255}},"required":["sid","name"],"additionalProperties":false},"maxItems":5,"description":"Up to 5 library files ({sid: wf_at_…, name}) sent with the email.","uniqueKey":"step.oneOf.8.attachments.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.8.attachments","typeLabel":"object[] | null"},"reply_in_thread":{"oneOf":[{"type":"boolean","uniqueKey":"step.oneOf.8.reply_in_thread.oneOf.0","typeLabel":"boolean"},{"type":"null","uniqueKey":"step.oneOf.8.reply_in_thread.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.8.reply_in_thread","typeLabel":"boolean | null"},"track_opens":{"oneOf":[{"type":"boolean","uniqueKey":"step.oneOf.8.track_opens.oneOf.0","typeLabel":"boolean"},{"type":"null","uniqueKey":"step.oneOf.8.track_opens.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.8.track_opens","typeLabel":"boolean | null"},"track_clicks":{"oneOf":[{"type":"boolean","uniqueKey":"step.oneOf.8.track_clicks.oneOf.0","typeLabel":"boolean"},{"type":"null","uniqueKey":"step.oneOf.8.track_clicks.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.8.track_clicks","typeLabel":"boolean | null"},"unsubscribe_link":{"oneOf":[{"type":"boolean","uniqueKey":"step.oneOf.8.unsubscribe_link.oneOf.0","typeLabel":"boolean"},{"type":"null","uniqueKey":"step.oneOf.8.unsubscribe_link.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.8.unsubscribe_link","typeLabel":"boolean | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"step.oneOf.8","typeLabel":"object"},{"type":"object","required":["type","for"],"properties":{"type":{"type":"string","enum":["wait"],"isRequired":true,"uniqueKey":"step.oneOf.9.type","typeLabel":"enum\u003cstring>"},"for":{"type":"string","pattern":"^[1-9][0-9]*[mhd]$","description":"Duration string: ^[1-9][0-9]*(m|h|d)$ - e.g. \"45m\", \"12h\", \"14d\". Publish lints the range 1m..365d.","isRequired":true,"uniqueKey":"step.oneOf.9.for","typeLabel":"string"},"id":{"type":"integer","minimum":1,"description":"Server-assigned (workflows.step_id_seq). OMIT on new steps, CARRY verbatim on kept steps; always present on read.","uniqueKey":"step.oneOf.9.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.9.name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.9.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.9.name","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"step.oneOf.9","typeLabel":"object"},{"type":"object","required":["type","event","timeout"],"properties":{"type":{"type":"string","enum":["wait_for_event"],"isRequired":true,"uniqueKey":"step.oneOf.10.type","typeLabel":"enum\u003cstring>"},"event":{"type":"string","enum":["linkedin_connection_request_accepted","email_opened","email_link_clicked"],"description":"Event observed via the activities ingest.","isRequired":true,"uniqueKey":"step.oneOf.10.event","typeLabel":"enum\u003cstring>"},"timeout":{"type":"object","properties":{"after":{"type":"string","pattern":"^[1-9][0-9]*[mhd]$","description":"Duration string: ^[1-9][0-9]*(m|h|d)$ - e.g. \"45m\", \"12h\", \"14d\". Publish lints the range 1m..365d.","isRequired":true,"uniqueKey":"step.oneOf.10.timeout.after","typeLabel":"string"},"steps":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"step.oneOf.10.timeout.steps.additionalProperties","typeLabel":"any"},"description":"Recursive node: the same object shape repeats here. A static OpenAPI document cannot express the cycle, so this level is documented as an open object.","isRequired":true,"uniqueKey":"step.oneOf.10.timeout.steps","typeLabel":"object"}},"required":["after","steps"],"additionalProperties":false,"description":"Required since 2026-10-11: a wait always has a time limit. Bundled: a timeout path cannot exist without a duration.","isRequired":true,"uniqueKey":"step.oneOf.10.timeout","typeLabel":"object"},"id":{"type":"integer","minimum":1,"description":"Server-assigned (workflows.step_id_seq). OMIT on new steps, CARRY verbatim on kept steps; always present on read.","uniqueKey":"step.oneOf.10.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.10.name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.10.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.10.name","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"step.oneOf.10","typeLabel":"object"},{"type":"object","required":["type","branches","else"],"properties":{"type":{"type":"string","enum":["condition"],"isRequired":true,"uniqueKey":"step.oneOf.11.type","typeLabel":"enum\u003cstring>"},"branches":{"type":"array","items":{"type":"object","properties":{"when":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"step.oneOf.11.branches.items.[INDEX].when.additionalProperties","typeLabel":"any"},"description":"NON-nullable filter AST, LOOSE mode (predicate-only, never compiled to ES): leaf paths people.* / company.* / record.\u003cslug> / ai.\u003coutput_key> / api.\u003coutput_key>.\u003cpath>; a path missing from the record's playtable makes the leaf false.","isRequired":true,"uniqueKey":"step.oneOf.11.branches.items.[INDEX].when","typeLabel":"object"},"steps":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"step.oneOf.11.branches.items.[INDEX].steps.additionalProperties","typeLabel":"any"},"description":"Recursive node: the same object shape repeats here. A static OpenAPI document cannot express the cycle, so this level is documented as an open object.","isRequired":true,"uniqueKey":"step.oneOf.11.branches.items.[INDEX].steps","typeLabel":"object"},"id":{"type":"integer","minimum":1,"description":"Server-assigned - SAME id-space as step ids; omit on new branches, carry on kept ones. The fired branch id lands on the condition task result.","uniqueKey":"step.oneOf.11.branches.items.[INDEX].id","typeLabel":"integer"},"label":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor caption.","uniqueKey":"step.oneOf.11.branches.items.[INDEX].label.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor caption.","uniqueKey":"step.oneOf.11.branches.items.[INDEX].label.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.11.branches.items.[INDEX].label","typeLabel":"string | null"}},"required":["when","steps"],"additionalProperties":false,"uniqueKey":"step.oneOf.11.branches.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":9,"description":"1..9 branches, evaluated in order, first match wins.","isRequired":true,"uniqueKey":"step.oneOf.11.branches","typeLabel":"object[]"},"else":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"step.oneOf.11.else.additionalProperties","typeLabel":"any"},"description":"Recursive node: the same object shape repeats here. A static OpenAPI document cannot express the cycle, so this level is documented as an open object.","isRequired":true,"uniqueKey":"step.oneOf.11.else","typeLabel":"object"},"id":{"type":"integer","minimum":1,"description":"Server-assigned (workflows.step_id_seq). OMIT on new steps, CARRY verbatim on kept steps; always present on read.","uniqueKey":"step.oneOf.11.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.11.name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.11.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.11.name","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"step.oneOf.11","typeLabel":"object"},{"type":"object","required":["type","branches"],"properties":{"type":{"type":"string","enum":["ab_test"],"isRequired":true,"uniqueKey":"step.oneOf.12.type","typeLabel":"enum\u003cstring>"},"branches":{"type":"array","items":{"type":"object","properties":{"weight":{"type":"integer","minimum":1,"description":"Relative weight (int >= 1; need not sum to 100). Record assigned by crc32(record.sid) mod sum(weights) - see workflow_versions.md ab_test algorithm.","isRequired":true,"uniqueKey":"step.oneOf.12.branches.items.[INDEX].weight","typeLabel":"integer"},"steps":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"step.oneOf.12.branches.items.[INDEX].steps.additionalProperties","typeLabel":"any"},"description":"Recursive node: the same object shape repeats here. A static OpenAPI document cannot express the cycle, so this level is documented as an open object.","isRequired":true,"uniqueKey":"step.oneOf.12.branches.items.[INDEX].steps","typeLabel":"object"},"id":{"type":"integer","minimum":1,"description":"Server-assigned - SAME id-space as step ids; omit on new arms, carry on kept ones. The assigned arm id lands on the ab_test task result.","uniqueKey":"step.oneOf.12.branches.items.[INDEX].id","typeLabel":"integer"},"label":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor caption (\"Variant A\").","uniqueKey":"step.oneOf.12.branches.items.[INDEX].label.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor caption (\"Variant A\").","uniqueKey":"step.oneOf.12.branches.items.[INDEX].label.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.12.branches.items.[INDEX].label","typeLabel":"string | null"}},"required":["weight","steps"],"additionalProperties":false,"uniqueKey":"step.oneOf.12.branches.items.[INDEX]","typeLabel":"object"},"minItems":2,"maxItems":9,"description":"2..9 weighted arms; the record is assigned deterministically by hashing its sid into the weight distribution. No `else`.","isRequired":true,"uniqueKey":"step.oneOf.12.branches","typeLabel":"object[]"},"id":{"type":"integer","minimum":1,"description":"Server-assigned (workflows.step_id_seq). OMIT on new steps, CARRY verbatim on kept steps; always present on read.","uniqueKey":"step.oneOf.12.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.12.name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.12.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.12.name","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"step.oneOf.12","typeLabel":"object"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["end"],"isRequired":true,"uniqueKey":"step.oneOf.13.type","typeLabel":"enum\u003cstring>"},"id":{"type":"integer","minimum":1,"description":"Server-assigned (workflows.step_id_seq). OMIT on new steps, CARRY verbatim on kept steps; always present on read.","uniqueKey":"step.oneOf.13.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.13.name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.13.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.13.name","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"step.oneOf.13","typeLabel":"object"},{"type":"object","required":["type","method","url"],"properties":{"type":{"type":"string","enum":["api_call"],"isRequired":true,"uniqueKey":"step.oneOf.14.type","typeLabel":"enum\u003cstring>"},"method":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE"],"isRequired":true,"uniqueKey":"step.oneOf.14.method","typeLabel":"enum\u003cstring>"},"url":{"type":"string","minLength":1,"maxLength":2048,"description":"https-only (publish check); a template - variables may stand in the path and the query.","isRequired":true,"uniqueKey":"step.oneOf.14.url","typeLabel":"string"},"id":{"type":"integer","minimum":1,"description":"Server-assigned (workflows.step_id_seq). OMIT on new steps, CARRY verbatim on kept steps; always present on read.","uniqueKey":"step.oneOf.14.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.14.name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.14.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.14.name","typeLabel":"string | null"},"headers":{"oneOf":[{"type":"object","additionalProperties":{"type":"string","maxLength":1024,"uniqueKey":"step.oneOf.14.headers.oneOf.0.additionalProperties","typeLabel":"string"},"uniqueKey":"step.oneOf.14.headers.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"type":"string","maxLength":1024,"uniqueKey":"step.oneOf.14.headers.oneOf.1.additionalProperties","typeLabel":"string"},"uniqueKey":"step.oneOf.14.headers.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.14.headers","typeLabel":"object | null"},"query":{"oneOf":[{"type":"object","additionalProperties":{"type":"string","maxLength":2048,"uniqueKey":"step.oneOf.14.query.oneOf.0.additionalProperties","typeLabel":"string"},"uniqueKey":"step.oneOf.14.query.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"type":"string","maxLength":2048,"uniqueKey":"step.oneOf.14.query.oneOf.1.additionalProperties","typeLabel":"string"},"uniqueKey":"step.oneOf.14.query.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.14.query","typeLabel":"object | null"},"body":{"oneOf":[{"type":"string","maxLength":16000,"description":"JSON body template, variables inside quotes; null = the fixed payload; must be null on GET / DELETE.","uniqueKey":"step.oneOf.14.body.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":16000,"description":"JSON body template, variables inside quotes; null = the fixed payload; must be null on GET / DELETE.","uniqueKey":"step.oneOf.14.body.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.14.body","typeLabel":"string | null"},"provider_connection_sid":{"oneOf":[{"type":"string","minLength":18,"maxLength":18,"pattern":"^in_cn_","description":"A `custom` provider connection whose auth the integration platform injects at call time; null = no auth.","uniqueKey":"step.oneOf.14.provider_connection_sid.oneOf.0","typeLabel":"string"},{"type":"null","minLength":18,"maxLength":18,"pattern":"^in_cn_","description":"A `custom` provider connection whose auth the integration platform injects at call time; null = no auth.","uniqueKey":"step.oneOf.14.provider_connection_sid.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.14.provider_connection_sid","typeLabel":"string | null"},"timeout_secs":{"oneOf":[{"type":"integer","minimum":1,"maximum":120,"uniqueKey":"step.oneOf.14.timeout_secs.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":1,"maximum":120,"uniqueKey":"step.oneOf.14.timeout_secs.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.14.timeout_secs","typeLabel":"integer | null"},"retry_on_error":{"oneOf":[{"type":"boolean","uniqueKey":"step.oneOf.14.retry_on_error.oneOf.0","typeLabel":"boolean"},{"type":"null","uniqueKey":"step.oneOf.14.retry_on_error.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.14.retry_on_error","typeLabel":"boolean | null"},"remove_empty_values":{"oneOf":[{"type":"boolean","uniqueKey":"step.oneOf.14.remove_empty_values.oneOf.0","typeLabel":"boolean"},{"type":"null","uniqueKey":"step.oneOf.14.remove_empty_values.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.14.remove_empty_values","typeLabel":"boolean | null"},"output_key":{"oneOf":[{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","description":"The answer's name for later steps (2026-10-11): a slug, unique within the version with the ask_ai keys; later steps read {{api.\u003coutput_key>.\u003cpath>}} and condition leaves filter on api.\u003coutput_key>.\u003cpath>; null = the answer is not kept.","uniqueKey":"step.oneOf.14.output_key.oneOf.0","typeLabel":"string"},{"type":"null","pattern":"^[a-z][a-z0-9_]{0,63}$","description":"The answer's name for later steps (2026-10-11): a slug, unique within the version with the ask_ai keys; later steps read {{api.\u003coutput_key>.\u003cpath>}} and condition leaves filter on api.\u003coutput_key>.\u003cpath>; null = the answer is not kept.","uniqueKey":"step.oneOf.14.output_key.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.14.output_key","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"step.oneOf.14","typeLabel":"object"},{"type":"object","required":["type","prompt","output_key"],"properties":{"type":{"type":"string","enum":["ask_ai"],"isRequired":true,"uniqueKey":"step.oneOf.15.type","typeLabel":"enum\u003cstring>"},"prompt":{"type":"string","minLength":1,"maxLength":8000,"description":"Same variable namespaces as message templates.","isRequired":true,"uniqueKey":"step.oneOf.15.prompt","typeLabel":"string"},"output_key":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","description":"Slug, unique within the version (publish check) - later steps read {{ai.\u003coutput_key>}} / condition leaves on ai.\u003coutput_key>.","isRequired":true,"uniqueKey":"step.oneOf.15.output_key","typeLabel":"string"},"id":{"type":"integer","minimum":1,"description":"Server-assigned (workflows.step_id_seq). OMIT on new steps, CARRY verbatim on kept steps; always present on read.","uniqueKey":"step.oneOf.15.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.15.name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.15.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.15.name","typeLabel":"string | null"},"preset_sid":{"oneOf":[{"type":"string","description":"gtm-api preset for the AI call; null = team default.","uniqueKey":"step.oneOf.15.preset_sid.oneOf.0","typeLabel":"string"},{"type":"null","description":"gtm-api preset for the AI call; null = team default.","uniqueKey":"step.oneOf.15.preset_sid.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.15.preset_sid","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"step.oneOf.15","typeLabel":"object"},{"type":"object","required":["type","title"],"properties":{"type":{"type":"string","enum":["manual_task"],"isRequired":true,"uniqueKey":"step.oneOf.16.type","typeLabel":"enum\u003cstring>"},"title":{"type":"string","minLength":1,"maxLength":255,"isRequired":true,"uniqueKey":"step.oneOf.16.title","typeLabel":"string"},"id":{"type":"integer","minimum":1,"description":"Server-assigned (workflows.step_id_seq). OMIT on new steps, CARRY verbatim on kept steps; always present on read.","uniqueKey":"step.oneOf.16.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.16.name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.16.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.16.name","typeLabel":"string | null"},"instructions":{"oneOf":[{"type":"string","maxLength":4000,"description":"Rendered into the human todo; the journey waits until the task is completed.","uniqueKey":"step.oneOf.16.instructions.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":4000,"description":"Rendered into the human todo; the journey waits until the task is completed.","uniqueKey":"step.oneOf.16.instructions.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.16.instructions","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"step.oneOf.16","typeLabel":"object"},{"type":"object","required":["type","target_workflow_sid"],"properties":{"type":{"type":"string","enum":["move_to_workflow"],"isRequired":true,"uniqueKey":"step.oneOf.17.type","typeLabel":"enum\u003cstring>"},"target_workflow_sid":{"type":"string","minLength":18,"maxLength":18,"pattern":"^wf_wf_","description":"Enroll the person into this campaign (wf_wf_…); reuses the existing record per the re-entry policy. THIS record then completes - terminal-for-this-record.","isRequired":true,"uniqueKey":"step.oneOf.17.target_workflow_sid","typeLabel":"string"},"id":{"type":"integer","minimum":1,"description":"Server-assigned (workflows.step_id_seq). OMIT on new steps, CARRY verbatim on kept steps; always present on read.","uniqueKey":"step.oneOf.17.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.17.name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.17.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.17.name","typeLabel":"string | null"},"mode":{"oneOf":[{"type":"string","enum":["from_start","from_current"],"description":"Re-entry mode when the person is ALREADY in the target (workflow_records.md, Re-entry): from_start (default; reset to the entry step) | from_current (resume the pinned step, else the entry step). A re-entry is loop-guarded at re_entered_count 10.","uniqueKey":"step.oneOf.17.mode.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["from_start","from_current"],"description":"Re-entry mode when the person is ALREADY in the target (workflow_records.md, Re-entry): from_start (default; reset to the entry step) | from_current (resume the pinned step, else the entry step). A re-entry is loop-guarded at re_entered_count 10.","uniqueKey":"step.oneOf.17.mode.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.17.mode","typeLabel":"enum\u003cstring> | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"step.oneOf.17","typeLabel":"object"},{"type":"object","required":["type","tag_sids"],"properties":{"type":{"type":"string","enum":["add_tag"],"isRequired":true,"uniqueKey":"step.oneOf.18.type","typeLabel":"enum\u003cstring>"},"tag_sids":{"type":"array","items":{"type":"string","minLength":18,"maxLength":18,"pattern":"^cr_tg_","uniqueKey":"step.oneOf.18.tag_sids.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":20,"description":"1..20 CRM tags (cr_tg_…) attached to the person mid-flow, then falls through.","isRequired":true,"uniqueKey":"step.oneOf.18.tag_sids","typeLabel":"string[]"},"id":{"type":"integer","minimum":1,"description":"Server-assigned (workflows.step_id_seq). OMIT on new steps, CARRY verbatim on kept steps; always present on read.","uniqueKey":"step.oneOf.18.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.18.name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.18.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.18.name","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"step.oneOf.18","typeLabel":"object"},{"type":"object","required":["type","tag_sids"],"properties":{"type":{"type":"string","enum":["remove_tag"],"isRequired":true,"uniqueKey":"step.oneOf.19.type","typeLabel":"enum\u003cstring>"},"tag_sids":{"type":"array","items":{"type":"string","minLength":18,"maxLength":18,"pattern":"^cr_tg_","uniqueKey":"step.oneOf.19.tag_sids.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":20,"description":"1..20 CRM tags (cr_tg_…) detached from the person mid-flow, then falls through.","isRequired":true,"uniqueKey":"step.oneOf.19.tag_sids","typeLabel":"string[]"},"id":{"type":"integer","minimum":1,"description":"Server-assigned (workflows.step_id_seq). OMIT on new steps, CARRY verbatim on kept steps; always present on read.","uniqueKey":"step.oneOf.19.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.19.name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.19.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.19.name","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"step.oneOf.19","typeLabel":"object"},{"type":"object","required":["type","field_slug","value"],"properties":{"type":{"type":"string","enum":["set_field"],"isRequired":true,"uniqueKey":"step.oneOf.20.type","typeLabel":"enum\u003cstring>"},"field_slug":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","description":"Playtable field slug to write (pipeline_stage is a scalar_select field).","isRequired":true,"uniqueKey":"step.oneOf.20.field_slug","typeLabel":"string"},"value":{"oneOf":[{"type":"string","description":"Scalar cell value (one cell; no arrays/objects); null clears the field.","isRequired":true,"uniqueKey":"step.oneOf.20.value.oneOf.0","typeLabel":"string"},{"type":"number","description":"Scalar cell value (one cell; no arrays/objects); null clears the field.","isRequired":true,"uniqueKey":"step.oneOf.20.value.oneOf.1","typeLabel":"number"},{"type":"boolean","description":"Scalar cell value (one cell; no arrays/objects); null clears the field.","isRequired":true,"uniqueKey":"step.oneOf.20.value.oneOf.2","typeLabel":"boolean"},{"description":"Scalar cell value (one cell; no arrays/objects); null clears the field.","isRequired":true,"uniqueKey":"step.oneOf.20.value.oneOf.3","typeLabel":"any"},{"description":"Scalar cell value (one cell; no arrays/objects); null clears the field.","isRequired":true,"uniqueKey":"step.oneOf.20.value.oneOf.4","typeLabel":"any"}],"isRequired":true,"uniqueKey":"step.oneOf.20.value","typeLabel":"string · number · boolean · any · any"},"id":{"type":"integer","minimum":1,"description":"Server-assigned (workflows.step_id_seq). OMIT on new steps, CARRY verbatim on kept steps; always present on read.","uniqueKey":"step.oneOf.20.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.20.name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.20.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.20.name","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"step.oneOf.20","typeLabel":"object"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["change_sender"],"isRequired":true,"uniqueKey":"step.oneOf.21.type","typeLabel":"enum\u003cstring>"},"id":{"type":"integer","minimum":1,"description":"Server-assigned (workflows.step_id_seq). OMIT on new steps, CARRY verbatim on kept steps; always present on read.","uniqueKey":"step.oneOf.21.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.21.name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Editor label.","uniqueKey":"step.oneOf.21.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.21.name","typeLabel":"string | null"},"sender_profile_sid":{"oneOf":[{"type":"string","minLength":18,"maxLength":18,"pattern":"^ub_sp_","description":"Explicit forward-only re-pin (ub_sp_…). Exactly one of sender_profile_sid / rotation (publish check). NOT a restart-from-top.","uniqueKey":"step.oneOf.21.sender_profile_sid.oneOf.0","typeLabel":"string"},{"type":"null","minLength":18,"maxLength":18,"pattern":"^ub_sp_","description":"Explicit forward-only re-pin (ub_sp_…). Exactly one of sender_profile_sid / rotation (publish check). NOT a restart-from-top.","uniqueKey":"step.oneOf.21.sender_profile_sid.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.21.sender_profile_sid","typeLabel":"string | null"},"rotation":{"oneOf":[{"type":"string","enum":["fair","random","new_sender","prior_engagement"],"description":"Re-pick the sender from the workflow pool by this strategy instead of a fixed sid. Exactly one of sender_profile_sid / rotation (publish check).","uniqueKey":"step.oneOf.21.rotation.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["fair","random","new_sender","prior_engagement"],"description":"Re-pick the sender from the workflow pool by this strategy instead of a fixed sid. Exactly one of sender_profile_sid / rotation (publish check).","uniqueKey":"step.oneOf.21.rotation.oneOf.1","typeLabel":"null"}],"uniqueKey":"step.oneOf.21.rotation","typeLabel":"enum\u003cstring> | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"step.oneOf.21","typeLabel":"object"}],"isRequired":true,"uniqueKey":"step","typeLabel":"object"},"people_sid":{"type":"string","minLength":18,"maxLength":18,"pattern":"^cr_pp_","description":"A person of the team; the templates render against their row.","isRequired":true,"uniqueKey":"people_sid","typeLabel":"string"}},"required":["step","people_sid"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"step":{"type":"linkedin_send_connection_request","id":2,"name":"\u003cstring>","message":"\u003cstring>","required_fields":{"refs":["\u003cstring>"]}},"people_sid":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"953d0ca7-9d3a-4de7-8505-9c766eb8e3f9":{"description":"`action` success envelope.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true],"isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"operation":{"type":"string","enum":["action"],"isRequired":true,"uniqueKey":"operation","typeLabel":"enum\u003cstring>"},"action":{"type":"string","enum":["test-api-call"],"isRequired":true,"uniqueKey":"action","typeLabel":"enum\u003cstring>"},"item":{"oneOf":[{"isRequired":true}],"isRequired":true,"uniqueKey":"item","typeLabel":"any"},"result":{"type":"object","properties":{"request":{"type":"object","properties":{"method":{"type":"string","isRequired":true,"uniqueKey":"result.request.method","typeLabel":"string"},"url":{"type":"string","isRequired":true,"uniqueKey":"result.request.url","typeLabel":"string"},"headers":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"result.request.headers.additionalProperties","typeLabel":"string"},"isRequired":true,"uniqueKey":"result.request.headers","typeLabel":"object"},"provider_connection_sid":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"result.request.provider_connection_sid.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"result.request.provider_connection_sid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"result.request.provider_connection_sid","typeLabel":"string | null"},"timeout_secs":{"type":"integer","isRequired":true,"uniqueKey":"result.request.timeout_secs","typeLabel":"integer"},"body":{"oneOf":[{}],"uniqueKey":"result.request.body","typeLabel":"any"}},"required":["method","url","headers","provider_connection_sid","timeout_secs"],"isRequired":true,"uniqueKey":"result.request","typeLabel":"object"},"status":{"type":"string","enum":["success","failed"],"isRequired":true,"uniqueKey":"result.status","typeLabel":"enum\u003cstring>"},"http_status":{"oneOf":[{"type":"integer","isRequired":true,"uniqueKey":"result.http_status.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"result.http_status.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"result.http_status","typeLabel":"integer | null"},"error_code":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"result.error_code.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"result.error_code.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"result.error_code","typeLabel":"string | null"},"error_message":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"result.error_message.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"result.error_message.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"result.error_message","typeLabel":"string | null"},"provider_call_sid":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"result.provider_call_sid.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"result.provider_call_sid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"result.provider_call_sid","typeLabel":"string | null"},"response":{"oneOf":[{}],"uniqueKey":"result.response","typeLabel":"any"}},"required":["request","status","http_status","error_code","error_message","provider_call_sid"],"isRequired":true,"uniqueKey":"result","typeLabel":"object"},"meta":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"meta.additionalProperties","typeLabel":"any"},"uniqueKey":"meta","typeLabel":"object"}},"required":["success","operation","action","item","result"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":true,"operation":"action","action":"test-api-call","item":"\u003cunknown>","result":{"request":{"method":"\u003cstring>","url":"\u003cstring>","headers":{},"provider_connection_sid":"\u003cstring>","timeout_secs":123,"body":"\u003cunknown>"},"status":"success","http_status":123,"error_code":"\u003cstring>","error_message":"\u003cstring>","provider_call_sid":"\u003cstring>","response":"\u003cunknown>"},"meta":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"d1d6ea51-5ab8-4b26-85b3-586bc8703b35":{"description":"MCP error envelope. `error.code` is one of validation_failed, nothing_to_update, not_found, relation_not_found, invalid_transition, limit_exceeded, payment_required, duplicate_rejected, conflict, delete_blocked, unauthorized, forbidden, rate_limited, not_implemented.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","properties":{"code":{"type":"string","enum":["validation_failed","nothing_to_update","not_found","relation_not_found","invalid_transition","limit_exceeded","payment_required","duplicate_rejected","conflict","delete_blocked","unauthorized","forbidden","rate_limited","internal_error","service_unavailable","not_implemented"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"recoverable":{"type":"boolean","isRequired":true,"uniqueKey":"error.recoverable","typeLabel":"boolean"},"suggestion":{"type":"string","uniqueKey":"error.suggestion","typeLabel":"string"},"field_errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"rule":{"type":"string","isRequired":true,"uniqueKey":"error.field_errors.additionalProperties.items.[INDEX].rule","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.field_errors.additionalProperties.items.[INDEX].message","typeLabel":"string"}},"required":["rule","message"],"uniqueKey":"error.field_errors.additionalProperties.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.field_errors.additionalProperties","typeLabel":"object[]"},"uniqueKey":"error.field_errors","typeLabel":"object"},"blockers":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"Machine-readable blocker type (active_flow, pending_tasks, …).","isRequired":true,"uniqueKey":"error.blockers.items.[INDEX].type","typeLabel":"string"},"severity":{"type":"string","enum":["hard","soft"],"description":"hard = external action required; soft = acknowledge is enough.","isRequired":true,"uniqueKey":"error.blockers.items.[INDEX].severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","isRequired":true,"uniqueKey":"error.blockers.items.[INDEX].description","typeLabel":"string"},"entity_sid":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"error.blockers.items.[INDEX].entity_sid.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"error.blockers.items.[INDEX].entity_sid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.blockers.items.[INDEX].entity_sid","typeLabel":"string | null"},"resolution":{"type":"string","description":"Hard: tool name to call. Soft: code for acknowledge[].","isRequired":true,"uniqueKey":"error.blockers.items.[INDEX].resolution","typeLabel":"string"},"resolution_hint":{"type":"string","isRequired":true,"uniqueKey":"error.blockers.items.[INDEX].resolution_hint","typeLabel":"string"},"count":{"type":"integer","uniqueKey":"error.blockers.items.[INDEX].count","typeLabel":"integer"}},"required":["type","severity","description","entity_sid","resolution","resolution_hint"],"uniqueKey":"error.blockers.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.blockers","typeLabel":"object[]"},"context":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"error.context.additionalProperties","typeLabel":"any"},"uniqueKey":"error.context","typeLabel":"object"}},"required":["code","message","recoverable"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","properties":{"trace_id":{"type":"string","description":"UUID v7; same 128-bit value as the X-Trace-Id header.","isRequired":true,"uniqueKey":"meta.trace_id","typeLabel":"string"},"span_id":{"type":"string","pattern":"^[0-9a-f]{16}$","description":"16 hex chars, root span of this request.","isRequired":true,"uniqueKey":"meta.span_id","typeLabel":"string"},"timestamp":{"type":"string","description":"ISO 8601 UTC (Y-m-dTH:i:sZ), response time.","isRequired":true,"uniqueKey":"meta.timestamp","typeLabel":"string"},"duration_ms":{"type":"integer","minimum":0,"description":"Server-side wall clock.","isRequired":true,"uniqueKey":"meta.duration_ms","typeLabel":"integer"},"team_sid":{"oneOf":[{"type":"string","description":"The team this call ran in (the token team, or the team_sid override). Null when unauthenticated; absent from pre-2026-08-20 backends.","uniqueKey":"meta.team_sid.oneOf.0","typeLabel":"string"},{"type":"null","description":"The team this call ran in (the token team, or the team_sid override). Null when unauthenticated; absent from pre-2026-08-20 backends.","uniqueKey":"meta.team_sid.oneOf.1","typeLabel":"null"}],"uniqueKey":"meta.team_sid","typeLabel":"string | null"},"actor_type":{"oneOf":[{"type":"string","description":"user | agent | api_key | system. Null when unauthenticated; absent from pre-2026-08-20 backends.","uniqueKey":"meta.actor_type.oneOf.0","typeLabel":"string"},{"type":"null","description":"user | agent | api_key | system. Null when unauthenticated; absent from pre-2026-08-20 backends.","uniqueKey":"meta.actor_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"meta.actor_type","typeLabel":"string | null"}},"required":["trace_id","span_id","timestamp","duration_ms"],"uniqueKey":"meta","typeLabel":"object"}},"required":["success","error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"validation_failed","message":"\u003cstring>","recoverable":true,"suggestion":"\u003cstring>","field_errors":{},"blockers":[{"type":"\u003cstring>","severity":"hard","description":"\u003cstring>","entity_sid":"\u003cstring>","resolution":"\u003cstring>","resolution_hint":"\u003cstring>","count":123}],"context":{}},"meta":{"trace_id":"\u003cstring>","span_id":"\u003cstring>","timestamp":"\u003cstring>","duration_ms":1,"team_sid":"\u003cstring>","actor_type":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"1c801fa7-2752-4d26-bbf0-ca37b303c701":{"description":"MCP error envelope with `error.code` internal_error or service_unavailable.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","properties":{"code":{"type":"string","enum":["validation_failed","nothing_to_update","not_found","relation_not_found","invalid_transition","limit_exceeded","payment_required","duplicate_rejected","conflict","delete_blocked","unauthorized","forbidden","rate_limited","internal_error","service_unavailable","not_implemented"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"recoverable":{"type":"boolean","isRequired":true,"uniqueKey":"error.recoverable","typeLabel":"boolean"},"suggestion":{"type":"string","uniqueKey":"error.suggestion","typeLabel":"string"},"field_errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"rule":{"type":"string","isRequired":true,"uniqueKey":"error.field_errors.additionalProperties.items.[INDEX].rule","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.field_errors.additionalProperties.items.[INDEX].message","typeLabel":"string"}},"required":["rule","message"],"uniqueKey":"error.field_errors.additionalProperties.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.field_errors.additionalProperties","typeLabel":"object[]"},"uniqueKey":"error.field_errors","typeLabel":"object"},"blockers":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"Machine-readable blocker type (active_flow, pending_tasks, …).","isRequired":true,"uniqueKey":"error.blockers.items.[INDEX].type","typeLabel":"string"},"severity":{"type":"string","enum":["hard","soft"],"description":"hard = external action required; soft = acknowledge is enough.","isRequired":true,"uniqueKey":"error.blockers.items.[INDEX].severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","isRequired":true,"uniqueKey":"error.blockers.items.[INDEX].description","typeLabel":"string"},"entity_sid":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"error.blockers.items.[INDEX].entity_sid.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"error.blockers.items.[INDEX].entity_sid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.blockers.items.[INDEX].entity_sid","typeLabel":"string | null"},"resolution":{"type":"string","description":"Hard: tool name to call. Soft: code for acknowledge[].","isRequired":true,"uniqueKey":"error.blockers.items.[INDEX].resolution","typeLabel":"string"},"resolution_hint":{"type":"string","isRequired":true,"uniqueKey":"error.blockers.items.[INDEX].resolution_hint","typeLabel":"string"},"count":{"type":"integer","uniqueKey":"error.blockers.items.[INDEX].count","typeLabel":"integer"}},"required":["type","severity","description","entity_sid","resolution","resolution_hint"],"uniqueKey":"error.blockers.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.blockers","typeLabel":"object[]"},"context":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"error.context.additionalProperties","typeLabel":"any"},"uniqueKey":"error.context","typeLabel":"object"}},"required":["code","message","recoverable"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","properties":{"trace_id":{"type":"string","description":"UUID v7; same 128-bit value as the X-Trace-Id header.","isRequired":true,"uniqueKey":"meta.trace_id","typeLabel":"string"},"span_id":{"type":"string","pattern":"^[0-9a-f]{16}$","description":"16 hex chars, root span of this request.","isRequired":true,"uniqueKey":"meta.span_id","typeLabel":"string"},"timestamp":{"type":"string","description":"ISO 8601 UTC (Y-m-dTH:i:sZ), response time.","isRequired":true,"uniqueKey":"meta.timestamp","typeLabel":"string"},"duration_ms":{"type":"integer","minimum":0,"description":"Server-side wall clock.","isRequired":true,"uniqueKey":"meta.duration_ms","typeLabel":"integer"},"team_sid":{"oneOf":[{"type":"string","description":"The team this call ran in (the token team, or the team_sid override). Null when unauthenticated; absent from pre-2026-08-20 backends.","uniqueKey":"meta.team_sid.oneOf.0","typeLabel":"string"},{"type":"null","description":"The team this call ran in (the token team, or the team_sid override). Null when unauthenticated; absent from pre-2026-08-20 backends.","uniqueKey":"meta.team_sid.oneOf.1","typeLabel":"null"}],"uniqueKey":"meta.team_sid","typeLabel":"string | null"},"actor_type":{"oneOf":[{"type":"string","description":"user | agent | api_key | system. Null when unauthenticated; absent from pre-2026-08-20 backends.","uniqueKey":"meta.actor_type.oneOf.0","typeLabel":"string"},{"type":"null","description":"user | agent | api_key | system. Null when unauthenticated; absent from pre-2026-08-20 backends.","uniqueKey":"meta.actor_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"meta.actor_type","typeLabel":"string | null"}},"required":["trace_id","span_id","timestamp","duration_ms"],"uniqueKey":"meta","typeLabel":"object"}},"required":["success","error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"validation_failed","message":"\u003cstring>","recoverable":true,"suggestion":"\u003cstring>","field_errors":{},"blockers":[{"type":"\u003cstring>","severity":"hard","description":"\u003cstring>","entity_sid":"\u003cstring>","resolution":"\u003cstring>","resolution_hint":"\u003cstring>","count":123}],"context":{}},"meta":{"trace_id":"\u003cstring>","span_id":"\u003cstring>","timestamp":"\u003cstring>","duration_ms":1,"team_sid":"\u003cstring>","actor_type":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"d3ab5cdd-2aa1-426f-93da-16562fad923f":{"BearerJwt":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Access token issued by gs.service.id. Its `access_identity` claim carries `team_sid`, `actor_sid` and `actor_type`, and that team scope is authoritative.","scopes":[],"schemeName":"BearerJwt"},"TeamSid":{"type":"apiKey","in":"header","name":"Team-SID","description":"Team scope for tokens that do not carry one. Ignored when the token already names a team.","scopes":[],"schemeName":"TeamSid"}}},"servers":{"71624634-b298-4b81-ba22-a05986db64c0":{"url":"https://beta.getsales.io/playtables/v1","description":"Production (the gateway path on the beta ring; the origin is provisioned per DEPLOY_MAP.md)"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Access token issued by gs.service.id. Its `access_identity` claim carries `team_sid`, `actor_sid` and `actor_type`, and that team scope is authoritative.","scopes":[],"schemeName":"BearerJwt"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Access token issued by gs.service.id. Its `access_identity` claim carries `team_sid`, `actor_sid` and `actor_type`, and that team scope is authoritative.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerJwt","name":"Authorization"},{"scheme":{"type":"apiKey","in":"header","name":"Team-SID","description":"Team scope for tokens that do not carry one. Ignored when the token already names a team.","scopes":[],"schemeName":"TeamSid"},"schema":{"title":"Team-SID","type":"string","description":"Team scope for tokens that do not carry one. Ignored when the token already names a team.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"TeamSid","name":"Team-SID"}],"title":"BearerJwt \u0026 TeamSid"}]},"originalFileLocation":"api-reference/playtables/openapi.yaml"},"subdomain":"getsales","siteName":"GetSales","title":"Test an API call step - GetSales","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-01T05:07:41.575Z","originalFileLocation":"api-reference/playtables/workflows/test-an-api-call-step.mdx"},"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=\"Fire ONE api_call step for ONE real person of the team, for real, and return both halves: result.request = the wire request as it went out (method, URL with the variables rendered and the query appended, headers, body; before the connection\u0026#x27;s auth was injected) and result.status / http_status / response / error_code / error_message = what the target answered. The step is the draft node verbatim (ids optional, nothing saved); {{ai.}} has no record to read and renders empty (or its fallback). A refusing target is status failed in a 200, never an error envelope; the error envelope is reserved for an incomplete node (422, keyed step.) or an unknown person (404). Throttled 10/min. Use it before publish to see exactly what a journey would send. Contract: - MCP tool test_api_call_workflow, registry package mcp.playtables/workflows, mount playtables.workflows. - Operation action, response envelope action. - Flags: none.\">\u003cmeta data-mint-head name=\"application-name\" content=\"GetSales\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/getsales/Xk1sYTgBQiFOp0cW/_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/getsales/Xk1sYTgBQiFOp0cW/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/getsales/Xk1sYTgBQiFOp0cW/_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/getsales/Xk1sYTgBQiFOp0cW/_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/getsales/Xk1sYTgBQiFOp0cW/_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/getsales/Xk1sYTgBQiFOp0cW/_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/getsales/Xk1sYTgBQiFOp0cW/_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/getsales/Xk1sYTgBQiFOp0cW/_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/getsales/Xk1sYTgBQiFOp0cW/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Test an API call step - GetSales\">\u003cmeta data-mint-head property=\"og:description\" content=\"Fire ONE api_call step for ONE real person of the team, for real, and return both halves: result.request = the wire request as it went out (method, URL with the variables rendered and the query appended, headers, body; before the connection\u0026#x27;s auth was injected) and result.status / http_status / response / error_code / error_message = what the target answered. The step is the draft node verbatim (ids optional, nothing saved); {{ai.}} has no record to read and renders empty (or its fallback). A refusing target is status failed in a 200, never an error envelope; the error envelope is reserved for an incomplete node (422, keyed step.) or an unknown person (404). Throttled 10/min. Use it before publish to see exactly what a journey would send. Contract: - MCP tool test_api_call_workflow, registry package mcp.playtables/workflows, mount playtables.workflows. - Operation action, response envelope action. - Flags: none.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"GetSales\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.getsales.io/api-reference/playtables/workflows/test-an-api-call-step\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://getsales.mintlify.app/_mintlify/api/og/v2?division=workflows\u0026amp;title=Test+an+API+call+step\u0026amp;description=Fire+ONE+api_call+step+for+ONE+real+person+of+the+team%2C+for+real%2C+and+return+both+halves%3A+result.request+%3D+the+wire+request+as+it+went+out+%28method%2C+URL+with+the\u0026amp;theme=2557d625acdab73e379ce8c9\u0026amp;signature=beee406a4ed337418180bd6022ea1ecc05e6bf0bc83efc1d0e6cc2f8f0f8dafd\">\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=\"Test an API call step - GetSales\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Fire ONE api_call step for ONE real person of the team, for real, and return both halves: result.request = the wire request as it went out (method, URL with the variables rendered and the query appended, headers, body; before the connection\u0026#x27;s auth was injected) and result.status / http_status / response / error_code / error_message = what the target answered. The step is the draft node verbatim (ids optional, nothing saved); {{ai.}} has no record to read and renders empty (or its fallback). A refusing target is status failed in a 200, never an error envelope; the error envelope is reserved for an incomplete node (422, keyed step.) or an unknown person (404). Throttled 10/min. Use it before publish to see exactly what a journey would send. Contract: - MCP tool test_api_call_workflow, registry package mcp.playtables/workflows, mount playtables.workflows. - Operation action, response envelope action. - Flags: none.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://getsales.mintlify.app/_mintlify/api/og/v2?division=workflows\u0026amp;title=Test+an+API+call+step\u0026amp;description=Fire+ONE+api_call+step+for+ONE+real+person+of+the+team%2C+for+real%2C+and+return+both+halves%3A+result.request+%3D+the+wire+request+as+it+went+out+%28method%2C+URL+with+the\u0026amp;theme=2557d625acdab73e379ce8c9\u0026amp;signature=beee406a4ed337418180bd6022ea1ecc05e6bf0bc83efc1d0e6cc2f8f0f8dafd\">\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/getsales/Xk1sYTgBQiFOp0cW/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"GetSales\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4B64FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.getsales.io/api-reference/playtables/workflows/test-an-api-call-step\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/playtables/workflows/test-an-api-call-step.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.getsales.io/#organization\",\"name\":\"GetSales\",\"url\":\"https://docs.getsales.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/getsales/um-g-UJLB97yTl7a/logo/light.svg?fit=max\u0026auto=format\u0026n=um-g-UJLB97yTl7a\u0026q=85\u0026s=428985b239f36914fa7e1e44f6211540\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.getsales.io#website\",\"name\":\"GetSales\",\"url\":\"https://docs.getsales.io\",\"publisher\":{\"@id\":\"https://docs.getsales.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.getsales.io/api-reference/playtables/workflows/test-an-api-call-step#webpage\",\"url\":\"https://docs.getsales.io/api-reference/playtables/workflows/test-an-api-call-step\",\"name\":\"Test an API call step\",\"description\":\"Fire ONE api_call step for ONE real person of the team, for real, and return both halves: result.request = the wire request as it went out (method, URL with the variables rendered and the query appended, headers, body; before the connection's auth was injected) and result.status / http_status / response / error_code / error_message = what the target answered. The step is the draft node verbatim (ids optional, nothing saved); {{ai.}} has no record to read and renders empty (or its fallback). A refusing target is status failed in a 200, never an error envelope; the error envelope is reserved for an incomplete node (422, keyed step.) or an unknown person (404). Throttled 10/min. Use it before publish to see exactly what a journey would send. Contract: - MCP tool test_api_call_workflow, registry package mcp.playtables/workflows, mount playtables.workflows. - Operation action, response envelope action. - Flags: none.\",\"dateModified\":\"2026-11-01T05:07:41.575Z\",\"isPartOf\":{\"@id\":\"https://docs.getsales.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.getsales.io/api-reference/playtables/workflows/test-an-api-call-step#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.getsales.io/api-reference/playtables/workflows/test-an-api-call-step#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Playtables API\",\"item\":\"https://docs.getsales.io/api-reference/playtables/activities/activities-metrics\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"workflows\",\"item\":\"https://docs.getsales.io/api-reference/playtables/workflows/create-workflow\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Test an API call step\",\"item\":\"https://docs.getsales.io/api-reference/playtables/workflows/test-an-api-call-step\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.getsales.io/api-reference/playtables/workflows/test-an-api-call-step#apireference\",\"headline\":\"Test an API call step\",\"name\":\"Test an API call step\",\"description\":\"Fire ONE api_call step for ONE real person of the team, for real, and return both halves: result.request = the wire request as it went out (method, URL with the variables rendered and the query appended, headers, body; before the connection's auth was injected) and result.status / http_status / response / error_code / error_message = what the target answered. The step is the draft node verbatim (ids optional, nothing saved); {{ai.}} has no record to read and renders empty (or its fallback). A refusing target is status failed in a 200, never an error envelope; the error envelope is reserved for an incomplete node (422, keyed step.) or an unknown person (404). Throttled 10/min. Use it before publish to see exactly what a journey would send. Contract: - MCP tool test_api_call_workflow, registry package mcp.playtables/workflows, mount playtables.workflows. - Operation action, response envelope action. - Flags: none.\",\"url\":\"https://docs.getsales.io/api-reference/playtables/workflows/test-an-api-call-step\",\"mainEntityOfPage\":{\"@id\":\"https://docs.getsales.io/api-reference/playtables/workflows/test-an-api-call-step#webpage\"},\"dateModified\":\"2026-11-01T05:07:41.575Z\",\"publisher\":{\"@id\":\"https://docs.getsales.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.getsales.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"GetSales\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"GetSales","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"API reference overview","sidebarTitle":"Overview","href":"/api-reference/overview"}]},{"group":"Playtables API","pages":[{"group":"activities","pages":[{"title":"Activities metrics","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/activities/metrics","href":"/api-reference/playtables/activities/activities-metrics"},{"title":"Search activities","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/activities/search","href":"/api-reference/playtables/activities/search-activities"},{"title":"Act on activity","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/activities/{sid}/act","href":"/api-reference/playtables/activities/act-on-activity"},{"title":"Draft for activity","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/activities/{sid}/draft","href":"/api-reference/playtables/activities/draft-for-activity"}]},{"group":"activity_objects","pages":[{"title":"Search activity objects","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/activity-objects/search","href":"/api-reference/playtables/activity_objects/search-activity-objects"}]},{"group":"companies","pages":[{"title":"Create company","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/companies","href":"/api-reference/playtables/companies/create-company"},{"title":"Companies metrics","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/companies/metrics","href":"/api-reference/playtables/companies/companies-metrics"},{"title":"Read LinkedIn company","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/companies/read-linkedin","href":"/api-reference/playtables/companies/read-linkedin-company"},{"title":"Search companies","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/companies/search","href":"/api-reference/playtables/companies/search-companies"},{"title":"Suggest company filter values","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/companies/suggest","href":"/api-reference/playtables/companies/suggest-company-filter-values"},{"title":"Get company","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml get /api/companies/{sid}","href":"/api-reference/playtables/companies/get-company"},{"title":"Delete company","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml delete /api/companies/{sid}","href":"/api-reference/playtables/companies/delete-company"},{"title":"Update company","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml patch /api/companies/{sid}","href":"/api-reference/playtables/companies/update-company"},{"title":"Detach company from playtable","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/companies/{sid}/detach","href":"/api-reference/playtables/companies/detach-company-from-playtable"},{"title":"Make company primary","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/companies/{sid}/make-primary","href":"/api-reference/playtables/companies/make-company-primary"},{"title":"Merge companies","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/companies/{sid}/merge","href":"/api-reference/playtables/companies/merge-companies"}]},{"group":"credit_ledger_entries","pages":[{"title":"Credit ledger entries metrics","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/credit-ledger-entries/metrics","href":"/api-reference/playtables/credit_ledger_entries/credit-ledger-entries-metrics"},{"title":"Search credit ledger entries","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/credit-ledger-entries/search","href":"/api-reference/playtables/credit_ledger_entries/search-credit-ledger-entries"}]},{"group":"data_source_items","pages":[{"title":"Move data source duplicates","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/data-source-items/move","href":"/api-reference/playtables/data_source_items/move-data-source-duplicates"},{"title":"Search data source items","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/data-source-items/search","href":"/api-reference/playtables/data_source_items/search-data-source-items"}]},{"group":"data_sources","pages":[{"title":"Create data source","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/data-sources","href":"/api-reference/playtables/data_sources/create-data-source"},{"title":"Plan data source filters","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/data-sources/ai-plan","href":"/api-reference/playtables/data_sources/plan-data-source-filters"},{"title":"Suggest data source filter values","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/data-sources/filter-typeahead","href":"/api-reference/playtables/data_sources/suggest-data-source-filter-values"},{"title":"Data sources metrics","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/data-sources/metrics","href":"/api-reference/playtables/data_sources/data-sources-metrics"},{"title":"Preview post engagement","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/data-sources/post-engagement-preview","href":"/api-reference/playtables/data_sources/preview-post-engagement"},{"title":"Search data sources","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/data-sources/search","href":"/api-reference/playtables/data_sources/search-data-sources"},{"title":"Create data source upload URL","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/data-sources/upload-url","href":"/api-reference/playtables/data_sources/create-data-source-upload-url"},{"title":"Get data source","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml get /api/data-sources/{sid}","href":"/api-reference/playtables/data_sources/get-data-source"},{"title":"Delete data source","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml delete /api/data-sources/{sid}","href":"/api-reference/playtables/data_sources/delete-data-source"},{"title":"Update data source","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml patch /api/data-sources/{sid}","href":"/api-reference/playtables/data_sources/update-data-source"},{"title":"Add companies to data source","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/data-sources/{sid}/add-companies","href":"/api-reference/playtables/data_sources/add-companies-to-data-source"},{"title":"Import data source","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/data-sources/{sid}/import","href":"/api-reference/playtables/data_sources/import-data-source"},{"title":"Rotate data source ingest key","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/data-sources/{sid}/rotate-ingest-key","href":"/api-reference/playtables/data_sources/rotate-data-source-ingest-key"}]},{"group":"notes","pages":[{"title":"Create note","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/notes","href":"/api-reference/playtables/notes/create-note"},{"title":"Search notes","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/notes/search","href":"/api-reference/playtables/notes/search-notes"},{"title":"Delete note","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml delete /api/notes/{sid}","href":"/api-reference/playtables/notes/delete-note"},{"title":"Update note","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml patch /api/notes/{sid}","href":"/api-reference/playtables/notes/update-note"}]},{"group":"people","pages":[{"title":"Create person","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/people","href":"/api-reference/playtables/people/create-person"},{"title":"People metrics","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/people/metrics","href":"/api-reference/playtables/people/people-metrics"},{"title":"Read LinkedIn person","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/people/read-linkedin","href":"/api-reference/playtables/people/read-linkedin-person"},{"title":"Search people","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/people/search","href":"/api-reference/playtables/people/search-people"},{"title":"Suggest person filter values","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/people/suggest","href":"/api-reference/playtables/people/suggest-person-filter-values"},{"title":"Get person","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml get /api/people/{sid}","href":"/api-reference/playtables/people/get-person"},{"title":"Delete person","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml delete /api/people/{sid}","href":"/api-reference/playtables/people/delete-person"},{"title":"Update person","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml patch /api/people/{sid}","href":"/api-reference/playtables/people/update-person"},{"title":"Make person primary","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/people/{sid}/make-primary","href":"/api-reference/playtables/people/make-person-primary"}]},{"group":"pipeline_stages","pages":[{"title":"Create pipeline stage","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/pipeline-stages","href":"/api-reference/playtables/pipeline_stages/create-pipeline-stage"},{"title":"Pipeline stages metrics","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/pipeline-stages/metrics","href":"/api-reference/playtables/pipeline_stages/pipeline-stages-metrics"},{"title":"Reset company stage derivation","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/pipeline-stages/reset-derivation","href":"/api-reference/playtables/pipeline_stages/reset-company-stage-derivation"},{"title":"Search pipeline stages","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/pipeline-stages/search","href":"/api-reference/playtables/pipeline_stages/search-pipeline-stages"},{"title":"Delete pipeline stage","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml delete /api/pipeline-stages/{sid}","href":"/api-reference/playtables/pipeline_stages/delete-pipeline-stage"},{"title":"Update pipeline stage","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml patch /api/pipeline-stages/{sid}","href":"/api-reference/playtables/pipeline_stages/update-pipeline-stage"},{"title":"Move objects into a pipeline stage","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/pipeline-stages/{sid}/move","href":"/api-reference/playtables/pipeline_stages/move-objects-into-a-pipeline-stage"}]},{"group":"plays","pages":[{"title":"Create play","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/plays","href":"/api-reference/playtables/plays/create-play"},{"title":"List play catalog","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/plays/catalog","href":"/api-reference/playtables/plays/list-play-catalog"},{"title":"Search plays","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/plays/search","href":"/api-reference/playtables/plays/search-plays"},{"title":"Delete play","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml delete /api/plays/{sid}","href":"/api-reference/playtables/plays/delete-play"},{"title":"Update play","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml patch /api/plays/{sid}","href":"/api-reference/playtables/plays/update-play"},{"title":"Estimate play","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/plays/{sid}/estimate","href":"/api-reference/playtables/plays/estimate-play"},{"title":"Run play","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/plays/{sid}/run","href":"/api-reference/playtables/plays/run-play"}]},{"group":"playtable_field_values","pages":[{"title":"Search playtable field values","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtable-field-values/search","href":"/api-reference/playtables/playtable_field_values/search-playtable-field-values"},{"title":"Write playtable field value","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtable-field-values/write","href":"/api-reference/playtables/playtable_field_values/write-playtable-field-value"},{"title":"Get playtable field value","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml get /api/playtable-field-values/{sid}","href":"/api-reference/playtables/playtable_field_values/get-playtable-field-value"},{"title":"Update playtable field value","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml patch /api/playtable-field-values/{sid}","href":"/api-reference/playtables/playtable_field_values/update-playtable-field-value"},{"title":"Reset playtable field value","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtable-field-values/{sid}/reset","href":"/api-reference/playtables/playtable_field_values/reset-playtable-field-value"}]},{"group":"playtable_fields","pages":[{"title":"Create playtable field","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtable-fields","href":"/api-reference/playtables/playtable_fields/create-playtable-field"},{"title":"Estimate playtable field AI cost","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtable-fields/estimate-ai-cost","href":"/api-reference/playtables/playtable_fields/estimate-playtable-field-ai-cost"},{"title":"Estimate playtable field backfill","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtable-fields/estimate-backfill","href":"/api-reference/playtables/playtable_fields/estimate-playtable-field-backfill"},{"title":"Generate playtable field condition","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtable-fields/generate-condition","href":"/api-reference/playtables/playtable_fields/generate-playtable-field-condition"},{"title":"Preview playtable field condition","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtable-fields/preview-condition","href":"/api-reference/playtables/playtable_fields/preview-playtable-field-condition"},{"title":"Preview playtable field run","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtable-fields/preview-run","href":"/api-reference/playtables/playtable_fields/preview-playtable-field-run"},{"title":"Search playtable fields","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtable-fields/search","href":"/api-reference/playtables/playtable_fields/search-playtable-fields"},{"title":"Get playtable field","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml get /api/playtable-fields/{sid}","href":"/api-reference/playtables/playtable_fields/get-playtable-field"},{"title":"Delete playtable field","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml delete /api/playtable-fields/{sid}","href":"/api-reference/playtables/playtable_fields/delete-playtable-field"},{"title":"Update playtable field","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml patch /api/playtable-fields/{sid}","href":"/api-reference/playtables/playtable_fields/update-playtable-field"},{"title":"Fill playtable field again","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtable-fields/{sid}/backfill","href":"/api-reference/playtables/playtable_fields/fill-playtable-field-again"},{"title":"Stop the runs on a playtable field","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtable-fields/{sid}/cancel-runs","href":"/api-reference/playtables/playtable_fields/stop-the-runs-on-a-playtable-field"},{"title":"Estimate semantic index cost","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtable-fields/{sid}/estimate-semantic-index","href":"/api-reference/playtables/playtable_fields/estimate-semantic-index-cost"}]},{"group":"playtable_runs","pages":[{"title":"Create playtable run","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtable-runs","href":"/api-reference/playtables/playtable_runs/create-playtable-run"},{"title":"Estimate playtable run cost","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtable-runs/estimate","href":"/api-reference/playtables/playtable_runs/estimate-playtable-run-cost"},{"title":"Search playtable runs","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtable-runs/search","href":"/api-reference/playtables/playtable_runs/search-playtable-runs"},{"title":"Get playtable run","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml get /api/playtable-runs/{sid}","href":"/api-reference/playtables/playtable_runs/get-playtable-run"},{"title":"Cancel playtable run","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtable-runs/{sid}/cancel","href":"/api-reference/playtables/playtable_runs/cancel-playtable-run"}]},{"group":"playtable_views","pages":[{"title":"Create playtable view","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtable-views","href":"/api-reference/playtables/playtable_views/create-playtable-view"},{"title":"Search playtable views","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtable-views/search","href":"/api-reference/playtables/playtable_views/search-playtable-views"},{"title":"Get playtable view","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml get /api/playtable-views/{sid}","href":"/api-reference/playtables/playtable_views/get-playtable-view"},{"title":"Delete playtable view","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml delete /api/playtable-views/{sid}","href":"/api-reference/playtables/playtable_views/delete-playtable-view"},{"title":"Update playtable view","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml patch /api/playtable-views/{sid}","href":"/api-reference/playtables/playtable_views/update-playtable-view"}]},{"group":"playtables","pages":[{"title":"Create playtable","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtables","href":"/api-reference/playtables/playtables/create-playtable"},{"title":"Playtables metrics","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtables/metrics","href":"/api-reference/playtables/playtables/playtables-metrics"},{"title":"Search playtables","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtables/search","href":"/api-reference/playtables/playtables/search-playtables"},{"title":"Workspace performance","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtables/workspace-performance","href":"/api-reference/playtables/playtables/workspace-performance"},{"title":"Get playtable","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml get /api/playtables/{sid}","href":"/api-reference/playtables/playtables/get-playtable"},{"title":"Delete playtable","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml delete /api/playtables/{sid}","href":"/api-reference/playtables/playtables/delete-playtable"},{"title":"Update playtable","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml patch /api/playtables/{sid}","href":"/api-reference/playtables/playtables/update-playtable"},{"title":"Stop the runs of a playtable","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtables/{sid}/cancel-runs","href":"/api-reference/playtables/playtables/stop-the-runs-of-a-playtable"},{"title":"Preview playtable delete","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtables/{sid}/delete-preview","href":"/api-reference/playtables/playtables/preview-playtable-delete"},{"title":"Playtable performance","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/playtables/{sid}/performance","href":"/api-reference/playtables/playtables/playtable-performance"}]},{"group":"result_pages","pages":[{"title":"Search result pages","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/result-pages/search","href":"/api-reference/playtables/result_pages/search-result-pages"},{"title":"Delete result page","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml delete /api/result-pages/{sid}","href":"/api-reference/playtables/result_pages/delete-result-page"}]},{"group":"sender_profiles","pages":[{"title":"Sender profile stats","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/sender-profiles/stats","href":"/api-reference/playtables/sender_profiles/sender-profile-stats"},{"title":"Sender profile performance","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/sender-profiles/{sid}/performance","href":"/api-reference/playtables/sender_profiles/sender-profile-performance"}]},{"group":"stoplist_entries","pages":[{"title":"Create stoplist entries","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/stoplist-entries","href":"/api-reference/playtables/stoplist_entries/create-stoplist-entries"},{"title":"Search stoplist entries","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/stoplist-entries/search","href":"/api-reference/playtables/stoplist_entries/search-stoplist-entries"},{"title":"Delete stoplist entry","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml delete /api/stoplist-entries/{sid}","href":"/api-reference/playtables/stoplist_entries/delete-stoplist-entry"}]},{"group":"tags","pages":[{"title":"Create tag","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/tags","href":"/api-reference/playtables/tags/create-tag"},{"title":"Search tags","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/tags/search","href":"/api-reference/playtables/tags/search-tags"},{"title":"Delete tag","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml delete /api/tags/{sid}","href":"/api-reference/playtables/tags/delete-tag"},{"title":"Update tag","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml patch /api/tags/{sid}","href":"/api-reference/playtables/tags/update-tag"}]},{"group":"workflow_attachments","pages":[{"title":"Search workflow attachments","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflow-attachments/search","href":"/api-reference/playtables/workflow_attachments/search-workflow-attachments"},{"title":"Create workflow attachment upload URL","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflow-attachments/upload-url","href":"/api-reference/playtables/workflow_attachments/create-workflow-attachment-upload-url"},{"title":"Delete workflow attachment","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml delete /api/workflow-attachments/{sid}","href":"/api-reference/playtables/workflow_attachments/delete-workflow-attachment"}]},{"group":"workflow_records","pages":[{"title":"Workflow records metrics","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflow-records/metrics","href":"/api-reference/playtables/workflow_records/workflow-records-metrics"},{"title":"Search workflow records","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflow-records/search","href":"/api-reference/playtables/workflow_records/search-workflow-records"},{"title":"Exit workflow record","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflow-records/{sid}/exit","href":"/api-reference/playtables/workflow_records/exit-workflow-record"},{"title":"Pause workflow record","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflow-records/{sid}/pause","href":"/api-reference/playtables/workflow_records/pause-workflow-record"},{"title":"Restart workflow record from top","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflow-records/{sid}/restart","href":"/api-reference/playtables/workflow_records/restart-workflow-record-from-top"},{"title":"Resume workflow record","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflow-records/{sid}/resume","href":"/api-reference/playtables/workflow_records/resume-workflow-record"}]},{"group":"workflow_sources","pages":[{"title":"Create workflow source","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflow-sources","href":"/api-reference/playtables/workflow_sources/create-workflow-source"},{"title":"Search workflow sources","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflow-sources/search","href":"/api-reference/playtables/workflow_sources/search-workflow-sources"},{"title":"Delete workflow source","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml delete /api/workflow-sources/{sid}","href":"/api-reference/playtables/workflow_sources/delete-workflow-source"},{"title":"Update workflow source","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml patch /api/workflow-sources/{sid}","href":"/api-reference/playtables/workflow_sources/update-workflow-source"},{"title":"Add people to workflow source","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflow-sources/{sid}/add-people","href":"/api-reference/playtables/workflow_sources/add-people-to-workflow-source"}]},{"group":"workflow_tasks","pages":[{"title":"Search workflow tasks","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflow-tasks/search","href":"/api-reference/playtables/workflow_tasks/search-workflow-tasks"},{"title":"Update workflow task","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml patch /api/workflow-tasks/{sid}","href":"/api-reference/playtables/workflow_tasks/update-workflow-task"},{"title":"Approve workflow task","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflow-tasks/{sid}/approve","href":"/api-reference/playtables/workflow_tasks/approve-workflow-task"},{"title":"Cancel workflow task","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflow-tasks/{sid}/cancel","href":"/api-reference/playtables/workflow_tasks/cancel-workflow-task"},{"title":"Complete workflow task","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflow-tasks/{sid}/complete","href":"/api-reference/playtables/workflow_tasks/complete-workflow-task"},{"title":"Retry workflow task","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflow-tasks/{sid}/retry","href":"/api-reference/playtables/workflow_tasks/retry-workflow-task"}]},{"group":"workflow_versions","pages":[{"title":"Search workflow versions","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflow-versions/search","href":"/api-reference/playtables/workflow_versions/search-workflow-versions"},{"title":"Get workflow version","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml get /api/workflow-versions/{sid}","href":"/api-reference/playtables/workflow_versions/get-workflow-version"}]},{"group":"workflows","pages":[{"title":"Create workflow","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflows","href":"/api-reference/playtables/workflows/create-workflow"},{"title":"Workflows metrics","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflows/metrics","href":"/api-reference/playtables/workflows/workflows-metrics"},{"title":"Search workflows","description":"List the team's outreach campaigns - multichannel LinkedIn + email sequence containers. Filter by status; q = LIKE over name + description; include records_counts for the per-campaign enrolled/active funnel, sources for audiences, published_version for the live step graph (heavy - full steps JSON). counts.groups.status rides every response; page_size:0 = status dashboard. Default UI scope excludes archived (client-side). Who is enrolled / stuck where → workflow-records search.\n\nContract:\n- MCP tool `search_workflows`, registry package `mcp.playtables/workflows`, mount `playtables.workflows`.\n- Operation `search`, response envelope `search`.\n- Flags: read only.","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflows/search","href":"/api-reference/playtables/workflows/search-workflows"},{"title":"Test an API call step","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflows/test-api-call","href":"/api-reference/playtables/workflows/test-an-api-call-step"},{"title":"Validate workflow","description":"Stateless dry-run of the FULL publish validator over a step document. Two modes, exactly one per call: draft_steps inline (pre-create authoring - ids optional, none assigned, nothing saved) or sid (validate the saved draft in place; item = the workflow row, null in stateless mode). Free and read-only: no writes, no events, no version minted.\n\nAn invalid DOCUMENT is a successful validation: 200 with valid:false + ALL errors at once (never fail-fast) in result.errors keyed steps[id=N].{field} (array position for id-less new steps), each with rule + received + fix hint; result.warnings = non-blocking domain lints; result.preview = deterministic ASCII render of every execution path - paste it to the user instead of narrating the graph. The error envelope is reserved for transport/input failures (malformed request, unknown sid). Checks are IDENTICAL to publish_workflow (see its description): document caps (100 steps incl. nested, depth \u003c= 3, 512 KB), end-last, id rules, duration ranges 1m..365d, plus the sender-pool / schedule / template-variable / when-AST / output_key (ask_ai and api_call, one key space) / api_call rules.\n\nThe canonical authoring loop: validate {draft_steps} → fix by result.errors → repeat (\u003c=3) → create → update iterations (carry ids) → publish once → resume. Exists because every publish of a changed draft mints a version - this is its free dry-run twin; a validate-then-publish loop is never surprised.\n\nContract:\n- MCP tool `validate_workflow`, registry package `mcp.playtables/workflows`, mount `playtables.workflows`.\n- Operation `action`, response envelope `action`.\n- Flags: read only.","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflows/validate","href":"/api-reference/playtables/workflows/validate-workflow"},{"title":"Get workflow","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml get /api/workflows/{sid}","href":"/api-reference/playtables/workflows/get-workflow"},{"title":"Delete workflow","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml delete /api/workflows/{sid}","href":"/api-reference/playtables/workflows/delete-workflow"},{"title":"Update workflow","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml patch /api/workflows/{sid}","href":"/api-reference/playtables/workflows/update-workflow"},{"title":"Pause workflow","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflows/{sid}/pause","href":"/api-reference/playtables/workflows/pause-workflow"},{"title":"Publish workflow","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflows/{sid}/publish","href":"/api-reference/playtables/workflows/publish-workflow"},{"title":"Resume workflow","deprecated":null,"version":null,"openapi":"/api-reference/playtables/openapi.yaml post /api/workflows/{sid}/resume","href":"/api-reference/playtables/workflows/resume-workflow"}]}]},{"group":"Unibox API","pages":[{"group":"agent_answers","pages":[{"title":"Add a Knowledge answer","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-answers","href":"/api-reference/unibox/agent_answers/add-a-knowledge-answer"},{"title":"Ask the Knowledge answers","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-answers/ask","href":"/api-reference/unibox/agent_answers/ask-the-knowledge-answers"},{"title":"Search Knowledge answers","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-answers/search","href":"/api-reference/unibox/agent_answers/search-knowledge-answers"},{"title":"Delete a Knowledge answer","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml delete /api/agent-answers/{sid}","href":"/api-reference/unibox/agent_answers/delete-a-knowledge-answer"},{"title":"Update a Knowledge answer","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml patch /api/agent-answers/{sid}","href":"/api-reference/unibox/agent_answers/update-a-knowledge-answer"}]},{"group":"agent_conversation_uploads","pages":[{"title":"Upload conversations","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-conversation-uploads","href":"/api-reference/unibox/agent_conversation_uploads/upload-conversations"},{"title":"Get a conversations upload","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml get /api/agent-conversation-uploads/{sid}","href":"/api-reference/unibox/agent_conversation_uploads/get-a-conversations-upload"},{"title":"Keep dialogues from an upload","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-conversation-uploads/{sid}/apply","href":"/api-reference/unibox/agent_conversation_uploads/keep-dialogues-from-an-upload"},{"title":"Discard a conversations upload","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-conversation-uploads/{sid}/discard","href":"/api-reference/unibox/agent_conversation_uploads/discard-a-conversations-upload"}]},{"group":"agent_examples","pages":[{"title":"Add to the golden set","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-examples","href":"/api-reference/unibox/agent_examples/add-to-the-golden-set"},{"title":"Forget golden set rows","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-examples/forget","href":"/api-reference/unibox/agent_examples/forget-golden-set-rows"},{"title":"Search the golden set","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-examples/search","href":"/api-reference/unibox/agent_examples/search-the-golden-set"},{"title":"Get golden set row","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml get /api/agent-examples/{sid}","href":"/api-reference/unibox/agent_examples/get-golden-set-row"},{"title":"Forget golden set row","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml delete /api/agent-examples/{sid}","href":"/api-reference/unibox/agent_examples/forget-golden-set-row"},{"title":"Update golden set row","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml patch /api/agent-examples/{sid}","href":"/api-reference/unibox/agent_examples/update-golden-set-row"}]},{"group":"agent_hints","pages":[{"title":"Search the hints","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-hints/search","href":"/api-reference/unibox/agent_hints/search-the-hints"},{"title":"Dismiss a hint","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-hints/{sid}/dismiss","href":"/api-reference/unibox/agent_hints/dismiss-a-hint"},{"title":"Resolve a hint","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-hints/{sid}/resolve","href":"/api-reference/unibox/agent_hints/resolve-a-hint"}]},{"group":"agent_plans","pages":[{"title":"Create agent plan","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-plans","href":"/api-reference/unibox/agent_plans/create-agent-plan"},{"title":"Draft follow-ups","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-plans/draft-followups","href":"/api-reference/unibox/agent_plans/draft-follow-ups"},{"title":"Schedule follow-ups","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-plans/schedule-followups","href":"/api-reference/unibox/agent_plans/schedule-follow-ups"},{"title":"Search agent plans","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-plans/search","href":"/api-reference/unibox/agent_plans/search-agent-plans"},{"title":"Update agent plan","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml patch /api/agent-plans/{sid}","href":"/api-reference/unibox/agent_plans/update-agent-plan"},{"title":"Steer agent plan","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-plans/{sid}/steer","href":"/api-reference/unibox/agent_plans/steer-agent-plan"}]},{"group":"agent_runs","pages":[{"title":"Search agent runs","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-runs/search","href":"/api-reference/unibox/agent_runs/search-agent-runs"},{"title":"Get agent run","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml get /api/agent-runs/{sid}","href":"/api-reference/unibox/agent_runs/get-agent-run"},{"title":"Add agent reply fix","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-runs/{sid}/apply-fix","href":"/api-reference/unibox/agent_runs/add-agent-reply-fix"},{"title":"Rewrite agent reply as a test","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-runs/{sid}/rewrite","href":"/api-reference/unibox/agent_runs/rewrite-agent-reply-as-a-test"},{"title":"Route agent reply fix","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-runs/{sid}/route-fix","href":"/api-reference/unibox/agent_runs/route-agent-reply-fix"}]},{"group":"agent_scenarios","pages":[{"title":"Create agent scenario","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-scenarios","href":"/api-reference/unibox/agent_scenarios/create-agent-scenario"},{"title":"Compose agent scenario","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-scenarios/compose","href":"/api-reference/unibox/agent_scenarios/compose-agent-scenario"},{"title":"Search agent scenarios","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-scenarios/search","href":"/api-reference/unibox/agent_scenarios/search-agent-scenarios"},{"title":"Get agent scenario","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml get /api/agent-scenarios/{sid}","href":"/api-reference/unibox/agent_scenarios/get-agent-scenario"},{"title":"Delete agent scenario","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml delete /api/agent-scenarios/{sid}","href":"/api-reference/unibox/agent_scenarios/delete-agent-scenario"},{"title":"Update agent scenario","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml patch /api/agent-scenarios/{sid}","href":"/api-reference/unibox/agent_scenarios/update-agent-scenario"},{"title":"Reset agent scenario","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-scenarios/{sid}/reset","href":"/api-reference/unibox/agent_scenarios/reset-agent-scenario"}]},{"group":"agent_source_parses","pages":[{"title":"Get a parse record","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml get /api/agent-source-parses/{sid}","href":"/api-reference/unibox/agent_source_parses/get-a-parse-record"},{"title":"Take the answers found into Knowledge","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-source-parses/{sid}/apply","href":"/api-reference/unibox/agent_source_parses/take-the-answers-found-into-knowledge"},{"title":"Discard a parse","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-source-parses/{sid}/discard","href":"/api-reference/unibox/agent_source_parses/discard-a-parse"}]},{"group":"agent_sources","pages":[{"title":"Add a website to the Knowledge","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-sources","href":"/api-reference/unibox/agent_sources/add-a-website-to-the-knowledge"},{"title":"Search Knowledge documents","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-sources/search","href":"/api-reference/unibox/agent_sources/search-knowledge-documents"},{"title":"Get Knowledge document","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml get /api/agent-sources/{sid}","href":"/api-reference/unibox/agent_sources/get-knowledge-document"},{"title":"Delete Knowledge document","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml delete /api/agent-sources/{sid}","href":"/api-reference/unibox/agent_sources/delete-knowledge-document"},{"title":"Update Knowledge document","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml patch /api/agent-sources/{sid}","href":"/api-reference/unibox/agent_sources/update-knowledge-document"},{"title":"Get a Knowledge file link","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml get /api/agent-sources/{sid}/file-link","href":"/api-reference/unibox/agent_sources/get-a-knowledge-file-link"},{"title":"Parse a document into answers","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-sources/{sid}/parse","href":"/api-reference/unibox/agent_sources/parse-a-document-into-answers"},{"title":"Read a document again","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-sources/{sid}/read-again","href":"/api-reference/unibox/agent_sources/read-a-document-again"},{"title":"Suggest how to read a document","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-sources/{sid}/suggest-instruction","href":"/api-reference/unibox/agent_sources/suggest-how-to-read-a-document"}]},{"group":"agent_tests","pages":[{"title":"Test the AI SDR on a reply","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-tests","href":"/api-reference/unibox/agent_tests/test-the-ai-sdr-on-a-reply"},{"title":"Search tests","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agent-tests/search","href":"/api-reference/unibox/agent_tests/search-tests"},{"title":"Get a test","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml get /api/agent-tests/{sid}","href":"/api-reference/unibox/agent_tests/get-a-test"}]},{"group":"agents","pages":[{"title":"Create agent","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agents","href":"/api-reference/unibox/agents/create-agent"},{"title":"Search agents","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agents/search","href":"/api-reference/unibox/agents/search-agents"},{"title":"Probe website","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agents/website-probe","href":"/api-reference/unibox/agents/probe-website"},{"title":"Read website text","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agents/website-text","href":"/api-reference/unibox/agents/read-website-text"},{"title":"Get agent","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml get /api/agents/{sid}","href":"/api-reference/unibox/agents/get-agent"},{"title":"Delete agent","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml delete /api/agents/{sid}","href":"/api-reference/unibox/agents/delete-agent"},{"title":"Update agent","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml patch /api/agents/{sid}","href":"/api-reference/unibox/agents/update-agent"},{"title":"Compose agent brief","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agents/{sid}/compose-brief","href":"/api-reference/unibox/agents/compose-agent-brief"},{"title":"Update agent hosts","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml patch /api/agents/{sid}/hosts","href":"/api-reference/unibox/agents/update-agent-hosts"},{"title":"Get agent overview","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml get /api/agents/{sid}/overview","href":"/api-reference/unibox/agents/get-agent-overview"},{"title":"Read agent website","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/agents/{sid}/read-website","href":"/api-reference/unibox/agents/read-agent-website"},{"title":"Get agent rules","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml get /api/agents/{sid}/rules","href":"/api-reference/unibox/agents/get-agent-rules"},{"title":"Update agent rules","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml patch /api/agents/{sid}/rules","href":"/api-reference/unibox/agents/update-agent-rules"},{"title":"Set a voice line","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml patch /api/agents/{sid}/voice","href":"/api-reference/unibox/agents/set-a-voice-line"}]},{"group":"conversation_events","pages":[{"title":"Search conversation events","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/conversation-events/search","href":"/api-reference/unibox/conversation_events/search-conversation-events"}]},{"group":"conversations","pages":[{"title":"Resolve conversation counterpart","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/conversations/resolve-counterpart","href":"/api-reference/unibox/conversations/resolve-conversation-counterpart"},{"title":"Search conversations","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/conversations/search","href":"/api-reference/unibox/conversations/search-conversations"},{"title":"Get conversation","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml get /api/conversations/{sid}","href":"/api-reference/unibox/conversations/get-conversation"},{"title":"Update conversation","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml patch /api/conversations/{sid}","href":"/api-reference/unibox/conversations/update-conversation"},{"title":"Add participants to a group conversation","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/conversations/{sid}/add-participants","href":"/api-reference/unibox/conversations/add-participants-to-a-group-conversation"},{"title":"Hand a conversation over to a teammate","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/conversations/{sid}/hand-over","href":"/api-reference/unibox/conversations/hand-a-conversation-over-to-a-teammate"},{"title":"Link conversation person","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/conversations/{sid}/link-person","href":"/api-reference/unibox/conversations/link-conversation-person"},{"title":"Get conversation LLM context","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml get /api/conversations/{sid}/llm-context","href":"/api-reference/unibox/conversations/get-conversation-llm-context"},{"title":"Merge conversation","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/conversations/{sid}/merge","href":"/api-reference/unibox/conversations/merge-conversation"},{"title":"Ask the AI SDR to try again on a conversation","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/conversations/{sid}/retry-agent","href":"/api-reference/unibox/conversations/ask-the-ai-sdr-to-try-again-on-a-conversation"},{"title":"Return conversation to orchestration","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/conversations/{sid}/return-to-orchestration","href":"/api-reference/unibox/conversations/return-conversation-to-orchestration"},{"title":"Stoplist conversation counterpart","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/conversations/{sid}/stoplist","href":"/api-reference/unibox/conversations/stoplist-conversation-counterpart"},{"title":"Unlink conversation person","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/conversations/{sid}/unlink-person","href":"/api-reference/unibox/conversations/unlink-conversation-person"}]},{"group":"messages","pages":[{"title":"Approve message drafts","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/messages/approve","href":"/api-reference/unibox/messages/approve-message-drafts"},{"title":"Cancel messages that have not gone out","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/messages/cancel","href":"/api-reference/unibox/messages/cancel-messages-that-have-not-gone-out"},{"title":"Dismiss message drafts","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/messages/dismiss","href":"/api-reference/unibox/messages/dismiss-message-drafts"},{"title":"Send failed messages again","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/messages/retry","href":"/api-reference/unibox/messages/send-failed-messages-again"},{"title":"Search messages","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/messages/search","href":"/api-reference/unibox/messages/search-messages"},{"title":"Send message","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/messages/send","href":"/api-reference/unibox/messages/send-message"},{"title":"Update message draft","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml patch /api/messages/{sid}","href":"/api-reference/unibox/messages/update-message-draft"},{"title":"Get a link to a message file","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml get /api/messages/{sid}/attachment-link","href":"/api-reference/unibox/messages/get-a-link-to-a-message-file"},{"title":"Delete a LinkedIn message for everyone","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/messages/{sid}/delete-on-linkedin","href":"/api-reference/unibox/messages/delete-a-linkedin-message-for-everyone"},{"title":"React to message","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/messages/{sid}/react","href":"/api-reference/unibox/messages/react-to-message"},{"title":"Regenerate message draft","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/messages/{sid}/regenerate","href":"/api-reference/unibox/messages/regenerate-message-draft"}]},{"group":"sender_profiles","pages":[{"title":"Create sender profile","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles","href":"/api-reference/unibox/sender_profiles/create-sender-profile"},{"title":"List available channel accounts","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/available-accounts","href":"/api-reference/unibox/sender_profiles/list-available-channel-accounts"},{"title":"Check a LinkedIn proxy","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/linkedin/check-proxy","href":"/api-reference/unibox/sender_profiles/check-a-linkedin-proxy"},{"title":"List LinkedIn proxy countries","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/linkedin/proxy-countries","href":"/api-reference/unibox/sender_profiles/list-linkedin-proxy-countries"},{"title":"Search sender profiles","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/search","href":"/api-reference/unibox/sender_profiles/search-sender-profiles"},{"title":"Start a mailbox connect for a new sender profile","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/start-email-connect","href":"/api-reference/unibox/sender_profiles/start-a-mailbox-connect-for-a-new-sender-profile"},{"title":"Start a LinkedIn connect for a new sender profile","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/start-linkedin-connect","href":"/api-reference/unibox/sender_profiles/start-a-linkedin-connect-for-a-new-sender-profile"},{"title":"Delete sender profile","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml delete /api/sender-profiles/{sid}","href":"/api-reference/unibox/sender_profiles/delete-sender-profile"},{"title":"Update sender profile","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml patch /api/sender-profiles/{sid}","href":"/api-reference/unibox/sender_profiles/update-sender-profile"},{"title":"Read sender profile limits","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/{sid}/limits","href":"/api-reference/unibox/sender_profiles/read-sender-profile-limits"},{"title":"Set sender profile smart limits","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/{sid}/limits/linkedin/smart-limits","href":"/api-reference/unibox/sender_profiles/set-sender-profile-smart-limits"},{"title":"Update a sender profile LinkedIn limit","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml patch /api/sender-profiles/{sid}/limits/linkedin/{smartLimitSid}","href":"/api-reference/unibox/sender_profiles/update-a-sender-profile-linkedin-limit"},{"title":"Attach a LinkedIn account to a sender profile","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/{sid}/linkedin/attach","href":"/api-reference/unibox/sender_profiles/attach-a-linkedin-account-to-a-sender-profile"},{"title":"Check a sender profile's LinkedIn connect","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/{sid}/linkedin/connect-status","href":"/api-reference/unibox/sender_profiles/check-a-sender-profiles-linkedin-connect"},{"title":"Detach the LinkedIn account from a sender profile","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/{sid}/linkedin/detach","href":"/api-reference/unibox/sender_profiles/detach-the-linkedin-account-from-a-sender-profile"},{"title":"Read sender profile LinkedIn limit history","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/{sid}/linkedin/limit-history","href":"/api-reference/unibox/sender_profiles/read-sender-profile-linkedin-limit-history"},{"title":"Start a LinkedIn connect for a sender profile","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/{sid}/linkedin/start-connect","href":"/api-reference/unibox/sender_profiles/start-a-linkedin-connect-for-a-sender-profile"},{"title":"Read sender profile LinkedIn sync settings","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/{sid}/linkedin/sync","href":"/api-reference/unibox/sender_profiles/read-sender-profile-linkedin-sync-settings"},{"title":"Update sender profile LinkedIn sync settings","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml patch /api/sender-profiles/{sid}/linkedin/sync","href":"/api-reference/unibox/sender_profiles/update-sender-profile-linkedin-sync-settings"},{"title":"Attach a mailbox to a sender profile","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/{sid}/mailboxes/attach","href":"/api-reference/unibox/sender_profiles/attach-a-mailbox-to-a-sender-profile"},{"title":"Connect an IMAP mailbox to a sender profile","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/{sid}/mailboxes/connect-imap","href":"/api-reference/unibox/sender_profiles/connect-an-imap-mailbox-to-a-sender-profile"},{"title":"Start a mailbox connect for a sender profile","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/{sid}/mailboxes/start-connect","href":"/api-reference/unibox/sender_profiles/start-a-mailbox-connect-for-a-sender-profile"},{"title":"Update a sender profile mailbox","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml patch /api/sender-profiles/{sid}/mailboxes/{emailAccountSid}","href":"/api-reference/unibox/sender_profiles/update-a-sender-profile-mailbox"},{"title":"Detach a mailbox from a sender profile","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/{sid}/mailboxes/{emailAccountSid}/detach","href":"/api-reference/unibox/sender_profiles/detach-a-mailbox-from-a-sender-profile"},{"title":"Disconnect a sender profile mailbox","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/{sid}/mailboxes/{emailAccountSid}/disconnect","href":"/api-reference/unibox/sender_profiles/disconnect-a-sender-profile-mailbox"},{"title":"Pause sending from a sender profile mailbox","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/{sid}/mailboxes/{emailAccountSid}/pause-sending","href":"/api-reference/unibox/sender_profiles/pause-sending-from-a-sender-profile-mailbox"},{"title":"Reconnect a sender profile mailbox","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/{sid}/mailboxes/{emailAccountSid}/reconnect","href":"/api-reference/unibox/sender_profiles/reconnect-a-sender-profile-mailbox"},{"title":"Resume sending from a sender profile mailbox","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/{sid}/mailboxes/{emailAccountSid}/resume-sending","href":"/api-reference/unibox/sender_profiles/resume-sending-from-a-sender-profile-mailbox"},{"title":"Sync a sender profile mailbox","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/{sid}/mailboxes/{emailAccountSid}/sync","href":"/api-reference/unibox/sender_profiles/sync-a-sender-profile-mailbox"},{"title":"List a sender profile mailbox tracking domains","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/{sid}/mailboxes/{emailAccountSid}/tracking-domains","href":"/api-reference/unibox/sender_profiles/list-a-sender-profile-mailbox-tracking-domains"},{"title":"Sync sender profile history","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/sender-profiles/{sid}/sync-history","href":"/api-reference/unibox/sender_profiles/sync-sender-profile-history"}]},{"group":"tasks","pages":[{"title":"Create task","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/tasks","href":"/api-reference/unibox/tasks/create-task"},{"title":"Search tasks","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/tasks/search","href":"/api-reference/unibox/tasks/search-tasks"},{"title":"Update task","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml patch /api/tasks/{sid}","href":"/api-reference/unibox/tasks/update-task"}]},{"group":"timeline","pages":[{"title":"Search timeline","deprecated":null,"version":null,"openapi":"/api-reference/unibox/openapi.yaml post /api/timeline/search","href":"/api-reference/unibox/timeline/search-timeline"}]}]},{"group":"Signals API","pages":[{"group":"profile_view_sightings","pages":[{"title":"Search profile view sightings","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml post /api/profile-view-sightings/search","href":"/api-reference/signals/profile_view_sightings/search-profile-view-sightings"},{"title":"Get profile view sighting","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml get /api/profile-view-sightings/{sid}","href":"/api-reference/signals/profile_view_sightings/get-profile-view-sighting"}]},{"group":"signal_preferences","pages":[{"title":"Get signal preferences","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml get /api/signal-preferences","href":"/api-reference/signals/signal_preferences/get-signal-preferences"},{"title":"Update signal preferences","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml patch /api/signal-preferences","href":"/api-reference/signals/signal_preferences/update-signal-preferences"},{"title":"Mark signals seen","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml post /api/signal-preferences/mark-seen","href":"/api-reference/signals/signal_preferences/mark-signals-seen"}]},{"group":"signal_settings","pages":[{"title":"Get signal settings","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml get /api/signal-settings","href":"/api-reference/signals/signal_settings/get-signal-settings"},{"title":"Update signal settings","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml patch /api/signal-settings","href":"/api-reference/signals/signal_settings/update-signal-settings"}]},{"group":"website_key_pages","pages":[{"title":"Create website key page","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml post /api/website-key-pages","href":"/api-reference/signals/website_key_pages/create-website-key-page"},{"title":"Search website key pages","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml post /api/website-key-pages/search","href":"/api-reference/signals/website_key_pages/search-website-key-pages"},{"title":"Delete website key page","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml delete /api/website-key-pages/{sid}","href":"/api-reference/signals/website_key_pages/delete-website-key-page"},{"title":"Update website key page","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml patch /api/website-key-pages/{sid}","href":"/api-reference/signals/website_key_pages/update-website-key-page"}]},{"group":"website_session_owners","pages":[{"title":"Search website session owners","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml post /api/website-session-owners/search","href":"/api-reference/signals/website_session_owners/search-website-session-owners"}]},{"group":"website_sessions","pages":[{"title":"Search website sessions","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml post /api/website-sessions/search","href":"/api-reference/signals/website_sessions/search-website-sessions"},{"title":"Get website session","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml get /api/website-sessions/{sid}","href":"/api-reference/signals/website_sessions/get-website-session"}]},{"group":"website_sites","pages":[{"title":"Create website site","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml post /api/website-sites","href":"/api-reference/signals/website_sites/create-website-site"},{"title":"Search website sites","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml post /api/website-sites/search","href":"/api-reference/signals/website_sites/search-website-sites"},{"title":"Get website site","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml get /api/website-sites/{sid}","href":"/api-reference/signals/website_sites/get-website-site"},{"title":"Delete website site","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml delete /api/website-sites/{sid}","href":"/api-reference/signals/website_sites/delete-website-site"},{"title":"Update website site","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml patch /api/website-sites/{sid}","href":"/api-reference/signals/website_sites/update-website-site"},{"title":"Rotate website site key","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml post /api/website-sites/{sid}/rotate-key","href":"/api-reference/signals/website_sites/rotate-website-site-key"},{"title":"Verify website site","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml post /api/website-sites/{sid}/verify","href":"/api-reference/signals/website_sites/verify-website-site"}]},{"group":"website_tracked_events","pages":[{"title":"Create website tracked event","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml post /api/website-tracked-events","href":"/api-reference/signals/website_tracked_events/create-website-tracked-event"},{"title":"Search website tracked events","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml post /api/website-tracked-events/search","href":"/api-reference/signals/website_tracked_events/search-website-tracked-events"},{"title":"Delete website tracked event","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml delete /api/website-tracked-events/{sid}","href":"/api-reference/signals/website_tracked_events/delete-website-tracked-event"},{"title":"Update website tracked event","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml patch /api/website-tracked-events/{sid}","href":"/api-reference/signals/website_tracked_events/update-website-tracked-event"}]},{"group":"website_visitors","pages":[{"title":"Identify website visitor by email","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml post /api/website-visitors/identify","href":"/api-reference/signals/website_visitors/identify-website-visitor-by-email"},{"title":"Search website visitors","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml post /api/website-visitors/search","href":"/api-reference/signals/website_visitors/search-website-visitors"},{"title":"Get website visitor","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml get /api/website-visitors/{sid}","href":"/api-reference/signals/website_visitors/get-website-visitor"},{"title":"Identify website visitor","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml post /api/website-visitors/{sid}/identify","href":"/api-reference/signals/website_visitors/identify-website-visitor"},{"title":"Unlink website visitor","deprecated":null,"version":null,"openapi":"/api-reference/signals/openapi.yaml post /api/website-visitors/{sid}/unlink","href":"/api-reference/signals/website_visitors/unlink-website-visitor"}]}]},{"group":"Integrations API","pages":[{"group":"custom_tools","pages":[{"title":"Create custom tool","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml post /api/custom-tools","href":"/api-reference/integrations/custom_tools/create-custom-tool"},{"title":"Search custom tools","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml post /api/custom-tools/search","href":"/api-reference/integrations/custom_tools/search-custom-tools"},{"title":"Delete custom tool","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml delete /api/custom-tools/{sid}","href":"/api-reference/integrations/custom_tools/delete-custom-tool"},{"title":"Update custom tool","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml patch /api/custom-tools/{sid}","href":"/api-reference/integrations/custom_tools/update-custom-tool"},{"title":"Test custom tool","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml post /api/custom-tools/{sid}/test","href":"/api-reference/integrations/custom_tools/test-custom-tool"}]},{"group":"provider_calls","pages":[{"title":"Provider calls metrics","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml post /api/provider-calls/metrics","href":"/api-reference/integrations/provider_calls/provider-calls-metrics"},{"title":"Search provider calls","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml post /api/provider-calls/search","href":"/api-reference/integrations/provider_calls/search-provider-calls"},{"title":"Get provider call","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml get /api/provider-calls/{sid}","href":"/api-reference/integrations/provider_calls/get-provider-call"},{"title":"List provider catalog","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml get /api/provider-catalog","href":"/api-reference/integrations/provider_calls/list-provider-catalog"}]},{"group":"provider_connections","pages":[{"title":"Create provider connection","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml post /api/provider-connections","href":"/api-reference/integrations/provider_connections/create-provider-connection"},{"title":"Start provider OAuth connect","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml post /api/provider-connections/oauth/authorize","href":"/api-reference/integrations/provider_connections/start-provider-oauth-connect"},{"title":"Complete provider OAuth connect","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml post /api/provider-connections/oauth/complete","href":"/api-reference/integrations/provider_connections/complete-provider-oauth-connect"},{"title":"Search provider connections","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml post /api/provider-connections/search","href":"/api-reference/integrations/provider_connections/search-provider-connections"},{"title":"Delete provider connection","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml delete /api/provider-connections/{sid}","href":"/api-reference/integrations/provider_connections/delete-provider-connection"},{"title":"Update provider connection","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml patch /api/provider-connections/{sid}","href":"/api-reference/integrations/provider_connections/update-provider-connection"},{"title":"Test provider connection","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml post /api/provider-connections/{sid}/test","href":"/api-reference/integrations/provider_connections/test-provider-connection"}]},{"group":"webhook_logs","pages":[{"title":"Webhook logs metrics","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml post /api/webhook-logs/metrics","href":"/api-reference/integrations/webhook_logs/webhook-logs-metrics"},{"title":"Search webhook logs","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml post /api/webhook-logs/search","href":"/api-reference/integrations/webhook_logs/search-webhook-logs"},{"title":"Cancel webhook delivery","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml post /api/webhook-logs/{sid}/cancel","href":"/api-reference/integrations/webhook_logs/cancel-webhook-delivery"},{"title":"Retry webhook delivery","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml post /api/webhook-logs/{sid}/retry","href":"/api-reference/integrations/webhook_logs/retry-webhook-delivery"}]},{"group":"webhooks","pages":[{"title":"Create webhook","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml post /api/webhooks","href":"/api-reference/integrations/webhooks/create-webhook"},{"title":"Search webhooks","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml post /api/webhooks/search","href":"/api-reference/integrations/webhooks/search-webhooks"},{"title":"Get webhook","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml get /api/webhooks/{sid}","href":"/api-reference/integrations/webhooks/get-webhook"},{"title":"Delete webhook","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml delete /api/webhooks/{sid}","href":"/api-reference/integrations/webhooks/delete-webhook"},{"title":"Update webhook","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml patch /api/webhooks/{sid}","href":"/api-reference/integrations/webhooks/update-webhook"},{"title":"Test webhook","deprecated":null,"version":null,"openapi":"/api-reference/integrations/openapi.yaml post /api/webhooks/{sid}/test","href":"/api-reference/integrations/webhooks/test-webhook"}]}]},{"group":"ID and Teams API","pages":[{"group":"api_keys","pages":[{"title":"Create API key","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/api-keys","href":"/api-reference/id/api_keys/create-api-key"},{"title":"API key metrics","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/api-keys/metrics","href":"/api-reference/id/api_keys/api-key-metrics"},{"title":"Search API keys","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/api-keys/search","href":"/api-reference/id/api_keys/search-api-keys"},{"title":"Get API key","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml get /api/api-keys/{sid}","href":"/api-reference/id/api_keys/get-api-key"},{"title":"Revoke API key","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml delete /api/api-keys/{sid}","href":"/api-reference/id/api_keys/revoke-api-key"},{"title":"Update API key","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml patch /api/api-keys/{sid}","href":"/api-reference/id/api_keys/update-api-key"},{"title":"Rotate API key","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/api-keys/{sid}/rotate","href":"/api-reference/id/api_keys/rotate-api-key"}]},{"group":"billing_payment_methods","pages":[{"title":"List payment methods","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml get /api/billing-payment-methods","href":"/api-reference/id/billing_payment_methods/list-payment-methods"},{"title":"Get add-card link","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/billing-payment-methods/get-add-link","href":"/api-reference/id/billing_payment_methods/get-add-card-link"},{"title":"Delete payment method","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml delete /api/billing-payment-methods/{sid}","href":"/api-reference/id/billing_payment_methods/delete-payment-method"}]},{"group":"billing_products","pages":[{"title":"Search billing products","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/billing-products/search","href":"/api-reference/id/billing_products/search-billing-products"}]},{"group":"billing_subscriptions","pages":[{"title":"Create subscription checkout","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/billing-subscriptions/create-checkout","href":"/api-reference/id/billing_subscriptions/create-subscription-checkout"},{"title":"Quote a billing order","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/billing-subscriptions/quote","href":"/api-reference/id/billing_subscriptions/quote-a-billing-order"},{"title":"Search billing subscriptions","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/billing-subscriptions/search","href":"/api-reference/id/billing_subscriptions/search-billing-subscriptions"},{"title":"Get billing subscription","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml get /api/billing-subscriptions/{sid}","href":"/api-reference/id/billing_subscriptions/get-billing-subscription"},{"title":"Cancel subscription","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/billing-subscriptions/{sid}/cancel","href":"/api-reference/id/billing_subscriptions/cancel-subscription"},{"title":"Change subscription","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/billing-subscriptions/{sid}/change","href":"/api-reference/id/billing_subscriptions/change-subscription"},{"title":"Get update-payment-method link","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/billing-subscriptions/{sid}/get-update-payment-method-link","href":"/api-reference/id/billing_subscriptions/get-update-payment-method-link"},{"title":"Pause subscription","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/billing-subscriptions/{sid}/pause","href":"/api-reference/id/billing_subscriptions/pause-subscription"},{"title":"Preview subscription change","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/billing-subscriptions/{sid}/preview-change","href":"/api-reference/id/billing_subscriptions/preview-subscription-change"},{"title":"Resume subscription","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/billing-subscriptions/{sid}/resume","href":"/api-reference/id/billing_subscriptions/resume-subscription"},{"title":"Undo scheduled cancel","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/billing-subscriptions/{sid}/undo-cancel","href":"/api-reference/id/billing_subscriptions/undo-scheduled-cancel"}]},{"group":"billing_transactions","pages":[{"title":"Billing transaction metrics","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/billing-transactions/metrics","href":"/api-reference/id/billing_transactions/billing-transaction-metrics"},{"title":"Search billing transactions","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/billing-transactions/search","href":"/api-reference/id/billing_transactions/search-billing-transactions"},{"title":"Get billing transaction","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml get /api/billing-transactions/{sid}","href":"/api-reference/id/billing_transactions/get-billing-transaction"},{"title":"Get transaction invoice","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/billing-transactions/{sid}/get-invoice","href":"/api-reference/id/billing_transactions/get-transaction-invoice"}]},{"group":"credit_lots","pages":[{"title":"Credit wallet balance","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/credit-lots/metrics","href":"/api-reference/id/credit_lots/credit-wallet-balance"}]},{"group":"credit_transactions","pages":[{"title":"Credit spend by day","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/credit-transactions/metrics","href":"/api-reference/id/credit_transactions/credit-spend-by-day"}]},{"group":"gtm_connections","pages":[{"title":"Complete gtm workspace link","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/gtm-connections/complete-link","href":"/api-reference/id/gtm_connections/complete-gtm-workspace-link"},{"title":"Search gtm connections","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/gtm-connections/search","href":"/api-reference/id/gtm_connections/search-gtm-connections"},{"title":"Start gtm workspace link","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/gtm-connections/start-link","href":"/api-reference/id/gtm_connections/start-gtm-workspace-link"},{"title":"Revoke gtm connection","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/gtm-connections/{sid}/revoke","href":"/api-reference/id/gtm_connections/revoke-gtm-connection"}]},{"group":"notifications","pages":[{"title":"Mark all notifications read","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/notifications/mark-all-read","href":"/api-reference/id/notifications/mark-all-notifications-read"},{"title":"Search notifications","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/notifications/search","href":"/api-reference/id/notifications/search-notifications"},{"title":"Get notification","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml get /api/notifications/{sid}","href":"/api-reference/id/notifications/get-notification"},{"title":"Dismiss notification","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml delete /api/notifications/{sid}","href":"/api-reference/id/notifications/dismiss-notification"},{"title":"Mark notification read","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/notifications/{sid}/mark-read","href":"/api-reference/id/notifications/mark-notification-read"}]},{"group":"oauth_authorizations","pages":[{"title":"Search connected apps","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/oauth-authorizations/search","href":"/api-reference/id/oauth_authorizations/search-connected-apps"},{"title":"Edit connected app","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml patch /api/oauth-authorizations/{sid}","href":"/api-reference/id/oauth_authorizations/edit-connected-app"},{"title":"Disconnect app (revoke grant)","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/oauth-authorizations/{sid}/revoke","href":"/api-reference/id/oauth_authorizations/disconnect-app-revoke-grant"}]},{"group":"oauth_clients","pages":[{"title":"Create OAuth client","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/oauth-clients","href":"/api-reference/id/oauth_clients/create-oauth-client"},{"title":"Search OAuth clients","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/oauth-clients/search","href":"/api-reference/id/oauth_clients/search-oauth-clients"},{"title":"Get OAuth client","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml get /api/oauth-clients/{sid}","href":"/api-reference/id/oauth_clients/get-oauth-client"},{"title":"Delete OAuth client","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml delete /api/oauth-clients/{sid}","href":"/api-reference/id/oauth_clients/delete-oauth-client"},{"title":"Update OAuth client","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml patch /api/oauth-clients/{sid}","href":"/api-reference/id/oauth_clients/update-oauth-client"},{"title":"Disable OAuth client","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/oauth-clients/{sid}/disable","href":"/api-reference/id/oauth_clients/disable-oauth-client"},{"title":"Enable OAuth client","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/oauth-clients/{sid}/enable","href":"/api-reference/id/oauth_clients/enable-oauth-client"}]},{"group":"sessions","pages":[{"title":"Search sessions","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/sessions/search","href":"/api-reference/id/sessions/search-sessions"},{"title":"Revoke session","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/sessions/{sid}/revoke","href":"/api-reference/id/sessions/revoke-session"}]},{"group":"ssl_certificates","pages":[{"title":"Search SSL certificates","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/ssl-certificates/search","href":"/api-reference/id/ssl_certificates/search-ssl-certificates"},{"title":"Get SSL certificate","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml get /api/ssl-certificates/{sid}","href":"/api-reference/id/ssl_certificates/get-ssl-certificate"},{"title":"Delete SSL certificate","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml delete /api/ssl-certificates/{sid}","href":"/api-reference/id/ssl_certificates/delete-ssl-certificate"},{"title":"Issue SSL certificate","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/ssl-certificates/{sid}/issue","href":"/api-reference/id/ssl_certificates/issue-ssl-certificate"},{"title":"Renew SSL certificate","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/ssl-certificates/{sid}/renew","href":"/api-reference/id/ssl_certificates/renew-ssl-certificate"}]},{"group":"subscription_allocations","pages":[{"title":"Create subscription allocation","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/subscription-allocations","href":"/api-reference/id/subscription_allocations/create-subscription-allocation"},{"title":"Search subscription allocations","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/subscription-allocations/search","href":"/api-reference/id/subscription_allocations/search-subscription-allocations"},{"title":"Get subscription allocation","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml get /api/subscription-allocations/{sid}","href":"/api-reference/id/subscription_allocations/get-subscription-allocation"},{"title":"Delete subscription allocation","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml delete /api/subscription-allocations/{sid}","href":"/api-reference/id/subscription_allocations/delete-subscription-allocation"},{"title":"Update subscription allocation","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml patch /api/subscription-allocations/{sid}","href":"/api-reference/id/subscription_allocations/update-subscription-allocation"}]},{"group":"team_members","pages":[{"title":"Invite team member","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/team-members","href":"/api-reference/id/team_members/invite-team-member"},{"title":"Accept team member invitation","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/team-members/accept-invitation","href":"/api-reference/id/team_members/accept-team-member-invitation"},{"title":"Search team members","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/team-members/search","href":"/api-reference/id/team_members/search-team-members"},{"title":"Remove team member","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml delete /api/team-members/{sid}","href":"/api-reference/id/team_members/remove-team-member"},{"title":"Update team member","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml patch /api/team-members/{sid}","href":"/api-reference/id/team_members/update-team-member"},{"title":"Resend team member invitation","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/team-members/{sid}/resend-invitation","href":"/api-reference/id/team_members/resend-team-member-invitation"}]},{"group":"teams","pages":[{"title":"Create team","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/teams","href":"/api-reference/id/teams/create-team"},{"title":"Search teams","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/teams/search","href":"/api-reference/id/teams/search-teams"},{"title":"Get team","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml get /api/teams/{sid}","href":"/api-reference/id/teams/get-team"},{"title":"Delete team","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml delete /api/teams/{sid}","href":"/api-reference/id/teams/delete-team"},{"title":"Update team","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml patch /api/teams/{sid}","href":"/api-reference/id/teams/update-team"},{"title":"Transfer team ownership","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/teams/{sid}/transfer-ownership","href":"/api-reference/id/teams/transfer-team-ownership"}]},{"group":"user_profiles","pages":[{"title":"Get user profile","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml get /api/user-profile","href":"/api-reference/id/user_profiles/get-user-profile"},{"title":"Update user profile","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml patch /api/user-profile","href":"/api-reference/id/user_profiles/update-user-profile"}]},{"group":"users","pages":[{"title":"Get current user","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml get /api/users/current","href":"/api-reference/id/users/get-current-user"},{"title":"Update current user","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml patch /api/users/current","href":"/api-reference/id/users/update-current-user"}]},{"group":"whitelabel_clients","pages":[{"title":"Search whitelabel clients","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/whitelabel-clients/search","href":"/api-reference/id/whitelabel_clients/search-whitelabel-clients"}]},{"group":"whitelabels","pages":[{"title":"Create whitelabel","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/whitelabels","href":"/api-reference/id/whitelabels/create-whitelabel"},{"title":"Search whitelabels","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/whitelabels/search","href":"/api-reference/id/whitelabels/search-whitelabels"},{"title":"Get whitelabel","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml get /api/whitelabels/{sid}","href":"/api-reference/id/whitelabels/get-whitelabel"},{"title":"Delete whitelabel","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml delete /api/whitelabels/{sid}","href":"/api-reference/id/whitelabels/delete-whitelabel"},{"title":"Update whitelabel","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml patch /api/whitelabels/{sid}","href":"/api-reference/id/whitelabels/update-whitelabel"},{"title":"Activate whitelabel","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/whitelabels/{sid}/activate","href":"/api-reference/id/whitelabels/activate-whitelabel"},{"title":"Open whitelabel client workspace","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/whitelabels/{sid}/clients/{teamSid}/open","href":"/api-reference/id/whitelabels/open-whitelabel-client-workspace"},{"title":"Disable whitelabel","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/whitelabels/{sid}/disable","href":"/api-reference/id/whitelabels/disable-whitelabel"},{"title":"Enable whitelabel","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/whitelabels/{sid}/enable","href":"/api-reference/id/whitelabels/enable-whitelabel"},{"title":"Verify whitelabel email domain","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml post /api/whitelabels/{sid}/verify-email-domain","href":"/api-reference/id/whitelabels/verify-whitelabel-email-domain"}]},{"group":"workspace_profiles","pages":[{"title":"Get workspace profile","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml get /api/workspace-profile","href":"/api-reference/id/workspace_profiles/get-workspace-profile"},{"title":"Update workspace profile","deprecated":null,"version":null,"openapi":"/api-reference/id/openapi.yaml patch /api/workspace-profile","href":"/api-reference/id/workspace_profiles/update-workspace-profile"}]}]}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/mcp/overview"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Test an API call step - GetSales","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}