Stop everything running on one column: every unfinished run holding it, active and waiting, is cancelled through the runs’ cancel, waiting ones first; a run over several columns stops whole. Queued cells go back; cells a worker holds finish and are charged (in_flight_cells_count); no refunds. Call with dry_run:true first and tell the user the numbers. Nothing running: runs []. A formula column fills and has no stop. One run: cancel_playtable_run; the table: cancel_playtable_runs.
Contract:
MCP tool cancel_playtable_field_runs, registry package mcp.playtables/playtable_fields, mount playtables.columns.
Operation action, response envelope action.
Flags: dangerous: the MCP layer gates it behind a preview/commit token, and the effect cannot be undone through this API.
The column (pt_fd_…) whose runs stop: an action column with runs on it. A plain or formula column answers an empty result (nothing of it ever runs: a formula column fills, and a fill has no stop); another team's is 403.
true: answer the counts (the runs, the queued cells that would go back, the cells still running that finish and are charged) and cancel nothing. Call it first and tell the user the numbers; then call without it.
{"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":[],"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/playtable_fields/stop-the-runs-on-a-playtable-field","slug":"/api-reference/playtables/playtable_fields/stop-the-runs-on-a-playtable-field","pageMetadata":{"title":"Stop the runs on a playtable field","description":"Stop everything running on one column: every unfinished run holding it, active and waiting, is cancelled through the runs' cancel, waiting ones first; a run over several columns stops whole. Queued cells go back; cells a worker holds finish and are charged (in_flight_cells_count); no refunds. Call with dry_run:true first and tell the user the numbers. Nothing running: runs []. A formula column fills and has no stop. One run: cancel_playtable_run; the table: cancel_playtable_runs.\n\nContract:\n- MCP tool `cancel_playtable_field_runs`, registry package `mcp.playtables/playtable_fields`, mount `playtables.columns`.\n- Operation `action`, response envelope `action`.\n- Flags: dangerous: the MCP layer gates it behind a preview/commit token, and the effect cannot be undone through this API.","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","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n li: \"li\",\n p: \"p\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Stop everything running on one column: every unfinished run holding it, active and waiting, is cancelled through the runs’ cancel, waiting ones first; a run over several columns stops whole. Queued cells go back; cells a worker holds finish and are charged (in_flight_cells_count); no refunds. Call with dry_run:true first and tell the user the numbers. Nothing running: runs []. A formula column fills and has no stop. One run: cancel_playtable_run; the table: cancel_playtable_runs.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Contract:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"MCP tool \", _jsx(_components.code, {\n children: \"cancel_playtable_field_runs\"\n }), \", registry package \", _jsx(_components.code, {\n children: \"mcp.playtables/playtable_fields\"\n }), \", mount \", _jsx(_components.code, {\n children: \"playtables.columns\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"Operation \", _jsx(_components.code, {\n children: \"action\"\n }), \", response envelope \", _jsx(_components.code, {\n children: \"action\"\n }), \".\"]\n }), \"\\n\", _jsx(_components.li, {\n children: \"Flags: dangerous: the MCP layer gates it behind a preview/commit token, and the effect cannot be undone through this API.\"\n }), \"\\n\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Stop the runs on a playtable field","description":"Stop everything running on one column: every unfinished run holding it, active and waiting, is cancelled through the runs' cancel, waiting ones first; a run over several columns stops whole. Queued cells go back; cells a worker holds finish and are charged (in_flight_cells_count); no refunds. Call with dry_run:true first and tell the user the numbers. Nothing running: runs []. A formula column fills and has no stop. One run: cancel_playtable_run; the table: cancel_playtable_runs.\n\nContract:\n- MCP tool `cancel_playtable_field_runs`, registry package `mcp.playtables/playtable_fields`, mount `playtables.columns`.\n- Operation `action`, response envelope `action`.\n- Flags: dangerous: the MCP layer gates it behind a preview/commit token, and the effect cannot be undone through this API.","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","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"cancel_playtable_field_runs","summary":"Stop the runs on a playtable field","description":"Stop everything running on one column: every unfinished run holding it, active and waiting, is cancelled through the runs' cancel, waiting ones first; a run over several columns stops whole. Queued cells go back; cells a worker holds finish and are charged (in_flight_cells_count); no refunds. Call with dry_run:true first and tell the user the numbers. Nothing running: runs []. A formula column fills and has no stop. One run: cancel_playtable_run; the table: cancel_playtable_runs.\n\nContract:\n- MCP tool `cancel_playtable_field_runs`, registry package `mcp.playtables/playtable_fields`, mount `playtables.columns`.\n- Operation `action`, response envelope `action`.\n- Flags: dangerous: the MCP layer gates it behind a preview/commit token, and the effect cannot be undone through this API.","tags":["playtable_fields"],"parameters":["4ebd9a9e-4de3-4022-ba69-c1aaef7acd13"],"requestBody":"c30051d7-56f9-4c9e-b4ed-944465e6f2ee","responses":{"200":"0f3102a5-712f-43a9-803a-4807d2594d43","4XX":"b0a81877-9f87-496a-8875-c531fd7c6a97","5XX":"80a8538d-92ef-4c3c-90c1-2bdcc5f58406"},"x-gs-mcp-tool":"cancel_playtable_field_runs","x-gs-mcp-mount":"playtables.columns","x-gs-entity":"playtable_fields","x-gs-operation":"action","x-gs-envelope":"action","x-gs-availability":"ga","x-gs-dangerous":true,"x-gs-mass-action":false,"x-gs-step-eligible":false,"x-gs-schedule-required":false,"x-gs-tool-class":"typical","method":"post","type":"path","servers":["71624634-b298-4b81-ba22-a05986db64c0"],"security":["d3ab5cdd-2aa1-426f-93da-16562fad923f"],"path":"/api/playtable-fields/{sid}/cancel-runs","baseUrlOptions":["https://beta.getsales.io/playtables/v1"],"title":"Stop the runs on a playtable field","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"4ebd9a9e-4de3-4022-ba69-c1aaef7acd13":{"name":"sid","in":"path","required":true,"description":"The column (pt_fd_…) whose runs stop: an action column with runs on it. A plain or formula column answers an empty result (nothing of it ever runs: a formula column fills, and a fill has no stop); another team's is 403.","schema":{"type":"string","minLength":18,"maxLength":18,"pattern":"^pt_fd_","description":"The column (pt_fd_…) whose runs stop: an action column with runs on it. A plain or formula column answers an empty result (nothing of it ever runs: a formula column fills, and a fill has no stop); another team's is 403.","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","description":"Request body of `cancel_playtable_field_runs`.","properties":{"dry_run":{"type":"boolean","description":"true: answer the counts (the runs, the queued cells that would go back, the cells still running that finish and are charged) and cancel nothing. Call it first and tell the user the numbers; then call without it.","uniqueKey":"dry_run","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"dry_run":true}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"0f3102a5-712f-43a9-803a-4807d2594d43":{"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","description":"kebab-case verb; matches the route segment.","isRequired":true,"uniqueKey":"action","typeLabel":"string"},"item":{"oneOf":[{"type":"object","properties":{"sid":{"type":"string","isRequired":true,"uniqueKey":"item.oneOf.0.sid","typeLabel":"string"},"team_sid":{"type":"string","isRequired":true,"uniqueKey":"item.oneOf.0.team_sid","typeLabel":"string"},"playtable_sid":{"type":"string","isRequired":true,"uniqueKey":"item.oneOf.0.playtable_sid","typeLabel":"string"},"object_type":{"type":"string","enum":["people","company"],"description":"Object grid this field belongs to: people or company rows. Fixed at create.","isRequired":true,"uniqueKey":"item.oneOf.0.object_type","typeLabel":"enum\u003cstring>"},"name":{"type":"string","description":"Display label, freely editable.","isRequired":true,"uniqueKey":"item.oneOf.0.name","typeLabel":"string"},"slug":{"type":"string","description":"Template-variable name ({{record.\u003cslug>}}); unique per playtable, IMMUTABLE after create.","isRequired":true,"uniqueKey":"item.oneOf.0.slug","typeLabel":"string"},"category":{"type":"string","enum":["scalar","widget","action"],"description":"scalar = data column (optional free formula) | widget = live CRM projection, no cells | action = paid executor. Derived from the type prefix - never user-supplied.","isRequired":true,"uniqueKey":"item.oneOf.0.category","typeLabel":"enum\u003cstring>"},"type":{"type":"string","enum":["scalar_text","scalar_number","scalar_currency","scalar_date","scalar_url","scalar_checkbox","scalar_select","scalar_multiselect","scalar_image","widget_data_source","widget_tags","widget_active_workflows","widget_notes","widget_company","widget_linkedin_id","widget_linkedin_channel","widget_work_email","widget_personal_email","widget_email_channel","widget_phones","widget_phone_channel","widget_last_touch","widget_activity","widget_deal_size","widget_website","widget_people_summary","widget_ai_sdr","action_ai_research","action_waterfall","action_gtm_tool","action_find_people"],"description":"The category derives from the prefix. Scalar and the generic action types fit both grids; action_find_people is company-only. Widgets: data_source, tags, last_touch, activity on both; deal_size, website, people_summary company-only; the rest people-only.","isRequired":true,"uniqueKey":"item.oneOf.0.type","typeLabel":"enum\u003cstring>"},"payload":{"oneOf":[{"type":"object","description":"Per-type payload; the discriminator is the row's type column, not an inner key - the shape must match type (scalar / widget / active_workflows / channel / ai_research / waterfall / gtm_tool / find_people branches) or the save fails with 422.","required":["formula","template","nl_formula","options","currency","option_colors"],"properties":{"formula":{"oneOf":[{"type":"string","maxLength":8192,"description":"CEL expression, NO {{ }} braces (those are for templates). Reference paths extract typed values: record.\u003cslug>(.\u003cseg>|[N])* - e.g. \"record.enrich.contact_info.websites[0].url\" (extraction column - the \"Add as column\" case; backfills all rows on save, re-derives on every source run; absent path → empty cell), and on a people grid company.record.\u003cslug>(.\u003cseg>|[N])* - the linked account's cell in this playtable (a Companies-tab column; on the company grid the account is the row itself). A company.record reference is checked against the Companies tab at save, backfilled the same way, and is NOT re-derived when the account's cell changes later (no cross-object dependency: a snapshot until the column's next recalc). Full CEL computes: operators, ?: conditions, has(), string concat - e.g. 'record.employees > 50 ? 100 : 40'. Syntax errors 422 at save; runtime failures land as cell error_msg. Evaluated backend-side; null = manually-entered column. Setting/changing it recomputes EVERY cell including pinned ones. When template is set, this is server-GENERATED from it - send the template instead of hand-writing CEL.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.0.formula.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":8192,"description":"CEL expression, NO {{ }} braces (those are for templates). Reference paths extract typed values: record.\u003cslug>(.\u003cseg>|[N])* - e.g. \"record.enrich.contact_info.websites[0].url\" (extraction column - the \"Add as column\" case; backfills all rows on save, re-derives on every source run; absent path → empty cell), and on a people grid company.record.\u003cslug>(.\u003cseg>|[N])* - the linked account's cell in this playtable (a Companies-tab column; on the company grid the account is the row itself). A company.record reference is checked against the Companies tab at save, backfilled the same way, and is NOT re-derived when the account's cell changes later (no cross-object dependency: a snapshot until the column's next recalc). Full CEL computes: operators, ?: conditions, has(), string concat - e.g. 'record.employees > 50 ? 100 : 40'. Syntax errors 422 at save; runtime failures land as cell error_msg. Evaluated backend-side; null = manually-entered column. Setting/changing it recomputes EVERY cell including pinned ones. When template is set, this is server-GENERATED from it - send the template instead of hand-writing CEL.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.0.formula.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.0.formula","typeLabel":"string | null"},"template":{"oneOf":[{"type":"string","maxLength":8192,"description":"The unified authoring source - prose + {{record.\u003cslug>…}} / {{people.\u003cattr>}} / {{company.\u003cattr>}} / {{company.record.\u003cslug>…}} variables, as in a flow-node message: \"Hey {{people.first_name}}, saw {{company.name}}!\". record.\u003cslug> is THIS tab's columns only ({{record.full_name}} is refused unless a column has that slug); people.\u003cattr> the person's catalog (full_name, first_name, company_name, ln_nickname, work_email, timezone, pipeline_stage_name...); company.\u003cattr> the linked account's (name, domain, website, ln_nickname, people_count...); company.record.\u003cslug> the company tab's columns. An attribute outside the catalogs is refused at save (unknown template variable people.title); people.role and people.headline are derived (the title and the profile line the enrichment, the search record or the inbox observed), and {{record.data_source.position}} still reads the raw record. Compiled into formula on every save: absent value → empty string; a LONE variable ({{record.enrich.company.employees}}) → the bare typed reference (numbers stay numbers); stray braces → 422 on payload.template. Round-trips verbatim. null = formula authored as CEL; template:\"\" clears both.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.0.template.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":8192,"description":"The unified authoring source - prose + {{record.\u003cslug>…}} / {{people.\u003cattr>}} / {{company.\u003cattr>}} / {{company.record.\u003cslug>…}} variables, as in a flow-node message: \"Hey {{people.first_name}}, saw {{company.name}}!\". record.\u003cslug> is THIS tab's columns only ({{record.full_name}} is refused unless a column has that slug); people.\u003cattr> the person's catalog (full_name, first_name, company_name, ln_nickname, work_email, timezone, pipeline_stage_name...); company.\u003cattr> the linked account's (name, domain, website, ln_nickname, people_count...); company.record.\u003cslug> the company tab's columns. An attribute outside the catalogs is refused at save (unknown template variable people.title); people.role and people.headline are derived (the title and the profile line the enrichment, the search record or the inbox observed), and {{record.data_source.position}} still reads the raw record. Compiled into formula on every save: absent value → empty string; a LONE variable ({{record.enrich.company.employees}}) → the bare typed reference (numbers stay numbers); stray braces → 422 on payload.template. Round-trips verbatim. null = formula authored as CEL; template:\"\" clears both.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.0.template.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.0.template","typeLabel":"string | null"},"nl_formula":{"oneOf":[{"type":"string","maxLength":2048,"description":"Natural-language source of truth the formula was compiled from - agents edit THIS and regenerate formula.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.0.nl_formula.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":2048,"description":"Natural-language source of truth the formula was compiled from - agents edit THIS and regenerate formula.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.0.nl_formula.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.0.nl_formula","typeLabel":"string | null"},"options":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"item.oneOf.0.payload.oneOf.0.options.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Option labels for scalar_select / scalar_multiselect (min 1); null for every other scalar type.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.0.options.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Option labels for scalar_select / scalar_multiselect (min 1); null for every other scalar type.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.0.options.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.0.options","typeLabel":"string[] | null"},"currency":{"oneOf":[{"type":"string","pattern":"^[A-Z]{3}$","description":"ISO-4217 code (e.g. USD) for scalar_currency only; null = render default USD; null for every other scalar type.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.0.currency.oneOf.0","typeLabel":"string"},{"type":"null","pattern":"^[A-Z]{3}$","description":"ISO-4217 code (e.g. USD) for scalar_currency only; null = render default USD; null for every other scalar type.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.0.currency.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.0.currency","typeLabel":"string | null"},"option_colors":{"oneOf":[{"type":"object","additionalProperties":{"type":"string","pattern":"^#[0-9a-f]{6}$","uniqueKey":"item.oneOf.0.payload.oneOf.0.option_colors.oneOf.0.additionalProperties","typeLabel":"string"},"description":"Option name → #rrggbb hex for scalar_select / scalar_multiselect only; keys ⊆ options (min 1 entry - send null instead of an empty map).","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.0.option_colors.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"type":"string","pattern":"^#[0-9a-f]{6}$","uniqueKey":"item.oneOf.0.payload.oneOf.0.option_colors.oneOf.1.additionalProperties","typeLabel":"string"},"description":"Option name → #rrggbb hex for scalar_select / scalar_multiselect only; keys ⊆ options (min 1 entry - send null instead of an empty map).","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.0.option_colors.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.0.option_colors","typeLabel":"object | null"}},"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.0","typeLabel":"object"},{"type":"object","description":"Per-type payload; the discriminator is the row's type column, not an inner key - the shape must match type (scalar / widget / active_workflows / channel / ai_research / waterfall / gtm_tool / find_people branches) or the save fails with 422.","properties":{},"additionalProperties":false,"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.1","typeLabel":"object"},{"type":"object","description":"Per-type payload; the discriminator is the row's type column, not an inner key - the shape must match type (scalar / widget / active_workflows / channel / ai_research / waterfall / gtm_tool / find_people branches) or the save fails with 422.","required":["workflow_sid"],"properties":{"workflow_sid":{"oneOf":[{"type":"string","minLength":18,"maxLength":18,"pattern":"^wf_wf_","description":"null = All workflows: a cell counts the lead's live journeys by state. A wf_wf_ sid = Specific workflow: the column is pinned to it, a cell shows the lead's record there, finished too; a live workflow (422 relation_not_found). A pin outlives its workflow.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.2.workflow_sid.oneOf.0","typeLabel":"string"},{"type":"null","minLength":18,"maxLength":18,"pattern":"^wf_wf_","description":"null = All workflows: a cell counts the lead's live journeys by state. A wf_wf_ sid = Specific workflow: the column is pinned to it, a cell shows the lead's record there, finished too; a live workflow (422 relation_not_found). A pin outlives its workflow.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.2.workflow_sid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.2.workflow_sid","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.2","typeLabel":"object"},{"type":"object","description":"Per-type payload; the discriminator is the row's type column, not an inner key - the shape must match type (scalar / widget / active_workflows / channel / ai_research / waterfall / gtm_tool / find_people branches) or the save fails with 422.","required":["stats_view","sender_profile_sid"],"properties":{"stats_view":{"type":"string","enum":["all","last","select"],"description":"Whose numbers the cell shows: all = every sender profile's facts summed, no face; last = the sender profile that touched the person on that channel last, its face and counters (the default); select = the one named by sender_profile_sid.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.3.stats_view","typeLabel":"enum\u003cstring>"},"sender_profile_sid":{"oneOf":[{"type":"string","minLength":18,"maxLength":18,"pattern":"^ub_sp_","description":"The sender profile of a select view (ub_sp_): required under select, null otherwise (422 validation_failed). It must name a live sender profile of the team (422 relation_not_found); a deleted pick is kept until another is set.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.3.sender_profile_sid.oneOf.0","typeLabel":"string"},{"type":"null","minLength":18,"maxLength":18,"pattern":"^ub_sp_","description":"The sender profile of a select view (ub_sp_): required under select, null otherwise (422 validation_failed). It must name a live sender profile of the team (422 relation_not_found); a deleted pick is kept until another is set.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.3.sender_profile_sid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.3.sender_profile_sid","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.3","typeLabel":"object"},{"type":"object","description":"Per-type payload; the discriminator is the row's type column, not an inner key - the shape must match type (scalar / widget / active_workflows / channel / ai_research / waterfall / gtm_tool / find_people branches) or the save fails with 422.","required":["prompt","model","output","options","output_mapping"],"properties":{"prompt":{"type":"string","minLength":1,"maxLength":8192,"description":"Twig-templated research instruction; the template's variables, an unknown one 422. What the source found on a person (the role, the location) is in the Data source cell: {{record.data_source}} (its slug on a new table) reads it whole.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.4.prompt","typeLabel":"string"},"model":{"type":"string","minLength":1,"maxLength":128,"description":"'auto' (gtm-api routes the call) or a concrete gtm-api model id; validated against the gtm-api registry at save.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.4.model","typeLabel":"string"},"output":{"type":"string","enum":["text","number","select","json"],"description":"Cell shape: text | number (non-numeric model answer → cell error) | select (one of payload.options) | json (extract values into columns via extraction formulas record.\u003cslug>.\u003cpath>; push onto people/company attributes via output_mapping).","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.4.output","typeLabel":"enum\u003cstring>"},"options":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"item.oneOf.0.payload.oneOf.4.options.oneOf.0.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Required (min 1) when output=select; null otherwise.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.4.options.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Required (min 1) when output=select; null otherwise.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.4.options.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.4.options","typeLabel":"string[] | null"},"output_mapping":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512,"description":"JSON path into the tool/model result, e.g. $.email or $.techs[0].name.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.4.output_mapping.oneOf.0.items.[INDEX].path","typeLabel":"string"},"target":{"type":"string","minLength":1,"maxLength":128,"description":"Entity-attribute target ONLY: people.\u003cattr> or company.\u003cattr> (writable-attribute registries; fill-if-empty at projection); validated at save. No record.\u003cslug> targets: columns pull via extraction formulas (record.\u003cslug>.\u003cpath>), never via push mapping.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.4.output_mapping.oneOf.0.items.[INDEX].target","typeLabel":"string"}},"required":["path","target"],"uniqueKey":"item.oneOf.0.payload.oneOf.4.output_mapping.oneOf.0.items.[INDEX]","typeLabel":"object"},"maxItems":20,"description":"Project a 'json' result onto people/company attributes, fill-if-empty (max 20); null = no attribute writes. Columns pull via extraction formulas instead.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.4.output_mapping.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512,"description":"JSON path into the tool/model result, e.g. $.email or $.techs[0].name."},"target":{"type":"string","minLength":1,"maxLength":128,"description":"Entity-attribute target ONLY: people.\u003cattr> or company.\u003cattr> (writable-attribute registries; fill-if-empty at projection); validated at save. No record.\u003cslug> targets: columns pull via extraction formulas (record.\u003cslug>.\u003cpath>), never via push mapping."}},"required":["path","target"]},"maxItems":20,"description":"Project a 'json' result onto people/company attributes, fill-if-empty (max 20); null = no attribute writes. Columns pull via extraction formulas instead.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.4.output_mapping.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.4.output_mapping","typeLabel":"object[] | null"},"web_search":{"type":"boolean","description":"Default false: the model answers with the vendor's server-side web search on. A per-model capability: 422 relation_not_found at save, and web_search_not_supported on a preview, for a model without it.","uniqueKey":"item.oneOf.0.payload.oneOf.4.web_search","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.4","typeLabel":"object"},{"type":"object","description":"Per-type payload; the discriminator is the row's type column, not an inner key - the shape must match type (scalar / widget / active_workflows / channel / ai_research / waterfall / gtm_tool / find_people branches) or the save fails with 422.","required":["steps","stop_on_first","output_mapping"],"properties":{"steps":{"type":"array","items":{"type":"object","properties":{"tool_sid":{"type":"string","minLength":1,"description":"The step: a gtm-api tool registry sid, an integration-platform step (in:{provider}.{operation}, in:tool.{sid}) or the row itself (row:people.work_email: the row's own address, free, verified unless already ok; people, once). Price validated at save.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.5.steps.items.[INDEX].tool_sid","typeLabel":"string"},"params":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"item.oneOf.0.payload.oneOf.5.steps.items.[INDEX].params.additionalProperties","typeLabel":"any"},"description":"Tool params; string values may be Twig templates over the same variable namespace.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.5.steps.items.[INDEX].params","typeLabel":"object"}},"required":["tool_sid","params"],"uniqueKey":"item.oneOf.0.payload.oneOf.5.steps.items.[INDEX]","typeLabel":"object"},"maxItems":10,"description":"1..10 ordered gtm-api tool steps, first accepted result wins; pass [] when config.preset_sid materializes them server-side (never both).","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.5.steps","typeLabel":"object[]"},"stop_on_first":{"type":"boolean","description":"true (default) = stop at the first step returning a non-empty accepted result; false = run all, first non-empty wins.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.5.stop_on_first","typeLabel":"boolean"},"output_mapping":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512,"description":"JSON path into the tool/model result, e.g. $.email or $.techs[0].name.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.5.output_mapping.oneOf.0.items.[INDEX].path","typeLabel":"string"},"target":{"type":"string","minLength":1,"maxLength":128,"description":"Entity-attribute target ONLY: people.\u003cattr> or company.\u003cattr> (writable-attribute registries; fill-if-empty at projection); validated at save. No record.\u003cslug> targets: columns pull via extraction formulas (record.\u003cslug>.\u003cpath>), never via push mapping.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.5.output_mapping.oneOf.0.items.[INDEX].target","typeLabel":"string"}},"required":["path","target"],"uniqueKey":"item.oneOf.0.payload.oneOf.5.output_mapping.oneOf.0.items.[INDEX]","typeLabel":"object"},"maxItems":20,"description":"Winning step's result → people/company attributes, fill-if-empty (max 20); null = no attribute writes.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.5.output_mapping.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512,"description":"JSON path into the tool/model result, e.g. $.email or $.techs[0].name."},"target":{"type":"string","minLength":1,"maxLength":128,"description":"Entity-attribute target ONLY: people.\u003cattr> or company.\u003cattr> (writable-attribute registries; fill-if-empty at projection); validated at save. No record.\u003cslug> targets: columns pull via extraction formulas (record.\u003cslug>.\u003cpath>), never via push mapping."}},"required":["path","target"]},"maxItems":20,"description":"Winning step's result → people/company attributes, fill-if-empty (max 20); null = no attribute writes.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.5.output_mapping.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.5.output_mapping","typeLabel":"object[] | null"},"verify":{"oneOf":[{"type":"object","properties":{"tool_sid":{"type":"string","minLength":1,"description":"The step: a gtm-api tool registry sid, an integration-platform step (in:{provider}.{operation}, in:tool.{sid}) or the row itself (row:people.work_email: the row's own address, free, verified unless already ok; people, once). Price validated at save.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.5.verify.oneOf.0.tool_sid","typeLabel":"string"},"params":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"item.oneOf.0.payload.oneOf.5.verify.oneOf.0.params.additionalProperties","typeLabel":"any"},"description":"Tool params; string values may be Twig templates over the same variable namespace.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.5.verify.oneOf.0.params","typeLabel":"object"}},"required":["tool_sid","params"],"description":"One in:{provider}.email.verify step on every email a finder returns, no params. valid accepts and ends the chain, so does catch_all while accept_catch_all is on; invalid, unknown or a failure rejects, the next finder runs. null = none, first found wins.","uniqueKey":"item.oneOf.0.payload.oneOf.5.verify.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"tool_sid":{"type":"string","minLength":1,"description":"The step: a gtm-api tool registry sid, an integration-platform step (in:{provider}.{operation}, in:tool.{sid}) or the row itself (row:people.work_email: the row's own address, free, verified unless already ok; people, once). Price validated at save."},"params":{"type":"object","additionalProperties":{"oneOf":[{}]},"description":"Tool params; string values may be Twig templates over the same variable namespace."}},"required":["tool_sid","params"],"description":"One in:{provider}.email.verify step on every email a finder returns, no params. valid accepts and ends the chain, so does catch_all while accept_catch_all is on; invalid, unknown or a failure rejects, the next finder runs. null = none, first found wins.","uniqueKey":"item.oneOf.0.payload.oneOf.5.verify.oneOf.1","typeLabel":"null"}],"uniqueKey":"item.oneOf.0.payload.oneOf.5.verify","typeLabel":"object | null"},"accept_catch_all":{"type":"boolean","description":"true (default): a catch-all address is accepted the moment the verifier says so and the chain stops there. false = catch-all emails are rejected like invalid ones (safe to send only) and the next finder runs. Meaningful only with verify set.","uniqueKey":"item.oneOf.0.payload.oneOf.5.accept_catch_all","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.5","typeLabel":"object"},{"type":"object","description":"Per-type payload; the discriminator is the row's type column, not an inner key - the shape must match type (scalar / widget / active_workflows / channel / ai_research / waterfall / gtm_tool / find_people branches) or the save fails with 422.","required":["tool_sid","params","output_mapping"],"properties":{"tool_sid":{"type":"string","minLength":1,"description":"gtm-api tool registry sid (external format); existence + price validated at save.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.6.tool_sid","typeLabel":"string"},"params":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"item.oneOf.0.payload.oneOf.6.params.additionalProperties","typeLabel":"any"},"description":"Tool params; string values may be Twig templates over the same variable namespace.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.6.params","typeLabel":"object"},"output_mapping":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512,"description":"JSON path into the tool/model result, e.g. $.email or $.techs[0].name.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.6.output_mapping.oneOf.0.items.[INDEX].path","typeLabel":"string"},"target":{"type":"string","minLength":1,"maxLength":128,"description":"Entity-attribute target ONLY: people.\u003cattr> or company.\u003cattr> (writable-attribute registries; fill-if-empty at projection); validated at save. No record.\u003cslug> targets: columns pull via extraction formulas (record.\u003cslug>.\u003cpath>), never via push mapping.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.6.output_mapping.oneOf.0.items.[INDEX].target","typeLabel":"string"}},"required":["path","target"],"uniqueKey":"item.oneOf.0.payload.oneOf.6.output_mapping.oneOf.0.items.[INDEX]","typeLabel":"object"},"maxItems":20,"description":"Tool result → people/company attributes, fill-if-empty (max 20); null = no attribute writes.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.6.output_mapping.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512,"description":"JSON path into the tool/model result, e.g. $.email or $.techs[0].name."},"target":{"type":"string","minLength":1,"maxLength":128,"description":"Entity-attribute target ONLY: people.\u003cattr> or company.\u003cattr> (writable-attribute registries; fill-if-empty at projection); validated at save. No record.\u003cslug> targets: columns pull via extraction formulas (record.\u003cslug>.\u003cpath>), never via push mapping."}},"required":["path","target"]},"maxItems":20,"description":"Tool result → people/company attributes, fill-if-empty (max 20); null = no attribute writes.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.6.output_mapping.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.6.output_mapping","typeLabel":"object[] | null"}},"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.6","typeLabel":"object"},{"type":"object","description":"Per-type payload; the discriminator is the row's type column, not an inner key - the shape must match type (scalar / widget / active_workflows / channel / ai_research / waterfall / gtm_tool / find_people branches) or the save fails with 422.","required":["prompt","per_company_limit","data_source_sid"],"properties":{"prompt":{"oneOf":[{"type":"string","maxLength":2000,"description":"Who to find at each company, in words; null = everyone there. With data_source_sid null on create the server births a find_people source; a new text on update births a new search and parks the old. 422 prohibited beside a picked data_source_sid.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.7.prompt.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":2000,"description":"Who to find at each company, in words; null = everyone there. With data_source_sid null on create the server births a find_people source; a new text on update births a new search and parks the old. 422 prohibited beside a picked data_source_sid.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.7.prompt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.7.prompt","typeLabel":"string | null"},"per_company_limit":{"type":"integer","minimum":1,"maximum":25,"description":"People taken per company, 1..25 (one search page, by relevance). Default 1. Mirrored onto the column's own search; read from a picked one.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.7.per_company_limit","typeLabel":"integer"},"data_source_sid":{"oneOf":[{"type":"string","description":"The find_people source the cells search (ds_sc_). null on create = the server makes one for the column (the sid comes back). A sid = a find_people search of the SAME table, as is (422 other_table elsewhere, relation_not_found when gone). Never null stored.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.7.data_source_sid.oneOf.0","typeLabel":"string"},{"type":"null","description":"The find_people source the cells search (ds_sc_). null on create = the server makes one for the column (the sid comes back). A sid = a find_people search of the SAME table, as is (422 other_table elsewhere, relation_not_found when gone). Never null stored.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.7.data_source_sid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.7.data_source_sid","typeLabel":"string | null"},"qualify":{"oneOf":[{"type":"object","properties":{"on":{"type":"boolean","description":"The switch. `on` with no criterion is refused (422 on qualify.criterion, rule required_if).","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.7.qualify.oneOf.0.on","typeLabel":"boolean"},"criterion":{"oneOf":[{"type":"string","minLength":1,"maxLength":2000,"description":"Who passes, in the user's words (\"a decision maker at a marketing agency, not a freelancer\"). Trimmed; null while the check is off.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.7.qualify.oneOf.0.criterion.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"maxLength":2000,"description":"Who passes, in the user's words (\"a decision maker at a marketing agency, not a freelancer\"). Trimmed; null while the check is off.","isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.7.qualify.oneOf.0.criterion.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.7.qualify.oneOf.0.criterion","typeLabel":"string | null"}},"required":["on","criterion"],"additionalProperties":false,"description":"Check on save: {on, criterion} the column's own search takes at every save, judging the people the walk finds before they land (data_sources.qualify); null or absent = no check. 422 prohibited beside a picked data_source_sid (it has its own gate).","uniqueKey":"item.oneOf.0.payload.oneOf.7.qualify.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"on":{"type":"boolean","description":"The switch. `on` with no criterion is refused (422 on qualify.criterion, rule required_if)."},"criterion":{"oneOf":[{"type":"string","minLength":1,"maxLength":2000,"description":"Who passes, in the user's words (\"a decision maker at a marketing agency, not a freelancer\"). Trimmed; null while the check is off."},{"type":"null","minLength":1,"maxLength":2000,"description":"Who passes, in the user's words (\"a decision maker at a marketing agency, not a freelancer\"). Trimmed; null while the check is off."}]}},"required":["on","criterion"],"additionalProperties":false,"description":"Check on save: {on, criterion} the column's own search takes at every save, judging the people the walk finds before they land (data_sources.qualify); null or absent = no check. 422 prohibited beside a picked data_source_sid (it has its own gate).","uniqueKey":"item.oneOf.0.payload.oneOf.7.qualify.oneOf.1","typeLabel":"null"}],"uniqueKey":"item.oneOf.0.payload.oneOf.7.qualify","typeLabel":"object | null"}},"isRequired":true,"uniqueKey":"item.oneOf.0.payload.oneOf.7","typeLabel":"object"}],"isRequired":true,"uniqueKey":"item.oneOf.0.payload","typeLabel":"object"},"config":{"type":"object","properties":{"auto_run":{"type":"boolean","description":"Action auto-fires when a row enters the table / the cell is empty (paid: empty→queued only). Default false.","isRequired":true,"uniqueKey":"item.oneOf.0.config.auto_run","typeLabel":"boolean"},"run_condition":{"oneOf":[{"type":"object","description":"Per-row filter-AST gate (§4.18 atoms, strict mode); unmet → cell status run_condition_not_met; null = always run.","required":["and"],"properties":{"and":{"type":"array","items":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.0.and.items.[INDEX].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.","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.0.and.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":20,"isRequired":true,"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.0.and","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.0","typeLabel":"object"},{"type":"object","description":"Per-row filter-AST gate (§4.18 atoms, strict mode); unmet → cell status run_condition_not_met; null = always run.","required":["or"],"properties":{"or":{"type":"array","items":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.1.or.items.[INDEX].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.","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.1.or.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":20,"isRequired":true,"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.1","typeLabel":"object"},{"type":"object","description":"Per-row filter-AST gate (§4.18 atoms, strict mode); unmet → cell status run_condition_not_met; null = always run.","required":["not"],"properties":{"not":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.2.not.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":"item.oneOf.0.config.run_condition.oneOf.2.not","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.2","typeLabel":"object"},{"type":"object","description":"Per-row filter-AST gate (§4.18 atoms, strict mode); unmet → cell status run_condition_not_met; null = always run.","required":["any"],"properties":{"any":{"type":"object","properties":{"path":{"type":"string","minLength":1,"description":"Array-valued path - the only way to reach inside an array.","isRequired":true,"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.3.any.path","typeLabel":"string"},"where":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.3.any.where.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":"item.oneOf.0.config.run_condition.oneOf.3.any.where","typeLabel":"object"}},"required":["path","where"],"additionalProperties":false,"isRequired":true,"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.3.any","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.3","typeLabel":"object"},{"type":"object","description":"Per-row filter-AST gate (§4.18 atoms, strict mode); unmet → cell status run_condition_not_met; null = always run.","required":["field","op"],"properties":{"field":{"type":"string","minLength":1,"description":"Namespaced path: record.\u003cslug> or a built-in object attribute; element-relative inside any.where.","isRequired":true,"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.field","typeLabel":"string"},"op":{"type":"object","properties":{"eq":{"oneOf":[{"type":"string","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.eq.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.eq.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.eq.oneOf.2","typeLabel":"boolean"}],"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.eq","typeLabel":"string | number | boolean"},"ne":{"oneOf":[{"type":"string","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.ne.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.ne.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.ne.oneOf.2","typeLabel":"boolean"}],"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.ne","typeLabel":"string | number | boolean"},"in":{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.in.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.in.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.in.items.[INDEX].oneOf.2","typeLabel":"boolean"}],"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.in.items.[INDEX]","typeLabel":"string | number | boolean"},"minItems":1,"maxItems":100,"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.in","typeLabel":"(string | number | boolean)[]"},"nin":{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.nin.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.nin.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.nin.items.[INDEX].oneOf.2","typeLabel":"boolean"}],"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.nin.items.[INDEX]","typeLabel":"string | number | boolean"},"minItems":1,"maxItems":100,"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.nin","typeLabel":"(string | number | boolean)[]"},"gt":{"oneOf":[{"type":"number","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.gt.oneOf.0","typeLabel":"number"},{"type":"string","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.gt.oneOf.1","typeLabel":"string"}],"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.gt","typeLabel":"number | string"},"gte":{"oneOf":[{"type":"number","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.gte.oneOf.0","typeLabel":"number"},{"type":"string","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.gte.oneOf.1","typeLabel":"string"}],"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.gte","typeLabel":"number | string"},"lt":{"oneOf":[{"type":"number","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.lt.oneOf.0","typeLabel":"number"},{"type":"string","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.lt.oneOf.1","typeLabel":"string"}],"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.lt","typeLabel":"number | string"},"lte":{"oneOf":[{"type":"number","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.lte.oneOf.0","typeLabel":"number"},{"type":"string","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.lte.oneOf.1","typeLabel":"string"}],"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.lte","typeLabel":"number | string"},"is_null":{"type":"boolean","uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.is_null","typeLabel":"boolean"},"contains":{"type":"string","minLength":1,"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.contains","typeLabel":"string"},"not_contains":{"type":"string","minLength":1,"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.not_contains","typeLabel":"string"},"contains_any":{"type":"array","items":{"type":"string","minLength":1,"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.contains_any.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":50,"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.contains_any","typeLabel":"string[]"},"not_contains_any":{"type":"array","items":{"type":"string","minLength":1,"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.not_contains_any.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":50,"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.not_contains_any","typeLabel":"string[]"},"starts_with":{"type":"string","minLength":1,"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op.starts_with","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4.op","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.4","typeLabel":"object"},{"description":"Per-row filter-AST gate (§4.18 atoms, strict mode); unmet → cell status run_condition_not_met; null = always run.","isRequired":true,"uniqueKey":"item.oneOf.0.config.run_condition.oneOf.5","typeLabel":"any"}],"isRequired":true,"uniqueKey":"item.oneOf.0.config.run_condition","typeLabel":"object · object · object · object · object · any"},"nl_condition":{"oneOf":[{"type":"string","maxLength":2048,"description":"Natural-language source of truth for run_condition - agents edit THIS and regenerate the AST.","isRequired":true,"uniqueKey":"item.oneOf.0.config.nl_condition.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":2048,"description":"Natural-language source of truth for run_condition - agents edit THIS and regenerate the AST.","isRequired":true,"uniqueKey":"item.oneOf.0.config.nl_condition.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.config.nl_condition","typeLabel":"string | null"},"daily_credit_limit":{"oneOf":[{"type":"integer","minimum":0,"exclusiveMinimum":true,"description":"Max credits this field may spend per UTC day (int > 0, enforced at run time); null = no cap.","isRequired":true,"uniqueKey":"item.oneOf.0.config.daily_credit_limit.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"exclusiveMinimum":true,"description":"Max credits this field may spend per UTC day (int > 0, enforced at run time); null = no cap.","isRequired":true,"uniqueKey":"item.oneOf.0.config.daily_credit_limit.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.config.daily_credit_limit","typeLabel":"integer | null"},"preset_sid":{"oneOf":[{"type":"string","description":"gtm-api preset sid (external) that materializes waterfall steps at save; action_waterfall only, mutually exclusive with hand-built steps. null otherwise.","isRequired":true,"uniqueKey":"item.oneOf.0.config.preset_sid.oneOf.0","typeLabel":"string"},{"type":"null","description":"gtm-api preset sid (external) that materializes waterfall steps at save; action_waterfall only, mutually exclusive with hand-built steps. null otherwise.","isRequired":true,"uniqueKey":"item.oneOf.0.config.preset_sid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.config.preset_sid","typeLabel":"string | null"}},"required":["auto_run","run_condition","nl_condition","daily_credit_limit","preset_sid"],"isRequired":true,"uniqueKey":"item.oneOf.0.config","typeLabel":"object"},"backfill":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["queued","running","done","failed"],"isRequired":true,"uniqueKey":"item.oneOf.0.backfill.oneOf.0.status","typeLabel":"enum\u003cstring>"},"scanned":{"type":"integer","minimum":0,"description":"Objects the scan has visited so far.","isRequired":true,"uniqueKey":"item.oneOf.0.backfill.oneOf.0.scanned","typeLabel":"integer"},"total":{"oneOf":[{"type":"integer","minimum":0,"description":"The scan size, known once the job starts (null while queued).","isRequired":true,"uniqueKey":"item.oneOf.0.backfill.oneOf.0.total.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"The scan size, known once the job starts (null while queued).","isRequired":true,"uniqueKey":"item.oneOf.0.backfill.oneOf.0.total.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.backfill.oneOf.0.total","typeLabel":"integer | null"},"queued_at":{"oneOf":[{"type":"string","description":"ISO 8601 UTC: when the column started owing its backfill.","isRequired":true,"uniqueKey":"item.oneOf.0.backfill.oneOf.0.queued_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 8601 UTC: when the column started owing its backfill.","isRequired":true,"uniqueKey":"item.oneOf.0.backfill.oneOf.0.queued_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.backfill.oneOf.0.queued_at","typeLabel":"string | null"},"started_at":{"oneOf":[{"type":"string","description":"ISO 8601 UTC: when the job took it.","isRequired":true,"uniqueKey":"item.oneOf.0.backfill.oneOf.0.started_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 8601 UTC: when the job took it.","isRequired":true,"uniqueKey":"item.oneOf.0.backfill.oneOf.0.started_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.backfill.oneOf.0.started_at","typeLabel":"string | null"},"finished_at":{"oneOf":[{"type":"string","description":"ISO 8601 UTC: when it ended, done or failed.","isRequired":true,"uniqueKey":"item.oneOf.0.backfill.oneOf.0.finished_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 8601 UTC: when it ended, done or failed.","isRequired":true,"uniqueKey":"item.oneOf.0.backfill.oneOf.0.finished_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.backfill.oneOf.0.finished_at","typeLabel":"string | null"},"error":{"oneOf":[{"type":"string","description":"A reason token (backfill_failed) on failed, never an exception message.","isRequired":true,"uniqueKey":"item.oneOf.0.backfill.oneOf.0.error.oneOf.0","typeLabel":"string"},{"type":"null","description":"A reason token (backfill_failed) on failed, never an exception message.","isRequired":true,"uniqueKey":"item.oneOf.0.backfill.oneOf.0.error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.backfill.oneOf.0.error","typeLabel":"string | null"}},"required":["status","scanned","total","queued_at","started_at","finished_at","error"],"description":"The formula column's backfill ledger (see PlaytableFieldBackfill); null on a column with no formula.","isRequired":true,"uniqueKey":"item.oneOf.0.backfill.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"status":{"type":"string","enum":["queued","running","done","failed"]},"scanned":{"type":"integer","minimum":0,"description":"Objects the scan has visited so far."},"total":{"oneOf":[{"type":"integer","minimum":0,"description":"The scan size, known once the job starts (null while queued)."},{"type":"null","minimum":0,"description":"The scan size, known once the job starts (null while queued)."}]},"queued_at":{"oneOf":[{"type":"string","description":"ISO 8601 UTC: when the column started owing its backfill."},{"type":"null","description":"ISO 8601 UTC: when the column started owing its backfill."}]},"started_at":{"oneOf":[{"type":"string","description":"ISO 8601 UTC: when the job took it."},{"type":"null","description":"ISO 8601 UTC: when the job took it."}]},"finished_at":{"oneOf":[{"type":"string","description":"ISO 8601 UTC: when it ended, done or failed."},{"type":"null","description":"ISO 8601 UTC: when it ended, done or failed."}]},"error":{"oneOf":[{"type":"string","description":"A reason token (backfill_failed) on failed, never an exception message."},{"type":"null","description":"A reason token (backfill_failed) on failed, never an exception message."}]}},"required":["status","scanned","total","queued_at","started_at","finished_at","error"],"description":"The formula column's backfill ledger (see PlaytableFieldBackfill); null on a column with no formula.","isRequired":true,"uniqueKey":"item.oneOf.0.backfill.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.backfill","typeLabel":"object | null"},"created_by":{"type":"object","properties":{"actor_type":{"type":"string","enum":["user","support","api_key","system","agent"],"isRequired":true,"uniqueKey":"item.oneOf.0.created_by.actor_type","typeLabel":"enum\u003cstring>"},"actor_sid":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"item.oneOf.0.created_by.actor_sid.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"item.oneOf.0.created_by.actor_sid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.created_by.actor_sid","typeLabel":"string | null"},"team_sid":{"type":"string","isRequired":true,"uniqueKey":"item.oneOf.0.created_by.team_sid","typeLabel":"string"},"permissions":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"item.oneOf.0.created_by.permissions.additionalProperties","typeLabel":"any"},"description":"Internal audit context: the grant set the actor held at write time. Not a contract.","isRequired":true,"uniqueKey":"item.oneOf.0.created_by.permissions","typeLabel":"object"},"actor_name":{"oneOf":[{"type":"string","description":"The OAuth client that acted (\"Claude\", \"n8n\"); null for a user, an API key or a system job.","uniqueKey":"item.oneOf.0.created_by.actor_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"The OAuth client that acted (\"Claude\", \"n8n\"); null for a user, an API key or a system job.","uniqueKey":"item.oneOf.0.created_by.actor_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"item.oneOf.0.created_by.actor_name","typeLabel":"string | null"},"oauth_client_sid":{"oneOf":[{"type":"string","description":"The acting OAuth client (id_oc_*); null off the OAuth path.","uniqueKey":"item.oneOf.0.created_by.oauth_client_sid.oneOf.0","typeLabel":"string"},{"type":"null","description":"The acting OAuth client (id_oc_*); null off the OAuth path.","uniqueKey":"item.oneOf.0.created_by.oauth_client_sid.oneOf.1","typeLabel":"null"}],"uniqueKey":"item.oneOf.0.created_by.oauth_client_sid","typeLabel":"string | null"},"reason":{"oneOf":[{"type":"string","description":"Why a system actor wrote the row (snapshot_capture_job, ...); null otherwise.","uniqueKey":"item.oneOf.0.created_by.reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why a system actor wrote the row (snapshot_capture_job, ...); null otherwise.","uniqueKey":"item.oneOf.0.created_by.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"item.oneOf.0.created_by.reason","typeLabel":"string | null"},"cluster_id":{"oneOf":[{"type":"integer","description":"Internal audit context: the cluster that served the write.","uniqueKey":"item.oneOf.0.created_by.cluster_id.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Internal audit context: the cluster that served the write.","uniqueKey":"item.oneOf.0.created_by.cluster_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"item.oneOf.0.created_by.cluster_id","typeLabel":"integer | null"},"trace_id":{"oneOf":[{"type":"string","description":"Internal audit context: the trace id of the request that wrote the row.","uniqueKey":"item.oneOf.0.created_by.trace_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Internal audit context: the trace id of the request that wrote the row.","uniqueKey":"item.oneOf.0.created_by.trace_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"item.oneOf.0.created_by.trace_id","typeLabel":"string | null"}},"required":["actor_type","actor_sid","team_sid","permissions"],"isRequired":true,"uniqueKey":"item.oneOf.0.created_by","typeLabel":"object"},"deleted_by":{"oneOf":[{"type":"object","properties":{"actor_type":{"type":"string","enum":["user","support","api_key","system","agent"],"isRequired":true,"uniqueKey":"item.oneOf.0.deleted_by.oneOf.0.actor_type","typeLabel":"enum\u003cstring>"},"actor_sid":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"item.oneOf.0.deleted_by.oneOf.0.actor_sid.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"item.oneOf.0.deleted_by.oneOf.0.actor_sid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.deleted_by.oneOf.0.actor_sid","typeLabel":"string | null"},"team_sid":{"type":"string","isRequired":true,"uniqueKey":"item.oneOf.0.deleted_by.oneOf.0.team_sid","typeLabel":"string"},"permissions":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"item.oneOf.0.deleted_by.oneOf.0.permissions.additionalProperties","typeLabel":"any"},"description":"Internal audit context: the grant set the actor held at write time. Not a contract.","isRequired":true,"uniqueKey":"item.oneOf.0.deleted_by.oneOf.0.permissions","typeLabel":"object"},"actor_name":{"oneOf":[{"type":"string","description":"The OAuth client that acted (\"Claude\", \"n8n\"); null for a user, an API key or a system job.","uniqueKey":"item.oneOf.0.deleted_by.oneOf.0.actor_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"The OAuth client that acted (\"Claude\", \"n8n\"); null for a user, an API key or a system job.","uniqueKey":"item.oneOf.0.deleted_by.oneOf.0.actor_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"item.oneOf.0.deleted_by.oneOf.0.actor_name","typeLabel":"string | null"},"oauth_client_sid":{"oneOf":[{"type":"string","description":"The acting OAuth client (id_oc_*); null off the OAuth path.","uniqueKey":"item.oneOf.0.deleted_by.oneOf.0.oauth_client_sid.oneOf.0","typeLabel":"string"},{"type":"null","description":"The acting OAuth client (id_oc_*); null off the OAuth path.","uniqueKey":"item.oneOf.0.deleted_by.oneOf.0.oauth_client_sid.oneOf.1","typeLabel":"null"}],"uniqueKey":"item.oneOf.0.deleted_by.oneOf.0.oauth_client_sid","typeLabel":"string | null"},"reason":{"oneOf":[{"type":"string","description":"Why a system actor wrote the row (snapshot_capture_job, ...); null otherwise.","uniqueKey":"item.oneOf.0.deleted_by.oneOf.0.reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why a system actor wrote the row (snapshot_capture_job, ...); null otherwise.","uniqueKey":"item.oneOf.0.deleted_by.oneOf.0.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"item.oneOf.0.deleted_by.oneOf.0.reason","typeLabel":"string | null"},"cluster_id":{"oneOf":[{"type":"integer","description":"Internal audit context: the cluster that served the write.","uniqueKey":"item.oneOf.0.deleted_by.oneOf.0.cluster_id.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Internal audit context: the cluster that served the write.","uniqueKey":"item.oneOf.0.deleted_by.oneOf.0.cluster_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"item.oneOf.0.deleted_by.oneOf.0.cluster_id","typeLabel":"integer | null"},"trace_id":{"oneOf":[{"type":"string","description":"Internal audit context: the trace id of the request that wrote the row.","uniqueKey":"item.oneOf.0.deleted_by.oneOf.0.trace_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Internal audit context: the trace id of the request that wrote the row.","uniqueKey":"item.oneOf.0.deleted_by.oneOf.0.trace_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"item.oneOf.0.deleted_by.oneOf.0.trace_id","typeLabel":"string | null"}},"required":["actor_type","actor_sid","team_sid","permissions"],"isRequired":true,"uniqueKey":"item.oneOf.0.deleted_by.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"actor_type":{"type":"string","enum":["user","support","api_key","system","agent"]},"actor_sid":{"oneOf":[{"type":"string"},{"type":"null"}]},"team_sid":{"type":"string"},"actor_name":{"oneOf":[{"type":"string","description":"The OAuth client that acted (\"Claude\", \"n8n\"); null for a user, an API key or a system job."},{"type":"null","description":"The OAuth client that acted (\"Claude\", \"n8n\"); null for a user, an API key or a system job."}]},"oauth_client_sid":{"oneOf":[{"type":"string","description":"The acting OAuth client (id_oc_*); null off the OAuth path."},{"type":"null","description":"The acting OAuth client (id_oc_*); null off the OAuth path."}]},"reason":{"oneOf":[{"type":"string","description":"Why a system actor wrote the row (snapshot_capture_job, ...); null otherwise."},{"type":"null","description":"Why a system actor wrote the row (snapshot_capture_job, ...); null otherwise."}]},"permissions":{"type":"object","additionalProperties":{"oneOf":[{}]},"description":"Internal audit context: the grant set the actor held at write time. Not a contract."},"cluster_id":{"oneOf":[{"type":"integer","description":"Internal audit context: the cluster that served the write."},{"type":"null","description":"Internal audit context: the cluster that served the write."}]},"trace_id":{"oneOf":[{"type":"string","description":"Internal audit context: the trace id of the request that wrote the row."},{"type":"null","description":"Internal audit context: the trace id of the request that wrote the row."}]}},"required":["actor_type","actor_sid","team_sid","permissions"],"isRequired":true,"uniqueKey":"item.oneOf.0.deleted_by.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.deleted_by","typeLabel":"object | null"},"created_at":{"type":"string","isRequired":true,"uniqueKey":"item.oneOf.0.created_at","typeLabel":"string"},"updated_at":{"type":"string","isRequired":true,"uniqueKey":"item.oneOf.0.updated_at","typeLabel":"string"},"deleted_at":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"item.oneOf.0.deleted_at.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"item.oneOf.0.deleted_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item.oneOf.0.deleted_at","typeLabel":"string | null"}},"required":["sid","team_sid","playtable_sid","object_type","name","slug","category","type","payload","config","backfill","created_by","deleted_by","created_at","updated_at","deleted_at"],"isRequired":true,"uniqueKey":"item.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"sid":{"type":"string"},"team_sid":{"type":"string"},"playtable_sid":{"type":"string"},"object_type":{"type":"string","enum":["people","company"],"description":"Object grid this field belongs to: people or company rows. Fixed at create."},"name":{"type":"string","description":"Display label, freely editable."},"slug":{"type":"string","description":"Template-variable name ({{record.\u003cslug>}}); unique per playtable, IMMUTABLE after create."},"category":{"type":"string","enum":["scalar","widget","action"],"description":"scalar = data column (optional free formula) | widget = live CRM projection, no cells | action = paid executor. Derived from the type prefix - never user-supplied."},"type":{"type":"string","enum":["scalar_text","scalar_number","scalar_currency","scalar_date","scalar_url","scalar_checkbox","scalar_select","scalar_multiselect","scalar_image","widget_data_source","widget_tags","widget_active_workflows","widget_notes","widget_company","widget_linkedin_id","widget_linkedin_channel","widget_work_email","widget_personal_email","widget_email_channel","widget_phones","widget_phone_channel","widget_last_touch","widget_activity","widget_deal_size","widget_website","widget_people_summary","widget_ai_sdr","action_ai_research","action_waterfall","action_gtm_tool","action_find_people"],"description":"The category derives from the prefix. Scalar and the generic action types fit both grids; action_find_people is company-only. Widgets: data_source, tags, last_touch, activity on both; deal_size, website, people_summary company-only; the rest people-only."},"payload":{"oneOf":[{"type":"object","description":"Per-type payload; the discriminator is the row's type column, not an inner key - the shape must match type (scalar / widget / active_workflows / channel / ai_research / waterfall / gtm_tool / find_people branches) or the save fails with 422.","required":["formula","template","nl_formula","options","currency","option_colors"],"properties":{"formula":{"oneOf":[{"type":"string","maxLength":8192,"description":"CEL expression, NO {{ }} braces (those are for templates). Reference paths extract typed values: record.\u003cslug>(.\u003cseg>|[N])* - e.g. \"record.enrich.contact_info.websites[0].url\" (extraction column - the \"Add as column\" case; backfills all rows on save, re-derives on every source run; absent path → empty cell), and on a people grid company.record.\u003cslug>(.\u003cseg>|[N])* - the linked account's cell in this playtable (a Companies-tab column; on the company grid the account is the row itself). A company.record reference is checked against the Companies tab at save, backfilled the same way, and is NOT re-derived when the account's cell changes later (no cross-object dependency: a snapshot until the column's next recalc). Full CEL computes: operators, ?: conditions, has(), string concat - e.g. 'record.employees > 50 ? 100 : 40'. Syntax errors 422 at save; runtime failures land as cell error_msg. Evaluated backend-side; null = manually-entered column. Setting/changing it recomputes EVERY cell including pinned ones. When template is set, this is server-GENERATED from it - send the template instead of hand-writing CEL."},{"type":"null","maxLength":8192,"description":"CEL expression, NO {{ }} braces (those are for templates). Reference paths extract typed values: record.\u003cslug>(.\u003cseg>|[N])* - e.g. \"record.enrich.contact_info.websites[0].url\" (extraction column - the \"Add as column\" case; backfills all rows on save, re-derives on every source run; absent path → empty cell), and on a people grid company.record.\u003cslug>(.\u003cseg>|[N])* - the linked account's cell in this playtable (a Companies-tab column; on the company grid the account is the row itself). A company.record reference is checked against the Companies tab at save, backfilled the same way, and is NOT re-derived when the account's cell changes later (no cross-object dependency: a snapshot until the column's next recalc). Full CEL computes: operators, ?: conditions, has(), string concat - e.g. 'record.employees > 50 ? 100 : 40'. Syntax errors 422 at save; runtime failures land as cell error_msg. Evaluated backend-side; null = manually-entered column. Setting/changing it recomputes EVERY cell including pinned ones. When template is set, this is server-GENERATED from it - send the template instead of hand-writing CEL."}]},"template":{"oneOf":[{"type":"string","maxLength":8192,"description":"The unified authoring source - prose + {{record.\u003cslug>…}} / {{people.\u003cattr>}} / {{company.\u003cattr>}} / {{company.record.\u003cslug>…}} variables, as in a flow-node message: \"Hey {{people.first_name}}, saw {{company.name}}!\". record.\u003cslug> is THIS tab's columns only ({{record.full_name}} is refused unless a column has that slug); people.\u003cattr> the person's catalog (full_name, first_name, company_name, ln_nickname, work_email, timezone, pipeline_stage_name...); company.\u003cattr> the linked account's (name, domain, website, ln_nickname, people_count...); company.record.\u003cslug> the company tab's columns. An attribute outside the catalogs is refused at save (unknown template variable people.title); people.role and people.headline are derived (the title and the profile line the enrichment, the search record or the inbox observed), and {{record.data_source.position}} still reads the raw record. Compiled into formula on every save: absent value → empty string; a LONE variable ({{record.enrich.company.employees}}) → the bare typed reference (numbers stay numbers); stray braces → 422 on payload.template. Round-trips verbatim. null = formula authored as CEL; template:\"\" clears both."},{"type":"null","maxLength":8192,"description":"The unified authoring source - prose + {{record.\u003cslug>…}} / {{people.\u003cattr>}} / {{company.\u003cattr>}} / {{company.record.\u003cslug>…}} variables, as in a flow-node message: \"Hey {{people.first_name}}, saw {{company.name}}!\". record.\u003cslug> is THIS tab's columns only ({{record.full_name}} is refused unless a column has that slug); people.\u003cattr> the person's catalog (full_name, first_name, company_name, ln_nickname, work_email, timezone, pipeline_stage_name...); company.\u003cattr> the linked account's (name, domain, website, ln_nickname, people_count...); company.record.\u003cslug> the company tab's columns. An attribute outside the catalogs is refused at save (unknown template variable people.title); people.role and people.headline are derived (the title and the profile line the enrichment, the search record or the inbox observed), and {{record.data_source.position}} still reads the raw record. Compiled into formula on every save: absent value → empty string; a LONE variable ({{record.enrich.company.employees}}) → the bare typed reference (numbers stay numbers); stray braces → 422 on payload.template. Round-trips verbatim. null = formula authored as CEL; template:\"\" clears both."}]},"nl_formula":{"oneOf":[{"type":"string","maxLength":2048,"description":"Natural-language source of truth the formula was compiled from - agents edit THIS and regenerate formula."},{"type":"null","maxLength":2048,"description":"Natural-language source of truth the formula was compiled from - agents edit THIS and regenerate formula."}]},"options":{"oneOf":[{"type":"array","items":{"type":"string"},"minItems":1,"description":"Option labels for scalar_select / scalar_multiselect (min 1); null for every other scalar type."},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Option labels for scalar_select / scalar_multiselect (min 1); null for every other scalar type."}]},"currency":{"oneOf":[{"type":"string","pattern":"^[A-Z]{3}$","description":"ISO-4217 code (e.g. USD) for scalar_currency only; null = render default USD; null for every other scalar type."},{"type":"null","pattern":"^[A-Z]{3}$","description":"ISO-4217 code (e.g. USD) for scalar_currency only; null = render default USD; null for every other scalar type."}]},"option_colors":{"oneOf":[{"type":"object","additionalProperties":{"type":"string","pattern":"^#[0-9a-f]{6}$"},"description":"Option name → #rrggbb hex for scalar_select / scalar_multiselect only; keys ⊆ options (min 1 entry - send null instead of an empty map)."},{"type":"null","additionalProperties":{"type":"string","pattern":"^#[0-9a-f]{6}$"},"description":"Option name → #rrggbb hex for scalar_select / scalar_multiselect only; keys ⊆ options (min 1 entry - send null instead of an empty map)."}]}}},{"type":"object","description":"Per-type payload; the discriminator is the row's type column, not an inner key - the shape must match type (scalar / widget / active_workflows / channel / ai_research / waterfall / gtm_tool / find_people branches) or the save fails with 422.","properties":{},"additionalProperties":false},{"type":"object","description":"Per-type payload; the discriminator is the row's type column, not an inner key - the shape must match type (scalar / widget / active_workflows / channel / ai_research / waterfall / gtm_tool / find_people branches) or the save fails with 422.","required":["workflow_sid"],"properties":{"workflow_sid":{"oneOf":[{"type":"string","minLength":18,"maxLength":18,"pattern":"^wf_wf_","description":"null = All workflows: a cell counts the lead's live journeys by state. A wf_wf_ sid = Specific workflow: the column is pinned to it, a cell shows the lead's record there, finished too; a live workflow (422 relation_not_found). A pin outlives its workflow."},{"type":"null","minLength":18,"maxLength":18,"pattern":"^wf_wf_","description":"null = All workflows: a cell counts the lead's live journeys by state. A wf_wf_ sid = Specific workflow: the column is pinned to it, a cell shows the lead's record there, finished too; a live workflow (422 relation_not_found). A pin outlives its workflow."}]}},"additionalProperties":false},{"type":"object","description":"Per-type payload; the discriminator is the row's type column, not an inner key - the shape must match type (scalar / widget / active_workflows / channel / ai_research / waterfall / gtm_tool / find_people branches) or the save fails with 422.","required":["stats_view","sender_profile_sid"],"properties":{"stats_view":{"type":"string","enum":["all","last","select"],"description":"Whose numbers the cell shows: all = every sender profile's facts summed, no face; last = the sender profile that touched the person on that channel last, its face and counters (the default); select = the one named by sender_profile_sid."},"sender_profile_sid":{"oneOf":[{"type":"string","minLength":18,"maxLength":18,"pattern":"^ub_sp_","description":"The sender profile of a select view (ub_sp_): required under select, null otherwise (422 validation_failed). It must name a live sender profile of the team (422 relation_not_found); a deleted pick is kept until another is set."},{"type":"null","minLength":18,"maxLength":18,"pattern":"^ub_sp_","description":"The sender profile of a select view (ub_sp_): required under select, null otherwise (422 validation_failed). It must name a live sender profile of the team (422 relation_not_found); a deleted pick is kept until another is set."}]}},"additionalProperties":false},{"type":"object","description":"Per-type payload; the discriminator is the row's type column, not an inner key - the shape must match type (scalar / widget / active_workflows / channel / ai_research / waterfall / gtm_tool / find_people branches) or the save fails with 422.","required":["prompt","model","output","options","output_mapping"],"properties":{"prompt":{"type":"string","minLength":1,"maxLength":8192,"description":"Twig-templated research instruction; the template's variables, an unknown one 422. What the source found on a person (the role, the location) is in the Data source cell: {{record.data_source}} (its slug on a new table) reads it whole."},"model":{"type":"string","minLength":1,"maxLength":128,"description":"'auto' (gtm-api routes the call) or a concrete gtm-api model id; validated against the gtm-api registry at save."},"output":{"type":"string","enum":["text","number","select","json"],"description":"Cell shape: text | number (non-numeric model answer → cell error) | select (one of payload.options) | json (extract values into columns via extraction formulas record.\u003cslug>.\u003cpath>; push onto people/company attributes via output_mapping)."},"options":{"oneOf":[{"type":"array","items":{"type":"string"},"minItems":1,"description":"Required (min 1) when output=select; null otherwise."},{"type":"null","items":{"type":"string"},"minItems":1,"description":"Required (min 1) when output=select; null otherwise."}]},"output_mapping":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512,"description":"JSON path into the tool/model result, e.g. $.email or $.techs[0].name."},"target":{"type":"string","minLength":1,"maxLength":128,"description":"Entity-attribute target ONLY: people.\u003cattr> or company.\u003cattr> (writable-attribute registries; fill-if-empty at projection); validated at save. No record.\u003cslug> targets: columns pull via extraction formulas (record.\u003cslug>.\u003cpath>), never via push mapping."}},"required":["path","target"]},"maxItems":20,"description":"Project a 'json' result onto people/company attributes, fill-if-empty (max 20); null = no attribute writes. Columns pull via extraction formulas instead."},{"type":"null","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512,"description":"JSON path into the tool/model result, e.g. $.email or $.techs[0].name."},"target":{"type":"string","minLength":1,"maxLength":128,"description":"Entity-attribute target ONLY: people.\u003cattr> or company.\u003cattr> (writable-attribute registries; fill-if-empty at projection); validated at save. No record.\u003cslug> targets: columns pull via extraction formulas (record.\u003cslug>.\u003cpath>), never via push mapping."}},"required":["path","target"]},"maxItems":20,"description":"Project a 'json' result onto people/company attributes, fill-if-empty (max 20); null = no attribute writes. Columns pull via extraction formulas instead."}]},"web_search":{"type":"boolean","description":"Default false: the model answers with the vendor's server-side web search on. A per-model capability: 422 relation_not_found at save, and web_search_not_supported on a preview, for a model without it."}}},{"type":"object","description":"Per-type payload; the discriminator is the row's type column, not an inner key - the shape must match type (scalar / widget / active_workflows / channel / ai_research / waterfall / gtm_tool / find_people branches) or the save fails with 422.","required":["steps","stop_on_first","output_mapping"],"properties":{"steps":{"type":"array","items":{"type":"object","properties":{"tool_sid":{"type":"string","minLength":1,"description":"The step: a gtm-api tool registry sid, an integration-platform step (in:{provider}.{operation}, in:tool.{sid}) or the row itself (row:people.work_email: the row's own address, free, verified unless already ok; people, once). Price validated at save."},"params":{"type":"object","additionalProperties":{"oneOf":[{}]},"description":"Tool params; string values may be Twig templates over the same variable namespace."}},"required":["tool_sid","params"]},"maxItems":10,"description":"1..10 ordered gtm-api tool steps, first accepted result wins; pass [] when config.preset_sid materializes them server-side (never both)."},"stop_on_first":{"type":"boolean","description":"true (default) = stop at the first step returning a non-empty accepted result; false = run all, first non-empty wins."},"output_mapping":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512,"description":"JSON path into the tool/model result, e.g. $.email or $.techs[0].name."},"target":{"type":"string","minLength":1,"maxLength":128,"description":"Entity-attribute target ONLY: people.\u003cattr> or company.\u003cattr> (writable-attribute registries; fill-if-empty at projection); validated at save. No record.\u003cslug> targets: columns pull via extraction formulas (record.\u003cslug>.\u003cpath>), never via push mapping."}},"required":["path","target"]},"maxItems":20,"description":"Winning step's result → people/company attributes, fill-if-empty (max 20); null = no attribute writes."},{"type":"null","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512,"description":"JSON path into the tool/model result, e.g. $.email or $.techs[0].name."},"target":{"type":"string","minLength":1,"maxLength":128,"description":"Entity-attribute target ONLY: people.\u003cattr> or company.\u003cattr> (writable-attribute registries; fill-if-empty at projection); validated at save. No record.\u003cslug> targets: columns pull via extraction formulas (record.\u003cslug>.\u003cpath>), never via push mapping."}},"required":["path","target"]},"maxItems":20,"description":"Winning step's result → people/company attributes, fill-if-empty (max 20); null = no attribute writes."}]},"verify":{"oneOf":[{"type":"object","properties":{"tool_sid":{"type":"string","minLength":1,"description":"The step: a gtm-api tool registry sid, an integration-platform step (in:{provider}.{operation}, in:tool.{sid}) or the row itself (row:people.work_email: the row's own address, free, verified unless already ok; people, once). Price validated at save."},"params":{"type":"object","additionalProperties":{"oneOf":[{}]},"description":"Tool params; string values may be Twig templates over the same variable namespace."}},"required":["tool_sid","params"],"description":"One in:{provider}.email.verify step on every email a finder returns, no params. valid accepts and ends the chain, so does catch_all while accept_catch_all is on; invalid, unknown or a failure rejects, the next finder runs. null = none, first found wins."},{"type":"null","properties":{"tool_sid":{"type":"string","minLength":1,"description":"The step: a gtm-api tool registry sid, an integration-platform step (in:{provider}.{operation}, in:tool.{sid}) or the row itself (row:people.work_email: the row's own address, free, verified unless already ok; people, once). Price validated at save."},"params":{"type":"object","additionalProperties":{"oneOf":[{}]},"description":"Tool params; string values may be Twig templates over the same variable namespace."}},"required":["tool_sid","params"],"description":"One in:{provider}.email.verify step on every email a finder returns, no params. valid accepts and ends the chain, so does catch_all while accept_catch_all is on; invalid, unknown or a failure rejects, the next finder runs. null = none, first found wins."}]},"accept_catch_all":{"type":"boolean","description":"true (default): a catch-all address is accepted the moment the verifier says so and the chain stops there. false = catch-all emails are rejected like invalid ones (safe to send only) and the next finder runs. Meaningful only with verify set."}}},{"type":"object","description":"Per-type payload; the discriminator is the row's type column, not an inner key - the shape must match type (scalar / widget / active_workflows / channel / ai_research / waterfall / gtm_tool / find_people branches) or the save fails with 422.","required":["tool_sid","params","output_mapping"],"properties":{"tool_sid":{"type":"string","minLength":1,"description":"gtm-api tool registry sid (external format); existence + price validated at save."},"params":{"type":"object","additionalProperties":{"oneOf":[{}]},"description":"Tool params; string values may be Twig templates over the same variable namespace."},"output_mapping":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512,"description":"JSON path into the tool/model result, e.g. $.email or $.techs[0].name."},"target":{"type":"string","minLength":1,"maxLength":128,"description":"Entity-attribute target ONLY: people.\u003cattr> or company.\u003cattr> (writable-attribute registries; fill-if-empty at projection); validated at save. No record.\u003cslug> targets: columns pull via extraction formulas (record.\u003cslug>.\u003cpath>), never via push mapping."}},"required":["path","target"]},"maxItems":20,"description":"Tool result → people/company attributes, fill-if-empty (max 20); null = no attribute writes."},{"type":"null","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512,"description":"JSON path into the tool/model result, e.g. $.email or $.techs[0].name."},"target":{"type":"string","minLength":1,"maxLength":128,"description":"Entity-attribute target ONLY: people.\u003cattr> or company.\u003cattr> (writable-attribute registries; fill-if-empty at projection); validated at save. No record.\u003cslug> targets: columns pull via extraction formulas (record.\u003cslug>.\u003cpath>), never via push mapping."}},"required":["path","target"]},"maxItems":20,"description":"Tool result → people/company attributes, fill-if-empty (max 20); null = no attribute writes."}]}}},{"type":"object","description":"Per-type payload; the discriminator is the row's type column, not an inner key - the shape must match type (scalar / widget / active_workflows / channel / ai_research / waterfall / gtm_tool / find_people branches) or the save fails with 422.","required":["prompt","per_company_limit","data_source_sid"],"properties":{"prompt":{"oneOf":[{"type":"string","maxLength":2000,"description":"Who to find at each company, in words; null = everyone there. With data_source_sid null on create the server births a find_people source; a new text on update births a new search and parks the old. 422 prohibited beside a picked data_source_sid."},{"type":"null","maxLength":2000,"description":"Who to find at each company, in words; null = everyone there. With data_source_sid null on create the server births a find_people source; a new text on update births a new search and parks the old. 422 prohibited beside a picked data_source_sid."}]},"per_company_limit":{"type":"integer","minimum":1,"maximum":25,"description":"People taken per company, 1..25 (one search page, by relevance). Default 1. Mirrored onto the column's own search; read from a picked one."},"data_source_sid":{"oneOf":[{"type":"string","description":"The find_people source the cells search (ds_sc_). null on create = the server makes one for the column (the sid comes back). A sid = a find_people search of the SAME table, as is (422 other_table elsewhere, relation_not_found when gone). Never null stored."},{"type":"null","description":"The find_people source the cells search (ds_sc_). null on create = the server makes one for the column (the sid comes back). A sid = a find_people search of the SAME table, as is (422 other_table elsewhere, relation_not_found when gone). Never null stored."}]},"qualify":{"oneOf":[{"type":"object","properties":{"on":{"type":"boolean","description":"The switch. `on` with no criterion is refused (422 on qualify.criterion, rule required_if)."},"criterion":{"oneOf":[{"type":"string","minLength":1,"maxLength":2000,"description":"Who passes, in the user's words (\"a decision maker at a marketing agency, not a freelancer\"). Trimmed; null while the check is off."},{"type":"null","minLength":1,"maxLength":2000,"description":"Who passes, in the user's words (\"a decision maker at a marketing agency, not a freelancer\"). Trimmed; null while the check is off."}]}},"required":["on","criterion"],"additionalProperties":false,"description":"Check on save: {on, criterion} the column's own search takes at every save, judging the people the walk finds before they land (data_sources.qualify); null or absent = no check. 422 prohibited beside a picked data_source_sid (it has its own gate)."},{"type":"null","properties":{"on":{"type":"boolean","description":"The switch. `on` with no criterion is refused (422 on qualify.criterion, rule required_if)."},"criterion":{"oneOf":[{"type":"string","minLength":1,"maxLength":2000,"description":"Who passes, in the user's words (\"a decision maker at a marketing agency, not a freelancer\"). Trimmed; null while the check is off."},{"type":"null","minLength":1,"maxLength":2000,"description":"Who passes, in the user's words (\"a decision maker at a marketing agency, not a freelancer\"). Trimmed; null while the check is off."}]}},"required":["on","criterion"],"additionalProperties":false,"description":"Check on save: {on, criterion} the column's own search takes at every save, judging the people the walk finds before they land (data_sources.qualify); null or absent = no check. 422 prohibited beside a picked data_source_sid (it has its own gate)."}]}}}]},"config":{"type":"object","properties":{"auto_run":{"type":"boolean","description":"Action auto-fires when a row enters the table / the cell is empty (paid: empty→queued only). Default false."},"run_condition":{"oneOf":[{"type":"object","description":"Per-row filter-AST gate (§4.18 atoms, strict mode); unmet → cell status run_condition_not_met; null = always run.","required":["and"],"properties":{"and":{"type":"array","items":{"type":"object","additionalProperties":{"oneOf":[{}]},"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."},"minItems":1,"maxItems":20}},"additionalProperties":false},{"type":"object","description":"Per-row filter-AST gate (§4.18 atoms, strict mode); unmet → cell status run_condition_not_met; null = always run.","required":["or"],"properties":{"or":{"type":"array","items":{"type":"object","additionalProperties":{"oneOf":[{}]},"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."},"minItems":1,"maxItems":20}},"additionalProperties":false},{"type":"object","description":"Per-row filter-AST gate (§4.18 atoms, strict mode); unmet → cell status run_condition_not_met; null = always run.","required":["not"],"properties":{"not":{"type":"object","additionalProperties":{"oneOf":[{}]},"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."}},"additionalProperties":false},{"type":"object","description":"Per-row filter-AST gate (§4.18 atoms, strict mode); unmet → cell status run_condition_not_met; null = always run.","required":["any"],"properties":{"any":{"type":"object","properties":{"path":{"type":"string","minLength":1,"description":"Array-valued path - the only way to reach inside an array."},"where":{"type":"object","additionalProperties":{"oneOf":[{}]},"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."}},"required":["path","where"],"additionalProperties":false}},"additionalProperties":false},{"type":"object","description":"Per-row filter-AST gate (§4.18 atoms, strict mode); unmet → cell status run_condition_not_met; null = always run.","required":["field","op"],"properties":{"field":{"type":"string","minLength":1,"description":"Namespaced path: record.\u003cslug> or a built-in object attribute; element-relative inside any.where."},"op":{"type":"object","properties":{"eq":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"ne":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"in":{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"minItems":1,"maxItems":100},"nin":{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"minItems":1,"maxItems":100},"gt":{"oneOf":[{"type":"number"},{"type":"string"}]},"gte":{"oneOf":[{"type":"number"},{"type":"string"}]},"lt":{"oneOf":[{"type":"number"},{"type":"string"}]},"lte":{"oneOf":[{"type":"number"},{"type":"string"}]},"is_null":{"type":"boolean"},"contains":{"type":"string","minLength":1},"not_contains":{"type":"string","minLength":1},"contains_any":{"type":"array","items":{"type":"string","minLength":1},"minItems":1,"maxItems":50},"not_contains_any":{"type":"array","items":{"type":"string","minLength":1},"minItems":1,"maxItems":50},"starts_with":{"type":"string","minLength":1}},"additionalProperties":false}},"additionalProperties":false},{"description":"Per-row filter-AST gate (§4.18 atoms, strict mode); unmet → cell status run_condition_not_met; null = always run."}]},"nl_condition":{"oneOf":[{"type":"string","maxLength":2048,"description":"Natural-language source of truth for run_condition - agents edit THIS and regenerate the AST."},{"type":"null","maxLength":2048,"description":"Natural-language source of truth for run_condition - agents edit THIS and regenerate the AST."}]},"daily_credit_limit":{"oneOf":[{"type":"integer","minimum":0,"exclusiveMinimum":true,"description":"Max credits this field may spend per UTC day (int > 0, enforced at run time); null = no cap."},{"type":"null","minimum":0,"exclusiveMinimum":true,"description":"Max credits this field may spend per UTC day (int > 0, enforced at run time); null = no cap."}]},"preset_sid":{"oneOf":[{"type":"string","description":"gtm-api preset sid (external) that materializes waterfall steps at save; action_waterfall only, mutually exclusive with hand-built steps. null otherwise."},{"type":"null","description":"gtm-api preset sid (external) that materializes waterfall steps at save; action_waterfall only, mutually exclusive with hand-built steps. null otherwise."}]}},"required":["auto_run","run_condition","nl_condition","daily_credit_limit","preset_sid"]},"backfill":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["queued","running","done","failed"]},"scanned":{"type":"integer","minimum":0,"description":"Objects the scan has visited so far."},"total":{"oneOf":[{"type":"integer","minimum":0,"description":"The scan size, known once the job starts (null while queued)."},{"type":"null","minimum":0,"description":"The scan size, known once the job starts (null while queued)."}]},"queued_at":{"oneOf":[{"type":"string","description":"ISO 8601 UTC: when the column started owing its backfill."},{"type":"null","description":"ISO 8601 UTC: when the column started owing its backfill."}]},"started_at":{"oneOf":[{"type":"string","description":"ISO 8601 UTC: when the job took it."},{"type":"null","description":"ISO 8601 UTC: when the job took it."}]},"finished_at":{"oneOf":[{"type":"string","description":"ISO 8601 UTC: when it ended, done or failed."},{"type":"null","description":"ISO 8601 UTC: when it ended, done or failed."}]},"error":{"oneOf":[{"type":"string","description":"A reason token (backfill_failed) on failed, never an exception message."},{"type":"null","description":"A reason token (backfill_failed) on failed, never an exception message."}]}},"required":["status","scanned","total","queued_at","started_at","finished_at","error"],"description":"The formula column's backfill ledger (see PlaytableFieldBackfill); null on a column with no formula."},{"type":"null","properties":{"status":{"type":"string","enum":["queued","running","done","failed"]},"scanned":{"type":"integer","minimum":0,"description":"Objects the scan has visited so far."},"total":{"oneOf":[{"type":"integer","minimum":0,"description":"The scan size, known once the job starts (null while queued)."},{"type":"null","minimum":0,"description":"The scan size, known once the job starts (null while queued)."}]},"queued_at":{"oneOf":[{"type":"string","description":"ISO 8601 UTC: when the column started owing its backfill."},{"type":"null","description":"ISO 8601 UTC: when the column started owing its backfill."}]},"started_at":{"oneOf":[{"type":"string","description":"ISO 8601 UTC: when the job took it."},{"type":"null","description":"ISO 8601 UTC: when the job took it."}]},"finished_at":{"oneOf":[{"type":"string","description":"ISO 8601 UTC: when it ended, done or failed."},{"type":"null","description":"ISO 8601 UTC: when it ended, done or failed."}]},"error":{"oneOf":[{"type":"string","description":"A reason token (backfill_failed) on failed, never an exception message."},{"type":"null","description":"A reason token (backfill_failed) on failed, never an exception message."}]}},"required":["status","scanned","total","queued_at","started_at","finished_at","error"],"description":"The formula column's backfill ledger (see PlaytableFieldBackfill); null on a column with no formula."}]},"created_by":{"type":"object","properties":{"actor_type":{"type":"string","enum":["user","support","api_key","system","agent"]},"actor_sid":{"oneOf":[{"type":"string"},{"type":"null"}]},"team_sid":{"type":"string"},"actor_name":{"oneOf":[{"type":"string","description":"The OAuth client that acted (\"Claude\", \"n8n\"); null for a user, an API key or a system job."},{"type":"null","description":"The OAuth client that acted (\"Claude\", \"n8n\"); null for a user, an API key or a system job."}]},"oauth_client_sid":{"oneOf":[{"type":"string","description":"The acting OAuth client (id_oc_*); null off the OAuth path."},{"type":"null","description":"The acting OAuth client (id_oc_*); null off the OAuth path."}]},"reason":{"oneOf":[{"type":"string","description":"Why a system actor wrote the row (snapshot_capture_job, ...); null otherwise."},{"type":"null","description":"Why a system actor wrote the row (snapshot_capture_job, ...); null otherwise."}]},"permissions":{"type":"object","additionalProperties":{"oneOf":[{}]},"description":"Internal audit context: the grant set the actor held at write time. Not a contract."},"cluster_id":{"oneOf":[{"type":"integer","description":"Internal audit context: the cluster that served the write."},{"type":"null","description":"Internal audit context: the cluster that served the write."}]},"trace_id":{"oneOf":[{"type":"string","description":"Internal audit context: the trace id of the request that wrote the row."},{"type":"null","description":"Internal audit context: the trace id of the request that wrote the row."}]}},"required":["actor_type","actor_sid","team_sid","permissions"]},"deleted_by":{"oneOf":[{"type":"object","properties":{"actor_type":{"type":"string","enum":["user","support","api_key","system","agent"]},"actor_sid":{"oneOf":[{"type":"string"},{"type":"null"}]},"team_sid":{"type":"string"},"actor_name":{"oneOf":[{"type":"string","description":"The OAuth client that acted (\"Claude\", \"n8n\"); null for a user, an API key or a system job."},{"type":"null","description":"The OAuth client that acted (\"Claude\", \"n8n\"); null for a user, an API key or a system job."}]},"oauth_client_sid":{"oneOf":[{"type":"string","description":"The acting OAuth client (id_oc_*); null off the OAuth path."},{"type":"null","description":"The acting OAuth client (id_oc_*); null off the OAuth path."}]},"reason":{"oneOf":[{"type":"string","description":"Why a system actor wrote the row (snapshot_capture_job, ...); null otherwise."},{"type":"null","description":"Why a system actor wrote the row (snapshot_capture_job, ...); null otherwise."}]},"permissions":{"type":"object","additionalProperties":{"oneOf":[{}]},"description":"Internal audit context: the grant set the actor held at write time. Not a contract."},"cluster_id":{"oneOf":[{"type":"integer","description":"Internal audit context: the cluster that served the write."},{"type":"null","description":"Internal audit context: the cluster that served the write."}]},"trace_id":{"oneOf":[{"type":"string","description":"Internal audit context: the trace id of the request that wrote the row."},{"type":"null","description":"Internal audit context: the trace id of the request that wrote the row."}]}},"required":["actor_type","actor_sid","team_sid","permissions"]},{"type":"null","properties":{"actor_type":{"type":"string","enum":["user","support","api_key","system","agent"]},"actor_sid":{"oneOf":[{"type":"string"},{"type":"null"}]},"team_sid":{"type":"string"},"actor_name":{"oneOf":[{"type":"string","description":"The OAuth client that acted (\"Claude\", \"n8n\"); null for a user, an API key or a system job."},{"type":"null","description":"The OAuth client that acted (\"Claude\", \"n8n\"); null for a user, an API key or a system job."}]},"oauth_client_sid":{"oneOf":[{"type":"string","description":"The acting OAuth client (id_oc_*); null off the OAuth path."},{"type":"null","description":"The acting OAuth client (id_oc_*); null off the OAuth path."}]},"reason":{"oneOf":[{"type":"string","description":"Why a system actor wrote the row (snapshot_capture_job, ...); null otherwise."},{"type":"null","description":"Why a system actor wrote the row (snapshot_capture_job, ...); null otherwise."}]},"permissions":{"type":"object","additionalProperties":{"oneOf":[{}]},"description":"Internal audit context: the grant set the actor held at write time. Not a contract."},"cluster_id":{"oneOf":[{"type":"integer","description":"Internal audit context: the cluster that served the write."},{"type":"null","description":"Internal audit context: the cluster that served the write."}]},"trace_id":{"oneOf":[{"type":"string","description":"Internal audit context: the trace id of the request that wrote the row."},{"type":"null","description":"Internal audit context: the trace id of the request that wrote the row."}]}},"required":["actor_type","actor_sid","team_sid","permissions"]}]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"deleted_at":{"oneOf":[{"type":"string"},{"type":"null"}]}},"required":["sid","team_sid","playtable_sid","object_type","name","slug","category","type","payload","config","backfill","created_by","deleted_by","created_at","updated_at","deleted_at"],"isRequired":true,"uniqueKey":"item.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"item","typeLabel":"object | null"},"result":{"type":"object","properties":{"dry_run":{"type":"boolean","description":"true: the counts below are what a stop WOULD do; nothing was cancelled.","isRequired":true,"uniqueKey":"result.dry_run","typeLabel":"boolean"},"runs":{"type":"array","items":{"type":"object","properties":{"sid":{"type":"string","minLength":18,"maxLength":18,"pattern":"^pt_rn_","description":"Playtable run sid (pt_rn_…).","isRequired":true,"uniqueKey":"result.runs.items.[INDEX].sid","typeLabel":"string"},"waiting":{"type":"boolean","description":"true: the run held no batch yet (it waited behind another run on its field).","isRequired":true,"uniqueKey":"result.runs.items.[INDEX].waiting","typeLabel":"boolean"},"reverted_cells_count":{"type":"integer","minimum":0,"description":"Its queued cells sent back (on a dry run: the ones that would be).","isRequired":true,"uniqueKey":"result.runs.items.[INDEX].reverted_cells_count","typeLabel":"integer"},"in_flight_cells_count":{"type":"integer","minimum":0,"description":"Its cells a worker holds right now: they finish and are charged either way.","isRequired":true,"uniqueKey":"result.runs.items.[INDEX].in_flight_cells_count","typeLabel":"integer"}},"required":["sid","waiting","reverted_cells_count","in_flight_cells_count"],"uniqueKey":"result.runs.items.[INDEX]","typeLabel":"object"},"description":"The unfinished runs found, in the order they were stopped: the waiting ones first, then the dispatched ones.","isRequired":true,"uniqueKey":"result.runs","typeLabel":"object[]"},"cancelled_count":{"type":"integer","minimum":0,"description":"Runs this call cancelled (0 on a dry run; a run that ended on its own meanwhile is not counted).","isRequired":true,"uniqueKey":"result.cancelled_count","typeLabel":"integer"},"reverted_cells_count":{"type":"integer","minimum":0,"description":"Queued cells sent back, summed over the runs (no prior value → empty, a prior value → done).","isRequired":true,"uniqueKey":"result.reverted_cells_count","typeLabel":"integer"},"in_flight_cells_count":{"type":"integer","minimum":0,"description":"Cells still running, summed over the runs: they finish and are charged. Say so to the user before the stop.","isRequired":true,"uniqueKey":"result.in_flight_cells_count","typeLabel":"integer"},"spent_credits":{"type":"number","description":"The runs' spend so far, summed; the in-flight cells may still add to it (the ledger is truth).","isRequired":true,"uniqueKey":"result.spent_credits","typeLabel":"number"}},"required":["dry_run","runs","cancelled_count","reverted_cells_count","in_flight_cells_count","spent_credits"],"isRequired":true,"uniqueKey":"result","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"],"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"required":["success","operation","action","item","result","meta"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":true,"operation":"action","action":"\u003cstring>","item":{"sid":"\u003cstring>","team_sid":"\u003cstring>","playtable_sid":"\u003cstring>","object_type":"people","name":"\u003cstring>","slug":"\u003cstring>","category":"scalar","type":"scalar_text","payload":{"formula":"\u003cstring>","template":"\u003cstring>","nl_formula":"\u003cstring>","options":["\u003cstring>"],"currency":"\u003cstring>","option_colors":{}},"config":{"auto_run":true,"run_condition":{"and":[{}]},"nl_condition":"\u003cstring>","daily_credit_limit":1,"preset_sid":"\u003cstring>"},"backfill":{"status":"queued","scanned":1,"total":1,"queued_at":"\u003cstring>","started_at":"\u003cstring>","finished_at":"\u003cstring>","error":"\u003cstring>"},"created_by":{"actor_type":"user","actor_sid":"\u003cstring>","team_sid":"\u003cstring>","permissions":{},"actor_name":"\u003cstring>","oauth_client_sid":"\u003cstring>","reason":"\u003cstring>","cluster_id":123,"trace_id":"\u003cstring>"},"deleted_by":{"actor_type":"user","actor_sid":"\u003cstring>","team_sid":"\u003cstring>","permissions":{},"actor_name":"\u003cstring>","oauth_client_sid":"\u003cstring>","reason":"\u003cstring>","cluster_id":123,"trace_id":"\u003cstring>"},"created_at":"\u003cstring>","updated_at":"\u003cstring>","deleted_at":"\u003cstring>"},"result":{"dry_run":true,"runs":[{"sid":"\u003cstring>","waiting":true,"reverted_cells_count":1,"in_flight_cells_count":1}],"cancelled_count":1,"reverted_cells_count":1,"in_flight_cells_count":1,"spent_credits":123},"meta":{"trace_id":"\u003cstring>","span_id":"\u003cstring>","timestamp":"\u003cstring>","duration_ms":1,"team_sid":"\u003cstring>","actor_type":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"b0a81877-9f87-496a-8875-c531fd7c6a97":{"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"},"80a8538d-92ef-4c3c-90c1-2bdcc5f58406":{"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":"Stop the runs on a playtable field - GetSales","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-01T05:07:40.914Z","originalFileLocation":"api-reference/playtables/playtable_fields/stop-the-runs-on-a-playtable-field.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=\"Stop everything running on one column: every unfinished run holding it, active and waiting, is cancelled through the runs\u0026#x27; cancel, waiting ones first; a run over several columns stops whole. Queued cells go back; cells a worker holds finish and are charged (in_flight_cells_count); no refunds. Call with dry_run:true first and tell the user the numbers. Nothing running: runs []. A formula column fills and has no stop. One run: cancel_playtable_run; the table: cancel_playtable_runs. Contract: - MCP tool cancel_playtable_field_runs, registry package mcp.playtables/playtable_fields, mount playtables.columns. - Operation action, response envelope action. - Flags: dangerous: the MCP layer gates it behind a preview/commit token, and the effect cannot be undone through this API.\">\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=\"Stop the runs on a playtable field - GetSales\">\u003cmeta data-mint-head property=\"og:description\" content=\"Stop everything running on one column: every unfinished run holding it, active and waiting, is cancelled through the runs\u0026#x27; cancel, waiting ones first; a run over several columns stops whole. Queued cells go back; cells a worker holds finish and are charged (in_flight_cells_count); no refunds. Call with dry_run:true first and tell the user the numbers. Nothing running: runs []. A formula column fills and has no stop. One run: cancel_playtable_run; the table: cancel_playtable_runs. Contract: - MCP tool cancel_playtable_field_runs, registry package mcp.playtables/playtable_fields, mount playtables.columns. - Operation action, response envelope action. - Flags: dangerous: the MCP layer gates it behind a preview/commit token, and the effect cannot be undone through this API.\">\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/playtable_fields/stop-the-runs-on-a-playtable-field\">\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=playtable_fields\u0026amp;title=Stop+the+runs+on+a+playtable+field\u0026amp;description=Stop+everything+running+on+one+column%3A+every+unfinished+run+holding+it%2C+active+and+waiting%2C+is+cancelled+through+the+runs%27+cancel%2C+waiting+ones+first%3B+a+run+ove\u0026amp;theme=2557d625acdab73e379ce8c9\u0026amp;signature=84b376ef7ae4ac0ee19e78640c6431837fa04dbf1eb02d245330842d6eff98d5\">\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=\"Stop the runs on a playtable field - GetSales\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Stop everything running on one column: every unfinished run holding it, active and waiting, is cancelled through the runs\u0026#x27; cancel, waiting ones first; a run over several columns stops whole. Queued cells go back; cells a worker holds finish and are charged (in_flight_cells_count); no refunds. Call with dry_run:true first and tell the user the numbers. Nothing running: runs []. A formula column fills and has no stop. One run: cancel_playtable_run; the table: cancel_playtable_runs. Contract: - MCP tool cancel_playtable_field_runs, registry package mcp.playtables/playtable_fields, mount playtables.columns. - Operation action, response envelope action. - Flags: dangerous: the MCP layer gates it behind a preview/commit token, and the effect cannot be undone through this API.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://getsales.mintlify.app/_mintlify/api/og/v2?division=playtable_fields\u0026amp;title=Stop+the+runs+on+a+playtable+field\u0026amp;description=Stop+everything+running+on+one+column%3A+every+unfinished+run+holding+it%2C+active+and+waiting%2C+is+cancelled+through+the+runs%27+cancel%2C+waiting+ones+first%3B+a+run+ove\u0026amp;theme=2557d625acdab73e379ce8c9\u0026amp;signature=84b376ef7ae4ac0ee19e78640c6431837fa04dbf1eb02d245330842d6eff98d5\">\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/playtable_fields/stop-the-runs-on-a-playtable-field\">\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/playtable_fields/stop-the-runs-on-a-playtable-field.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/playtable_fields/stop-the-runs-on-a-playtable-field#webpage\",\"url\":\"https://docs.getsales.io/api-reference/playtables/playtable_fields/stop-the-runs-on-a-playtable-field\",\"name\":\"Stop the runs on a playtable field\",\"description\":\"Stop everything running on one column: every unfinished run holding it, active and waiting, is cancelled through the runs' cancel, waiting ones first; a run over several columns stops whole. Queued cells go back; cells a worker holds finish and are charged (in_flight_cells_count); no refunds. Call with dry_run:true first and tell the user the numbers. Nothing running: runs []. A formula column fills and has no stop. One run: cancel_playtable_run; the table: cancel_playtable_runs. Contract: - MCP tool cancel_playtable_field_runs, registry package mcp.playtables/playtable_fields, mount playtables.columns. - Operation action, response envelope action. - Flags: dangerous: the MCP layer gates it behind a preview/commit token, and the effect cannot be undone through this API.\",\"dateModified\":\"2026-11-01T05:07:40.914Z\",\"isPartOf\":{\"@id\":\"https://docs.getsales.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.getsales.io/api-reference/playtables/playtable_fields/stop-the-runs-on-a-playtable-field#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.getsales.io/api-reference/playtables/playtable_fields/stop-the-runs-on-a-playtable-field#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\":\"playtable_fields\",\"item\":\"https://docs.getsales.io/api-reference/playtables/playtable_fields/create-playtable-field\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Stop the runs on a playtable field\",\"item\":\"https://docs.getsales.io/api-reference/playtables/playtable_fields/stop-the-runs-on-a-playtable-field\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.getsales.io/api-reference/playtables/playtable_fields/stop-the-runs-on-a-playtable-field#apireference\",\"headline\":\"Stop the runs on a playtable field\",\"name\":\"Stop the runs on a playtable field\",\"description\":\"Stop everything running on one column: every unfinished run holding it, active and waiting, is cancelled through the runs' cancel, waiting ones first; a run over several columns stops whole. Queued cells go back; cells a worker holds finish and are charged (in_flight_cells_count); no refunds. Call with dry_run:true first and tell the user the numbers. Nothing running: runs []. A formula column fills and has no stop. One run: cancel_playtable_run; the table: cancel_playtable_runs. Contract: - MCP tool cancel_playtable_field_runs, registry package mcp.playtables/playtable_fields, mount playtables.columns. - Operation action, response envelope action. - Flags: dangerous: the MCP layer gates it behind a preview/commit token, and the effect cannot be undone through this API.\",\"url\":\"https://docs.getsales.io/api-reference/playtables/playtable_fields/stop-the-runs-on-a-playtable-field\",\"mainEntityOfPage\":{\"@id\":\"https://docs.getsales.io/api-reference/playtables/playtable_fields/stop-the-runs-on-a-playtable-field#webpage\"},\"dateModified\":\"2026-11-01T05:07:40.914Z\",\"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","description":"Fill a formula column again from the first row: its ledger goes back to queued and the table's recompute pass runs; a small table fills inside the request, a big one rides the queue (result.queued false: it was filling already). Free. The way back from a failed fill; a formula column never runs through create_playtable_run, it fills. 422 without a formula.\n\nContract:\n- MCP tool `backfill_playtable_field`, registry package `mcp.playtables/playtable_fields`, mount `playtables.columns`.\n- Operation `action`, response envelope `action`.\n- Flags: none.","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","description":"What switching Semantic search on (or to another embed model) would cost ONE existing column, in credits, before the save: the backfill now (cost_expected over cells_to_embed of cells_filled; text already embedded with the same model is free) and one new or edited value later, as a range (cost_per_value_min to cost_per_value_max: a later value is its own call and its length is unknown until it lands). A dry run of the embed job's own sweep priced by the catalog rule, at the platform key every call runs on. No writes, no charges. Surface the numbers to the user before update_playtable_field sets payload.semantic_index.\n\nContract:\n- MCP tool `estimate_semantic_index`, registry package `mcp.playtables/playtable_fields`, mount `playtables.columns`.\n- Operation `action`, response envelope `action`.\n- Flags: read only.","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","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","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":"Stop the runs on a playtable field - 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"]}