> ## 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 storefront approval routing

> Returns explicit primary and fallback audiences, delivery channels, SLA settings, and active role/user choices for media-buy and creative approval. Customer admins only.



## OpenAPI

````yaml /v2/storefront-api-v2.yaml get /approval-routing
openapi: 3.0.0
info:
  title: Scope3 Storefront API
  version: 2.0.0
  description: |-
    REST API for partners to manage storefronts, 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: 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 storefronts
  - name: AI Usage
    description: Storefront AI token usage visibility by model
  - name: MCP
    description: Model Context Protocol endpoints
paths:
  /approval-routing:
    get:
      tags:
        - Storefront
      summary: Get storefront approval routing
      description: >-
        Returns explicit primary and fallback audiences, delivery channels, SLA
        settings, and active role/user choices for media-buy and creative
        approval. Customer admins only.
      operationId: getStorefrontApprovalRouting
      responses:
        '200':
          description: Get storefront approval routing
          content:
            application/json:
              schema:
                type: object
                properties:
                  policies:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          pattern: ^\d+$
                        storefrontId:
                          type: string
                          pattern: ^\d+$
                        kind:
                          type: string
                          enum:
                            - MEDIA_BUY
                            - CREATIVE_REVIEW
                            - AD_SERVER_APPROVAL
                            - INVENTORY_SHORTFALL
                        primaryUserIds:
                          type: array
                          items:
                            type: string
                            pattern: ^\d+$
                        fallbackUserIds:
                          type: array
                          items:
                            type: string
                            pattern: ^\d+$
                        primaryRoleKeys:
                          type: array
                          items:
                            type: string
                            enum:
                              - ADMIN
                              - PREMIUM
                              - BASIC
                        fallbackRoleKeys:
                          type: array
                          items:
                            type: string
                            enum:
                              - ADMIN
                              - PREMIUM
                              - BASIC
                        primaryChannels:
                          type: array
                          items:
                            type: string
                            enum:
                              - in_app
                              - email
                              - slack
                        fallbackChannels:
                          type: array
                          items:
                            type: string
                            enum:
                              - in_app
                              - email
                              - slack
                        reminderAfterMinutes:
                          type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                        escalateAfterMinutes:
                          type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                        version:
                          type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                        createdAt:
                          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:
                          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
                        - storefrontId
                        - kind
                        - primaryUserIds
                        - fallbackUserIds
                        - primaryRoleKeys
                        - fallbackRoleKeys
                        - primaryChannels
                        - fallbackChannels
                        - reminderAfterMinutes
                        - escalateAfterMinutes
                        - version
                        - createdAt
                        - updatedAt
                      additionalProperties: false
                  eligibleUsers:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          pattern: ^\d+$
                        email:
                          type: string
                          format: email
                          pattern: >-
                            ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
                        name:
                          type: string
                        permissionLevel:
                          type: string
                          enum:
                            - ADMIN
                            - PREMIUM
                            - BASIC
                      required:
                        - id
                        - email
                        - name
                        - permissionLevel
                      additionalProperties: false
                  eligibleRoles:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          enum:
                            - ADMIN
                            - PREMIUM
                            - BASIC
                        label:
                          type: string
                        activeUserCount:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                      required:
                        - key
                        - label
                        - activeUserCount
                      additionalProperties: false
                  canManage:
                    type: boolean
                required:
                  - policies
                  - eligibleUsers
                  - eligibleRoles
                  - canManage
                additionalProperties: false
        '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:
    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

````