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

# List external account mappings

> List external provider accounts across integrations with source-scoped advertiser mappings.



## OpenAPI

````yaml /v2/buyer-api-v2.yaml get /storefront-connection-account-mappings
openapi: 3.0.0
info:
  title: Scope3 Buyer API
  version: 2.0.0
  description: |-
    REST API for advertisers to manage advertisers, campaigns, and reporting.

    ## Authentication

    All endpoints require a Bearer token in the Authorization header:
    ```
    Authorization: Bearer your-api-key
    ```

    ## Base URL

    `https://api.interchange.io/api/v2/buyer`

    ## For AI Agents

    AI agents can use the MCP endpoint at `/mcp/v2/buyer` with three tools:
    - `initialize`: Start an MCP session
    - `api_call`: Make REST API calls
    - `ask_about_capability`: Learn about API features
servers:
  - url: https://api.interchange.io/api/v2/buyer
    description: Production server
security: []
tags:
  - name: Account
    description: Account management, service tokens, and preferences
  - name: Advertisers
    description: Manage advertisers
  - name: Product Discovery
    description: Discover and select products
  - name: Campaigns
    description: Manage advertising campaigns
  - name: Creatives
    description: Build, manage, and sync campaign creatives via AdCP Creative Protocol
  - name: Reporting
    description: Access performance metrics
  - name: Event Sources
    description: >-
      Manage event source configurations and log conversion/marketing events for
      attribution
  - name: Property Lists
    description: Validate property lists against AAO registry
  - name: Sales Agents
    description: View and connect sales agents
  - name: Measurement
    description: Measurement sources, records, context, and freshness
  - name: Syndication
    description: Syndicate resources to ADCP agents
  - name: Tasks
    description: Track async operation status
  - name: Planning Briefs
    description: >-
      Share prospective briefs with publishers and collect their
      fit/quote/clarify/decline/book responses (gated by the
      demand-supply-signals flag).
  - name: Buyer Billing
    description: >-
      Consolidated invoicing for buyers — invoices and pending invoice items
      issued by Scope3 across the buyer customer.
  - name: MCP
    description: Model Context Protocol endpoints for AI agents
paths:
  /storefront-connection-account-mappings:
    get:
      tags:
        - Storefronts
      summary: List external account mappings
      description: >-
        List external provider accounts across integrations with source-scoped
        advertiser mappings.
      operationId: listStorefrontConnectionAccountMappings
      parameters:
        - in: query
          name: search
          schema:
            description: >-
              Optional search over provider, connection, external account name,
              and external account ID.
            type: string
          description: >-
            Optional search over provider, connection, external account name,
            and external account ID.
        - in: query
          name: provider
          schema:
            description: Optional provider type filter, such as google or meta.
            type: string
          description: Optional provider type filter, such as google or meta.
        - in: query
          name: advertiserId
          schema:
            description: Optional mapped advertiser ID filter.
            type: string
            pattern: ^\d+$
          description: Optional mapped advertiser ID filter.
        - in: query
          name: storefrontId
          schema:
            description: Optional storefront ID filter for embedded connection views.
            type: string
            pattern: ^\d+$
          description: Optional storefront ID filter for embedded connection views.
        - in: query
          name: mappingStatus
          schema:
            description: >-
              Filter by mapping state. 'unreachable' returns only preserved
              mappings whose platform account no active connection reaches
              (relink to restore).
            default: all
            type: string
            enum:
              - all
              - mapped
              - unmapped
              - unreachable
          description: >-
            Filter by mapping state. 'unreachable' returns only preserved
            mappings whose platform account no active connection reaches (relink
            to restore).
        - in: query
          name: limit
          schema:
            default: 50
            type: integer
            maximum: 100
            minimum: 1
        - in: query
          name: offset
          schema:
            default: 0
            type: integer
            minimum: 0
            maximum: 9007199254740991
      responses:
        '200':
          description: List external account mappings
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/StorefrontConnectionAccountMappingsResponse
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - bearerAuth: []
components:
  schemas:
    StorefrontConnectionAccountMappingsResponse:
      description: Paginated external account mapping table for buyer integrations.
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/StorefrontConnectionAccountMappingItem'
        total:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        hasMore:
          type: boolean
        nextOffset:
          nullable: true
          type: integer
          minimum: 0
          maximum: 9007199254740991
      required:
        - items
        - total
        - hasMore
        - nextOffset
      additionalProperties: false
    ErrorResponse:
      description: Standard error response
      type: object
      properties:
        data:
          type: string
          nullable: true
          enum:
            - null
        error:
          $ref: '#/components/schemas/ApiError'
      required:
        - data
        - error
      additionalProperties: false
    StorefrontConnectionAccountMappingItem:
      description: >-
        External provider account row for integration-to-advertiser mapping
        management.
      type: object
      properties:
        id:
          type: string
        connectionId:
          type: string
        accountId:
          description: >-
            Connection account row id. For preserved unreachable mappings whose
            archived account row no longer exists, this is a 'link-{linkId}'
            placeholder — do not feed it back into account endpoints; use the
            mapping entry's linkId for unmap instead.
          type: string
        sourceId:
          description: >-
            Canonical provider ID for an official adapter, or the inventory
            source ID for an external AdCP connection.
          type: string
        sourceName:
          type: string
        agentId:
          type: string
        providerType:
          type: string
        providerDisplayName:
          type: string
        connectionName:
          type: string
        accountName:
          type: string
        externalAccountId:
          type: string
        selected:
          type: boolean
        status:
          type: string
          enum:
            - PENDING
            - ACTIVE
            - DISABLED
            - ERROR
        accountType:
          description: >-
            Classification of the account within the platform's hierarchy:
            'advertiser' for buyable ad accounts, or a platform-specific
            subtype. Never 'organization' — manager containers are not mappable
            rows; they appear only as parent grouping fields.
          default: null
          nullable: true
          type: string
        parentExternalId:
          description: >-
            External id of the parent account, when known: a manager container
            (Meta Business Manager, Google MCC, Snap Organization, …). Group
            rows by (providerType, parentExternalId) to render the platform →
            organization hierarchy.
          default: null
          nullable: true
          type: string
        parentName:
          description: Display name of the parent account, when known.
          default: null
          nullable: true
          type: string
        mappedAdvertisers:
          type: array
          items:
            $ref: '#/components/schemas/StorefrontConnectionAccountAdvertiserMapping'
        updatedAt:
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
      required:
        - id
        - connectionId
        - accountId
        - sourceId
        - sourceName
        - agentId
        - providerType
        - providerDisplayName
        - connectionName
        - accountName
        - externalAccountId
        - selected
        - status
        - accountType
        - parentExternalId
        - parentName
        - mappedAdvertisers
        - updatedAt
      additionalProperties: false
    ApiError:
      description: Structured error object
      type: object
      properties:
        code:
          description: Machine-readable error code
          type: string
        message:
          description: Human-readable error message
          type: string
        field:
          description: Field path associated with the error
          type: string
        details:
          description: Additional error context
          type: object
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
    StorefrontConnectionAccountAdvertiserMapping:
      description: >-
        Advertiser mapping for an external account discovered through an
        integration.
      type: object
      properties:
        linkId:
          description: >-
            Identifier of the advertiser-account link row. Pass to DELETE
            /advertisers/{advertiserId}/accounts/{linkId} to unmap.
          type: string
        sourceId:
          description: >-
            Canonical provider ID for an official adapter, or the inventory
            source ID for an external AdCP connection.
          type: string
        sourceName:
          description: Display name for the inventory source.
          type: string
        agentId:
          description: Partner agent ID that receives this mapping.
          type: string
        advertiserId:
          description: Advertiser linked to this discovered provider account.
          type: string
        advertiserName:
          description: Display name for the linked advertiser.
          type: string
        unreachableAt:
          description: >-
            When set, this mapping is preserved but its platform account is no
            longer reachable through any active connection — relink the platform
            (or re-map the account) to restore it. Unreachable mappings never
            resolve at buy time.
          default: null
          nullable: true
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        linkedAt:
          description: When the provider account was first linked.
          nullable: true
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        updatedAt:
          description: When the provider account mapping was last updated.
          nullable: true
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
      required:
        - linkId
        - sourceId
        - sourceName
        - agentId
        - advertiserId
        - advertiserName
        - unreachableAt
        - linkedAt
        - updatedAt
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key or access token

````