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

# List my asks

> Everything the authenticated customer is waiting on Scope3 for, in one list: support asks, product asks, and supply asks. Read-only, and scoped to the caller's own account from the API key you call with — there is no customer parameter. `statusKey` is a closed, customer-safe vocabulary (`received`, `accepted`, `in_progress`, `done`, `closed`) that tracks the real work: a product ask follows the engineering work it is attached to, a supply ask follows that seller and channel through onboarding. Internal workflow state names never appear. `statusLabel`/`statusDescription` carry the wording to show. Which values a kind can reach differs: support reaches all five; a supply ask keeps a short recently-resolved window and reaches `done` (dated from the marketplace evidence that made it ready) but not `closed`, since nothing dates a cancellation; and a product ask reads the shared product projection's open view, so it leaves the list on completion or cancellation instead of reporting a terminal status. When a source cannot be read its kind is listed in `unavailableKinds`, so a degraded answer is honest rather than an empty list that reads as "nothing open".



## OpenAPI

````yaml /v2/storefront-api-v2.yaml get /asks
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: 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 storefronts
  - name: AI Usage
    description: Storefront AI token usage visibility by model
  - name: MCP
    description: Model Context Protocol endpoints
paths:
  /asks:
    servers:
      - url: https://api.interchange.io/api/v2
        description: Production server
    get:
      tags:
        - Asks
      summary: List my asks
      description: >-
        Everything the authenticated customer is waiting on Scope3 for, in one
        list: support asks, product asks, and supply asks. Read-only, and scoped
        to the caller's own account from the API key you call with — there is no
        customer parameter. `statusKey` is a closed, customer-safe vocabulary
        (`received`, `accepted`, `in_progress`, `done`, `closed`) that tracks
        the real work: a product ask follows the engineering work it is attached
        to, a supply ask follows that seller and channel through onboarding.
        Internal workflow state names never appear.
        `statusLabel`/`statusDescription` carry the wording to show. Which
        values a kind can reach differs: support reaches all five; a supply ask
        keeps a short recently-resolved window and reaches `done` (dated from
        the marketplace evidence that made it ready) but not `closed`, since
        nothing dates a cancellation; and a product ask reads the shared product
        projection's open view, so it leaves the list on completion or
        cancellation instead of reporting a terminal status. When a source
        cannot be read its kind is listed in `unavailableKinds`, so a degraded
        answer is honest rather than an empty list that reads as "nothing open".
      operationId: listAsks
      parameters:
        - in: query
          name: limit
          schema:
            description: >-
              Maximum asks to return. Sources are round-robined so a large
              support queue cannot hide every product and supply ask at the
              limit.
            default: 10
            type: integer
            minimum: 1
            maximum: 25
          description: >-
            Maximum asks to return. Sources are round-robined so a large support
            queue cannot hide every product and supply ask at the limit.
      responses:
        '200':
          description: List my asks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsksResponse'
        '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:
    AsksResponse:
      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))$
        totalCount:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        requests:
          type: array
          items:
            type: object
            properties:
              isActive:
                type: boolean
              isResolved:
                type: boolean
              kind:
                nullable: true
                type: string
                enum:
                  - support
                  - product
                  - supply
                  - integration
                  - commercial
              title:
                type: string
              blockedCustomerAction:
                nullable: true
                type: string
              statusKey:
                type: string
                enum:
                  - received
                  - accepted
                  - in_progress
                  - done
                  - closed
              statusLabel:
                type: string
              statusDescription:
                type: string
              nextUpdateAt:
                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))$
              isCustomerBlocked:
                nullable: true
                type: boolean
              createdAt:
                nullable: true
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
              updatedAt:
                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))$
              resolvedAt:
                nullable: true
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            required:
              - kind
              - title
              - blockedCustomerAction
              - createdAt
              - updatedAt
              - resolvedAt
            additionalProperties: false
        unavailableKinds:
          type: array
          items:
            type: string
            enum:
              - support
              - product
              - supply
              - integration
              - commercial
        hasMore:
          type: boolean
        supplyActions:
          nullable: true
          type: array
          items:
            type: object
            properties:
              subjectName:
                nullable: true
                type: string
              classification:
                type: string
              status:
                type: string
              proposedAt:
                nullable: true
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            required:
              - subjectName
              - classification
              - status
              - proposedAt
            additionalProperties: false
      required:
        - generatedAt
        - totalCount
        - requests
      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

````