> ## 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.apostra.com/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.apostra.com/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.
        permissions:
          type: object
          properties:
            canManagePublisherDomains:
              type: boolean
              description: >-
                True when the authenticated user is an account admin who may
                add, replace, or remove publisher domains and declared
                properties.
          required:
            - canManagePublisherDomains
          additionalProperties: false
        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, authorization state, and the authenticated user's management
        permission. 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

````

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