> ## 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.

# Get Partner client fleet

> Returns the authenticated Partner organization’s agents, exact publisher Source connections, lifecycle facts, diagnostics, products, campaigns, and server-authoritative actions.



## OpenAPI

````yaml /v2/storefront-api-v2.yaml get /provider/account
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:
  /provider/account:
    servers:
      - url: /api/v2
        description: Shared customer API base URL
    get:
      tags:
        - Storefront
      summary: Get Partner client fleet
      description: >-
        Returns the authenticated Partner organization’s agents, exact publisher
        Source connections, lifecycle facts, diagnostics, products, campaigns,
        and server-authoritative actions.
      operationId: getProviderAccount
      responses:
        '200':
          description: Get Partner client fleet
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerFleetResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Partner entitlement required.
          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:
    PartnerFleetResponse:
      type: object
      properties:
        generatedAt:
          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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
        projection:
          type: object
          properties:
            rowLimit:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
            truncated:
              type: boolean
            incidentRowLimit:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
            incidentsTruncated:
              type: boolean
          required:
            - rowLimit
            - truncated
            - incidentRowLimit
            - incidentsTruncated
          additionalProperties: false
        ownerOrganization:
          type: object
          properties:
            customerId:
              type: integer
              maximum: 9007199254740991
              minimum: 1
            name:
              nullable: true
              type: string
            company:
              nullable: true
              type: string
          required:
            - customerId
            - name
            - company
          additionalProperties: false
        workspace:
          type: object
          properties:
            registrationStatus:
              type: string
              enum:
                - AVAILABLE
                - REGISTERED
            commercialStatus:
              type: string
              enum:
                - INACTIVE
                - ACTIVE
                - SUSPENDED
                - EXITED
          required:
            - registrationStatus
            - commercialStatus
          additionalProperties: false
        operators:
          type: array
          items:
            type: object
            properties:
              operatorUid:
                type: string
                format: uuid
                pattern: >-
                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
              displayName:
                type: string
              capabilities:
                type: array
                items:
                  type: object
                  properties:
                    capabilityUid:
                      type: string
                      format: uuid
                      pattern: >-
                        ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                    type:
                      type: string
                      enum:
                        - SALES
                        - SIGNAL
                        - CREATIVE
                        - OUTCOME
                    displayName:
                      type: string
                    implementationVersion:
                      nullable: true
                      type: string
                    certification:
                      type: object
                      properties:
                        revisionUid:
                          nullable: true
                          type: string
                          format: uuid
                          pattern: >-
                            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                        revisionKey:
                          nullable: true
                          type: string
                        assertionKey:
                          type: string
                        status:
                          type: string
                          enum:
                            - MISSING
                            - PASSED
                            - FAILED
                            - INVALIDATED
                            - REVOKED
                            - EXPIRED
                        observedAt:
                          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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                        expiresAt:
                          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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                      required:
                        - revisionUid
                        - revisionKey
                        - assertionKey
                        - status
                        - observedAt
                        - expiresAt
                      additionalProperties: false
                    productionCertification:
                      type: object
                      properties:
                        policyVersion:
                          nullable: true
                          type: string
                        status:
                          type: string
                          enum:
                            - NOT_AVAILABLE
                            - REGISTERED
                            - TESTING
                            - CERTIFIED
                            - EXPIRED
                            - REVOKED
                        current:
                          type: boolean
                        revisionUid:
                          nullable: true
                          type: string
                          format: uuid
                          pattern: >-
                            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                        revisionKey:
                          nullable: true
                          type: string
                        certifiedAt:
                          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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                        expiresAt:
                          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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                        summary:
                          type: object
                          properties:
                            required:
                              type: integer
                              minimum: 0
                              maximum: 9007199254740991
                            passed:
                              type: integer
                              minimum: 0
                              maximum: 9007199254740991
                            actionRequired:
                              type: integer
                              minimum: 0
                              maximum: 9007199254740991
                          required:
                            - required
                            - passed
                            - actionRequired
                          additionalProperties: false
                        requirements:
                          type: array
                          items:
                            type: object
                            properties:
                              assertionKey:
                                type: string
                              status:
                                type: string
                                enum:
                                  - MISSING
                                  - PASSED
                                  - FAILED
                                  - INVALIDATED
                                  - REVOKED
                                  - EXPIRED
                              observedAt:
                                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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                              expiresAt:
                                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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                            required:
                              - assertionKey
                              - status
                              - observedAt
                              - expiresAt
                            additionalProperties: false
                        lifecycle:
                          nullable: true
                          type: object
                          properties:
                            policyVersion:
                              type: string
                            freshness:
                              type: string
                              enum:
                                - MISSING
                                - CURRENT
                                - DUE
                                - MISSED
                            assertion:
                              type: string
                              enum:
                                - MISSING
                                - VALID
                                - EXPIRING
                                - EXPIRED
                            connectionDisposition:
                              type: string
                              enum:
                                - ELIGIBLE
                                - PAUSED
                                - QUARANTINED
                            reason:
                              nullable: true
                              type: object
                              properties:
                                code:
                                  type: string
                                  enum:
                                    - REVISION_NOT_CURRENT
                                    - TENANT_ISOLATION_FAILURE
                                    - BASELINE_NOT_CURRENT
                                    - CLEAN_PASS_MISSING
                                    - CANARY_FAILURE_THRESHOLD
                                    - REDUCTIVE_CHANGE
                                    - PROOF_EXPIRED
                                summary:
                                  type: string
                              required:
                                - code
                                - summary
                              additionalProperties: false
                            lastCleanPassAt:
                              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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                            nextDueAt:
                              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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                            proofExpiresAt:
                              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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                            consecutiveFailedCanaries:
                              type: integer
                              minimum: 0
                              maximum: 9007199254740991
                            latestRun:
                              nullable: true
                              type: object
                              properties:
                                status:
                                  type: string
                                  enum:
                                    - PENDING
                                    - RUNNING
                                    - PASSED
                                    - FAILED
                                    - CLEANUP_FAILED
                                observedAt:
                                  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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                              required:
                                - status
                                - observedAt
                              additionalProperties: false
                          required:
                            - policyVersion
                            - freshness
                            - assertion
                            - connectionDisposition
                            - reason
                            - lastCleanPassAt
                            - nextDueAt
                            - proofExpiresAt
                            - consecutiveFailedCanaries
                            - latestRun
                          additionalProperties: false
                      required:
                        - policyVersion
                        - status
                        - current
                        - revisionUid
                        - revisionKey
                        - certifiedAt
                        - expiresAt
                        - summary
                        - requirements
                        - lifecycle
                      additionalProperties: false
                    summary:
                      type: object
                      properties:
                        connectedSources:
                          type: number
                        activeSources:
                          type: number
                        healthySources:
                          type: number
                        degradedSources:
                          type: number
                        unhealthySources:
                          type: number
                        unknownSources:
                          type: number
                        quarantinedSources:
                          type: number
                      required:
                        - connectedSources
                        - activeSources
                        - healthySources
                        - degradedSources
                        - unhealthySources
                        - unknownSources
                        - quarantinedSources
                      additionalProperties: false
                    incidents:
                      type: array
                      items:
                        type: object
                        properties:
                          incidentUid:
                            type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          classification:
                            type: string
                            enum:
                              - PROVIDER_FLEET
                              - IMPLEMENTATION_REGRESSION
                              - ENDPOINT_OUTAGE
                              - CONNECTION_FAILURE
                              - CLIENT_CONFIGURATION
                              - PUBLISHER_DEPENDENCY
                              - SCOPE3_DEFECT
                              - UNATTRIBUTED
                          attributedOwner:
                            type: string
                            enum:
                              - PROVIDER
                              - CLIENT
                              - SCOPE3
                              - UNKNOWN
                          attributionConfidence:
                            type: number
                            minimum: 0
                            maximum: 1
                          code:
                            type: string
                          summary:
                            type: string
                          firstDetectedAt:
                            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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                          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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                          revisionUid:
                            nullable: true
                            type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          endpointUid:
                            nullable: true
                            type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          affectedConnectionUids:
                            type: array
                            items:
                              type: string
                              format: uuid
                              pattern: >-
                                ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          affectedClientCount:
                            type: integer
                            minimum: 0
                            maximum: 9007199254740991
                        required:
                          - incidentUid
                          - classification
                          - attributedOwner
                          - attributionConfidence
                          - code
                          - summary
                          - firstDetectedAt
                          - updatedAt
                          - revisionUid
                          - endpointUid
                          - affectedConnectionUids
                          - affectedClientCount
                        additionalProperties: false
                    sources:
                      type: array
                      items:
                        type: object
                        properties:
                          bindingUid:
                            type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          sourceId:
                            type: string
                          sourceName:
                            type: string
                          endpointUrl:
                            nullable: true
                            type: string
                            format: uri
                          publisherDomains:
                            type: array
                            items:
                              type: string
                          authConfigured:
                            type: boolean
                          publisherBillingComplete:
                            type: boolean
                          availableActions:
                            type: array
                            items:
                              type: string
                              enum:
                                - ACCEPT
                                - VALIDATE
                                - ACTIVATE
                          client:
                            type: object
                            properties:
                              customerId:
                                type: integer
                                maximum: 9007199254740991
                                minimum: 1
                              name:
                                nullable: true
                                type: string
                              company:
                                nullable: true
                                type: string
                            required:
                              - customerId
                              - name
                              - company
                            additionalProperties: false
                          lifecycle:
                            type: object
                            properties:
                              state:
                                type: string
                                enum:
                                  - NOT_STARTED
                                  - IN_PROGRESS
                                  - AWAITING_PUBLISHER_AUTHORIZATION
                                  - AWAITING_PUBLISHER_CREDENTIALS
                                  - AWAITING_PUBLISHER_BILLING
                                  - AWAITING_PARTNER_ACCEPTANCE
                                  - VALIDATING
                                  - ACTIVE
                                  - ACTION_REQUIRED
                              nextOwner:
                                type: string
                                enum:
                                  - PUBLISHER
                                  - PARTNER
                                  - INTERCHANGE
                                  - NONE
                                  - UNKNOWN
                              blockers:
                                type: array
                                items:
                                  type: string
                            required:
                              - state
                              - nextOwner
                              - blockers
                            additionalProperties: false
                          connection:
                            type: object
                            properties:
                              connectionUid:
                                nullable: true
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                              clientRequestedAt:
                                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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                              clientAuthorizedAt:
                                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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                              providerAcceptedAt:
                                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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                              validation:
                                type: object
                                properties:
                                  status:
                                    type: string
                                    enum:
                                      - NOT_RUN
                                      - RUNNING
                                      - PASSED
                                      - FAILED
                                  observedAt:
                                    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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                                  errorCode:
                                    nullable: true
                                    type: string
                                  errorSummary:
                                    nullable: true
                                    type: string
                                  owner:
                                    nullable: true
                                    type: string
                                    enum:
                                      - CLIENT
                                      - PROVIDER
                                      - SCOPE3
                                required:
                                  - status
                                  - observedAt
                                  - errorCode
                                  - errorSummary
                                  - owner
                                additionalProperties: false
                              activatedAt:
                                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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                              activationCurrent:
                                type: boolean
                              quarantinedAt:
                                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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                              quarantineReason:
                                nullable: true
                                type: string
                              quarantineOwner:
                                nullable: true
                                type: string
                                enum:
                                  - CLIENT
                                  - PROVIDER
                                  - SCOPE3
                              revokedAt:
                                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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                              revocationReason:
                                nullable: true
                                type: string
                            required:
                              - connectionUid
                              - clientRequestedAt
                              - clientAuthorizedAt
                              - providerAcceptedAt
                              - validation
                              - activatedAt
                              - activationCurrent
                              - quarantinedAt
                              - quarantineReason
                              - quarantineOwner
                              - revokedAt
                              - revocationReason
                            additionalProperties: false
                          health:
                            type: object
                            properties:
                              status:
                                type: string
                                enum:
                                  - healthy
                                  - degraded
                                  - unhealthy
                                  - unknown
                              previousStatus:
                                nullable: true
                                type: string
                                enum:
                                  - healthy
                                  - degraded
                                  - unhealthy
                                  - unknown
                              observedAt:
                                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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                              lastOkAt:
                                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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                              error:
                                nullable: true
                                type: object
                                properties:
                                  code:
                                    type: string
                                  summary:
                                    type: string
                                  owner:
                                    type: string
                                    enum:
                                      - CLIENT
                                      - PROVIDER
                                      - SCOPE3
                                  correlationRef:
                                    nullable: true
                                    type: string
                                required:
                                  - code
                                  - summary
                                  - owner
                                  - correlationRef
                                additionalProperties: false
                              metrics:
                                type: object
                                properties:
                                  callCount:
                                    type: number
                                  failureCount:
                                    type: number
                                  failureRate:
                                    type: number
                                  p95LatencyMs:
                                    nullable: true
                                    type: number
                                required:
                                  - callCount
                                  - failureCount
                                  - failureRate
                                  - p95LatencyMs
                                additionalProperties: false
                            required:
                              - status
                              - previousStatus
                              - observedAt
                              - lastOkAt
                              - error
                              - metrics
                            additionalProperties: false
                          products:
                            type: object
                            properties:
                              total:
                                type: number
                              available:
                                type: number
                            required:
                              - total
                              - available
                            additionalProperties: false
                          campaigns:
                            type: object
                            properties:
                              total:
                                type: number
                              active:
                                type: number
                            required:
                              - total
                              - active
                            additionalProperties: false
                        required:
                          - bindingUid
                          - sourceId
                          - sourceName
                          - endpointUrl
                          - publisherDomains
                          - authConfigured
                          - publisherBillingComplete
                          - availableActions
                          - client
                          - lifecycle
                          - connection
                          - health
                          - products
                          - campaigns
                        additionalProperties: false
                  required:
                    - capabilityUid
                    - type
                    - displayName
                    - implementationVersion
                    - certification
                    - productionCertification
                    - summary
                    - incidents
                    - sources
                  additionalProperties: false
            required:
              - operatorUid
              - displayName
              - capabilities
            additionalProperties: false
      required:
        - generatedAt
        - projection
        - ownerOrganization
        - workspace
        - operators
      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
    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
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key or access token

````