digitalpublic-com Discovery API

The Discovery API from digitalpublic-com — 5 operation(s) for discovery.

Operations 6

GET /api/mcp Read MCP transport status without constructing the operational catalog #
POST /api/agent/discover Discover project capabilities #
GET /api/agent/projects List accessible projects #
POST /api/agent/projects List accessible projects #
GET /api/agent/onboarding-status Get DigitalPublic onboarding and entitlement status #
POST /api/agent/onboarding-diagnostic-completed Record verifiable first-diagnostic completion without storing the narrative #

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-discovery-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-discovery-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DigitalPublic Agent Discovery 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: Discovery
paths:
  /api/mcp:
    get:
      summary: Read MCP transport status without constructing the operational catalog
      description: With status=1 returns a credential-free observation of the serving process. Authentication and current entitlement are checked. The default GET remains the MCP event stream. Status is available without project selection and does not consume operational units.
      tags:
      - Discovery
      parameters:
      - name: status
        in: query
        required: true
        schema:
          type: string
          enum:
          - '1'
      responses:
        '200':
          description: Catalog observation and safe recovery action
        '401':
          description: Credential invalid
        '403':
          description: Access denied
      operationId: getApiMcp
      x-operation-id-source: derived
  /api/agent/discover:
    post:
      summary: Discover project capabilities
      description: 'Master discovery endpoint for external agents. Project API keys (dpk_) return the linked project. Global agent tokens (dpa_) return accessible projects when projectId is omitted, or project discovery when projectId/X-DigitalPublic-Project-Id is provided. Answers in two levels: with no parameters it returns the map (identity, active and inactive services, credential usage and one `areas[]` entry per available area); with `area` it returns that chapter in full in `endpoints[]` (tools, parameters, examples and flows). A service that is not connected never ships its tool manual — `project.activeServices.inactive[]` still declares that it exists and how to request activation.'
      tags:
      - Discovery
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                projectId:
                  type: string
                  description: Required for global agent tokens (dpa_) that need project-specific discovery.
                area:
                  type: string
                  description: Return the full chapter of a single area instead of the map. Valid values are listed in `areas[].area` of the default response, for example googleAds, seo, analytics, mailings, tasks or reports. `module` is accepted as an alias.
                detail:
                  type: string
                  enum:
                  - summary
                  - full
                  description: '`summary` (default) returns the map. `full` returns every area at once and is discouraged: it is an order of magnitude larger and can consume a quarter of an agent context window.'
      responses:
        '200':
          description: Project map by default, or the requested area chapter / the full catalog
        '400':
          description: UNKNOWN_DISCOVERY_AREA — the requested area does not exist; the response lists the valid ones
      operationId: postApiAgentDiscover
      x-operation-id-source: derived
  /api/agent/projects:
    get:
      summary: List accessible projects
      description: Lists the projects accessible with the presented credential, with per-project scopes. Project API keys (dpk_) return exactly their linked project; agent tokens (dpa_) return every project they can use (all current projects for global agents, or the explicit access list). Does not require projectId — call it first to learn which project ids you can use in the rest of the API.
      tags:
      - Discovery
      responses:
        '200':
          description: Accessible projects with per-project scopes
      operationId: getApiAgentProjects
      x-operation-id-source: derived
    post:
      summary: List accessible projects
      description: POST alias of GET /api/agent/projects for agents that send every request as POST.
      tags:
      - Discovery
      responses:
        '200':
          description: Accessible projects with per-project scopes
      operationId: postApiAgentProjects
      x-operation-id-source: derived
  /api/agent/onboarding-status:
    get:
      summary: Get DigitalPublic onboarding and entitlement status
      description: Returns the effective plan, expiry, used and remaining operational units, provider-connection capacity, readable modules, effective supervised-write availability, and the stable next action.
      tags:
      - Discovery
      responses:
        '200':
          description: Current onboarding status and effective limits
        '401':
          description: Invalid, expired, or revoked DigitalPublic credential
        '403':
          description: Credential scope or subscription does not allow access
      operationId: getApiAgentOnboardingStatus
      x-operation-id-source: derived
  /api/agent/onboarding-diagnostic-completed:
    post:
      summary: Record verifiable first-diagnostic completion without storing the narrative
      description: After the agent has delivered the diagnostic in its own conversation, stores only period, counts and internal evidence identifiers for the onboarding funnel. Prompts, conversations, provider payloads, tokens and OAuth URLs are forbidden.
      tags:
      - Discovery
      responses:
        '200':
          description: Idempotent completion recorded
        '400':
          description: Evidence summary invalid
        '409':
          description: A live trial is required
      operationId: postApiAgentOnboardingDiagnosticCompleted
      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