Define the versioned, non-secret connection contract publishers use to connect an Agent
An Agent owner publishes a connection contract once so every publisher sees
the same setup requirements. The contract is a non-secret definition: endpoint
ownership, AdCP transport, typed publisher fields, supported authentication
methods, production or sandbox posture, credential acquisition and rotation
guidance, and documentation and support links.
Never put a credential value in a connection contract. API keys, passwords,
tokens, private keys, and client secrets belong only in the connecting
publisher’s secure credential form. They are not Agent metadata and are never
sent through the model.If you paste a credential while drafting, remove it and rotate or revoke it
immediately. If you suspect a credential was published despite validation,
rotate or revoke it and contact Apostra support; do not try to repair an
immutable version by publishing the same reference again.
Open Agents, then open an Agent your organization owns.
Select Configure connection.
Define the connection contract in the portable Task. The editor is always
a new, unpublished draft; it never opens a published version for editing.
To start from a published version, select Load vN as next draft beside
that version. The Task reads that exact canonical id and version before
loading it, then creates a draft at the next version after the highest
published version for that contract id.
Select Validate and preview to review the exact parsed contract a
publisher setup will consume.
Review the exact contract id and version, then publish.
Only a directly authenticated organization administrator can list, read,
validate, or publish an owned Agent’s connection contracts. Service tokens,
staff-assisted sessions, and impersonation cannot author them. Claim a
Apostra-mapped Agent before publishing setup for it.An Agent can publish setup while it is registered or testing. Publishing setup
does not activate any publisher connection. A connection still needs current
Agent certification and every publisher-local authorization, credential,
configuration, health, commercial, and readiness gate before it can become
active.
Fixed owner endpoint or a public HTTPS endpoint supplied by the publisher
Protocol
AdCP over MCP, A2A, or both
Client fields
Typed, non-secret text, number, integer, boolean, select, and URL fields
Authentication
A closed set of supported methods; no executable header or request templates
Environment
Production, sandbox, or both, with owner guidance
Credentials
Instructions for obtaining and rotating credentials, never their values
Help
Public HTTPS documentation and optional support links
Authentication methods are selected from the platform’s closed union: no
authentication, bearer token, API key, credential exchange, basic
authentication, OAuth 2.0, or JWT. Platform service accounts are reserved for
platform-owned built-in contracts. The owner defines the credential field
schema and instructions. Each publisher supplies its own secret values in its
own secure setup context.
A publisher connection pins that exact reference. Do not edit or reinterpret a
published version. To change fields or instructions, publish a higher version.
Existing connections continue to resolve their pinned version; the platform
never silently moves them to the latest definition.Loading a published version as a next-version draft is an explicit owner
action. It does not change the published version or overwrite the current
draft unless the exact canonical read succeeds. The Task waits up to 30 seconds
for that read. If the read fails or times out, it keeps the current draft
unchanged and offers a retry for that version.Contract ids have durable lineage. The first Agent capability to publish an id
owns that id for every version; another Agent cannot reuse it. Ids used by
platform built-in contracts are reserved across all versions. Choose a stable,
Agent-specific id, then increment only its integer version when the definition
changes.Each Agent capability can publish at most 25 contract ids and 250 total
versions, with at most 50 versions for one id. A serialized definition cannot
exceed 192 KiB. These limits include historical immutable versions.Credential guidance can explain how to request or rotate a credential, but it
cannot include credential values or samples. A non-secret client field also
cannot instruct a publisher to enter, paste, provide, supply, or upload a
credential. Define credential collection under one of the supported
authentication methods instead. Value-free statements such as where a token is
available, how long it remains valid, or that no authorization is required are
allowed; assignment-shaped headers and serialized examples are rejected.When an Agent has no owner-published contract, new publisher setup continues to
use the generic external-sales-agent:v1 contract. The fallback does not copy
or infer provider-specific behavior.
The portable Task uses these organization-scoped service operations:
Purpose
Task operation
List versions
list_agent_connection_contracts
Read one version
get_agent_connection_contract
Validate a draft
validate_agent_connection_contract
Publish a version
publish_agent_connection_contract
These operations are dispatched inside the authenticated Agent Page through
the Task service bridge. They are not part of the public Storefront REST API
and are not a supported direct-client contract in the Storefront OpenAPI
specification.Validation is stateless and does not reserve a version. Publication is the
durable, immutable write. Both accept a contract object without provider
identity; the API derives the provider organization and Agent capability from
the authenticated owner boundary.The list operation is paginated with limit (default 50, maximum 100) and
offset (default 0). Its result contains items with id, version, and
displayName, plus nextOffset; request the next page while nextOffset is
not null. Exact-version reads return the complete canonical contract and are
not paginated.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Apostra","colors":{"primary":"#7513D4","light":"#ED7139","dark":"#7513D4"},"logo":{"light":"https://mintcdn.com/agentic2/A5rx0kFcKxq4RfQe/logo-apostra/apostra-black-purple-logo.svg?fit=max\u0026auto=format\u0026n=A5rx0kFcKxq4RfQe\u0026q=85\u0026s=d9788f7a39ebea19b202324e702d3178","dark":"https://mintcdn.com/agentic2/A5rx0kFcKxq4RfQe/logo-apostra/apostra-white-purple-logo.svg?fit=max\u0026auto=format\u0026n=A5rx0kFcKxq4RfQe\u0026q=85\u0026s=9a8b8881bd62ccac198ddd54caa21ba3"},"favicon":"https://mintcdn.com/agentic2/f0_a8sarwuUWvF9a/logo-apostra/apostra-icon-purple.svg?fit=max\u0026auto=format\u0026n=f0_a8sarwuUWvF9a\u0026q=85\u0026s=8e125c217964e76c49a47c64baa01a3d","api":{"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","python","javascript"],"prefill":true},"mdx":{"auth":{"method":"bearer"},"server":"https://api.apostra.com/api/v2"}},"navbar":{"primary":{"type":"button","label":"Install Apostra","href":"/v3/quickstart"}},"footer":{"socials":{"twitter":"https://twitter.com/scope3data","github":"https://github.com/apostra-public/apostra","linkedin":"https://linkedin.com/company/scope3"},"links":[{"header":"Legal","items":[{"label":"Terms of Service","href":"https://apostra.com/agreements/terms-of-service"},{"label":"Privacy Policy","href":"https://apostra.com/agreements/privacy-policy"}]}]},"seo":{"metatags":{"canonical":"https://docs.apostra.com","og:type":"website","og:site_name":"Apostra API"},"indexing":"all"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"agentic2","hasAudioNarration":false,"actualSubdomain":"agentic2","customDomains":["docs.apostra.com"],"gitSource":{"type":"github","owner":"scope3data","repo":"agentic-api","deployBranch":"main","contentDirectory":"mintlify","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6aef5058ec2091b7c464ea19","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"Build software","count":746},{"language":"default","tag":"Buyer API reference","count":306},{"language":"default","tag":"Seller API reference","count":218},{"language":"default","tag":"Manage ads","count":190},{"language":"default","tag":"Account","count":108},{"language":"default","tag":"Sell media","count":107},{"language":"default","tag":"Task Reference","count":92},{"language":"default","tag":"Storefront","count":83},{"language":"default","tag":"Buy media","count":76},{"language":"default","tag":"Seller operations","count":60}]},"assistantConfig":{},"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":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"v2/storefront/agents/connection-setup","slug":"/v2/storefront/agents/connection-setup","pageMetadata":{"title":"Publish Agent connection setup","description":"Define the versioned, non-secret connection contract publishers use to connect an Agent","icon":"plug-circle-plus","href":"/v2/storefront/agents/connection-setup"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Define the versioned, non-secret connection contract publishers use to connect an Agent\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`An Agent owner publishes a `,_jsx(_components.strong,{children:`connection contract`}),` once so every publisher sees\nthe same setup requirements. The contract is a non-secret definition: endpoint\nownership, AdCP transport, typed publisher fields, supported authentication\nmethods, production or sandbox posture, credential acquisition and rotation\nguidance, and documentation and support links.`]}),`\n`,_jsxs(Warning,{children:[_jsx(_components.p,{children:`Never put a credential value in a connection contract. API keys, passwords,\ntokens, private keys, and client secrets belong only in the connecting\npublisher’s secure credential form. They are not Agent metadata and are never\nsent through the model.`}),_jsx(_components.p,{children:`If you paste a credential while drafting, remove it and rotate or revoke it\nimmediately. If you suspect a credential was published despite validation,\nrotate or revoke it and contact Apostra support; do not try to repair an\nimmutable version by publishing the same reference again.`})]}),`\n`,_jsx(Heading,{level:`2`,id:`publish-from-the-agent-page`,children:`Publish from the Agent Page`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Open `,_jsx(_components.strong,{children:`Agents`}),`, then open an Agent your organization owns.`]}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Configure connection`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Define the connection contract in the portable Task. The editor is always\na new, unpublished draft; it never opens a published version for editing.\nTo start from a published version, select `,_jsx(_components.strong,{children:`Load vN as next draft`}),` beside\nthat version. The Task reads that exact canonical `,_jsx(_components.code,{children:`id`}),` and `,_jsx(_components.code,{children:`version`}),` before\nloading it, then creates a draft at the next version after the highest\npublished version for that contract id.`]}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Validate and preview`}),` to review the exact parsed contract a\npublisher setup will consume.`]}),`\n`,_jsx(_components.li,{children:`Review the exact contract id and version, then publish.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Only a directly authenticated organization administrator can list, read,\nvalidate, or publish an owned Agent’s connection contracts. Service tokens,\nstaff-assisted sessions, and impersonation cannot author them. Claim a\nApostra-mapped Agent before publishing setup for it.`}),`\n`,_jsx(_components.p,{children:`An Agent can publish setup while it is registered or testing. Publishing setup\ndoes not activate any publisher connection. A connection still needs current\nAgent certification and every publisher-local authorization, credential,\nconfiguration, health, commercial, and readiness gate before it can become\nactive.`}),`\n`,_jsx(Heading,{level:`2`,id:`what-the-contract-defines`,children:`What the contract defines`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Area`}),_jsx(_components.th,{children:`Contract behavior`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Endpoint`}),_jsx(_components.td,{children:`Fixed owner endpoint or a public HTTPS endpoint supplied by the publisher`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Protocol`}),_jsx(_components.td,{children:`AdCP over MCP, A2A, or both`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Client fields`}),_jsx(_components.td,{children:`Typed, non-secret text, number, integer, boolean, select, and URL fields`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Authentication`}),_jsx(_components.td,{children:`A closed set of supported methods; no executable header or request templates`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Environment`}),_jsx(_components.td,{children:`Production, sandbox, or both, with owner guidance`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Credentials`}),_jsx(_components.td,{children:`Instructions for obtaining and rotating credentials, never their values`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Help`}),_jsx(_components.td,{children:`Public HTTPS documentation and optional support links`})]})]})]}),`\n`,_jsx(_components.p,{children:`Authentication methods are selected from the platform’s closed union: no\nauthentication, bearer token, API key, credential exchange, basic\nauthentication, OAuth 2.0, or JWT. Platform service accounts are reserved for\nplatform-owned built-in contracts. The owner defines the credential field\nschema and instructions. Each publisher supplies its own secret values in its\nown secure setup context.`}),`\n`,_jsx(Heading,{level:`2`,id:`versions-are-immutable`,children:`Versions are immutable`}),`\n`,_jsx(_components.p,{children:`Every published contract is identified by:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"your-agent-connection\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"version\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`A publisher connection pins that exact reference. Do not edit or reinterpret a\npublished version. To change fields or instructions, publish a higher version.\nExisting connections continue to resolve their pinned version; the platform\nnever silently moves them to the latest definition.`}),`\n`,_jsx(_components.p,{children:`Loading a published version as a next-version draft is an explicit owner\naction. It does not change the published version or overwrite the current\ndraft unless the exact canonical read succeeds. The Task waits up to 30 seconds\nfor that read. If the read fails or times out, it keeps the current draft\nunchanged and offers a retry for that version.`}),`\n`,_jsx(_components.p,{children:`Contract ids have durable lineage. The first Agent capability to publish an id\nowns that id for every version; another Agent cannot reuse it. Ids used by\nplatform built-in contracts are reserved across all versions. Choose a stable,\nAgent-specific id, then increment only its integer version when the definition\nchanges.`}),`\n`,_jsx(_components.p,{children:`Each Agent capability can publish at most 25 contract ids and 250 total\nversions, with at most 50 versions for one id. A serialized definition cannot\nexceed 192 KiB. These limits include historical immutable versions.`}),`\n`,_jsx(_components.p,{children:`Credential guidance can explain how to request or rotate a credential, but it\ncannot include credential values or samples. A non-secret client field also\ncannot instruct a publisher to enter, paste, provide, supply, or upload a\ncredential. Define credential collection under one of the supported\nauthentication methods instead. Value-free statements such as where a token is\navailable, how long it remains valid, or that no authorization is required are\nallowed; assignment-shaped headers and serialized examples are rejected.`}),`\n`,_jsxs(_components.p,{children:[`When an Agent has no owner-published contract, new publisher setup continues to\nuse the generic `,_jsx(_components.code,{children:`external-sales-agent:v1`}),` contract. The fallback does not copy\nor infer provider-specific behavior.`]}),`\n`,_jsx(Heading,{level:`2`,id:`task-service-boundary`,children:`Task service boundary`}),`\n`,_jsx(_components.p,{children:`The portable Task uses these organization-scoped service operations:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Purpose`}),_jsx(_components.th,{children:`Task operation`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`List versions`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`list_agent_connection_contracts`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Read one version`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`get_agent_connection_contract`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Validate a draft`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`validate_agent_connection_contract`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Publish a version`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`publish_agent_connection_contract`})})]})]})]}),`\n`,_jsx(_components.p,{children:`These operations are dispatched inside the authenticated Agent Page through\nthe Task service bridge. They are not part of the public Storefront REST API\nand are not a supported direct-client contract in the Storefront OpenAPI\nspecification.`}),`\n`,_jsxs(_components.p,{children:[`Validation is stateless and does not reserve a version. Publication is the\ndurable, immutable write. Both accept a `,_jsx(_components.code,{children:`contract`}),` object without provider\nidentity; the API derives the provider organization and Agent capability from\nthe authenticated owner boundary.`]}),`\n`,_jsxs(_components.p,{children:[`The list operation is paginated with `,_jsx(_components.code,{children:`limit`}),` (default 50, maximum 100) and\n`,_jsx(_components.code,{children:`offset`}),` (default 0). Its result contains `,_jsx(_components.code,{children:`items`}),` with `,_jsx(_components.code,{children:`id`}),`, `,_jsx(_components.code,{children:`version`}),`, and\n`,_jsx(_components.code,{children:`displayName`}),`, plus `,_jsx(_components.code,{children:`nextOffset`}),`; request the next page while `,_jsx(_components.code,{children:`nextOffset`}),` is\nnot `,_jsx(_components.code,{children:`null`}),`. Exact-version reads return the complete canonical contract and are\nnot paginated.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Publish Agent connection setup","description":"Define the versioned, non-secret connection contract publishers use to connect an Agent","icon":"plug-circle-plus","href":"/v2/storefront/agents/connection-setup"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Publish from the Agent Page","slug":"publish-from-the-agent-page","depth":2,"children":[]},{"title":"What the contract defines","slug":"what-the-contract-defines","depth":2,"children":[]},{"title":"Versions are immutable","slug":"versions-are-immutable","depth":2,"children":[]},{"title":"Task service boundary","slug":"task-service-boundary","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"agentic2","siteName":"Apostra","title":"Publish Agent connection setup - Apostra","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-23T12:14:01.737Z","originalFileLocation":"v2/storefront/agents/connection-setup.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=\"Define the versioned, non-secret connection contract publishers use to connect an Agent\">\u003cmeta data-mint-head name=\"application-name\" content=\"Apostra\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/agentic2/sAZk5VwCxBRsiHGz/_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/agentic2/sAZk5VwCxBRsiHGz/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/agentic2/sAZk5VwCxBRsiHGz/_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/agentic2/sAZk5VwCxBRsiHGz/_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/agentic2/sAZk5VwCxBRsiHGz/_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/agentic2/sAZk5VwCxBRsiHGz/_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/agentic2/sAZk5VwCxBRsiHGz/_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/agentic2/sAZk5VwCxBRsiHGz/_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/agentic2/sAZk5VwCxBRsiHGz/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Publish Agent connection setup - Apostra\">\u003cmeta data-mint-head property=\"og:description\" content=\"Define the versioned, non-secret connection contract publishers use to connect an Agent\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Apostra API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.apostra.com/v2/storefront/agents/connection-setup\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://agentic2.mintlify.site/_mintlify/api/og/v2?division=Agents\u0026amp;title=Publish+Agent+connection+setup\u0026amp;description=Define+the+versioned%2C+non-secret+connection+contract+publishers+use+to+connect+an+Agent\u0026amp;theme=c49c13ac1fe5edf0b8126688\u0026amp;signature=03b509c865b7351bf053d71893a85780062f53a443381d1203c3836d1aa08cae\">\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=\"Publish Agent connection setup - Apostra\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Define the versioned, non-secret connection contract publishers use to connect an Agent\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://agentic2.mintlify.site/_mintlify/api/og/v2?division=Agents\u0026amp;title=Publish+Agent+connection+setup\u0026amp;description=Define+the+versioned%2C+non-secret+connection+contract+publishers+use+to+connect+an+Agent\u0026amp;theme=c49c13ac1fe5edf0b8126688\u0026amp;signature=03b509c865b7351bf053d71893a85780062f53a443381d1203c3836d1aa08cae\">\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/agentic2/sAZk5VwCxBRsiHGz/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Apostra\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7513D4\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.apostra.com/v2/storefront/agents/connection-setup\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/v2/storefront/agents/connection-setup.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.apostra.com/#organization\",\"name\":\"Apostra\",\"url\":\"https://docs.apostra.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/agentic2/A5rx0kFcKxq4RfQe/logo-apostra/apostra-black-purple-logo.svg?fit=max\u0026auto=format\u0026n=A5rx0kFcKxq4RfQe\u0026q=85\u0026s=d9788f7a39ebea19b202324e702d3178\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.apostra.com#website\",\"name\":\"Apostra\",\"url\":\"https://docs.apostra.com\",\"publisher\":{\"@id\":\"https://docs.apostra.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.apostra.com/v2/storefront/agents/connection-setup#webpage\",\"url\":\"https://docs.apostra.com/v2/storefront/agents/connection-setup\",\"name\":\"Publish Agent connection setup\",\"description\":\"Define the versioned, non-secret connection contract publishers use to connect an Agent\",\"dateModified\":\"2026-09-23T12:14:01.737Z\",\"isPartOf\":{\"@id\":\"https://docs.apostra.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.apostra.com/v2/storefront/agents/connection-setup#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.apostra.com/v2/storefront/agents/connection-setup#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Sell media\",\"item\":\"https://docs.apostra.com/v3/seller-first-booking\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Proposals \u0026 Agents\",\"item\":\"https://docs.apostra.com/v2/storefront/agents/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Agents\",\"item\":\"https://docs.apostra.com/v2/storefront/agents/overview\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Publish Agent connection setup\",\"item\":\"https://docs.apostra.com/v2/storefront/agents/connection-setup\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.apostra.com/v2/storefront/agents/connection-setup#article\",\"headline\":\"Publish Agent connection setup\",\"name\":\"Publish Agent connection setup\",\"description\":\"Define the versioned, non-secret connection contract publishers use to connect an Agent\",\"url\":\"https://docs.apostra.com/v2/storefront/agents/connection-setup\",\"mainEntityOfPage\":{\"@id\":\"https://docs.apostra.com/v2/storefront/agents/connection-setup#webpage\"},\"dateModified\":\"2026-09-23T12:14:01.737Z\",\"publisher\":{\"@id\":\"https://docs.apostra.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.apostra.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Apostra\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Apostra","nav":{"global":null,"tabs":[{"tab":"Manage ads","icon":"compass","groups":[{"group":"Start here","icon":"house","pages":[{"title":"Manage ads","icon":"compass","href":"/v3/manage-ads"},{"title":"Install the buyer plugins in Claude","sidebarTitle":"Buyer plugins for Claude","icon":"puzzle-piece","href":"/v3/buyer-plugins"},{"title":"Management UI","icon":"browser","href":"/v2/ui-guide"},{"title":"Get support","sidebarTitle":"Support","icon":"life-ring","href":"/v3/support"},{"title":"AI providers","sidebarTitle":"AI providers","icon":"microchip","href":"/v3/ai-providers"}]},{"group":"Buy media","icon":"bullhorn","pages":[{"title":"One agent. Every seller. Every channel.","sidebarTitle":"For Buyers","icon":"user","tag":"Deprecated","href":"/v2/buyer-introduction"},{"group":"Getting Started","icon":"rocket","pages":[{"title":"Buyer Onboarding","icon":"user-plus","href":"/v2/setup/buyer-onboarding"}]},{"group":"Advertisers","icon":"building","pages":[{"title":"Advertiser","icon":"user-tie","href":"/v2/object-guides/advertiser"},{"title":"Why a media partner isn't available to an advertiser","sidebarTitle":"Media partner availability","icon":"link","href":"/v3/media-partner-availability"},{"title":"Dimensions and labels","icon":"tags","href":"/v2/object-guides/dimension"},{"title":"Catalog","icon":"boxes-stacked","href":"/v2/object-guides/catalog"}]},{"group":"Campaigns","icon":"bullhorn","pages":[{"title":"Campaign","icon":"rocket","href":"/v2/object-guides/campaign"},{"group":"Concepts","icon":"diagram-project","pages":[{"title":"Campaigns on connected provider accounts","icon":"arrows-rotate","href":"/v2/buyer/campaigns/directed-campaigns"},{"title":"Media Buy","icon":"receipt","href":"/v2/buyer/campaigns/media-buys"},{"title":"Channel groups","icon":"layer-group","href":"/v2/buyer/campaigns/channel-groups"},{"title":"Package","icon":"box","href":"/v2/buyer/campaigns/packages"},{"title":"Campaign suggestion sets","icon":"arrows-left-right","href":"/v2/buyer/campaigns/campaign-suggestion-sets"},{"title":"Campaign Targeting","icon":"crosshairs","href":"/v2/buyer/campaigns/targeting"},{"title":"Media-buy Frequency Caps","icon":"gauge-high","href":"/v2/buyer/campaigns/media-buy-frequency-caps"},{"title":"Campaign autonomy settings","icon":"sliders","href":"/v2/buyer/campaigns/autonomy-settings"}]},{"group":"Guides","icon":"compass","pages":[{"title":"Pacing Periods","icon":"calendar-days","href":"/v2/guides/pacing-periods"},{"title":"Frequency Caps","icon":"gauge-high","href":"/v2/guides/frequency-caps"}]}]},{"group":"Product Discovery","icon":"magnifying-glass","pages":[{"title":"Product Discovery","icon":"magnifying-glass","href":"/v2/guides/discovery"},{"title":"Get products across storefronts","icon":"network-wired","href":"/v2/buyer/discovery/multi-storefront-get-products"}]},{"group":"Creatives","icon":"image","pages":[{"title":"Creative","icon":"image","href":"/v2/object-guides/creative"},{"title":"Bring your own creative","icon":"upload","href":"/v2/buyer/creatives/bring-your-own-creative"},{"title":"Publish a managed rendition as VAST","icon":"film","href":"/v2/buyer/creatives/rendition-vast-publication"},{"title":"Generative creative provider connections","icon":"plug","href":"/v2/buyer/creatives/generative-creative"}]},{"group":"Signals \u0026 Brand","icon":"signal","pages":[{"title":"Signal","icon":"wave-pulse","href":"/v2/object-guides/signal"},{"title":"Brand","icon":"book-open","href":"/v2/object-guides/brand-story"}]},{"group":"Audiences \u0026 Inventory","icon":"users","pages":[{"title":"Property Lists","icon":"list","href":"/v2/guides/property-lists"}]},{"group":"Measurement \u0026 Conversions","icon":"ruler","pages":[{"title":"Measurement \u0026 Incrementality","icon":"chart-line","href":"/v2/guides/measurement-incrementality"},{"group":"Conversions","icon":"bullseye","pages":[{"title":"Log Events","icon":"circle-dot","href":"/v2/guides/log-events"},{"title":"Use your event sources and audiences on each seller account","icon":"link","href":"/v2/guides/map-event-sources-and-audiences"},{"title":"Data Delivery","icon":"truck-fast","href":"/v2/guides/data-delivery"}]}]},{"group":"Reporting \u0026 Activity","icon":"chart-bar","pages":[{"title":"Reporting Overview","icon":"chart-bar","href":"/v2/guides/reporting-overview"},{"title":"Reliable Reporting","icon":"shield-check","href":"/v2/guides/reliable-reporting"},{"title":"Multi-platform reporting","icon":"diagram-project","href":"/v2/guides/multi-platform-reporting"},{"title":"Reporting","icon":"chart-bar","tag":"Deprecated","href":"/v2/buyer/reporting/overview"},{"title":"Consume reporting","icon":"chart-line","href":"/v2/buyer/reporting/consuming-reporting"},{"title":"Notifications","icon":"bell","href":"/v2/guides/notifications"},{"title":"Buyer Activity","icon":"scroll","href":"/v2/guides/audit-logs"}]},{"group":"Planning \u0026 Governance","icon":"clipboard-check","pages":[{"group":"Syndication","icon":"share-nodes","pages":[{"title":"Syndication","icon":"share-nodes","tag":"Deprecated","href":"/v2/buyer/syndication/overview"}]},{"group":"Update Proposals","icon":"code-pull-request","pages":[{"title":"Update proposals","icon":"file-pen","tag":"Deprecated","href":"/v2/buyer/update-proposals/overview"}]},{"group":"Moderation","icon":"shield-halved","pages":[{"title":"Moderation","icon":"shield-check","href":"/v2/buyer/moderation/overview"}]}]},{"group":"Connections","icon":"store","pages":[{"title":"Storefront","icon":"store","href":"/v2/object-guides/storefront"},{"group":"Storefronts (Buyer)","icon":"store","pages":[{"title":"Media Partners","icon":"store","href":"/v2/buyer/storefronts/overview"},{"title":"Listings","icon":"address-card","href":"/v2/buyer/storefronts/discovery-card"}]},{"title":"Connecting Ad Platform Accounts","icon":"plug-circle-check","href":"/v2/guides/connecting-ad-platforms"},{"title":"When Apostra can't read a connection's ad accounts","sidebarTitle":"Account discovery","icon":"plug-circle-exclamation","href":"/v3/connection-account-discovery"},{"title":"Link a Spotify show or Facebook Page to an advertiser","sidebarTitle":"Shows and Pages","icon":"podcasts","href":"/v3/advertiser-owned-links"},{"group":"Ad platform compatibility","icon":"list-check","pages":[{"title":"Ad platform compatibility","href":"/v2/guides/ad-platform-compatibility/index"},{"title":"Creative preview support","href":"/v2/guides/ad-platform-compatibility/creative-preview"},{"title":"AudioStack creative-tool compatibility","icon":"waveform","href":"/v2/guides/ad-platform-compatibility/audiostack-creative"},{"title":"OpenAI Ads compatibility","href":"/v2/guides/ad-platform-compatibility/openai-ads"},{"title":"Meta Ads compatibility","href":"/v2/guides/ad-platform-compatibility/meta"},{"title":"Snap Ads compatibility","href":"/v2/guides/ad-platform-compatibility/snap"},{"title":"Pinterest Ads compatibility","href":"/v2/guides/ad-platform-compatibility/pinterest"},{"title":"Amazon Ads compatibility","href":"/v2/guides/ad-platform-compatibility/amazon"},{"title":"Google Ads compatibility","href":"/v2/guides/ad-platform-compatibility/google"},{"title":"LinkedIn Ads compatibility","href":"/v2/guides/ad-platform-compatibility/linkedin"},{"title":"Reddit Ads compatibility","href":"/v2/guides/ad-platform-compatibility/reddit"},{"title":"Spotify Ads compatibility","href":"/v2/guides/ad-platform-compatibility/spotify"},{"title":"TikTok Ads compatibility","href":"/v2/guides/ad-platform-compatibility/tiktok"}]},{"title":"Ad Platform Resource Capabilities","icon":"table-list","href":"/v2/guides/ad-platform-resource-capabilities"},{"title":"Exact Age Targeting","icon":"users","href":"/v2/guides/age-targeting"},{"title":"Importing From Cloud Drives","icon":"folder-cloud","href":"/v2/guides/cloud-drive-connections"},{"title":"Sandbox Mode","icon":"flask-vial","href":"/v2/features/sandbox"},{"title":"Shared Apostra Rooms","icon":"people-group","href":"/v2/features/murph-shared-rooms"},{"title":"Review Support Channel Participants","icon":"user-shield","href":"/v2/features/channel-participant-review"},{"title":"Identify a Message Sender","icon":"address-card","href":"/v2/features/identify-a-message-sender"},{"title":"Talk to Apostra in Slack, Teams, Discord, or WhatsApp","icon":"messages","href":"/v2/guides/messaging-apps"},{"title":"Typed Buyer Tools","icon":"wand-sparkles","href":"/v2/features/buyer-typed-tools"},{"title":"Release Updates","href":"/v2/features/release-notifications"},{"title":"Service Tokens","icon":"key","href":"/v2/guides/service-tokens"}]},{"group":"Account \u0026 Billing","icon":"gear","pages":[{"group":"Account","icon":"id-card","pages":[{"title":"Account","icon":"building","href":"/v2/buyer/account/overview"},{"title":"Buyer setup and go-live","href":"/v2/buyer/account/setup"},{"title":"Market readiness preview","href":"/v2/buyer/account/market-readiness"},{"title":"Refer a company","icon":"gift","href":"/v2/buyer/account/referrals"},{"title":"Organization settings in place","href":"/v2/organization/settings-in-place"}]},{"group":"Billing","icon":"file-invoice-dollar","pages":[{"title":"Billing","icon":"file-invoice-dollar","href":"/v2/buyer/billing/overview"},{"title":"How IU billing works","icon":"route","href":"/v2/buyer/billing/how-iu-billing-works"},{"title":"Plan \u0026 Billing page","icon":"gauge","href":"/v2/buyer/billing/plan-and-billing"},{"title":"Organization IU Rate Card","icon":"coins","href":"/v2/buyer/billing/organization-iu-rate-card"},{"title":"Media billing entity configuration","icon":"building-columns","href":"/v2/buyer/billing/media-billing"},{"title":"Paying by card","icon":"credit-card","href":"/v2/buyer/billing/concepts/pay-by-card"}]}]}]},{"group":"Sell media","icon":"store","pages":[{"group":"Sell with Apostra","icon":"bolt","pages":[{"title":"From signup to your first booking","sidebarTitle":"Signup to first booking","icon":"route","href":"/v3/seller-first-booking"},{"title":"Seller Workflows","sidebarTitle":"Seller workflows","icon":"store","href":"/v2/setup/v3/seller-workflows"},{"title":"Listing, Playbook, and AI Business Rules","sidebarTitle":"Seller pages","icon":"layer-group","href":"/v2/setup/seller-pages"},{"title":"Seller RFP Lifecycle","sidebarTitle":"Seller RFP lifecycle","icon":"file-signature","href":"/v3/rfp-lifecycle"},{"title":"RFP performance","icon":"chart-line","href":"/v3/rfp-performance"},{"title":"Sessions","icon":"messages","href":"/v3/sessions"},{"title":"Lessons","icon":"graduation-cap","href":"/v3/lessons"},{"title":"Create and manage seller products","sidebarTitle":"Product creation","icon":"rectangle-ad","href":"/v3/seller-product-creation"},{"title":"Declare the Scope3 Prebid module on a product","sidebarTitle":"Prebid toggle","icon":"toggle-on","href":"/v3/seller-prebid-toggle"},{"title":"Seller buyer instructions","sidebarTitle":"Buyer instructions","icon":"user-gear","href":"/v3/seller-buyer-instructions"},{"title":"Seller markets","sidebarTitle":"Markets","icon":"globe","href":"/v3/seller-markets"},{"title":"Hold or resume new business","sidebarTitle":"Intake hold","icon":"pause","href":"/v3/seller-intake-hold"},{"title":"Change a Seller Account's type","sidebarTitle":"Account type","icon":"arrows-rotate","href":"/v3/seller-account-type"},{"title":"Extend a Demo Storefront and choose its sample sources","sidebarTitle":"Demo Storefront","icon":"flask","href":"/v3/seller-demo-storefront"},{"title":"Reading your seller's setup checklist and go-live state","sidebarTitle":"Setup checklist and go-live","icon":"list-check","href":"/v3/seller-readiness"},{"title":"Re-checking a publisher in your coverage","sidebarTitle":"Publisher coverage re-check","icon":"rotate","href":"/v3/seller-publisher-coverage"},{"title":"Keeping your Library answerable","sidebarTitle":"Library upkeep","icon":"books","href":"/v3/seller-library"},{"title":"Reliable Reporting registration preview","icon":"file-chart-column","href":"/v3/seller-reliable-reporting-registration"},{"title":"Reading your seller's operating state and plan","sidebarTitle":"Operating state and plan","icon":"gauge","href":"/v3/seller-operating-state"},{"title":"Reading your seller's Product marketing counts","sidebarTitle":"Product marketing counts","icon":"bullhorn","href":"/v3/seller-teaching"},{"title":"Connecting an ad server","sidebarTitle":"Connect an ad server","icon":"server","href":"/v3/seller-connect-ad-server"},{"title":"Google Ad Manager access Apostra needs","sidebarTitle":"GAM access","icon":"shield-check","href":"/v3/seller-gam-access"},{"title":"Source diagnostics Page","sidebarTitle":"Source diagnostics","icon":"stethoscope","href":"/v3/seller-source-diagnostics-page"},{"title":"Reading an inventory source: adapter, powering Agent and test runs","sidebarTitle":"Source adapter, Agent and test runs","icon":"plug","href":"/v3/seller-inventory-source-facts"},{"title":"Modular source Pages","sidebarTitle":"Modular source Pages","icon":"puzzle-piece","href":"/v3/seller-modular-source-pages"},{"title":"Connect to a partner agent","sidebarTitle":"Partner connection form","icon":"plug","href":"/v3/seller-partner-connection-form"},{"title":"Certified, exempt and beta partner agents","sidebarTitle":"Partner agent certification","icon":"badge-check","href":"/v3/seller-partner-agent-certification"},{"title":"Why you approve and map buyers","sidebarTitle":"Approve and map buyers","icon":"handshake","href":"/v3/seller-why-approve-and-map-buyers"},{"title":"Buyer Account Mapping Page","sidebarTitle":"Buyer Account Mapping","icon":"diagram-project","href":"/v3/seller-buyer-account-mapping-page"},{"title":"Give a client access to one advertiser","sidebarTitle":"Client access","icon":"user-plus","href":"/v3/seller-client-access"},{"title":"Media Buys Page","sidebarTitle":"Media Buys","icon":"receipt","href":"/v3/seller-media-buys-page"},{"title":"Guaranteed buys over the ad server forecast","sidebarTitle":"Over-forecast policy","icon":"scale-unbalanced","href":"/v3/seller-guaranteed-availability"},{"title":"v3 Tool Catalog","sidebarTitle":"Tool catalog","icon":"screwdriver-wrench","href":"/v3/tool-reference"},{"title":"v3 Preview Limitations","sidebarTitle":"Limitations","icon":"triangle-exclamation","href":"/v3/limitations"}]},{"title":"One storefront. Every buyer. Every channel.","sidebarTitle":"For Sellers","icon":"store","href":"/v2/storefront-introduction"},{"group":"Getting Started","icon":"rocket","pages":[{"title":"Storefront Onboarding","icon":"store","tag":"Deprecated","href":"/v2/setup/storefront-onboarding"},{"title":"What you need for a GAM pilot","icon":"flask","href":"/v2/setup/storefront-pilot"},{"title":"Storefront","icon":"store","tag":"Deprecated","href":"/v2/storefront/overview"},{"title":"Pass the go-live test","sidebarTitle":"Go-live test","icon":"flask-vial","href":"/v2/storefront/go-live-test"},{"title":"Publisher domains","icon":"globe","tag":"Deprecated","href":"/v2/storefront/publisher-domains"}]},{"group":"Operating Your Storefront","icon":"wand-magic-sparkles","pages":[{"title":"Ask Apostra","icon":"sparkles","href":"/v2/setup/ask-murph"},{"title":"Apostra user preferences","icon":"languages","href":"/v2/api/murph/user-preferences"},{"title":"Apostra dictation","icon":"microphone","href":"/v2/api/murph/dictation"},{"title":"Conversation scope","icon":"sitemap","href":"/v2/api/murph/conversation-scope"},{"title":"Shared conversations","icon":"messages","href":"/v2/api/murph/shared-conversations"},{"title":"Conversation settings","icon":"sliders","href":"/v2/api/murph/conversation-settings"},{"title":"Apostra chat rendering artifacts","icon":"window","href":"/v2/api/murph/chat-response"},{"title":"Apostra agent debug calls","icon":"bug","href":"/v2/api/murph/agent-debug-calls"},{"title":"Apostra confirmations","icon":"circle-check","href":"/v2/setup/murph-confirmations"},{"title":"Typed Storefront Tools","icon":"wand-sparkles","href":"/v2/features/storefront-typed-tools"},{"title":"Storefront next actions","icon":"bell","href":"/v2/storefront/nudges/overview"},{"group":"Products","icon":"layer-group","pages":[{"title":"Product composition","icon":"layer-group","href":"/v2/storefront/products/product-composition"},{"title":"Multi-package products","icon":"boxes-stacked","href":"/v2/storefront/products/multi-package-products"}]},{"group":"Playbook","icon":"tags","pages":[{"title":"Playbook selling guidance and rate cards","icon":"tags","tag":"Deprecated","href":"/v2/storefront/playbook/overview"}]},{"group":"Playbook API","icon":"list-ol","pages":[{"title":"Operating-instructions history","icon":"scroll","tag":"Deprecated","href":"/v2/storefront/operating-instructions/overview"},{"title":"Selling settings","icon":"scale-balanced","tag":"Deprecated","href":"/v2/storefront/operating-instructions/selling-doctrine"}]},{"group":"Library","icon":"books","pages":[{"title":"Library","icon":"books","href":"/v2/storefront/library"},{"title":"Integrations","href":"/v2/storefront/integrations"},{"title":"Connect a source","icon":"link","href":"/v2/storefront/connect-a-source"},{"title":"Dimensions and labels","icon":"tags","href":"/v2/storefront/dimensions"},{"title":"Product marketing","icon":"bullhorn","href":"/v2/storefront/product-marketing/overview"}]},{"group":"Buyer Instructions","icon":"user-pen","pages":[{"title":"Buyer instructions","icon":"user-gear","tag":"Deprecated","href":"/v2/storefront/buyer-instructions/overview"}]},{"group":"House Discounts","icon":"sitemap","pages":[{"title":"House discounts","icon":"sitemap","tag":"Deprecated","href":"/v2/storefront/house-discounts/overview"}]}]},{"group":"Inventory Sources","icon":"server","pages":[{"title":"Inventory sources","icon":"plug","tag":"Deprecated","href":"/v2/storefront/inventory-sources/overview"},{"title":"Inventory components","icon":"layer-group","href":"/v2/storefront/inventory-sources/components"},{"title":"Choose how your storefront gets supply","icon":"signs-post","href":"/v2/storefront/inventory-sources/choosing-a-source"},{"group":"Source input setup","icon":"clipboard-check","pages":[{"title":"Prepare inventory source inputs","icon":"clipboard-check","href":"/v2/setup/publisher-onboarding-starter-kit"},{"title":"Inventory source example pack","icon":"flask","href":"/v2/setup/publisher-onboarding-example-pack"},{"title":"Map source inputs and owners","icon":"table-list","href":"/v2/setup/source-module-authority-worksheet"},{"title":"Complete fictional campaign example","icon":"diagram-project","href":"/v2/setup/complete-campaign-example"}]},{"title":"Connect Epsilon Retail Media","icon":"rectangle-ad","href":"/v2/storefront/inventory-sources/citrusad"},{"title":"Build and launch a Sales Agent","icon":"robot","href":"/v2/storefront/inventory-sources/build-sales-agent"},{"title":"Sales Agent requirements and best practices","icon":"clipboard-check","href":"/v2/storefront/inventory-sources/sales-agent-requirements"},{"title":"Connect your sales agent","icon":"plug","href":"/v2/storefront/inventory-sources/connect-your-agent"},{"title":"Partner Program and agent operations","icon":"radar","href":"/v2/storefront/inventory-sources/partner-account"},{"title":"Signing the webhooks you send us","icon":"signature","href":"/v2/storefront/inventory-sources/webhook-signing"},{"title":"Why Apostra needs access to your ad server","icon":"shield-check","href":"/v2/storefront/inventory-sources/ad-server-access"},{"title":"Publisher properties and coverage","icon":"globe","href":"/v2/storefront/inventory-sources/publisher-properties-coverage"},{"title":"adagents.json for network sellers","icon":"file-code","href":"/v2/storefront/inventory-sources/adagents-json"},{"title":"Diagnose third-party sales agents","icon":"stethoscope","tag":"Deprecated","href":"/v2/storefront/inventory-sources/diagnostics"},{"title":"Troubleshoot source problems","icon":"wrench","href":"/v2/storefront/inventory-sources/troubleshooting"},{"title":"Modular inventory source lifecycle","icon":"diagram-project","tag":"Deprecated","href":"/v2/storefront/inventory-sources/modular-lifecycle"},{"title":"Demo Storefront","icon":"store","href":"/v2/storefront/inventory-sources/demo-storefront"},{"title":"Create products from ad-server inventory","icon":"rectangle-ad","href":"/v2/storefront/inventory-sources/create-products"},{"title":"Wholesale avails \u0026 pricing","icon":"file-invoice-dollar","tag":"Deprecated","href":"/v2/storefront/inventory-sources/wholesale-avails-pricing"}]},{"group":"Real-Time Targeting (TMP)","icon":"tower-broadcast","pages":[{"title":"Real-time targeting (TMP)","icon":"tower-broadcast","href":"/v2/storefront/tmp/overview"},{"title":"Set up TMP with Prebid","icon":"rectangle-ad","href":"/v2/storefront/tmp/prebid-setup"}]},{"group":"Approvals \u0026 Reviews","icon":"circle-check","pages":[{"title":"Reviewing buyer transactions before they go live","icon":"user-check","tag":"Deprecated","href":"/v2/storefront/approvals/overview"},{"group":"Creative Reviews","icon":"image","pages":[{"title":"Creative reviews","icon":"image","tag":"Deprecated","href":"/v2/storefront/creative-reviews/overview"}]},{"group":"Media Buys \u0026 Pending Operations","icon":"receipt","pages":[{"title":"Media buys \u0026 pending operations","icon":"receipt","tag":"Deprecated","href":"/v2/storefront/media-buys/overview"}]},{"group":"Media-Buy Approvals","icon":"receipt","pages":[{"title":"Media-buy approvals","icon":"clipboard-check","tag":"Deprecated","href":"/v2/storefront/media-buy-approvals/overview"}]}]},{"group":"Buyer Onboarding","icon":"user-plus","pages":[{"group":"Buyer Account Mapping","icon":"diagram-project","pages":[{"title":"Buyer Account Mapping","icon":"diagram-project","tag":"Deprecated","href":"/v2/storefront/buyer-account-mapping"}]},{"group":"Sponsored Buyers","icon":"handshake","pages":[{"title":"Sponsored buyers","icon":"handshake","tag":"Deprecated","href":"/v2/storefront/sponsored-buyers/overview"}]}]},{"group":"Demand \u0026 Signals","icon":"signal","pages":[{"title":"Property-list briefs for sellers","icon":"list-check","href":"/v2/storefront/property-list-briefs"},{"group":"Signals","icon":"satellite-dish","pages":[{"title":"Signals","icon":"wave-pulse","tag":"Deprecated","href":"/v2/storefront/signals/overview"},{"title":"Ad-server signals","icon":"wave-pulse","tag":"Deprecated","href":"/v2/storefront/esa/signals"},{"title":"Custom targeting and properties","icon":"sliders","href":"/v2/storefront/esa/custom-targeting-properties"},{"title":"AXE key setup in GAM","icon":"key","href":"/v2/storefront/esa/axe-keys"},{"title":"Admin ESA sync recovery","icon":"rotate","href":"/v2/storefront/esa/admin-sync-recovery"}]}]},{"group":"Proposals \u0026 Agents","icon":"handshake","pages":[{"group":"Agents","icon":"robot","pages":[{"title":"Storefront agents","description":"Browse the sales, signal, creative, and outcome agents registered to your storefront and run their OAuth flows","icon":"robot","tag":"Deprecated","href":"/v2/storefront/agents/overview"},{"title":"Publish Agent connection setup","icon":"plug-circle-plus","href":"/v2/storefront/agents/connection-setup"}]}]},{"group":"Buyer Routing","icon":"route","pages":[{"title":"Buyer routing","description":"Map incoming buyers to ad-server advertisers for ESA-backed sources","icon":"route","tag":"Deprecated","href":"/v2/storefront/buyer-routing/overview"}]},{"group":"Analytics \u0026 Activity","icon":"chart-line","pages":[{"title":"Seller analytics","icon":"chart-line","href":"/v2/storefront/analytics"},{"title":"Demand Inbox moved to Sessions","icon":"messages","href":"/v2/storefront/demand-inbox"},{"title":"The pitch","icon":"bullhorn","href":"/v2/storefront/pitch"},{"title":"The story-first proposal","icon":"book-open","href":"/v2/storefront/proposal-story"},{"title":"Merchandising Simulator","href":"/v2/storefront/merchandising-simulator"},{"group":"Intelligence Runs","icon":"brain","pages":[{"title":"Intelligence runs","icon":"microscope","tag":"Deprecated","href":"/v2/storefront/intelligence-runs/overview"}]},{"group":"Activity \u0026 Reporting","icon":"chart-simple","pages":[{"title":"Activity \u0026 reporting","icon":"chart-line","tag":"Deprecated","href":"/v2/storefront/activity/overview"},{"title":"Deliver reporting to Apostra","icon":"chart-line","href":"/v2/storefront/deliver-reporting"},{"title":"Seller reporting receipts","icon":"receipt","href":"/v2/storefront/reporting-receipts"}]}]},{"group":"Billing","icon":"file-invoice-dollar","pages":[{"title":"Billing","icon":"credit-card","tag":"Deprecated","href":"/v2/storefront/billing/overview"}]},{"group":"Account","icon":"id-card","pages":[{"title":"Account","icon":"building","tag":"Deprecated","href":"/v2/storefront/account/overview"}]}]},{"group":"Help and updates","icon":"life-ring","pages":[{"title":"Diagnosing a stuck media buy","icon":"stethoscope","href":"/v2/guides/diagnosing-stuck-media-buys"},{"title":"Glossary","icon":"book-a","href":"/v2/concepts/glossary"},{"title":"Changelog","icon":"clock-rotate-left","href":"/v2/changelog"}]}]},{"tab":"Build software","icon":"code","versions":[{"version":"v2","tag":"Compatibility","pages":[{"title":"v2","href":"/v2/build-with-apostra"}]},{"version":"v3","default":true,"groups":[{"group":"Start building","icon":"rocket","pages":[{"title":"Build with Apostra","icon":"code","href":"/v3/overview"},{"title":"Developer quickstart","sidebarTitle":"Developer quickstart","icon":"rocket","href":"/v3/developer-quickstart"},{"title":"Building on Apostra or on AdCP directly","sidebarTitle":"Apostra or AdCP directly","icon":"scale-balanced","href":"/v3/apostra-vs-adcp"},{"title":"Choose your operating loop","icon":"diagram-project","href":"/v3/choose-your-loop"},{"title":"Connect in five minutes","icon":"plug","href":"/v3/quickstart"},{"title":"SDK quickstart","icon":"code","href":"/v3/sdk-quickstart"},{"title":"V3 HTTP API","icon":"brackets-curly","href":"/v3/http-api"},{"title":"SDK guide","icon":"code","href":"/v3/sdk-guide"},{"title":"Apostra CLI","icon":"terminal","href":"/v3/cli"}]},{"group":"Build your integration","icon":"code","pages":[{"title":"Build an agent","icon":"robot","href":"/v3/build-an-agent"},{"title":"Connect an agent in an Agents account","icon":"robot","href":"/v3/connect-an-agent"},{"title":"Run Apostra for several client accounts","sidebarTitle":"Several client accounts","icon":"sitemap","href":"/v3/several-client-accounts"},{"title":"What is certification?","icon":"badge-check","href":"/v3/certification"},{"title":"Agent requirements: declarations and behaviour","icon":"clipboard-check","href":"/v3/agent-requirements"},{"title":"Discovering products on a storefront needs an account","sidebarTitle":"Storefront discovery needs an account","icon":"id-card","href":"/v3/storefront-discovery-needs-an-account"},{"title":"How your discovery targeting reaches sellers","sidebarTitle":"Discovery targeting","icon":"crosshairs","href":"/v3/discovery-targeting"},{"title":"Getting ready for AdCP 4.0","icon":"forward","href":"/v3/adcp-4-readiness"},{"title":"Render Apostra widgets in your own host","sidebarTitle":"MCP Apps host contract","icon":"window","href":"/v3/mcp-apps-host"},{"title":"Practise finding places to advertise","href":"/v2/guides/buyer-first-value-rehearsal"},{"title":"Bring data in","icon":"arrow-right-to-bracket","href":"/v3/bring-data-in"},{"title":"Connect Google Analytics 4","sidebarTitle":"Google Analytics","icon":"chart-line","href":"/v3/google-analytics"},{"title":"Delete from Apostra","icon":"trash-can","href":"/v3/delete-from-apostra"},{"title":"Find campaigns created in your ad platform","href":"/v3/import-existing-campaigns"},{"title":"Build a reporting pipeline","icon":"chart-line","href":"/v3/reporting-pipeline"},{"title":"Campaign Pulse","icon":"heart-pulse","href":"/v3/campaign-pulse"},{"title":"Review campaign performance each morning","icon":"chart-line-up","href":"/v3/daily-campaign-review"},{"title":"Webhook endpoints","icon":"webhook","href":"/v3/webhooks"},{"title":"Signing the webhooks you send us","sidebarTitle":"Signing seller webhooks","icon":"signature","href":"/v3/seller-webhook-signing"},{"title":"Reading your agent's webhook results","sidebarTitle":"Webhook results","icon":"inbox","href":"/v3/agent-webhook-deliveries"},{"title":"Integration Architecture","sidebarTitle":"Integration architecture","icon":"sitemap","href":"/v2/setup/v3/integration-architecture"},{"title":"Create a white-label ChatGPT app","sidebarTitle":"White-label ChatGPT app","icon":"comments","href":"/v2/reference/white-label-chatgpt-app"}]},{"group":"Workflow recipes","icon":"route","pages":[{"title":"Shared Workflows","sidebarTitle":"Shared workflows","icon":"arrows-left-right","href":"/v2/setup/v3/shared-workflows"},{"title":"Set up operator and brand identity in chat","sidebarTitle":"Identity and brands","icon":"id-card","href":"/v2/setup/v3/identity-setup"},{"title":"Buyer Workflows","sidebarTitle":"Buyer workflows","icon":"bullhorn","href":"/v2/setup/v3/buyer-workflows"},{"title":"Change a live media buy","sidebarTitle":"Change a live media buy","icon":"arrows-rotate","href":"/v3/change-a-live-media-buy"},{"title":"Seller Workflows","sidebarTitle":"Seller workflows","icon":"store","href":"/v2/setup/v3/seller-workflows"},{"title":"Practice buyer briefs and compare responses","sidebarTitle":"Practice buyer briefs","icon":"flask","href":"/v3/seller-practice-and-simulation"},{"title":"Seller RFP Lifecycle","sidebarTitle":"Seller RFP lifecycle","icon":"file-signature","href":"/v3/rfp-lifecycle"},{"title":"RFP performance","icon":"chart-line","href":"/v3/rfp-performance"},{"title":"Session alerts","icon":"bell","href":"/v3/session-alerts"},{"title":"Why a media partner isn't available to an advertiser","sidebarTitle":"Media partner availability","icon":"link","href":"/v3/media-partner-availability"}]},{"group":"MCP reference","icon":"diagram-project","pages":[{"title":"v3 Concepts","sidebarTitle":"Concepts","icon":"diagram-project","href":"/v2/setup/v3/concepts"},{"title":"v3 Tool Catalog","sidebarTitle":"Tool catalog","icon":"screwdriver-wrench","href":"/v3/tool-reference"},{"title":"Retained Session timeline","sidebarTitle":"Session timeline","href":"/v2/setup/v3/session-timeline"},{"title":"Creative generation","href":"/v2/setup/v3/creative-engines"},{"title":"v3 Preview Limitations","sidebarTitle":"Limitations","icon":"triangle-exclamation","href":"/v3/limitations"}]},{"group":"Shared reference","icon":"book-bookmark","pages":[{"title":"Authentication","sidebarTitle":"Authentication","icon":"key","href":"/v3/authentication"},{"title":"Sign in a self-built agent","sidebarTitle":"Agent sign-in","icon":"right-to-bracket","href":"/v3/agent-sign-in"},{"title":"Account access","sidebarTitle":"Account access","icon":"users","href":"/v3/account-access"},{"title":"Name the account on every call","sidebarTitle":"Name the account","icon":"tag","href":"/v3/name-the-account"},{"title":"AI providers","sidebarTitle":"AI providers","icon":"microchip","href":"/v3/ai-providers"},{"title":"Plan \u0026 Billing","sidebarTitle":"Plan \u0026 Billing","icon":"gauge","href":"/v3/plan-and-billing"},{"title":"Billing: plan and invoices","sidebarTitle":"Billing: plan and invoices","icon":"file-invoice-dollar","href":"/v3/billing-plan-and-invoices"},{"title":"Operator fees","sidebarTitle":"Operator fees","icon":"percent","href":"/v3/operator-fees"},{"title":"MCP client setup","sidebarTitle":"MCP client setup","icon":"message-bot","href":"/v3/client-setup"},{"title":"v3 Errors","sidebarTitle":"Errors","icon":"circle-exclamation","href":"/v3/errors"},{"title":"V3 response variants","href":"/v3/response-variants"},{"title":"Count objects with search","sidebarTitle":"Count with search","icon":"chart-simple","href":"/v3/count-with-search"},{"title":"Creative previews","sidebarTitle":"Creative previews","icon":"eye","href":"/v3/creative-previews"},{"title":"Creative sync outcomes","sidebarTitle":"Creative sync outcomes","icon":"route","href":"/v3/creative-sync-outcomes"},{"title":"HTML5 and display tag creative requirements","sidebarTitle":"HTML5 and tag requirements","icon":"file-zipper","href":"/v3/html5-creative-requirements"},{"title":"Is your ad server in line with the agreed terms?","sidebarTitle":"Agreed terms check","icon":"scale-balanced","href":"/v3/agreed-terms-check"},{"title":"Does your buy still match the booking?","sidebarTitle":"Booking answer","icon":"circle-check","href":"/v3/booking-answer"},{"title":"Is each package on pace?","sidebarTitle":"Package pacing","icon":"gauge","href":"/v3/package-pacing"},{"title":"Buyer RFPs","sidebarTitle":"Buyer RFPs","icon":"file-lines","href":"/v3/buyer-rfps"},{"title":"Auto-tagged links","sidebarTitle":"Auto-tagged links","icon":"tag","href":"/v3/auto-tagged-links"},{"title":"Chat with your buyer agent in Apostra","sidebarTitle":"Chat with your buyer agent","icon":"comments","href":"/v3/chat-with-your-buyer-agent"},{"title":"Your account's agent and hosted orchestrators","sidebarTitle":"Hosted buyer agents","icon":"robot","href":"/v3/hosted-buyer-agents"},{"title":"What changed on a media buy?","sidebarTitle":"Media buy history","icon":"clock-rotate-left","href":"/v3/media-buy-history"},{"title":"Migrate V3 write requests","sidebarTitle":"Migrate write requests","icon":"code-branch","href":"/v3/migrate-write-requests"},{"title":"Move a v2 buyer REST integration to V3","sidebarTitle":"Move from v2 REST","icon":"arrow-right-arrow-left","href":"/v3/migrate-from-v2-rest"},{"title":"v3 Limits","sidebarTitle":"Rate and connection limits","icon":"gauge-high","href":"/v3/rate-limits"},{"title":"Changes and compatibility","sidebarTitle":"Changelog","icon":"clock-rotate-left","href":"/v3/changelog"}]}]}]}]},"basePath":"","title":"Publish Agent connection setup - Apostra","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":[],"chunks":[]}