digitalpublic-com Communications API

The Communications API from digitalpublic-com — 1 operation(s) for communications.

Operations 1

POST /api/agent/communications Project communication routes #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/digitalpublic-com:digitalpublic-com-communications-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

digitalpublic-com-communications-api-openapi.yml Raw ↑
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