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

# Resolve a safe failed GAM order cleanup

> After explicit seller confirmation, ask the Embedded Sales Agent to re-check and archive a verified safe failed GAM order. Alternatively, record that the seller cleaned up the order manually in GAM. Permission and authentication failures are returned as typed cleanup outcomes with the required permission and safe next action.



## OpenAPI

````yaml /v2/storefront-api-v2.yaml post /gam-cleanups/{operationId}
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:
  /gam-cleanups/{operationId}:
    post:
      tags:
        - Storefront
      summary: Resolve a safe failed GAM order cleanup
      description: >-
        After explicit seller confirmation, ask the Embedded Sales Agent to
        re-check and archive a verified safe failed GAM order. Alternatively,
        record that the seller cleaned up the order manually in GAM. Permission
        and authentication failures are returned as typed cleanup outcomes with
        the required permission and safe next action.
      operationId: resolveGamFailedOrderCleanup
      parameters:
        - in: path
          name: operationId
          schema:
            type: string
            minLength: 1
          required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResolveGamCleanupBody'
      responses:
        '200':
          description: Resolve a safe failed GAM order cleanup
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      operationId:
                        type: string
                        minLength: 1
                      orderId:
                        type: string
                        minLength: 1
                      attempted:
                        type: boolean
                      outcome:
                        type: string
                        enum:
                          - archived
                          - already_archived
                          - failed
                          - refused
                      safety:
                        type: object
                        properties:
                          ownershipVerified:
                            type: boolean
                          draftVerified:
                            type: boolean
                          noSpendUncommittedVerified:
                            type: boolean
                          lineItemCount:
                            nullable: true
                            type: integer
                            minimum: -9007199254740991
                            maximum: 9007199254740991
                          orderStatus:
                            nullable: true
                            type: string
                          alreadyArchived:
                            nullable: true
                            type: boolean
                          safeToCleanup:
                            type: boolean
                          verificationCode:
                            type: string
                            minLength: 1
                        required:
                          - ownershipVerified
                          - draftVerified
                          - noSpendUncommittedVerified
                          - lineItemCount
                          - orderStatus
                          - alreadyArchived
                          - safeToCleanup
                          - verificationCode
                        additionalProperties: false
                      errorCategory:
                        nullable: true
                        type: string
                      errorCode:
                        nullable: true
                        type: string
                      requiredPermission:
                        nullable: true
                        type: string
                      retryDisposition:
                        type: string
                        enum:
                          - not_applicable
                          - retryable
                          - user_action_required
                          - manual_review_required
                      safeNextAction:
                        type: string
                        enum:
                          - none
                          - retry_cleanup
                          - grant_archive_orders_and_recheck
                          - reauthenticate_and_recheck
                          - clean_up_manually_in_gam
                          - review_order_in_gam
                      alternativeSafeNextAction:
                        nullable: true
                        type: string
                        enum:
                          - none
                          - retry_cleanup
                          - grant_archive_orders_and_recheck
                          - reauthenticate_and_recheck
                          - clean_up_manually_in_gam
                          - review_order_in_gam
                    required:
                      - operationId
                      - orderId
                      - attempted
                      - outcome
                      - safety
                      - retryDisposition
                      - safeNextAction
                    additionalProperties: false
                  - type: object
                    properties:
                      operationId:
                        type: string
                        minLength: 1
                      resolution:
                        type: string
                        enum:
                          - manually_cleaned
                    required:
                      - operationId
                      - resolution
                    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'
        '403':
          description: The caller is not a storefront account admin or credential admin.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: The storefront or cleanup operation does not exist for the caller.
          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:
    ResolveGamCleanupBody:
      description: >-
        Explicitly confirm safe archival, or record that the order was cleaned
        up manually in GAM.
      anyOf:
        - type: object
          properties:
            confirmed:
              type: boolean
              enum:
                - true
            manuallyCleaned:
              not: {}
            orderId:
              type: string
              minLength: 1
          required:
            - confirmed
            - orderId
        - type: object
          properties:
            confirmed:
              not: {}
            manuallyCleaned:
              type: boolean
              enum:
                - true
            orderId:
              type: string
              minLength: 1
            manualCleanupNote:
              type: string
              minLength: 1
              maxLength: 500
          required:
            - manuallyCleaned
            - orderId
            - manualCleanupNote
    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

````