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

# Get the property roster

> The canonical property roster: every declared publisher domain with the properties and collections resolved from that publisher's adagents.json, plus the persisted authorization outcome (authorizationStatus and, when resolved under the reason contract, authorizationReason).



## OpenAPI

````yaml /v2/storefront-api-v2.yaml get /property-roster
openapi: 3.0.0
info:
  title: Scope3 Storefront API
  version: 2.0.0
  description: >-
    REST API for partners to manage Seller Accounts, inventory sources, and
    billing.


    ## Authentication


    All endpoints require a Bearer token in the Authorization header:

    ```

    Authorization: Bearer your-api-key

    ```


    ## Base URL


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


    ## For AI Agents


    AI agents can use the MCP endpoint at `/mcp/v2/storefront` 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/storefront
    description: Production server
security: []
tags:
  - name: Account
    description: Account management, service tokens, and preferences
  - name: Asks
    description: >-
      What you are waiting on Scope3 for — support, product, and supply asks in
      one list
  - name: Storefront
    description: Manage storefront and inventory sources
  - name: Storefront Agents
    description: List and manage registered sales, signals, and outcomes agents
  - name: Storefront Activity
    description: Audit log of configuration and inventory changes on the storefront
  - name: Storefront Billing
    description: Payout bank details and billing configuration for Seller Accounts
  - name: AI Usage
    description: Seller Account AI token usage visibility by model
  - name: MCP
    description: Model Context Protocol endpoints
paths:
  /property-roster:
    get:
      tags:
        - Storefront
      summary: Get the property roster
      description: >-
        The canonical property roster: every declared publisher domain with the
        properties and collections resolved from that publisher's adagents.json,
        plus the persisted authorization outcome (authorizationStatus and, when
        resolved under the reason contract, authorizationReason).
      operationId: getStorefrontPropertyRoster
      responses:
        '200':
          description: Get the property roster
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PropertyRosterResponse'
        '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:
    PropertyRosterResponse:
      type: object
      properties:
        publishers:
          type: array
          items:
            type: object
            properties:
              domain:
                type: string
              provenance:
                type: string
                enum:
                  - declared
                  - crawled
                  - discovered
              adagentsStatus:
                nullable: true
                type: string
                enum:
                  - resolved
                  - no_adagents
                  - invalid
                  - error
                  - pending
              authorizationStatus:
                nullable: true
                type: string
                enum:
                  - authorized
                  - unauthorized
                  - unknown
              authorizationReason:
                nullable: true
                type: string
                enum:
                  - no_file
                  - file_invalid
                  - agent_not_listed
                  - agent_untyped
                  - agent_not_property_bound
                  - authorized
              lastSyncedAt:
                nullable: true
                type: string
              formatCatalogSyncedAt:
                nullable: true
                description: >-
                  When AAO last returned a definitive format catalog for this
                  publisher. This is independent of the live-origin
                  authorization check.
                type: string
              identityCatalogStatus:
                nullable: true
                description: >-
                  Whether the latest publisher re-check completely reconciled
                  publisher-declared properties and collections into this
                  roster.
                type: string
                enum:
                  - pending
                  - complete
                  - incomplete
                  - not_applicable
                  - failed
              formatCatalogStatus:
                nullable: true
                description: >-
                  Whether the latest publisher re-check completely reconciled
                  the AAO-selected creative-format catalog into this roster.
                type: string
                enum:
                  - pending
                  - complete
                  - not_applicable
                  - failed
              properties:
                type: array
                items:
                  type: object
                  properties:
                    propertyKey:
                      type: string
                    propertyId:
                      nullable: true
                      type: string
                    propertyType:
                      nullable: true
                      type: string
                    name:
                      nullable: true
                      type: string
                    identifiers:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                          value:
                            type: string
                        required:
                          - type
                          - value
                        additionalProperties: false
                    tags:
                      type: array
                      items:
                        type: string
                    provenance:
                      type: string
                      enum:
                        - publisher_adagents
                        - aao_registry
                        - seller_declared
                      description: >-
                        Origin of the identity record: the publisher-hosted
                        adagents.json, a contributed AAO Registry record
                        awaiting publisher-origin proof, or a property the
                        seller declared conversationally before any
                        publisher-origin declaration exists. Publisher-origin
                        resolution supersedes a seller-declared record with the
                        same property key.
                    authorization:
                      type: object
                      properties:
                        status:
                          type: string
                          enum:
                            - authorized
                            - unauthorized
                            - unknown
                        grain:
                          type: string
                          enum:
                            - domain
                        reason:
                          nullable: true
                          type: string
                          enum:
                            - no_file
                            - file_invalid
                            - agent_not_listed
                            - agent_untyped
                            - agent_not_property_bound
                            - authorized
                      required:
                        - status
                        - grain
                        - reason
                      additionalProperties: false
                      description: >-
                        Per-property authorization. `status: unauthorized` is
                        definite — the publisher domain does not authorize us,
                        so nothing under it is sellable. `authorized` is
                        inherited from the domain (see `grain`), not proven
                        against the agent selector. `unknown` means no
                        publisher-origin declaration backs this property.
                    declaredBySellerAt:
                      nullable: true
                      type: string
                    firstSeenAt:
                      type: string
                    lastSeenAt:
                      type: string
                  required:
                    - propertyKey
                    - propertyId
                    - propertyType
                    - name
                    - identifiers
                    - tags
                    - provenance
                    - authorization
                    - declaredBySellerAt
                    - firstSeenAt
                    - lastSeenAt
                  additionalProperties: false
              collections:
                type: array
                items:
                  type: object
                  properties:
                    collectionId:
                      type: string
                    name:
                      nullable: true
                      type: string
                    tags:
                      type: array
                      items:
                        type: string
                    provenance:
                      type: string
                      enum:
                        - publisher_adagents
                        - aao_registry
                        - seller_declared
                      description: >-
                        Origin of the identity record: the publisher-hosted
                        adagents.json, a contributed AAO Registry record
                        awaiting publisher-origin proof, or a property the
                        seller declared conversationally before any
                        publisher-origin declaration exists. Publisher-origin
                        resolution supersedes a seller-declared record with the
                        same property key.
                    firstSeenAt:
                      type: string
                    lastSeenAt:
                      type: string
                  required:
                    - collectionId
                    - name
                    - tags
                    - provenance
                    - firstSeenAt
                    - lastSeenAt
                  additionalProperties: false
              formats:
                type: array
                items:
                  type: object
                  properties:
                    formatKey:
                      type: string
                    formatOptionId:
                      nullable: true
                      type: string
                    displayName:
                      nullable: true
                      type: string
                    formatKind:
                      anyOf:
                        - type: string
                          enum:
                            - image
                        - type: string
                          enum:
                            - html5
                        - type: string
                          enum:
                            - display_tag
                        - type: string
                          enum:
                            - image_carousel
                        - type: string
                          enum:
                            - video_hosted
                        - type: string
                          enum:
                            - video_vast
                        - type: string
                          enum:
                            - audio_hosted
                        - type: string
                          enum:
                            - audio_vast
                        - type: string
                          enum:
                            - audio_daast
                        - type: string
                          enum:
                            - sponsored_placement
                        - type: string
                          enum:
                            - native_in_feed
                        - type: string
                          enum:
                            - responsive_creative
                        - type: string
                          enum:
                            - agent_placement
                        - type: string
                          enum:
                            - seller_rendered_stateful_display
                        - type: string
                          enum:
                            - coordinated_placements
                        - type: string
                          enum:
                            - custom
                    params:
                      type: object
                      additionalProperties: {}
                    appliesToPropertyIds:
                      type: array
                      items:
                        type: string
                    appliesToPropertyTags:
                      type: array
                      items:
                        type: string
                    applicablePropertyKeys:
                      type: array
                      items:
                        type: string
                    applicablePropertyKeysTruncated:
                      type: boolean
                    appliesToAllProperties:
                      type: boolean
                    sellerPreference:
                      nullable: true
                      type: string
                    experimental:
                      nullable: true
                      type: boolean
                    provenance:
                      type: string
                      enum:
                        - publisher_adagents
                        - aao_registry
                    firstSeenAt:
                      type: string
                    lastSeenAt:
                      type: string
                  required:
                    - formatKey
                    - formatOptionId
                    - displayName
                    - formatKind
                    - params
                    - appliesToPropertyIds
                    - appliesToPropertyTags
                    - applicablePropertyKeys
                    - applicablePropertyKeysTruncated
                    - appliesToAllProperties
                    - sellerPreference
                    - experimental
                    - provenance
                    - firstSeenAt
                    - lastSeenAt
                  additionalProperties: false
              propertyCount:
                type: integer
                minimum: 0
                maximum: 9007199254740991
                description: >-
                  Total live properties on this domain. Greater than
                  properties.length when the response was bounded.
              collectionCount:
                type: integer
                minimum: 0
                maximum: 9007199254740991
                description: >-
                  Total live AdCP Collections on this domain. Greater than
                  collections.length when the response was bounded.
              formatCount:
                type: integer
                minimum: 0
                maximum: 9007199254740991
                description: >-
                  Total live creative formats on this domain. Greater than
                  formats.length when the response was bounded.
            required:
              - domain
              - provenance
              - adagentsStatus
              - authorizationStatus
              - authorizationReason
              - lastSyncedAt
              - formatCatalogSyncedAt
              - identityCatalogStatus
              - formatCatalogStatus
              - properties
              - collections
              - formats
              - propertyCount
              - collectionCount
              - formatCount
            additionalProperties: false
        totals:
          type: object
          properties:
            publishers:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            authorizedPublishers:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            properties:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            collections:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            formats:
              type: integer
              minimum: 0
              maximum: 9007199254740991
          required:
            - publishers
            - authorizedPublishers
            - properties
            - collections
            - formats
          additionalProperties: false
        truncated:
          type: object
          properties:
            publishers:
              type: boolean
            properties:
              type: boolean
            collections:
              type: boolean
            formats:
              type: boolean
          required:
            - publishers
            - properties
            - collections
            - formats
          additionalProperties: false
          description: >-
            True where the response omitted rows the storefront actually has.
            Compare the per-publisher counts against the returned arrays to see
            where.
        coverageApplies:
          type: boolean
          description: >-
            False when selling rights come from a platform account connection
            rather than adagents.json. Do not report an authorization verdict as
            a problem when this is false.
      required:
        - publishers
        - totals
        - truncated
        - coverageApplies
      additionalProperties: false
      description: >-
        The storefront property roster: every declared publisher domain with its
        resolved properties, canonical AdCP Collections, canonical creative
        formats, and authorization state. AAO publisher lookup supplies
        publisher and community formats while authorization remains a separate
        live-origin decision. `totals` describe the storefront; the returned
        arrays are response-bounded and `truncated` says where.
    ErrorResponse:
      type: object
      properties:
        data:
          type: string
          nullable: true
          enum:
            - null
        error:
          $ref: '#/components/schemas/ApiError'
      required:
        - data
        - error
      additionalProperties: false
      description: Standard error response
    ApiError:
      type: object
      properties:
        code:
          type: string
          description: Machine-readable error code
        message:
          type: string
          description: Human-readable error message
        field:
          description: Field path associated with the error
          type: string
        details:
          description: Additional error context
          type: object
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
      description: Structured error object
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key or access token

````