Advanced immediate provider operation to rename, pause, resume, archive, or rebudget supported campaigns and ad sets, plus supported ad-level actions. Normal Ads Manager requests should saveAdDraft first, read/review it, then explicitly publishAdDraft. Meta and Google budget writes require the version 1 budgetGuard from read-asset-budget, exact selected native owner/parent and a budget-only update with the unchanged cadence. Old unguarded absolute/relative budget bodies require a new review and submit no budget change. Bily never rebases the saved absolute amount or retargets an inherited Meta ad set. Google shared scope must be complete and at most 100; CUSTOM_PERIOD is unsupported. Generic Google status/name/removal is checked against the exact fresh native campaign and parent; classic VIDEO and budgets affecting VIDEO are read only. Dedicated Demand Gen video remains supported; the native v24+ responsive Video-ad-info and experiment exceptions are not generic update-asset operations. Native-owner arbitration covers separate jobs and authorized aliases. New unguarded budget drafts fail Save; overbound mixed financial jobs require a split review. Busy or unknown outcomes never replay automatically; unknown outcomes quarantine the exact owner with its original receipt beyond job retirement. ARCHIVED maps to native removal for Google, TikTok and Snapchat; require separate exact destructive approval rather than treating it as a reversible pause. Authorized Slack requests use this same workspace-scoped capability; pausing an ad requires its exact platform, asset type, and asset ID. This generic outer sourceAuthority remains GOOGLE_ADS only; Meta budget source is bound inside budgetGuard. Other providers and nonbudget fields keep their previous contracts. This is an execution endpoint. For a reviewed user change, save its supported capability/body as an immutable action draft, review it, and explicitly publish that draft. Check action-jobs/capabilities before staging; a catalog entry alone does not make it stageable.
An organization ID returned by GET /context or GET /organizations. Omit it when a scoped key supplies the organization. Otherwise provide it when no organization is selected.
For Meta/Google budget changes, first read the native budget and keep the returned guard unchanged. Send only budget and budgetType inside updates. Meta omits top-level sourceAuthority; its source is inside budgetGuard. Google supplies the exact top-level sourceAuthority pair. The path supplies resourceUrl; do not repeat it in the body.
Use the live quote unchanged. amountUnits must fit a positive signed 64-bit integer (at most 9223372036854775807). Selection, owner, currency, cadence and source must match the exact request. Google affectedCampaignIds is the complete unique lexically sorted scope, includes the selected campaign, and matches referenceCount. A JSON-shaped guard without a current matching fingerprint is not executable authority.
GOOGLE_ADS only: use the exact enabled account and connector pair from the current workspace selection. Omit for other platforms.
Show child attributes
Response
Request completed. Inspect the returned state and any verification fields.
The response is of type object.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Bily developer docs","description":"Connect your website once. Use trusted customer data across Bily Apps, analytics, APIs, and AI workflows.","colors":{"primary":"#000000","light":"#FFFFFF","dark":"#000000"},"logo":{"light":"https://mintcdn.com/bily-0a68b1b5/4zMpOKDreiv1Tjzu/logo/light.svg?fit=max\u0026auto=format\u0026n=4zMpOKDreiv1Tjzu\u0026q=85\u0026s=5b4a0dff5e25c7c7e164894fcad55433","dark":"https://mintcdn.com/bily-0a68b1b5/4zMpOKDreiv1Tjzu/logo/dark.svg?fit=max\u0026auto=format\u0026n=4zMpOKDreiv1Tjzu\u0026q=85\u0026s=b152e00323b20be4464af1f7abeecf9e"},"favicon":"https://mintcdn.com/bily-0a68b1b5/4zMpOKDreiv1Tjzu/favicon.svg?fit=max\u0026auto=format\u0026n=4zMpOKDreiv1Tjzu\u0026q=85\u0026s=05f6fd01365c823b05542d1cbb20c16f","api":{"playground":{"display":"interactive","proxy":false},"examples":{"defaults":"required","languages":["curl","javascript","python"]}},"navbar":{"links":[{"href":"mailto:support@bily.ai","label":"Support"}],"primary":{"type":"button","label":"Open Bily","href":"https://app.bily.ai"}},"seo":{"metatags":{"canonical":"https://docs.bily.ai"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Bily","icon":"house","href":"https://bily.ai"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"bily-0a68b1b5","hasAudioNarration":false,"actualSubdomain":"bily-0a68b1b5","customDomains":["docs.bily.ai"],"gitSource":{"type":"github","owner":"the-boring-ai","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae248834467447de5b7af4a","collectionId":"bffd50bd-a0b2-4a75-aa4d-fd6300b2e91d","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae248834467447de5b7af4a"},"entitlements":{},"buildId":"6ae63922a96db197f2b7169b","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Bily API","count":131},{"language":"default","tag":"Endpoint reference","count":125},{"language":"default","tag":"Campaign actions","count":46},{"language":"default","tag":"Guides","count":34},{"language":"default","tag":"Creative library","count":22},{"language":"default","tag":"Analytics","count":15},{"language":"default","tag":"Install Bily","count":13},{"language":"default","tag":"Ad drafts and jobs","count":13},{"language":"default","tag":"Getting started","count":11},{"language":"default","tag":"Tracking evidence","count":9}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":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":"rest-reference/campaign-actions/update-platform-asset","slug":"/rest-reference/campaign-actions/update-platform-asset","pageMetadata":{"title":"Update Platform Asset","description":"Advanced immediate provider operation to rename, pause, resume, archive, or rebudget supported campaigns and ad sets, plus supported ad-level actions. Normal Ads Manager requests should saveAdDraft first, read/review it, then explicitly publishAdDraft. Meta and Google budget writes require the version 1 budgetGuard from read-asset-budget, exact selected native owner/parent and a budget-only update with the unchanged cadence. Old unguarded absolute/relative budget bodies require a new review and submit no budget change. Bily never rebases the saved absolute amount or retargets an inherited Meta ad set. Google shared scope must be complete and at most 100; CUSTOM_PERIOD is unsupported. Generic Google status/name/removal is checked against the exact fresh native campaign and parent; classic VIDEO and budgets affecting VIDEO are read only. Dedicated Demand Gen video remains supported; the native v24+ responsive Video-ad-info and experiment exceptions are not generic update-asset operations. Native-owner arbitration covers separate jobs and authorized aliases. New unguarded budget drafts fail Save; overbound mixed financial jobs require a split review. Busy or unknown outcomes never replay automatically; unknown outcomes quarantine the exact owner with its original receipt beyond job retirement. ARCHIVED maps to native removal for Google, TikTok and Snapchat; require separate exact destructive approval rather than treating it as a reversible pause. Authorized Slack requests use this same workspace-scoped capability; pausing an ad requires its exact platform, asset type, and asset ID. This generic outer sourceAuthority remains GOOGLE_ADS only; Meta budget source is bound inside budgetGuard. Other providers and nonbudget fields keep their previous contracts. This is an execution endpoint. For a reviewed user change, save its supported capability/body as an immutable action draft, review it, and explicitly publish that draft. Check action-jobs/capabilities before staging; a catalog entry alone does not make it stageable.","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/update-asset","href":"/rest-reference/campaign-actions/update-platform-asset","autogeneratedByOpenApi":true},"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: \"Advanced immediate provider operation to rename, pause, resume, archive, or rebudget supported campaigns and ad sets, plus supported ad-level actions. Normal Ads Manager requests should saveAdDraft first, read/review it, then explicitly publishAdDraft. Meta and Google budget writes require the version 1 budgetGuard from read-asset-budget, exact selected native owner/parent and a budget-only update with the unchanged cadence. Old unguarded absolute/relative budget bodies require a new review and submit no budget change. Bily never rebases the saved absolute amount or retargets an inherited Meta ad set. Google shared scope must be complete and at most 100; CUSTOM_PERIOD is unsupported. Generic Google status/name/removal is checked against the exact fresh native campaign and parent; classic VIDEO and budgets affecting VIDEO are read only. Dedicated Demand Gen video remains supported; the native v24+ responsive Video-ad-info and experiment exceptions are not generic update-asset operations. Native-owner arbitration covers separate jobs and authorized aliases. New unguarded budget drafts fail Save; overbound mixed financial jobs require a split review. Busy or unknown outcomes never replay automatically; unknown outcomes quarantine the exact owner with its original receipt beyond job retirement. ARCHIVED maps to native removal for Google, TikTok and Snapchat; require separate exact destructive approval rather than treating it as a reversible pause. Authorized Slack requests use this same workspace-scoped capability; pausing an ad requires its exact platform, asset type, and asset ID. This generic outer sourceAuthority remains GOOGLE_ADS only; Meta budget source is bound inside budgetGuard. Other providers and nonbudget fields keep their previous contracts. This is an execution endpoint. For a reviewed user change, save its supported capability/body as an immutable action draft, review it, and explicitly publish that draft. Check action-jobs/capabilities before staging; a catalog entry alone does not make it stageable.\"\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":"Update Platform Asset","description":"Advanced immediate provider operation to rename, pause, resume, archive, or rebudget supported campaigns and ad sets, plus supported ad-level actions. Normal Ads Manager requests should saveAdDraft first, read/review it, then explicitly publishAdDraft. Meta and Google budget writes require the version 1 budgetGuard from read-asset-budget, exact selected native owner/parent and a budget-only update with the unchanged cadence. Old unguarded absolute/relative budget bodies require a new review and submit no budget change. Bily never rebases the saved absolute amount or retargets an inherited Meta ad set. Google shared scope must be complete and at most 100; CUSTOM_PERIOD is unsupported. Generic Google status/name/removal is checked against the exact fresh native campaign and parent; classic VIDEO and budgets affecting VIDEO are read only. Dedicated Demand Gen video remains supported; the native v24+ responsive Video-ad-info and experiment exceptions are not generic update-asset operations. Native-owner arbitration covers separate jobs and authorized aliases. New unguarded budget drafts fail Save; overbound mixed financial jobs require a split review. Busy or unknown outcomes never replay automatically; unknown outcomes quarantine the exact owner with its original receipt beyond job retirement. ARCHIVED maps to native removal for Google, TikTok and Snapchat; require separate exact destructive approval rather than treating it as a reversible pause. Authorized Slack requests use this same workspace-scoped capability; pausing an ad requires its exact platform, asset type, and asset ID. This generic outer sourceAuthority remains GOOGLE_ADS only; Meta budget source is bound inside budgetGuard. Other providers and nonbudget fields keep their previous contracts. This is an execution endpoint. For a reviewed user change, save its supported capability/body as an immutable action draft, review it, and explicitly publish that draft. Check action-jobs/capabilities before staging; a catalog entry alone does not make it stageable.","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/update-asset","href":"/rest-reference/campaign-actions/update-platform-asset","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Campaign actions"],"summary":"Update Platform Asset","description":"Advanced immediate provider operation to rename, pause, resume, archive, or rebudget supported campaigns and ad sets, plus supported ad-level actions. Normal Ads Manager requests should saveAdDraft first, read/review it, then explicitly publishAdDraft. Meta and Google budget writes require the version 1 budgetGuard from read-asset-budget, exact selected native owner/parent and a budget-only update with the unchanged cadence. Old unguarded absolute/relative budget bodies require a new review and submit no budget change. Bily never rebases the saved absolute amount or retargets an inherited Meta ad set. Google shared scope must be complete and at most 100; CUSTOM_PERIOD is unsupported. Generic Google status/name/removal is checked against the exact fresh native campaign and parent; classic VIDEO and budgets affecting VIDEO are read only. Dedicated Demand Gen video remains supported; the native v24+ responsive Video-ad-info and experiment exceptions are not generic update-asset operations. Native-owner arbitration covers separate jobs and authorized aliases. New unguarded budget drafts fail Save; overbound mixed financial jobs require a split review. Busy or unknown outcomes never replay automatically; unknown outcomes quarantine the exact owner with its original receipt beyond job retirement. ARCHIVED maps to native removal for Google, TikTok and Snapchat; require separate exact destructive approval rather than treating it as a reversible pause. Authorized Slack requests use this same workspace-scoped capability; pausing an ad requires its exact platform, asset type, and asset ID. This generic outer sourceAuthority remains GOOGLE_ADS only; Meta budget source is bound inside budgetGuard. Other providers and nonbudget fields keep their previous contracts. This is an execution endpoint. For a reviewed user change, save its supported capability/body as an immutable action draft, review it, and explicitly publish that draft. Check action-jobs/capabilities before staging; a catalog entry alone does not make it stageable.","operationId":"ads-update-asset","parameters":["39496653-511f-40e7-a133-851bd2266ca4","ad2d4331-f24b-48e3-8fe6-10151fc10edd"],"requestBody":"d3f41e2d-0d09-4b47-ac5d-75f59b9d57a6","responses":{"200":"96830123-514e-4786-8ef7-cc1dcc71965f","400":"d29e1629-e719-4e6e-9be4-32add93877bb","401":"60c5c63f-eb7a-4d7e-9d2d-8b18431a76b8","403":"6c3dabbd-5a38-4f83-9671-6e35ebf66cba","404":"1264e379-9651-4e0d-9219-c8e6ffdb0713","409":"657cf289-7535-4d8e-8f48-d73ced100428","429":"206d1f66-a7dd-4d25-8759-5e98f8cd3aca","500":"8fd243db-bf4a-4903-a82d-304e5549e4f4","502":"0120ff6f-ad34-459c-8983-950d7bb7f267","503":"28e00943-7a87-445c-a58f-73568f968a0b"},"method":"post","type":"path","servers":["5048af3f-b97f-420f-b166-28420c129582"],"security":["3d88f8b7-c040-4918-96a4-65f82735c29b","9aabc40c-31fe-4f76-aaa3-aab4ff931535"],"path":"/platform/{resourceUrl}/actions/update-asset","baseUrlOptions":["https://app.bily.ai/api/customer/v1"],"title":"Update Platform Asset","codeSamples":[],"requestExampleLanguages":["bash","javascript","python"],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated","disableProxy":true},"dependencies":{"parameters":{"39496653-511f-40e7-a133-851bd2266ca4":{"name":"resourceUrl","in":"path","required":true,"description":"Exact workspace URL returned by GET /context.","schema":{"type":"string","isRequired":true,"description":"Exact workspace URL returned by GET /context.","uniqueKey":"","typeLabel":"string"}},"ad2d4331-f24b-48e3-8fe6-10151fc10edd":{"name":"x-bily-organization-id","in":"header","required":false,"description":"An organization ID returned by GET /context or GET /organizations. Omit it when a scoped key supplies the organization. Otherwise provide it when no organization is selected.","schema":{"type":"string","example":"org_01J8W7T9G3E6ZQ4M2K5N8P1R0S","isRequired":false,"description":"An organization ID returned by GET /context or GET /organizations. Omit it when a scoped key supplies the organization. Otherwise provide it when no organization is selected.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"For Meta/Google budget changes, first read the native budget and keep the returned guard unchanged. Send only budget and budgetType inside updates. Meta omits top-level sourceAuthority; its source is inside budgetGuard. Google supplies the exact top-level sourceAuthority pair. The path supplies resourceUrl; do not repeat it in the body.","required":["platform","assetType","assetId","updates"],"properties":{"platform":{"type":"string","enum":["FACEBOOK","GOOGLE_ADS","MICROSOFT","LINKEDIN","SNAPCHAT","TIKTOK","PINTEREST"],"isRequired":true,"uniqueKey":"platform","typeLabel":"enum\u003cstring>"},"assetType":{"type":"string","enum":["campaign","adset","ad"],"isRequired":true,"uniqueKey":"assetType","typeLabel":"enum\u003cstring>"},"assetId":{"type":"string","isRequired":true,"uniqueKey":"assetId","typeLabel":"string"},"updates":{"type":"object","minProperties":1,"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"uniqueKey":"updates.name","typeLabel":"string"},"status":{"type":"string","enum":["ACTIVE","PAUSED","ARCHIVED"],"uniqueKey":"updates.status","typeLabel":"enum\u003cstring>"},"budget":{"type":"number","exclusiveMinimum":0,"uniqueKey":"updates.budget","typeLabel":"number"},"budgetType":{"type":"string","enum":["daily","lifetime"],"uniqueKey":"updates.budgetType","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"updates","typeLabel":"object"},"parentAssetId":{"type":"string","pattern":"^[1-9]\\d{0,19}$","uniqueKey":"parentAssetId","typeLabel":"string"},"adAccountId":{"type":"string","uniqueKey":"adAccountId","typeLabel":"string"},"budgetGuard":{"oneOf":[{"type":"object","description":"Use the live quote unchanged. amountUnits must fit a positive signed 64-bit integer (at most 9223372036854775807). Selection, owner, currency, cadence and source must match the exact request. Google affectedCampaignIds is the complete unique lexically sorted scope, includes the selected campaign, and matches referenceCount. A JSON-shaped guard without a current matching fingerprint is not executable authority.","required":["version","resourceUrl","sourceAuthority","currency","amountUnits","fingerprint","platform","adAccountId","selection","owner","cadence","unitsPerCurrency"],"properties":{"version":{"const":1,"type":"integer","isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.version","typeLabel":"integer"},"resourceUrl":{"type":"string","pattern":"^[a-z0-9.-]{1,253}$","isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.resourceUrl","typeLabel":"string"},"sourceAuthority":{"type":"object","additionalProperties":false,"required":["dataSourceAdAccountId","dataSourceConnectorId"],"properties":{"dataSourceAdAccountId":{"type":"string","minLength":1,"maxLength":512,"isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.sourceAuthority.dataSourceAdAccountId","typeLabel":"string"},"dataSourceConnectorId":{"type":"string","minLength":1,"maxLength":512,"isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.sourceAuthority.dataSourceConnectorId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.sourceAuthority","typeLabel":"object"},"currency":{"type":"string","pattern":"^[A-Z]{3}$","isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.currency","typeLabel":"string"},"amountUnits":{"type":"string","pattern":"^[1-9]\\d{0,18}$","isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.amountUnits","typeLabel":"string"},"fingerprint":{"type":"string","pattern":"^[a-f0-9]{64}$","isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.fingerprint","typeLabel":"string"},"platform":{"const":"FACEBOOK","type":"string","isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.platform","typeLabel":"string"},"adAccountId":{"type":"string","pattern":"^(?:act_)?[1-9]\\d{0,19}$","isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.adAccountId","typeLabel":"string"},"selection":{"oneOf":[{"type":"object","required":["assetType","assetId"],"properties":{"assetType":{"const":"campaign","type":"string","isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.selection.oneOf.0.assetType","typeLabel":"string"},"assetId":{"type":"string","pattern":"^[1-9]\\d{0,19}$","isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.selection.oneOf.0.assetId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.selection.oneOf.0","typeLabel":"object"},{"type":"object","required":["assetType","assetId","parentAssetId"],"properties":{"assetType":{"const":"adset","type":"string","isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.selection.oneOf.1.assetType","typeLabel":"string"},"assetId":{"type":"string","pattern":"^[1-9]\\d{0,19}$","isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.selection.oneOf.1.assetId","typeLabel":"string"},"parentAssetId":{"type":"string","pattern":"^[1-9]\\d{0,19}$","isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.selection.oneOf.1.parentAssetId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.selection.oneOf.1","typeLabel":"object"}],"isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.selection","typeLabel":"object"},"owner":{"type":"object","additionalProperties":false,"required":["assetType","assetId"],"properties":{"assetType":{"enum":["campaign","adset"],"type":"string","isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.owner.assetType","typeLabel":"enum\u003cstring>"},"assetId":{"type":"string","pattern":"^[1-9]\\d{0,19}$","isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.owner.assetId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.owner","typeLabel":"object"},"cadence":{"type":"string","enum":["daily","lifetime"],"isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.cadence","typeLabel":"enum\u003cstring>"},"unitsPerCurrency":{"enum":[1,100,1000],"type":"integer","isRequired":true,"uniqueKey":"budgetGuard.oneOf.0.unitsPerCurrency","typeLabel":"enum\u003cinteger>"}},"additionalProperties":false,"uniqueKey":"budgetGuard.oneOf.0","typeLabel":"object"},{"type":"object","description":"Use the live quote unchanged. amountUnits must fit a positive signed 64-bit integer (at most 9223372036854775807). Selection, owner, currency, cadence and source must match the exact request. Google affectedCampaignIds is the complete unique lexically sorted scope, includes the selected campaign, and matches referenceCount. A JSON-shaped guard without a current matching fingerprint is not executable authority.","required":["version","resourceUrl","sourceAuthority","currency","amountUnits","fingerprint","platform","adAccountId","selection","owner","cadence","unitsPerCurrency","period","budgetType","explicitlyShared","referenceCount","affectedCampaignIds"],"properties":{"version":{"const":1,"type":"integer","isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.version","typeLabel":"integer"},"resourceUrl":{"type":"string","pattern":"^[a-z0-9.-]{1,253}$","isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.resourceUrl","typeLabel":"string"},"sourceAuthority":{"type":"object","additionalProperties":false,"required":["dataSourceAdAccountId","dataSourceConnectorId"],"properties":{"dataSourceAdAccountId":{"type":"string","minLength":1,"maxLength":512,"isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.sourceAuthority.dataSourceAdAccountId","typeLabel":"string"},"dataSourceConnectorId":{"type":"string","minLength":1,"maxLength":512,"isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.sourceAuthority.dataSourceConnectorId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.sourceAuthority","typeLabel":"object"},"currency":{"type":"string","pattern":"^[A-Z]{3}$","isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.currency","typeLabel":"string"},"amountUnits":{"type":"string","pattern":"^[1-9]\\d{0,18}$","isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.amountUnits","typeLabel":"string"},"fingerprint":{"type":"string","pattern":"^[a-f0-9]{64}$","isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.fingerprint","typeLabel":"string"},"platform":{"const":"GOOGLE_ADS","type":"string","isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.platform","typeLabel":"string"},"adAccountId":{"type":"string","pattern":"^[1-9]\\d{0,19}$","isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.adAccountId","typeLabel":"string"},"selection":{"type":"object","additionalProperties":false,"required":["assetType","assetId"],"properties":{"assetType":{"const":"campaign","type":"string","isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.selection.assetType","typeLabel":"string"},"assetId":{"type":"string","pattern":"^[1-9]\\d{0,19}$","isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.selection.assetId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.selection","typeLabel":"object"},"owner":{"type":"object","additionalProperties":false,"required":["assetType","resourceName"],"properties":{"assetType":{"const":"campaign_budget","type":"string","isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.owner.assetType","typeLabel":"string"},"resourceName":{"type":"string","pattern":"^customers/[1-9]\\d{0,19}/campaignBudgets/[1-9]\\d{0,19}$","isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.owner.resourceName","typeLabel":"string"}},"isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.owner","typeLabel":"object"},"cadence":{"const":"daily","type":"string","isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.cadence","typeLabel":"string"},"unitsPerCurrency":{"const":1000000,"type":"integer","isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.unitsPerCurrency","typeLabel":"integer"},"period":{"const":"DAILY","type":"string","isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.period","typeLabel":"string"},"budgetType":{"const":"STANDARD","type":"string","isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.budgetType","typeLabel":"string"},"explicitlyShared":{"type":"boolean","isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.explicitlyShared","typeLabel":"boolean"},"referenceCount":{"type":"integer","minimum":1,"maximum":100,"isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.referenceCount","typeLabel":"integer"},"affectedCampaignIds":{"type":"array","minItems":1,"maxItems":100,"uniqueItems":true,"items":{"type":"string","pattern":"^[1-9]\\d{0,19}$","uniqueKey":"budgetGuard.oneOf.1.affectedCampaignIds.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"budgetGuard.oneOf.1.affectedCampaignIds","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"budgetGuard.oneOf.1","typeLabel":"object"}],"uniqueKey":"budgetGuard","typeLabel":"object"},"sourceAuthority":{"type":"object","description":"GOOGLE_ADS only: use the exact enabled account and connector pair from the current workspace selection. Omit for other platforms.","additionalProperties":false,"required":["dataSourceAdAccountId","dataSourceConnectorId"],"properties":{"dataSourceAdAccountId":{"type":"string","minLength":1,"maxLength":512,"isRequired":true,"uniqueKey":"sourceAuthority.dataSourceAdAccountId","typeLabel":"string"},"dataSourceConnectorId":{"type":"string","minLength":1,"maxLength":512,"isRequired":true,"uniqueKey":"sourceAuthority.dataSourceConnectorId","typeLabel":"string"}},"uniqueKey":"sourceAuthority","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"assetId":"\u003cstring>","updates":{"name":"\u003cstring>","budget":123},"parentAssetId":"\u003cstring>","adAccountId":"\u003cstring>","budgetGuard":{"version":1,"resourceUrl":"\u003cstring>","sourceAuthority":{"dataSourceAdAccountId":"\u003cstring>","dataSourceConnectorId":"\u003cstring>"},"currency":"\u003cstring>","amountUnits":"\u003cstring>","fingerprint":"\u003cstring>","platform":"FACEBOOK","adAccountId":"\u003cstring>","selection":{"assetType":"campaign","assetId":"\u003cstring>"},"owner":{"assetId":"\u003cstring>"}}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"96830123-514e-4786-8ef7-cc1dcc71965f":{"description":"Request completed. Inspect the returned state and any verification fields.","headers":{"x-request-id":{"schema":{"type":"string"},"description":"Keep this identifier for diagnostics."}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{}}},"exampleType":"generated"}},"exampleType":"generated"},"d29e1629-e719-4e6e-9be4-32add93877bb":{"description":"The request path, query, or body is invalid.","headers":{"x-request-id":{"description":"The request identifier selected or generated by Bily.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","example":"Store not found","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"requestId":{"type":"string","description":"Present on some server errors.","uniqueKey":"requestId","typeLabel":"string"},"details":{"description":"Optional safe details for an action failure.","uniqueKey":"details","typeLabel":"any"},"retryAfter":{"oneOf":[{"type":"string","uniqueKey":"retryAfter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"retryAfter.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryAfter","typeLabel":"string | null"}},"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Store not found","requestId":"\u003cstring>","details":"\u003cunknown>","retryAfter":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"60c5c63f-eb7a-4d7e-9d2d-8b18431a76b8":{"description":"Authentication is missing or invalid.","headers":{"x-request-id":{"description":"The request identifier selected or generated by Bily.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","example":"Store not found","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"requestId":{"type":"string","description":"Present on some server errors.","uniqueKey":"requestId","typeLabel":"string"},"details":{"description":"Optional safe details for an action failure.","uniqueKey":"details","typeLabel":"any"},"retryAfter":{"oneOf":[{"type":"string","uniqueKey":"retryAfter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"retryAfter.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryAfter","typeLabel":"string | null"}},"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Store not found","requestId":"\u003cstring>","details":"\u003cunknown>","retryAfter":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"6c3dabbd-5a38-4f83-9671-6e35ebf66cba":{"description":"The identity or API key is not allowed to perform this request.","headers":{"x-request-id":{"description":"The request identifier selected or generated by Bily.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","example":"Store not found","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"requestId":{"type":"string","description":"Present on some server errors.","uniqueKey":"requestId","typeLabel":"string"},"details":{"description":"Optional safe details for an action failure.","uniqueKey":"details","typeLabel":"any"},"retryAfter":{"oneOf":[{"type":"string","uniqueKey":"retryAfter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"retryAfter.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryAfter","typeLabel":"string | null"}},"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Store not found","requestId":"\u003cstring>","details":"\u003cunknown>","retryAfter":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"1264e379-9651-4e0d-9219-c8e6ffdb0713":{"description":"The resource was not found in the caller's accessible scope.","headers":{"x-request-id":{"description":"The request identifier selected or generated by Bily.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","example":"Store not found","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"requestId":{"type":"string","description":"Present on some server errors.","uniqueKey":"requestId","typeLabel":"string"},"details":{"description":"Optional safe details for an action failure.","uniqueKey":"details","typeLabel":"any"},"retryAfter":{"oneOf":[{"type":"string","uniqueKey":"retryAfter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"retryAfter.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryAfter","typeLabel":"string | null"}},"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Store not found","requestId":"\u003cstring>","details":"\u003cunknown>","retryAfter":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"657cf289-7535-4d8e-8f48-d73ced100428":{"description":"The request conflicts with the current resource state.","headers":{"x-request-id":{"description":"The request identifier selected or generated by Bily.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","example":"Store not found","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"requestId":{"type":"string","description":"Present on some server errors.","uniqueKey":"requestId","typeLabel":"string"},"details":{"description":"Optional safe details for an action failure.","uniqueKey":"details","typeLabel":"any"},"retryAfter":{"oneOf":[{"type":"string","uniqueKey":"retryAfter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"retryAfter.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryAfter","typeLabel":"string | null"}},"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Store not found","requestId":"\u003cstring>","details":"\u003cunknown>","retryAfter":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"206d1f66-a7dd-4d25-8759-5e98f8cd3aca":{"description":"The request rate is too high.","headers":{"x-request-id":{"description":"The request identifier selected or generated by Bily.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","example":"Store not found","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"requestId":{"type":"string","description":"Present on some server errors.","uniqueKey":"requestId","typeLabel":"string"},"details":{"description":"Optional safe details for an action failure.","uniqueKey":"details","typeLabel":"any"},"retryAfter":{"oneOf":[{"type":"string","uniqueKey":"retryAfter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"retryAfter.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryAfter","typeLabel":"string | null"}},"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Store not found","requestId":"\u003cstring>","details":"\u003cunknown>","retryAfter":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"8fd243db-bf4a-4903-a82d-304e5549e4f4":{"description":"Bily could not complete the request.","headers":{"x-request-id":{"description":"The request identifier selected or generated by Bily.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","example":"Store not found","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"requestId":{"type":"string","description":"Present on some server errors.","uniqueKey":"requestId","typeLabel":"string"},"details":{"description":"Optional safe details for an action failure.","uniqueKey":"details","typeLabel":"any"},"retryAfter":{"oneOf":[{"type":"string","uniqueKey":"retryAfter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"retryAfter.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryAfter","typeLabel":"string | null"}},"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Store not found","requestId":"\u003cstring>","details":"\u003cunknown>","retryAfter":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"0120ff6f-ad34-459c-8983-950d7bb7f267":{"description":"A dependent Bily operation was temporarily unavailable.","headers":{"x-request-id":{"description":"The request identifier selected or generated by Bily.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","example":"Store not found","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"requestId":{"type":"string","description":"Present on some server errors.","uniqueKey":"requestId","typeLabel":"string"},"details":{"description":"Optional safe details for an action failure.","uniqueKey":"details","typeLabel":"any"},"retryAfter":{"oneOf":[{"type":"string","uniqueKey":"retryAfter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"retryAfter.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryAfter","typeLabel":"string | null"}},"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Store not found","requestId":"\u003cstring>","details":"\u003cunknown>","retryAfter":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"28e00943-7a87-445c-a58f-73568f968a0b":{"description":"Authentication or a required data source is temporarily unavailable. Honor Retry-After when present; do not interpret this as an invalid key or an empty dataset.","headers":{"x-request-id":{"description":"The request identifier selected or generated by Bily.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","example":"Store not found","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"requestId":{"type":"string","description":"Present on some server errors.","uniqueKey":"requestId","typeLabel":"string"},"details":{"description":"Optional safe details for an action failure.","uniqueKey":"details","typeLabel":"any"},"retryAfter":{"oneOf":[{"type":"string","uniqueKey":"retryAfter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"retryAfter.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryAfter","typeLabel":"string | null"}},"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Store not found","requestId":"\u003cstring>","details":"\u003cunknown>","retryAfter":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"3d88f8b7-c040-4918-96a4-65f82735c29b":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"A server-side Bily API key created under Settings > AI tools > Access keys. Select the intended workspace before creating it.","scopes":[],"schemeName":"ApiKeyAuth"}},"9aabc40c-31fe-4f76-aaa3-aab4ff931535":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"Bily API key","description":"An alternative way to send the same server-side Bily API key.","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"5048af3f-b97f-420f-b166-28420c129582":{"url":"https://app.bily.ai/api/customer/v1","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"A server-side Bily API key created under Settings > AI tools > Access keys. Select the intended workspace before creating it.","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"x-api-key","type":"string","description":"A server-side Bily API key created under Settings > AI tools > Access keys. Select the intended workspace before creating it.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"x-api-key"}],"title":"ApiKeyAuth"},{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"Bily API key","description":"An alternative way to send the same server-side Bily API key.","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"An alternative way to send the same server-side Bily API key.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"openapi.json"},"subdomain":"bily-0a68b1b5","siteName":"Bily developer docs","title":"Update Platform Asset - Bily developer docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-31T18:53:29.163Z","originalFileLocation":"rest-reference/campaign-actions/update-platform-asset.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=\"Advanced immediate provider operation to rename, pause, resume, archive, or rebudget supported campaigns and ad sets, plus supported ad-level actions. Normal Ads Manager requests should saveAdDraft first, read/review it, then explicitly publishAdDraft. Meta and Google budget writes require the version 1 budgetGuard from read-asset-budget, exact selected native owner/parent and a budget-only update with the unchanged cadence. Old unguarded absolute/relative budget bodies require a new review and submit no budget change. Bily never rebases the saved absolute amount or retargets an inherited Meta ad set. Google shared scope must be complete and at most 100; CUSTOM_PERIOD is unsupported. Generic Google status/name/removal is checked against the exact fresh native campaign and parent; classic VIDEO and budgets affecting VIDEO are read only. Dedicated Demand Gen video remains supported; the native v24+ responsive Video-ad-info and experiment exceptions are not generic update-asset operations. Native-owner arbitration covers separate jobs and authorized aliases. New unguarded budget drafts fail Save; overbound mixed financial jobs require a split review. Busy or unknown outcomes never replay automatically; unknown outcomes quarantine the exact owner with its original receipt beyond job retirement. ARCHIVED maps to native removal for Google, TikTok and Snapchat; require separate exact destructive approval rather than treating it as a reversible pause. Authorized Slack requests use this same workspace-scoped capability; pausing an ad requires its exact platform, asset type, and asset ID. This generic outer sourceAuthority remains GOOGLE_ADS only; Meta budget source is bound inside budgetGuard. Other providers and nonbudget fields keep their previous contracts. This is an execution endpoint. For a reviewed user change, save its supported capability/body as an immutable action draft, review it, and explicitly publish that draft. Check action-jobs/capabilities before staging; a catalog entry alone does not make it stageable.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Bily developer docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/bily-0a68b1b5/lnOomZjshyUOnRjT/_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/bily-0a68b1b5/lnOomZjshyUOnRjT/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/bily-0a68b1b5/lnOomZjshyUOnRjT/_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/bily-0a68b1b5/lnOomZjshyUOnRjT/_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/bily-0a68b1b5/lnOomZjshyUOnRjT/_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/bily-0a68b1b5/lnOomZjshyUOnRjT/_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/bily-0a68b1b5/lnOomZjshyUOnRjT/_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/bily-0a68b1b5/lnOomZjshyUOnRjT/_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/bily-0a68b1b5/lnOomZjshyUOnRjT/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update Platform Asset - Bily developer docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Advanced immediate provider operation to rename, pause, resume, archive, or rebudget supported campaigns and ad sets, plus supported ad-level actions. Normal Ads Manager requests should saveAdDraft first, read/review it, then explicitly publishAdDraft. Meta and Google budget writes require the version 1 budgetGuard from read-asset-budget, exact selected native owner/parent and a budget-only update with the unchanged cadence. Old unguarded absolute/relative budget bodies require a new review and submit no budget change. Bily never rebases the saved absolute amount or retargets an inherited Meta ad set. Google shared scope must be complete and at most 100; CUSTOM_PERIOD is unsupported. Generic Google status/name/removal is checked against the exact fresh native campaign and parent; classic VIDEO and budgets affecting VIDEO are read only. Dedicated Demand Gen video remains supported; the native v24+ responsive Video-ad-info and experiment exceptions are not generic update-asset operations. Native-owner arbitration covers separate jobs and authorized aliases. New unguarded budget drafts fail Save; overbound mixed financial jobs require a split review. Busy or unknown outcomes never replay automatically; unknown outcomes quarantine the exact owner with its original receipt beyond job retirement. ARCHIVED maps to native removal for Google, TikTok and Snapchat; require separate exact destructive approval rather than treating it as a reversible pause. Authorized Slack requests use this same workspace-scoped capability; pausing an ad requires its exact platform, asset type, and asset ID. This generic outer sourceAuthority remains GOOGLE_ADS only; Meta budget source is bound inside budgetGuard. Other providers and nonbudget fields keep their previous contracts. This is an execution endpoint. For a reviewed user change, save its supported capability/body as an immutable action draft, review it, and explicitly publish that draft. Check action-jobs/capabilities before staging; a catalog entry alone does not make it stageable.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Bily developer docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.bily.ai/rest-reference/campaign-actions/update-platform-asset\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://bily-0a68b1b5.mintlify.app/_mintlify/api/og/v2?division=Campaign+actions\u0026amp;title=Update+Platform+Asset\u0026amp;description=Advanced+immediate+provider+operation+to+rename%2C+pause%2C+resume%2C+archive%2C+or+rebudget+supported+campaigns+and+ad+sets%2C+plus+supported+ad-level+actions.+Normal+Ad\u0026amp;theme=a10e25d6dfc8cf9da9ba2597\u0026amp;signature=5cabfd30d7f4a161745403bc3e53a47051de141447413a6ad2bc14ee4d7e0a3f\">\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=\"Update Platform Asset - Bily developer docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Advanced immediate provider operation to rename, pause, resume, archive, or rebudget supported campaigns and ad sets, plus supported ad-level actions. Normal Ads Manager requests should saveAdDraft first, read/review it, then explicitly publishAdDraft. Meta and Google budget writes require the version 1 budgetGuard from read-asset-budget, exact selected native owner/parent and a budget-only update with the unchanged cadence. Old unguarded absolute/relative budget bodies require a new review and submit no budget change. Bily never rebases the saved absolute amount or retargets an inherited Meta ad set. Google shared scope must be complete and at most 100; CUSTOM_PERIOD is unsupported. Generic Google status/name/removal is checked against the exact fresh native campaign and parent; classic VIDEO and budgets affecting VIDEO are read only. Dedicated Demand Gen video remains supported; the native v24+ responsive Video-ad-info and experiment exceptions are not generic update-asset operations. Native-owner arbitration covers separate jobs and authorized aliases. New unguarded budget drafts fail Save; overbound mixed financial jobs require a split review. Busy or unknown outcomes never replay automatically; unknown outcomes quarantine the exact owner with its original receipt beyond job retirement. ARCHIVED maps to native removal for Google, TikTok and Snapchat; require separate exact destructive approval rather than treating it as a reversible pause. Authorized Slack requests use this same workspace-scoped capability; pausing an ad requires its exact platform, asset type, and asset ID. This generic outer sourceAuthority remains GOOGLE_ADS only; Meta budget source is bound inside budgetGuard. Other providers and nonbudget fields keep their previous contracts. This is an execution endpoint. For a reviewed user change, save its supported capability/body as an immutable action draft, review it, and explicitly publish that draft. Check action-jobs/capabilities before staging; a catalog entry alone does not make it stageable.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://bily-0a68b1b5.mintlify.app/_mintlify/api/og/v2?division=Campaign+actions\u0026amp;title=Update+Platform+Asset\u0026amp;description=Advanced+immediate+provider+operation+to+rename%2C+pause%2C+resume%2C+archive%2C+or+rebudget+supported+campaigns+and+ad+sets%2C+plus+supported+ad-level+actions.+Normal+Ad\u0026amp;theme=a10e25d6dfc8cf9da9ba2597\u0026amp;signature=5cabfd30d7f4a161745403bc3e53a47051de141447413a6ad2bc14ee4d7e0a3f\">\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/bily-0a68b1b5/lnOomZjshyUOnRjT/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Bily developer docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#000000\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.bily.ai/rest-reference/campaign-actions/update-platform-asset\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/rest-reference/campaign-actions/update-platform-asset.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.bily.ai/#organization\",\"name\":\"Bily developer docs\",\"url\":\"https://docs.bily.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/bily-0a68b1b5/4zMpOKDreiv1Tjzu/logo/light.svg?fit=max\u0026auto=format\u0026n=4zMpOKDreiv1Tjzu\u0026q=85\u0026s=5b4a0dff5e25c7c7e164894fcad55433\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.bily.ai#website\",\"name\":\"Bily developer docs\",\"url\":\"https://docs.bily.ai\",\"publisher\":{\"@id\":\"https://docs.bily.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.bily.ai/rest-reference/campaign-actions/update-platform-asset#webpage\",\"url\":\"https://docs.bily.ai/rest-reference/campaign-actions/update-platform-asset\",\"name\":\"Update Platform Asset\",\"description\":\"Advanced immediate provider operation to rename, pause, resume, archive, or rebudget supported campaigns and ad sets, plus supported ad-level actions. Normal Ads Manager requests should saveAdDraft first, read/review it, then explicitly publishAdDraft. Meta and Google budget writes require the version 1 budgetGuard from read-asset-budget, exact selected native owner/parent and a budget-only update with the unchanged cadence. Old unguarded absolute/relative budget bodies require a new review and submit no budget change. Bily never rebases the saved absolute amount or retargets an inherited Meta ad set. Google shared scope must be complete and at most 100; CUSTOM_PERIOD is unsupported. Generic Google status/name/removal is checked against the exact fresh native campaign and parent; classic VIDEO and budgets affecting VIDEO are read only. Dedicated Demand Gen video remains supported; the native v24+ responsive Video-ad-info and experiment exceptions are not generic update-asset operations. Native-owner arbitration covers separate jobs and authorized aliases. New unguarded budget drafts fail Save; overbound mixed financial jobs require a split review. Busy or unknown outcomes never replay automatically; unknown outcomes quarantine the exact owner with its original receipt beyond job retirement. ARCHIVED maps to native removal for Google, TikTok and Snapchat; require separate exact destructive approval rather than treating it as a reversible pause. Authorized Slack requests use this same workspace-scoped capability; pausing an ad requires its exact platform, asset type, and asset ID. This generic outer sourceAuthority remains GOOGLE_ADS only; Meta budget source is bound inside budgetGuard. Other providers and nonbudget fields keep their previous contracts. This is an execution endpoint. For a reviewed user change, save its supported capability/body as an immutable action draft, review it, and explicitly publish that draft. Check action-jobs/capabilities before staging; a catalog entry alone does not make it stageable.\",\"dateModified\":\"2026-10-31T18:53:29.163Z\",\"isPartOf\":{\"@id\":\"https://docs.bily.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.bily.ai/rest-reference/campaign-actions/update-platform-asset#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.bily.ai/rest-reference/campaign-actions/update-platform-asset#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoint reference\",\"item\":\"https://docs.bily.ai/rest-reference/identity/get-customer-context\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Campaign actions\",\"item\":\"https://docs.bily.ai/rest-reference/campaign-actions/read-mcp-platform-support\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Update Platform Asset\",\"item\":\"https://docs.bily.ai/rest-reference/campaign-actions/update-platform-asset\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.bily.ai/rest-reference/campaign-actions/update-platform-asset#apireference\",\"headline\":\"Update Platform Asset\",\"name\":\"Update Platform Asset\",\"description\":\"Advanced immediate provider operation to rename, pause, resume, archive, or rebudget supported campaigns and ad sets, plus supported ad-level actions. Normal Ads Manager requests should saveAdDraft first, read/review it, then explicitly publishAdDraft. Meta and Google budget writes require the version 1 budgetGuard from read-asset-budget, exact selected native owner/parent and a budget-only update with the unchanged cadence. Old unguarded absolute/relative budget bodies require a new review and submit no budget change. Bily never rebases the saved absolute amount or retargets an inherited Meta ad set. Google shared scope must be complete and at most 100; CUSTOM_PERIOD is unsupported. Generic Google status/name/removal is checked against the exact fresh native campaign and parent; classic VIDEO and budgets affecting VIDEO are read only. Dedicated Demand Gen video remains supported; the native v24+ responsive Video-ad-info and experiment exceptions are not generic update-asset operations. Native-owner arbitration covers separate jobs and authorized aliases. New unguarded budget drafts fail Save; overbound mixed financial jobs require a split review. Busy or unknown outcomes never replay automatically; unknown outcomes quarantine the exact owner with its original receipt beyond job retirement. ARCHIVED maps to native removal for Google, TikTok and Snapchat; require separate exact destructive approval rather than treating it as a reversible pause. Authorized Slack requests use this same workspace-scoped capability; pausing an ad requires its exact platform, asset type, and asset ID. This generic outer sourceAuthority remains GOOGLE_ADS only; Meta budget source is bound inside budgetGuard. Other providers and nonbudget fields keep their previous contracts. This is an execution endpoint. For a reviewed user change, save its supported capability/body as an immutable action draft, review it, and explicitly publish that draft. Check action-jobs/capabilities before staging; a catalog entry alone does not make it stageable.\",\"url\":\"https://docs.bily.ai/rest-reference/campaign-actions/update-platform-asset\",\"mainEntityOfPage\":{\"@id\":\"https://docs.bily.ai/rest-reference/campaign-actions/update-platform-asset#webpage\"},\"dateModified\":\"2026-10-31T18:53:29.163Z\",\"publisher\":{\"@id\":\"https://docs.bily.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.bily.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Bily developer docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Bily developer docs","nav":{"global":{"anchors":[{"anchor":"Bily","icon":"house","href":"https://bily.ai"}]},"tabs":[{"tab":"Guides","icon":"book-open","pages":[{"title":"Guides","href":""}]},{"tab":"SDK reference","icon":"brackets-curly","pages":[{"title":"SDK reference","href":"/api-reference/overview"}]},{"tab":"Bily API","icon":"terminal","groups":[{"group":"Getting started","pages":[{"title":"Build with the Bily API","sidebarTitle":"Overview","href":"/rest-api/overview"},{"title":"Authenticate API requests","sidebarTitle":"Authentication","href":"/rest-api/authentication"},{"title":"Make your first API request","sidebarTitle":"Quickstart","href":"/rest-api/quickstart"},{"title":"Keep API work in the right store","sidebarTitle":"Scoping","href":"/rest-api/scoping"},{"title":"Manage ads through reviewed drafts","sidebarTitle":"Ads and creative workflows","href":"/rest-api/ads"},{"title":"Handle API errors","sidebarTitle":"Errors","href":"/rest-api/errors"}]},{"group":"Endpoint reference","pages":[{"group":"Identity","pages":[{"title":"Get customer context","deprecated":null,"version":null,"openapi":"/openapi.json get /context","href":"/rest-reference/identity/get-customer-context"},{"title":"Get the authenticated identity","deprecated":null,"version":null,"openapi":"/openapi.json get /me","href":"/rest-reference/identity/get-the-authenticated-identity"},{"title":"List organizations","deprecated":null,"version":null,"openapi":"/openapi.json get /organizations","href":"/rest-reference/identity/list-organizations"}]},{"group":"Stores","pages":[{"title":"List stores","deprecated":null,"version":null,"openapi":"/openapi.json get /stores","href":"/rest-reference/stores/list-stores"}]},{"group":"Store data","pages":[{"title":"Get a store profile","deprecated":null,"version":null,"openapi":"/openapi.json get /store-data/{storeUrl}","href":"/rest-reference/store-data/get-a-store-profile"},{"title":"List catalog connections","deprecated":null,"version":null,"openapi":"/openapi.json get /store-data/{storeUrl}/catalogs","href":"/rest-reference/store-data/list-catalog-connections"},{"title":"Get Meta signal quality","deprecated":null,"version":null,"openapi":"/openapi.json get /store-data/{storeUrl}/meta-quality","href":"/rest-reference/store-data/get-meta-signal-quality"},{"title":"Get Pinterest signal quality","deprecated":null,"version":null,"openapi":"/openapi.json get /store-data/{storeUrl}/pinterest-quality","href":"/rest-reference/store-data/get-pinterest-signal-quality"},{"title":"Get data readiness","deprecated":null,"version":null,"openapi":"/openapi.json get /store-data/{storeUrl}/data-readiness","href":"/rest-reference/store-data/get-data-readiness"},{"title":"List managed ad accounts","deprecated":null,"version":null,"openapi":"/openapi.json get /managed-ad-accounts/{storeUrl}","href":"/rest-reference/store-data/list-managed-ad-accounts"}]},{"group":"Commerce","pages":[{"title":"Run a Shopify GraphQL operation","deprecated":null,"version":null,"openapi":"/openapi.json post /store-data/{storeUrl}/shopify/graphql","href":"/rest-reference/commerce/run-a-shopify-graphql-operation"},{"title":"Read a Shopify REST resource","deprecated":null,"version":null,"openapi":"/openapi.json post /store-data/{storeUrl}/shopify/rest","href":"/rest-reference/commerce/read-a-shopify-rest-resource"}]},{"group":"Customer journeys","pages":[{"title":"Get a customer journey","deprecated":null,"version":null,"openapi":"/openapi.json post /customer-journey/{storeUrl}","href":"/rest-reference/customer-journeys/get-a-customer-journey"}]},{"group":"Analytics","pages":[{"title":"Get advertising overview","deprecated":null,"version":null,"openapi":"/openapi.json get /ad-metrics/overview/{resourceUrl}","href":"/rest-reference/analytics/get-advertising-overview"},{"title":"Enrich advertising asset IDs","deprecated":null,"version":null,"openapi":"/openapi.json post /ad-metrics/{resourceUrl}/enrich","href":"/rest-reference/analytics/enrich-advertising-asset-ids"},{"title":"Query advertising metrics","deprecated":null,"version":null,"openapi":"/openapi.json get /ad-metrics/{resourceUrl}","href":"/rest-reference/analytics/query-advertising-metrics"},{"title":"Get a prepared daily series","deprecated":null,"version":null,"openapi":"/openapi.json get /ad-metrics/{resourceUrl}/daily-series","href":"/rest-reference/analytics/get-a-prepared-daily-series"},{"title":"Get a prepared channel summary","deprecated":null,"version":null,"openapi":"/openapi.json get /ad-metrics/{resourceUrl}/prepared-channel-summary","href":"/rest-reference/analytics/get-a-prepared-channel-summary"},{"title":"Get prepared asset performance","deprecated":null,"version":null,"openapi":"/openapi.json get /ad-metrics/{resourceUrl}/prepared-asset-performance","href":"/rest-reference/analytics/get-prepared-asset-performance"},{"title":"Get product metrics","deprecated":null,"version":null,"openapi":"/openapi.json get /ad-metrics/{resourceUrl}/products","href":"/rest-reference/analytics/get-product-metrics"},{"title":"Get product metadata","deprecated":null,"version":null,"openapi":"/openapi.json get /ad-metrics/{resourceUrl}/product-metadata","href":"/rest-reference/analytics/get-product-metadata"},{"title":"Get country metrics","deprecated":null,"version":null,"openapi":"/openapi.json get /ad-metrics/{resourceUrl}/countries","href":"/rest-reference/analytics/get-country-metrics"},{"title":"Get device metrics","deprecated":null,"version":null,"openapi":"/openapi.json get /ad-metrics/{resourceUrl}/devices","href":"/rest-reference/analytics/get-device-metrics"},{"title":"List available dimension values","deprecated":null,"version":null,"openapi":"/openapi.json get /ad-metrics/{resourceUrl}/dimensions","href":"/rest-reference/analytics/list-available-dimension-values"},{"title":"Get customer lifetime value","deprecated":null,"version":null,"openapi":"/openapi.json get /ad-metrics/{resourceUrl}/customer-ltv","href":"/rest-reference/analytics/get-customer-lifetime-value"},{"title":"Get a customer lifetime value summary","deprecated":null,"version":null,"openapi":"/openapi.json get /ad-metrics/{resourceUrl}/customer-ltv-summary","href":"/rest-reference/analytics/get-a-customer-lifetime-value-summary"},{"title":"Get cohort metrics","deprecated":null,"version":null,"openapi":"/openapi.json get /ad-metrics/{resourceUrl}/cohorts","href":"/rest-reference/analytics/get-cohort-metrics"},{"title":"Read a live traffic snapshot","deprecated":null,"version":null,"openapi":"/openapi.json get /live-traffic/{storeUrl}","href":"/rest-reference/analytics/read-a-live-traffic-snapshot"}]},{"group":"Analytics SQL","pages":[{"title":"List analytics datasets","deprecated":null,"version":null,"openapi":"/openapi.json get /ad-metrics/{resourceUrl}/query/catalog","href":"/rest-reference/analytics-sql/list-analytics-datasets"},{"title":"Run a scoped analytics query","deprecated":null,"version":null,"openapi":"/openapi.json post /ad-metrics/{resourceUrl}/query","href":"/rest-reference/analytics-sql/run-a-scoped-analytics-query"}]},{"group":"Tracking connections","pages":[{"title":"List tracking connections","deprecated":null,"version":null,"openapi":"/openapi.json get /pixels/{storeUrl}","href":"/rest-reference/tracking-connections/list-tracking-connections"},{"title":"Create a tracking connection","deprecated":null,"version":null,"openapi":"/openapi.json post /pixels/{storeUrl}","href":"/rest-reference/tracking-connections/create-a-tracking-connection"},{"title":"Update a tracking connection","deprecated":null,"version":null,"openapi":"/openapi.json put /pixels/{storeUrl}/{pixelId}","href":"/rest-reference/tracking-connections/update-a-tracking-connection"},{"title":"Delete a tracking connection","deprecated":null,"version":null,"openapi":"/openapi.json delete /pixels/{storeUrl}/{pixelId}","href":"/rest-reference/tracking-connections/delete-a-tracking-connection"},{"title":"Enable or disable a tracking connection","deprecated":null,"version":null,"openapi":"/openapi.json post /pixels/{storeUrl}/{pixelId}/toggle","href":"/rest-reference/tracking-connections/enable-or-disable-a-tracking-connection"}]},{"group":"Tracking evidence","pages":[{"title":"Read tracking installation instructions","deprecated":null,"version":null,"openapi":"/openapi.json get /store-data/{storeUrl}/tracking/setup","href":"/rest-reference/tracking-evidence/read-tracking-installation-instructions"},{"title":"List testable tracking connections","deprecated":null,"version":null,"openapi":"/openapi.json get /store-data/{storeUrl}/tracking/connections","href":"/rest-reference/tracking-evidence/list-testable-tracking-connections"},{"title":"Capture a tracking test baseline","deprecated":null,"version":null,"openapi":"/openapi.json get /store-data/{storeUrl}/tracking/test-baseline","href":"/rest-reference/tracking-evidence/capture-a-tracking-test-baseline"},{"title":"Read matching tracking receipts","deprecated":null,"version":null,"openapi":"/openapi.json get /store-data/{storeUrl}/tracking/events","href":"/rest-reference/tracking-evidence/read-matching-tracking-receipts"},{"title":"Read matching tracking receipts","deprecated":null,"version":null,"openapi":"/openapi.json post /store-data/{storeUrl}/tracking/events","href":"/rest-reference/tracking-evidence/read-matching-tracking-receipts-1"},{"title":"Read a tracking test report","deprecated":null,"version":null,"openapi":"/openapi.json get /store-data/{storeUrl}/tracking/test-report","href":"/rest-reference/tracking-evidence/read-a-tracking-test-report"},{"title":"Read a tracking test report","deprecated":null,"version":null,"openapi":"/openapi.json post /store-data/{storeUrl}/tracking/test-report","href":"/rest-reference/tracking-evidence/read-a-tracking-test-report-1"},{"title":"Read tracking delivery health","deprecated":null,"version":null,"openapi":"/openapi.json get /store-data/{storeUrl}/delivery-observability","href":"/rest-reference/tracking-evidence/read-tracking-delivery-health"},{"title":"Read the workspace event catalog","deprecated":null,"version":null,"openapi":"/openapi.json get /moments/{storeUrl}","href":"/rest-reference/tracking-evidence/read-the-workspace-event-catalog"}]},{"group":"Campaign actions","pages":[{"title":"Read MCP Platform Support","deprecated":null,"version":null,"openapi":"/openapi.json get /platform/{resourceUrl}/support","href":"/rest-reference/campaign-actions/read-mcp-platform-support"},{"title":"List Platform Assets","deprecated":null,"version":null,"openapi":"/openapi.json get /platform/{resourceUrl}/assets","href":"/rest-reference/campaign-actions/list-platform-assets"},{"title":"Sync Connected Ad Accounts","description":"Re-import connected ad accounts for the current workspace and refresh Bily-managed metadata like pixels and account details. This is an execution endpoint. For a reviewed user change, save its supported capability/body as an immutable action draft, review it, and explicitly publish that draft. Check action-jobs/capabilities before staging; a catalog entry alone does not make it stageable.","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/sync-ad-accounts","href":"/rest-reference/campaign-actions/sync-connected-ad-accounts"},{"title":"Update Platform Asset","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/update-asset","href":"/rest-reference/campaign-actions/update-platform-asset"},{"title":"Create Google Campaign (Paused First)","description":"Create an exact-source paused Search, Display, Demand Gen, Performance Max, Shopping, App, Hotel or Travel campaign with its native hierarchy. Non-Search payloads require explicit campaignType, targeting and the required creative or linked product account. Demand Gen supports image creatives or format VIDEO with existing same-advertiser YouTube video and square logo asset references; video creation is verified by native hierarchy, creative, budget and targeting reads. Performance Max uses asset groups. Validate the complete payload before saving a launch draft. Classic Video, Smart and Local Services creation are unavailable through the API. This is an execution endpoint. For a reviewed user change, save its supported capability/body as an immutable action draft, review it, and explicitly publish that draft. Check action-jobs/capabilities before staging; a catalog entry alone does not make it stageable.","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/create-google-campaign","href":"/rest-reference/campaign-actions/create-google-campaign-paused-first"},{"title":"Create TikTok Campaign (Paused First)","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/create-tiktok-campaign","href":"/rest-reference/campaign-actions/create-tiktok-campaign-paused-first"},{"title":"Clone TikTok Campaign (Paused First)","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/clone-tiktok-campaign","href":"/rest-reference/campaign-actions/clone-tiktok-campaign-paused-first"},{"title":"Create Pinterest Campaign (Paused First)","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/create-pinterest-campaign","href":"/rest-reference/campaign-actions/create-pinterest-campaign-paused-first"},{"title":"Clone Pinterest Campaign (Paused First)","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/clone-pinterest-campaign","href":"/rest-reference/campaign-actions/clone-pinterest-campaign-paused-first"},{"title":"Create Snapchat Campaign (Paused First)","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/create-snapchat-campaign","href":"/rest-reference/campaign-actions/create-snapchat-campaign-paused-first"},{"title":"Clone Snapchat Campaign (Paused First)","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/clone-snapchat-campaign","href":"/rest-reference/campaign-actions/clone-snapchat-campaign-paused-first"},{"title":"Create Meta Campaign Shell (Advanced, Paused First)","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/create-meta-campaign","href":"/rest-reference/campaign-actions/create-meta-campaign-shell-advanced-paused-first"},{"title":"Clone Meta Ad Set (Paused First)","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/clone-meta-adset","href":"/rest-reference/campaign-actions/clone-meta-ad-set-paused-first"},{"title":"Clone Meta Ad (Paused First)","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/clone-meta-ad","href":"/rest-reference/campaign-actions/clone-meta-ad-paused-first"},{"title":"Create a LinkedIn campaign group","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/create-linkedin-campaign","href":"/rest-reference/campaign-actions/create-a-linkedin-campaign-group"},{"title":"Clone a LinkedIn campaign group","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/clone-linkedin-campaign","href":"/rest-reference/campaign-actions/clone-a-linkedin-campaign-group"},{"title":"Clone a Microsoft campaign","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/clone-microsoft-campaign","href":"/rest-reference/campaign-actions/clone-a-microsoft-campaign"},{"title":"Finish Google Setup","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/finish-google-setup","href":"/rest-reference/campaign-actions/finish-google-setup"},{"title":"Read Exact Native Budget for Review","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/read-asset-budget","href":"/rest-reference/campaign-actions/read-exact-native-budget-for-review"},{"title":"Read TikTok Traffic Asset, Locations and Existing Posts","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/read-tiktok-asset","href":"/rest-reference/campaign-actions/read-tiktok-traffic-asset-locations-and-existing-posts"},{"title":"Create TikTok Website Traffic Groups and Spark Ads (Paused First)","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/manage-tiktok-asset","href":"/rest-reference/campaign-actions/create-tiktok-website-traffic-groups-and-spark-ads-paused-first"},{"title":"Read Snapchat Asset, Budget Owner and Eligible Creatives","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/read-snapchat-asset","href":"/rest-reference/campaign-actions/read-snapchat-asset-budget-owner-and-eligible-creatives"},{"title":"Manage Snapchat Ad Squads and Ads with Verified Readback","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/manage-snapchat-asset","href":"/rest-reference/campaign-actions/manage-snapchat-ad-squads-and-ads-with-verified-readback"},{"title":"Read Pinterest Asset for Row Editing","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/read-pinterest-asset","href":"/rest-reference/campaign-actions/read-pinterest-asset-for-row-editing"},{"title":"Create Pinterest Ad Groups and Image Ads (Paused First)","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/manage-pinterest-asset","href":"/rest-reference/campaign-actions/create-pinterest-ad-groups-and-image-ads-paused-first"},{"title":"Read Saved Bily Images for Meta Upload","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/read-meta-image-upload","href":"/rest-reference/campaign-actions/read-saved-bily-images-for-meta-upload"},{"title":"Upload Saved Bily Images to Meta","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/upload-meta-image","href":"/rest-reference/campaign-actions/upload-saved-bily-images-to-meta"},{"title":"Read Meta Asset for Row Editing","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/read-meta-asset","href":"/rest-reference/campaign-actions/read-meta-asset-for-row-editing"},{"title":"Manage Meta Ad Set, Image or Carousel Creative (Paused First)","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/manage-meta-asset","href":"/rest-reference/campaign-actions/manage-meta-ad-set-image-or-carousel-creative-paused-first"},{"title":"Read Google Search Ad Creative","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/read-google-search-ad","href":"/rest-reference/campaign-actions/read-google-search-ad-creative"},{"title":"Preview Google Search Campaign or Ad Group Copy","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/read-google-search-copy","href":"/rest-reference/campaign-actions/preview-google-search-campaign-or-ad-group-copy"},{"title":"Duplicate Google Search Campaign or Ad Group","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/clone-google-search-asset","href":"/rest-reference/campaign-actions/duplicate-google-search-campaign-or-ad-group"},{"title":"Preview Performance Max Asset Group Copy","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/read-google-asset-group-copy","href":"/rest-reference/campaign-actions/preview-performance-max-asset-group-copy"},{"title":"Duplicate Performance Max Asset Group","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/clone-google-asset-group","href":"/rest-reference/campaign-actions/duplicate-performance-max-asset-group"},{"title":"Create or Edit Google Search Assets","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/manage-google-search-asset","href":"/rest-reference/campaign-actions/create-or-edit-google-search-assets"},{"title":"Read Performance Max Asset Group","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/read-google-asset-group","href":"/rest-reference/campaign-actions/read-performance-max-asset-group"},{"title":"Edit Performance Max Asset Group","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/manage-google-asset-group","href":"/rest-reference/campaign-actions/edit-performance-max-asset-group"},{"title":"Read Demand Gen Video Creative","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/read-google-demand-gen-asset","href":"/rest-reference/campaign-actions/read-demand-gen-video-creative"},{"title":"Create or Edit a Paused Demand Gen Video Ad","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/manage-google-demand-gen-asset","href":"/rest-reference/campaign-actions/create-or-edit-a-paused-demand-gen-video-ad"},{"title":"Resolve Google Campaign Targeting","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/read-google-campaign-targeting","href":"/rest-reference/campaign-actions/resolve-google-campaign-targeting"},{"title":"Validate Google Campaign Without Creating It","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/validate-google-campaign","href":"/rest-reference/campaign-actions/validate-google-campaign-without-creating-it"},{"title":"Create Complete Meta Campaign Package (Paused First)","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/create-meta-campaign-package","href":"/rest-reference/campaign-actions/create-complete-meta-campaign-package-paused-first"},{"title":"List Live Meta Campaigns","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/list-live-meta-campaigns","href":"/rest-reference/campaign-actions/list-live-meta-campaigns"},{"title":"Duplicate Meta Campaign (Paused First)","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/clone-meta-campaign","href":"/rest-reference/campaign-actions/duplicate-meta-campaign-paused-first"},{"title":"Create Meta Image Ad (Paused First)","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/create-meta-image-ad","href":"/rest-reference/campaign-actions/create-meta-image-ad-paused-first"},{"title":"Delete Bily-Created Meta Image Ad","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/actions/delete-meta-created-image-ad","href":"/rest-reference/campaign-actions/delete-bily-created-meta-image-ad"}]},{"group":"Creative library","pages":[{"title":"Read Brand DNA","deprecated":null,"version":null,"openapi":"/openapi.json get /creative-intelligence/{storeUrl}/brand-dna","href":"/rest-reference/creative-library/read-brand-dna"},{"title":"Refresh Brand DNA","deprecated":null,"version":null,"openapi":"/openapi.json post /creative-intelligence/{storeUrl}/brand-dna/refresh","href":"/rest-reference/creative-library/refresh-brand-dna"},{"title":"Search Creative Intelligence","deprecated":null,"version":null,"openapi":"/openapi.json get /creative-intelligence/{storeUrl}/analyses","href":"/rest-reference/creative-library/search-creative-intelligence"},{"title":"Read Creative Intelligence Detail","deprecated":null,"version":null,"openapi":"/openapi.json get /creative-intelligence/{storeUrl}/analysis","href":"/rest-reference/creative-library/read-creative-intelligence-detail"},{"title":"Analyze Ad Creative","deprecated":null,"version":null,"openapi":"/openapi.json post /creative-intelligence/{storeUrl}/analyze","href":"/rest-reference/creative-library/analyze-ad-creative"},{"title":"Read Current Offer Registry","deprecated":null,"version":null,"openapi":"/openapi.json get /creative-intelligence/{storeUrl}/offers","href":"/rest-reference/creative-library/read-current-offer-registry"},{"title":"Generate Static Creative Draft","deprecated":null,"version":null,"openapi":"/openapi.json post /creative-intelligence/{storeUrl}/generate","href":"/rest-reference/creative-library/generate-static-creative-draft"},{"title":"List Bily Generated Ad Images","deprecated":null,"version":null,"openapi":"/openapi.json get /creative-intelligence/{storeUrl}/generations","href":"/rest-reference/creative-library/list-bily-generated-ad-images"},{"title":"Read Generated Ad Image Status","deprecated":null,"version":null,"openapi":"/openapi.json get /creative-intelligence/{storeUrl}/generations/{generationId}","href":"/rest-reference/creative-library/read-generated-ad-image-status"},{"title":"Read Generated Creative Placements","deprecated":null,"version":null,"openapi":"/openapi.json get /creative-intelligence/{storeUrl}/generations/{generationId}/placements","href":"/rest-reference/creative-library/read-generated-creative-placements"},{"title":"Prepare Creative Placements","deprecated":null,"version":null,"openapi":"/openapi.json post /creative-intelligence/{storeUrl}/generations/{generationId}/placements","href":"/rest-reference/creative-library/prepare-creative-placements"},{"title":"List Uploaded Creative References","deprecated":null,"version":null,"openapi":"/openapi.json get /creative-intelligence/{storeUrl}/uploads","href":"/rest-reference/creative-library/list-uploaded-creative-references"},{"title":"Reserve a Creative Reference Upload","deprecated":null,"version":null,"openapi":"/openapi.json post /creative-intelligence/{storeUrl}/uploads","href":"/rest-reference/creative-library/reserve-a-creative-reference-upload"},{"title":"Read Uploaded Creative Status","deprecated":null,"version":null,"openapi":"/openapi.json get /creative-intelligence/{storeUrl}/uploads/{uploadId}","href":"/rest-reference/creative-library/read-uploaded-creative-status"},{"title":"Verify a Transferred Creative Reference","deprecated":null,"version":null,"openapi":"/openapi.json post /creative-intelligence/{storeUrl}/uploads/{uploadId}/finalize","href":"/rest-reference/creative-library/verify-a-transferred-creative-reference"},{"title":"Schedule Uploaded Reference Analysis","deprecated":null,"version":null,"openapi":"/openapi.json post /creative-intelligence/{storeUrl}/uploads/{uploadId}/analyze","href":"/rest-reference/creative-library/schedule-uploaded-reference-analysis"},{"title":"Refresh the current offer registry","deprecated":null,"version":null,"openapi":"/openapi.json post /creative-intelligence/{storeUrl}/offers/refresh","href":"/rest-reference/creative-library/refresh-the-current-offer-registry"},{"title":"Read uploaded creative media","deprecated":null,"version":null,"openapi":"/openapi.json get /creative-intelligence/{storeUrl}/uploads/{uploadId}/media","href":"/rest-reference/creative-library/read-uploaded-creative-media"},{"title":"Transfer reserved creative bytes","deprecated":null,"version":null,"openapi":"/openapi.json put /creative-intelligence/{storeUrl}/uploads/{uploadId}/media","href":"/rest-reference/creative-library/transfer-reserved-creative-bytes"},{"title":"Inspect uploaded creative media","deprecated":null,"version":null,"openapi":"/openapi.json head /creative-intelligence/{storeUrl}/uploads/{uploadId}/media","href":"/rest-reference/creative-library/inspect-uploaded-creative-media"},{"title":"Read generated creative media","deprecated":null,"version":null,"openapi":"/openapi.json get /creative-intelligence/{storeUrl}/generations/{generationId}/media","href":"/rest-reference/creative-library/read-generated-creative-media"},{"title":"Inspect generated creative media","deprecated":null,"version":null,"openapi":"/openapi.json head /creative-intelligence/{storeUrl}/generations/{generationId}/media","href":"/rest-reference/creative-library/inspect-generated-creative-media"}]},{"group":"Ad drafts and jobs","pages":[{"title":"List Supported Durable Ad Actions","deprecated":null,"version":null,"openapi":"/openapi.json get /platform/{resourceUrl}/action-jobs/capabilities","href":"/rest-reference/ad-drafts-and-jobs/list-supported-durable-ad-actions"},{"title":"List Saved Ad Drafts","deprecated":null,"version":null,"openapi":"/openapi.json get /platform/{resourceUrl}/action-drafts","href":"/rest-reference/ad-drafts-and-jobs/list-saved-ad-drafts"},{"title":"Save Unpublished Ad Actions","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/action-drafts","href":"/rest-reference/ad-drafts-and-jobs/save-unpublished-ad-actions"},{"title":"Read Exact Saved Ad Draft","deprecated":null,"version":null,"openapi":"/openapi.json get /platform/{resourceUrl}/action-drafts/{jobId}","href":"/rest-reference/ad-drafts-and-jobs/read-exact-saved-ad-draft"},{"title":"Prepare Selected Ad Draft Batch","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/action-drafts/batch","href":"/rest-reference/ad-drafts-and-jobs/prepare-selected-ad-draft-batch"},{"title":"Publish Reviewed Ad Draft or Batch","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/action-jobs/{jobId}/start","href":"/rest-reference/ad-drafts-and-jobs/publish-reviewed-ad-draft-or-batch"},{"title":"Read Ad Publishing Results","deprecated":null,"version":null,"openapi":"/openapi.json get /platform/{resourceUrl}/action-jobs/{jobId}","href":"/rest-reference/ad-drafts-and-jobs/read-ad-publishing-results"},{"title":"Stop Remaining Ad Actions","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/action-jobs/{jobId}/cancel","href":"/rest-reference/ad-drafts-and-jobs/stop-remaining-ad-actions"},{"title":"Prepare Safe Ad Retry Draft","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/action-drafts/{jobId}/retry-draft","href":"/rest-reference/ad-drafts-and-jobs/prepare-safe-ad-retry-draft"},{"title":"Discard or Dismiss Saved Ad Changes","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/action-drafts/{jobId}/dismiss","href":"/rest-reference/ad-drafts-and-jobs/discard-or-dismiss-saved-ad-changes"},{"title":"Stage a low-level ad action job","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/action-jobs","href":"/rest-reference/ad-drafts-and-jobs/stage-a-low-level-ad-action-job"},{"title":"Stage one action in a job","deprecated":null,"version":null,"openapi":"/openapi.json put /platform/{resourceUrl}/action-jobs/{jobId}/actions/{index}","href":"/rest-reference/ad-drafts-and-jobs/stage-one-action-in-a-job"},{"title":"Start eligible failed actions again","deprecated":null,"version":null,"openapi":"/openapi.json post /platform/{resourceUrl}/action-jobs/{jobId}/retry","href":"/rest-reference/ad-drafts-and-jobs/start-eligible-failed-actions-again"}]}]}]},{"tab":"Bily MCP","icon":"robot","pages":[{"title":"Bily MCP","href":"/mcp/overview"}]}]},"basePath":"","title":"Update Platform Asset - Bily developer docs","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"]}