> ## Documentation Index
> Fetch the complete documentation index at: https://docs.erdo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# ListPaidMediaAudiencesAPI returns live provider evidence. status=partial or


> unavailable retains per-resource read errors; empty data is not proof of absence.




## OpenAPI

````yaml /api/openapi.json get /v1/paid-media/audiences
openapi: 3.0.0
info:
  title: Erdo API
  description: >-
    Erdo's REST API: query and write datasets, run agents, manage threads,
    integrations, pages, evals, workstreams, experiments, and bounded outreach.
    Authenticate with a Bearer API key (erdo_api_...) or scoped token
    (erdo_token_...).
  version: '2026-10-26'
servers:
  - url: https://api.erdo.ai
    description: Production
security:
  - bearerAuth: []
paths:
  /v1/paid-media/audiences:
    get:
      summary: >
        ListPaidMediaAudiencesAPI returns live provider evidence. status=partial
        or
      description: >
        unavailable retains per-resource read errors; empty data is not proof of
        absence.
      operationId: GET:mcp.ListPaidMediaAudiencesAPI
      parameters:
        - allowEmptyValue: true
          explode: true
          in: query
          name: provider
          required: false
          schema:
            type: string
          style: form
        - allowEmptyValue: true
          explode: true
          in: query
          name: customer_id
          required: false
          schema:
            type: string
          style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  attachment_state:
                    type: string
                  attachments:
                    items:
                      $ref: >-
                        #/components/schemas/integrations.GoogleAdsAudienceAttachment
                    type: array
                  customer_id:
                    type: string
                  customer_match:
                    $ref: >-
                      #/components/schemas/integrations.GoogleAdsCustomerMatchAvailability
                  facts:
                    items:
                      type: string
                    type: array
                  list_presence:
                    type: string
                  lists:
                    items:
                      $ref: '#/components/schemas/integrations.GoogleAdsAudienceList'
                    type: array
                  provider:
                    type: string
                  reads:
                    items:
                      $ref: '#/components/schemas/integrations.GoogleAdsAudienceRead'
                    type: array
                  recommendation_types:
                    items:
                      type: string
                    type: array
                  status:
                    type: string
                type: object
                required:
                  - provider
                  - customer_id
                  - status
                  - list_presence
                  - attachment_state
                  - lists
                  - attachments
                  - recommendation_types
                  - reads
                  - customer_match
                  - facts
          description: Success response
        default:
          $ref: '#/components/responses/APIError'
components:
  schemas:
    integrations.GoogleAdsAudienceAttachment:
      properties:
        ad_group_id:
          type: string
        ad_group_name:
          type: string
        ad_group_status:
          type: string
        campaign_id:
          type: string
        campaign_name:
          type: string
        campaign_status:
          type: string
        criterion_id:
          type: string
        criterion_status:
          type: string
        delivery_verified:
          title: |
            always false: configuration is not delivery evidence
          type: boolean
        enabled:
          title: >
            campaign, ad group (if any), and criterion enabled; negatives
            excluded
          type: boolean
        level:
          type: string
        mode:
          title: |
            TARGETING or OBSERVATION, including Google's documented default
          type: string
        negative:
          type: boolean
        user_list_resource_name:
          type: string
      type: object
      required:
        - level
        - criterion_id
        - criterion_status
        - user_list_resource_name
        - campaign_id
        - campaign_name
        - campaign_status
        - mode
        - negative
        - enabled
        - delivery_verified
    integrations.GoogleAdsCustomerMatchAvailability:
      properties:
        detail:
          type: string
        status:
          type: string
      type: object
      required:
        - status
        - detail
    integrations.GoogleAdsAudienceList:
      properties:
        access_reason:
          type: string
        eligible_for_display:
          type: boolean
          nullable: true
        eligible_for_search:
          type: boolean
          nullable: true
        id:
          type: string
        membership_life_span:
          format: int64
          type: integer
          nullable: true
        membership_status:
          type: string
        name:
          type: string
        population_state:
          title: |
            collecting, populated, open_empty, closed, unknown
          type: string
        prepopulation_status:
          type: string
        resource_name:
          type: string
        size_for_display:
          format: int64
          type: integer
          nullable: true
        size_for_search:
          format: int64
          type: integer
          nullable: true
        type:
          type: string
      type: object
      required:
        - id
        - resource_name
        - name
        - type
        - membership_status
        - access_reason
        - prepopulation_status
        - population_state
        - membership_life_span
        - size_for_search
        - size_for_display
        - eligible_for_search
        - eligible_for_display
    integrations.GoogleAdsAudienceRead:
      properties:
        error:
          type: string
        resource:
          type: string
        status:
          title: |
            available, unavailable (tenancy), or failed
          type: string
      type: object
      required:
        - resource
        - status
  responses:
    APIError:
      content:
        application/json:
          schema:
            externalDocs:
              url: https://pkg.go.dev/encore.dev/beta/errs#Error
            properties:
              code:
                description: Error code
                example: not_found
                externalDocs:
                  url: https://pkg.go.dev/encore.dev/beta/errs#ErrCode
                type: string
              details:
                description: Error details
                type: object
              message:
                description: Error message
                type: string
            title: APIError
            type: object
      description: Error response
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: An Erdo API key (erdo_api_...) or scoped token (erdo_token_...).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.