digitalpublic-com Communications API
The Communications API from digitalpublic-com — 1 operation(s) for communications.
The Communications API from digitalpublic-com — 1 operation(s) for communications.
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-communications-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 Communications 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: Communications
paths:
/api/agent/communications:
post:
summary: Project communication routes
description: Resolve and manage verified client-final and distributor routes. Mutations require write plus communication:manage.
tags:
- Communications
requestBody:
content:
application/json:
schema:
type: object
required:
- tool
properties:
tool:
type: string
params:
type: object
additionalProperties: true
responses:
'200':
description: Communication operation succeeded.
'403':
description: write and communication:manage are required for mutations.
'409':
description: Route is incomplete, stale or incompatible with the project mode.
x-tools:
- name: list_project_communication_routes
description: List project mode, routing status and versioned routes.
params: {}
x-mcp:
channel: communications
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: get_project_communication_route
description: Read one route by routeId or audience.
params:
routeId:
type: string
optional: true
audience:
type: string
optional: true
x-mcp:
channel: communications
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: resolve_project_communication_route
description: Resolve recipients, identity, sender, template and report policy without sending. CRM_LEAD targets are isolated to a lead in the authorized project.
params:
audience:
type: string
optional: true
enum:
- CLIENT_FINAL
- DISTRIBUTOR
purpose:
type: string
required: true
enum:
- MONTHLY_REPORT
- TECHNICAL_REPORT
- GENERAL_EMAIL
- APPROVAL_REQUEST
- COMMERCIAL_PROPOSAL
- QUOTE
- INFORMATION_REQUEST
targetType:
type: string
optional: true
enum:
- STATIC_AUDIENCE
- CRM_LEAD
leadId:
type: string
optional: true
reportType:
type: string
optional: true
x-mcp:
channel: communications
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: validate_project_communication_setup
description: Validate all routes required by the project communication mode.
params: {}
x-mcp:
channel: communications
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: get_communication_identity
description: Read one visible versioned communication identity.
params:
identityId:
type: string
required: true
x-mcp:
channel: communications
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: set_project_communication_mode
description: Set CLIENT_ONLY, DISTRIBUTOR_ONLY, FLEXIBLE, CRM_ONLY or UNCLASSIFIED. CRM_ONLY resolves each recipient from a selected project CRM lead and requires no fixed TO address.
params:
mode:
type: string
required: true
enum:
- CLIENT_ONLY
- DISTRIBUTOR_ONLY
- FLEXIBLE
- CRM_ONLY
- UNCLASSIFIED
x-mcp:
channel: communications
effect: write
requiredScope: write
approval: none
requestShape: tool_params
additionalScopes:
- communication:manage
workload:
executionMode: AUTO
resourceClass: STANDARD
priority: NORMAL
costModel: ITEMS
idempotencyMode: READ_BEFORE_WRITE
- name: create_communication_identity_draft
description: Create an isolated project identity or a new immutable version of one.
params:
identityId:
type: string
optional: true
key:
type: string
required: true
brandType:
type: string
required: true
displayName:
type: string
required: true
defaultEmailAccountId:
type: string
optional: true
defaultEmailTemplateId:
type: string
optional: true
logoAssetId:
type: string
optional: true
contentPolicy:
type: object
optional: true
x-mcp:
channel: communications
effect: write
requiredScope: write
approval: none
requestShape: tool_params
additionalScopes:
- communication:manage
workload:
executionMode: AUTO
resourceClass: STANDARD
priority: NORMAL
costModel: ITEMS
idempotencyMode: READ_BEFORE_WRITE
- name: publish_communication_identity_version
description: Publish an immutable project identity version.
params:
identityId:
type: string
required: true
versionId:
type: string
required: true
x-mcp:
channel: communications
effect: write
requiredScope: write
approval: none
requestShape: tool_params
additionalScopes:
- communication:manage
workload:
executionMode: AUTO
resourceClass: STANDARD
priority: NORMAL
costModel: ITEMS
idempotencyMode: READ_BEFORE_WRITE
- name: create_project_communication_route
description: Create an inactive route version. CRM_CONTACT uses CRM_LEAD and has no fixed TO recipient.
params:
audience:
type: string
required: true
enum:
- CLIENT_FINAL
- DISTRIBUTOR
- CRM_CONTACT
recipientSource:
type: string
optional: true
enum:
- STATIC
- CRM_LEAD
identityVersionId:
type: string
required: true
emailAccountId:
type: string
optional: true
allowedSenderAccountIds:
type: array
optional: true
allowedPurposes:
type: array
required: true
recipients:
type: array
required: true
reportPolicies:
type: array
optional: true
x-mcp:
channel: communications
effect: write
requiredScope: write
approval: none
requestShape: tool_params
additionalScopes:
- communication:manage
workload:
executionMode: AUTO
resourceClass: STANDARD
priority: NORMAL
costModel: ITEMS
idempotencyMode: READ_BEFORE_WRITE
- name: update_project_communication_route
description: Create a new immutable version of an existing audience route.
params:
audience:
type: string
required: true
enum:
- CLIENT_FINAL
- DISTRIBUTOR
- CRM_CONTACT
recipientSource:
type: string
optional: true
enum:
- STATIC
- CRM_LEAD
identityVersionId:
type: string
required: true
emailAccountId:
type: string
optional: true
allowedSenderAccountIds:
type: array
optional: true
allowedPurposes:
type: array
required: true
recipients:
type: array
required: true
reportPolicies:
type: array
optional: true
x-mcp:
channel: communications
effect: write
requiredScope: write
approval: none
requestShape: tool_params
additionalScopes:
- communication:manage
workload:
executionMode: AUTO
resourceClass: STANDARD
priority: NORMAL
costModel: ITEMS
idempotencyMode: READ_BEFORE_WRITE
- name: activate_project_communication_route
description: Publish or re-activate a route version. Sender-only compatible resources are rebased; other stale authorizations are invalidated.
params:
routeId:
type: string
required: true
versionId:
type: string
required: true
x-mcp:
channel: communications
effect: write
requiredScope: write
approval: none
requestShape: tool_params
additionalScopes:
- communication:manage
workload:
executionMode: AUTO
resourceClass: STANDARD
priority: NORMAL
costModel: ITEMS
idempotencyMode: READ_BEFORE_WRITE
- name: disable_project_communication_route
description: Disable future use without altering history.
params:
routeId:
type: string
required: true
x-mcp:
channel: communications
effect: write
requiredScope: write
approval: none
requestShape: tool_params
additionalScopes:
- communication:manage
workload:
executionMode: AUTO
resourceClass: STANDARD
priority: NORMAL
costModel: ITEMS
idempotencyMode: READ_BEFORE_WRITE
- name: preview_legacy_recipient_classification
description: Validate a manual classification and return previewId, snapshotHash and expiry without changing routes.
params:
mode:
type: string
required: true
routes:
type: array
required: true
x-mcp:
channel: communications
effect: write
requiredScope: write
approval: none
requestShape: tool_params
additionalScopes:
- communication:manage
workload:
executionMode: AUTO
resourceClass: STANDARD
priority: NORMAL
costModel: ITEMS
idempotencyMode: READ_BEFORE_WRITE
- name: classify_legacy_recipients
description: Transactionally apply a current preview, preserve history and disable the legacy route.
params:
previewId:
type: string
required: true
snapshotHash:
type: string
required: true
idempotencyKey:
type: string
required: true
x-mcp:
channel: communications
effect: write
requiredScope: write
approval: none
requestShape: tool_params
additionalScopes:
- communication:manage
workload:
executionMode: AUTO
resourceClass: STANDARD
priority: NORMAL
costModel: ITEMS
idempotencyMode: READ_BEFORE_WRITE
operationId: postApiAgentCommunications
x-operation-id-source: derived
components:
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