digitalpublic-com ChatGPT Ads API
The ChatGPT Ads API from digitalpublic-com — 2 operation(s) for chatgpt ads.
The ChatGPT Ads API from digitalpublic-com — 2 operation(s) for chatgpt ads.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/digitalpublic-com:digitalpublic-com-chatgpt-ads-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: DigitalPublic Agent ChatGPT Ads API
version: 2026-09-10-trial-active-projects-v1
description: API for external AI agents to interact with DigitalPublic projects. Provides discovery, project context, Google Ads, Meta Ads, LinkedIn organic and LinkedIn Ads, Merchant Center, SEO, AEO, Search Console, WordPress, Analytics, Tag Manager, Business Profile, mailings, CRM, comments, reports, and scheduling.
contact:
email: soporte@digitalpublic.com
servers:
- url: https://platform.digitalpublic.com
description: Production
security:
- bearerAuth: []
tags:
- name: ChatGPT Ads
paths:
/api/chatgpt-ads/agent-query:
post:
summary: Query project-scoped ChatGPT Ads
description: Reads only the OpenAI Ads account explicitly bound to the requested DigitalPublic project. Secrets are never returned.
tags:
- ChatGPT Ads
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AgentRequest'
responses:
'200':
description: Account, resource, insight, measurement or mutation data.
x-tools:
- name: get_account
description: Get account identity, currency, timezone, brand review, capabilities and connection health.
params:
verify:
type: boolean
optional: true
x-mcp:
channel: chatgpt_ads
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: sync_resources
description: Synchronize campaigns, ad groups and ads into isolated local snapshots.
params: {}
x-mcp:
channel: chatgpt_ads
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: list_campaigns
description: List campaign snapshots.
params: {}
x-mcp:
channel: chatgpt_ads
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: list_ad_groups
description: List ad group snapshots and context hints.
params: {}
x-mcp:
channel: chatgpt_ads
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: list_ads
description: List ad snapshots and review status.
params: {}
x-mcp:
channel: chatgpt_ads
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: sync_insights
description: Synchronize daily account, campaign, ad group or ad insights.
params:
level:
type: string
enum:
- account
- campaign
- ad_group
- ad
required: true
externalId:
type: string
optional: true
startDate:
type: string
required: true
endDate:
type: string
required: true
x-mcp:
channel: chatgpt_ads
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: get_insights
description: Read persisted insights with explicit data-state semantics in reports.
params:
level:
type: string
optional: true
x-mcp:
channel: chatgpt_ads
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: get_measurement
description: Read OFF, CAPI_SAFE or PIXEL_AND_CAPI configuration without secrets.
params: {}
x-mcp:
channel: chatgpt_ads
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: search_locations
description: Resolve current targetable country, region or DMA IDs before campaign creation.
params:
query:
type: string
required: true
limit:
type: number
optional: true
default: 20
x-mcp:
channel: chatgpt_ads
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: get_capabilities
description: Read account capabilities and project feature flags, including beta eligibility.
params: {}
x-mcp:
channel: chatgpt_ads
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: list_custom_audiences
description: List custom audiences when enabled and legally available for the campaign region.
params: {}
x-mcp:
channel: chatgpt_ads
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: list_conversion_settings
description: List conversion event settings when the account capability is enabled.
params: {}
x-mcp:
channel: chatgpt_ads
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: check_mutation_status
description: Check one ChatGPT Ads mutation.
params:
mutationId:
type: string
required: true
x-mcp:
channel: chatgpt_ads
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: list_pending_mutations
description: List pending ChatGPT Ads approvals.
params: {}
x-mcp:
channel: chatgpt_ads
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
x-mcp:
channel: chatgpt_ads
effect: read
requiredScope: read
approval: none
requestShape: tool_params
operationId: postApiChatgptAdsAgentQuery
x-operation-id-source: derived
/api/chatgpt-ads/agent-mutate:
post:
summary: Prepare or mutate project-scoped ChatGPT Ads resources
description: Requires idempotency. Create operations force paused status. Activation, archive, delivery expansion and economic increases remain pending until human approval.
tags:
- ChatGPT Ads
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AgentRequest'
responses:
'200':
description: Validated, executed safely, or pending human approval.
x-tools:
- name: mutate_chatgpt_ads
description: Validate or mutate campaigns, ads, files, gated beta resources, CAPI_SAFE measurement or safe conversion events with project/account isolation and remote read-back. Operation compatibility is validated per resource.
params:
resource:
type: string
required: true
enum:
- campaign
- ad_group
- ad
- file
- audience
- feed
- conversion_source
- conversion_event
- measurement
- account_brand
operation:
type: string
required: true
enum:
- create
- update
- activate
- pause
- archive
- add
- remove
- replace
- merge
- update_products
- create_pixel
- create_capi_key
- create_event_setting
- validate
- send
- configure
data:
type: object
required: true
idempotency_key:
type: string
required: true
validate_only:
type: boolean
optional: true
agent_note:
type: string
optional: true
x-mcp:
channel: chatgpt_ads
effect: write
requiredScope: write
approval: auto_approval_possible
requestShape: tool_params
workload:
executionMode: AUTO
resourceClass: STANDARD
priority: NORMAL
costModel: ITEMS
idempotencyMode: READ_BEFORE_WRITE
x-mcp:
channel: chatgpt_ads
effect: write
requiredScope: write
approval: auto_approval_possible
requestShape: tool_params
operationId: postApiChatgptAdsAgentMutate
x-operation-id-source: derived
components:
schemas:
AgentRequest:
type: object
required:
- tool
properties:
tool:
type: string
description: Tool name to execute
params:
type: object
description: Tool-specific parameters
default: {}
projectId:
type: string
description: Required when using a dpa_ global agent token. dpk_ project API keys infer the project automatically.
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: Project API key starting with dpk_ or global agent token starting with dpa_. dpa_ requests must include projectId or X-DigitalPublic-Project-Id for project-scoped endpoints.
x-commercial-channels:
- key: google_ads
label:
es: Google Ads
en: Google Ads
commercialModule: google_ads
services:
- googleAds
mcpChannels:
- google_ads
public: true
availability: generally_available
access: read_write
requiresConnection: true
acceptedAliases:
- google-ads
- key: wordpress
label:
es: WordPress
en: WordPress
commercialModule: seo_aeo
services:
- wordpressSeo
mcpChannels:
- wordpress
public: true
availability: generally_available
access: read_write
requiresConnection: true
acceptedAliases:
- wordpress-seo
- key: crm
label:
es: CRM
en: CRM
commercialModule: crm
services:
- crm
mcpChannels:
- crm
public: true
availability: generally_available
access: read_write
requiresConnection: true
acceptedAliases: []
- key: websites
label:
es: Sitios web
en: Websites
commercialModule: content_web
services:
- landingPages
mcpChannels:
- landing_pages
public: true
availability: generally_available
access: read_write
requiresConnection: true
acceptedAliases:
- landing-pages
- landing_pages
- sites-web
- sites_web
- key: social
label:
es: Redes sociales
en: Social media
commercialModule: social
services:
- socialOrganic
- socialX
- socialLinkedIn
mcpChannels:
- social
public: true
availability: generally_available
access: read_write
requiresConnection: true
acceptedAliases: []
- key: blog
label:
es: Blog
en: Blog
commercialModule: content_web
services:
- blog
mcpChannels:
- blog
public: true
availability: generally_available
access: read_write
requiresConnection: true
acceptedAliases: []
- key: meta_ads
label:
es: Meta Ads
en: Meta Ads
commercialModule: meta_ads
services:
- metaAds
mcpChannels:
- meta_ads
public: true
availability: limited
access: read_write
requiresConnection: true
acceptedAliases:
- meta-ads
- meta
- key: linkedin_ads
label:
es: LinkedIn Ads
en: LinkedIn Ads
commercialModule: linkedin_ads
services:
- linkedinAds
mcpChannels:
- linkedin_ads
public: true
availability: limited
access: read_write
requiresConnection: true
acceptedAliases:
- linkedin-ads
- linkedin
- key: seo
label:
es: SEO y AEO
en: SEO and AEO
commercialModule: seo_aeo
services:
- seo
- aeo
mcpChannels:
- seo_tools
- aeo
public: true
availability: limited
access: read_write
requiresConnection: false
acceptedAliases: []
- key: analytics
label:
es: Analítica
en: Analytics
commercialModule: analytics
services:
- analytics
mcpChannels:
- analytics
public: true
availability: limited
access: read
requiresConnection: true
acceptedAliases: []
- key: search_console
label:
es: Search Console
en: Search Console
commercialModule: search_console
services:
- searchConsole
mcpChannels:
- search_console
public: true
availability: limited
access: read_write
requiresConnection: true
acceptedAliases:
- search-console
- key: email
label:
es: Email y newsletters
en: Email and newsletters
commercialModule: email_marketing
services:
- mailings
mcpChannels:
- mailings
public: true
availability: limited
access: read_write
requiresConnection: true
acceptedAliases:
- brevo