openapi: 3.1.0
info:
  contact:
    email: integration@gearment.com
    name: Support Integration
  termsOfService: https://gearment.com/integration/api-terms-of-service.html
  title: Gearment API integration
  version: v3.0.0
  description: Gearment Print-On-Demand Seller API v3. Authenticate every request
    with the X-Gearment-Client-Key and X-Gearment-Client-Secret headers issued to
    your team in Developer Settings. Guides for authentication, rate limiting, and
    migrating from v1/v2 are at https://developers.gearment.com/gearment-api/overview/
servers:
- url: https://apiv2.gearment.com/integration-handler
  description: Production Server
- url: https://api.gearmentinc.com/integration-handler
  description: Sandbox Server
tags:
- name: api.catalog.v1.VendorCatalogAPI
  description: "VendorCatalogAPI provides access to product catalog and inventory\
    \ management.\n Use these endpoints to browse available products, check stock\
    \ status, and get product details.\n\n Base URL: https://apiv2.gearment.com/integration-handler\n\
    \ Authentication: API key headers (X-Gearment-Client-Key, X-Gearment-Client-Secret)"
  x-displayName: Catalog
- name: api.webhook.v1.VendorWebhookAPI
  description: "VendorWebhookAPI provides webhook management for real-time event notifications.\n\
    \ Register webhooks to receive automated notifications when orders are completed,\
    \ cancelled, or tracking is updated.\n\n Base URL: https://apiv2.gearment.com/integration-handler\n\
    \ Authentication: API key headers (X-Gearment-Client-Key, X-Gearment-Client-Secret)"
  x-displayName: Webhook
- name: api.order.v1.VendorOrderAPI
  description: "VendorOrderAPI provides comprehensive order management capabilities\
    \ for vendors.\n All endpoints require authentication via X-Gearment-Client-Key\
    \ and X-Gearment-Client-Secret headers.\n\n Base URL: https://apiv2.gearment.com/integration-handler\n\
    \ Authentication: API key headers (X-Gearment-Client-Key, X-Gearment-Client-Secret)"
  x-displayName: Order
- name: api.order.v1.VendorShippingCoverageAPI
  description: 'Shipping questions that arise before an order exists.


    Base URL: https://apiv2.gearment.com/integration-handler

    Authentication: API key headers (X-Gearment-Client-Key, X-Gearment-Client-Secret)'
  x-displayName: Shipping
- name: api.support.v1.VendorSupportAPI
  description: VendorSupportAPI is the modern (v3) vendor-facing issue-ticket API.
  x-displayName: Support
- name: api.pod.v1.SellerShippingLabelAPI
  description: Seller-facing shipping label API for the EasyPost-backed pilot. Requires
    an authenticated Gearment POD team session and per-team enablement by Gearment
    staff. EasyPost is the label provider; the carrier on a label is whichever carrier
    the selected rate belongs to, and the carriers available to a team are configured
    per team rather than fixed.
  x-displayName: Seller Shipping Labels
externalDocs:
  description: Gearment API guides - authentication, rate limiting, and the v1/v2
    migration path
  url: https://developers.gearment.com/gearment-api/overview/
paths:
  /api/v3/catalog:
    get:
      tags:
      - api.catalog.v1.VendorCatalogAPI
      summary: List Catalog
      description: "List all available products in the catalog\n\n GET /api/v3/catalog\n\
        \n Returns:\n   - Product listings with base information\n   - Available variants\
        \ for each product\n   - Pricing and printing options\n\n Use cases:\n   -\
        \ Build product catalog in your system\n   - Display available products to\
        \ customers\n   - Sync product updates"
      operationId: api.catalog.v1.VendorCatalogAPI.VendorListCatalog
      parameters:
      - name: filter.product_ids
        in: query
        description: Filter by specific product IDs
        schema:
          type: array
          items:
            type: string
            examples:
            - prod_abc123
            maxLength: 100
            minLength: 1
          title: product_ids
          description: Filter by specific product IDs
      - name: filter.search_text
        in: query
        description: Search products by name or description
        schema:
          type: string
          examples:
          - Unisex T-Shirt
          title: search_text
          maxLength: 100
          description: Search products by name or description
      - name: paging.limit
        in: query
        schema:
          type: integer
          title: limit
          format: int32
      - name: paging.page
        in: query
        schema:
          type: integer
          title: page
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.catalog.v1.VendorListCatalogResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - ClientKeyAuth: []
        ClientSecretAuth: []
  /api/v3/catalog/variants:
    get:
      tags:
      - api.catalog.v1.VendorCatalogAPI
      summary: List Catalog Variant
      description: "List product variants with detailed specifications\n\n GET /api/v3/catalog/variants\n\
        \n Returns:\n   - Variant details (size, color, SKU)\n   - Pricing information\n\
        \   - Stock availability\n   - Print area specifications\n\n Use cases:\n\
        \   - Get variant-specific pricing\n   - Check size/color availability\n \
        \  - Display product options to customers"
      operationId: api.catalog.v1.VendorCatalogAPI.VendorListCatalogVariant
      parameters:
      - name: filter.color_codes
        in: query
        description: Filter by color codes (internal codes or hex)
        schema:
          type: array
          items:
            type: string
            examples:
            - COLOR_BLACK
            maxLength: 100
            minLength: 1
          title: color_codes
          description: Filter by color codes (internal codes or hex)
      - name: filter.colors
        in: query
        description: Filter by colors (display names)
        schema:
          type: array
          items:
            type: string
            examples:
            - Black
            maxLength: 100
            minLength: 1
          title: colors
          description: Filter by colors (display names)
      - name: filter.legacy_variant_ids
        in: query
        description: Filter by legacy variant IDs (for backward compatibility)
        schema:
          type: array
          items:
            exclusiveMinimum: 0
            type: integer
            examples:
            - 12345
            format: int32
          title: legacy_variant_ids
          description: Filter by legacy variant IDs (for backward compatibility)
      - name: filter.product_ids
        in: query
        description: Filter by product IDs
        schema:
          type: array
          items:
            type: string
            examples:
            - prod_abc123
            maxLength: 100
            minLength: 1
          title: product_ids
          description: Filter by product IDs
      - name: filter.search_text
        in: query
        description: Search variants by text
        schema:
          type: string
          examples:
          - Black Medium
          title: search_text
          description: Search variants by text
      - name: filter.size_codes
        in: query
        description: Filter by size codes (internal codes)
        schema:
          type: array
          items:
            type: string
            examples:
            - SIZE_M
            maxLength: 100
            minLength: 1
          title: size_codes
          description: Filter by size codes (internal codes)
      - name: filter.sizes
        in: query
        description: Filter by sizes (display names)
        schema:
          type: array
          items:
            type: string
            examples:
            - M
            maxLength: 100
            minLength: 1
          title: sizes
          description: Filter by sizes (display names)
      - name: filter.skus
        in: query
        description: Filter by SKUs
        schema:
          type: array
          items:
            type: string
            examples:
            - SKU-TS-BLK-M
            maxLength: 100
            minLength: 1
          title: skus
          description: Filter by SKUs
      - name: filter.stock_labels
        in: query
        description: Filter by stock availability
        schema:
          type: array
          items:
            $ref: '#/components/schemas/api.catalog.v1.VendorCatalogVariantStockLabel'
          title: stock_labels
          description: Filter by stock availability
      - name: filter.variant_ids
        in: query
        description: Filter by specific variant IDs
        schema:
          type: array
          items:
            type: string
            examples:
            - var_123
            maxLength: 100
            minLength: 1
          title: variant_ids
          description: Filter by specific variant IDs
      - name: paging.limit
        in: query
        schema:
          type: integer
          title: limit
          format: int32
      - name: paging.page
        in: query
        schema:
          type: integer
          title: page
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.catalog.v1.VendorListCatalogVariantResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - ClientKeyAuth: []
        ClientSecretAuth: []
  /api/v3/catalog/variants/stock:
    get:
      tags:
      - api.catalog.v1.VendorCatalogAPI
      summary: Get Catalog Stock Status
      description: "Check real-time stock status for variants\n\n GET /api/v3/catalog/variants/stock\n\
        \n Returns:\n   - Stock status: in_stock, out_of_stock, discontinued, temporarily_unavailable\n\
        \   - Expected restock date (if applicable)\n\n Use cases:\n   - Verify stock\
        \ before order placement\n   - Update product availability in your system\n\
        \   - Show stock status to customers"
      operationId: api.catalog.v1.VendorCatalogAPI.VendorGetCatalogStockStatus
      parameters:
      - name: filter.color_codes
        in: query
        description: Filter by color codes (internal codes or hex)
        schema:
          type: array
          items:
            type: string
            examples:
            - COLOR_BLACK
            maxLength: 100
            minLength: 1
          title: color_codes
          description: Filter by color codes (internal codes or hex)
      - name: filter.colors
        in: query
        description: Filter by colors (display names)
        schema:
          type: array
          items:
            type: string
            examples:
            - Black
            maxLength: 100
            minLength: 1
          title: colors
          description: Filter by colors (display names)
      - name: filter.legacy_variant_ids
        in: query
        description: Filter by legacy variant IDs (for backward compatibility)
        schema:
          type: array
          items:
            exclusiveMinimum: 0
            type: integer
            examples:
            - 12345
            format: int32
          title: legacy_variant_ids
          description: Filter by legacy variant IDs (for backward compatibility)
      - name: filter.product_ids
        in: query
        description: Filter by product IDs
        schema:
          type: array
          items:
            type: string
            examples:
            - prod_abc123
            maxLength: 100
            minLength: 1
          title: product_ids
          description: Filter by product IDs
      - name: filter.search_text
        in: query
        description: Search variants by text
        schema:
          type: string
          examples:
          - Black Medium
          title: search_text
          description: Search variants by text
      - name: filter.size_codes
        in: query
        description: Filter by size codes (internal codes)
        schema:
          type: array
          items:
            type: string
            examples:
            - SIZE_M
            maxLength: 100
            minLength: 1
          title: size_codes
          description: Filter by size codes (internal codes)
      - name: filter.sizes
        in: query
        description: Filter by sizes (display names)
        schema:
          type: array
          items:
            type: string
            examples:
            - M
            maxLength: 100
            minLength: 1
          title: sizes
          description: Filter by sizes (display names)
      - name: filter.skus
        in: query
        description: Filter by SKUs
        schema:
          type: array
          items:
            type: string
            examples:
            - SKU-TS-BLK-M
            maxLength: 100
            minLength: 1
          title: skus
          description: Filter by SKUs
      - name: filter.stock_labels
        in: query
        description: Filter by stock availability
        schema:
          type: array
          items:
            $ref: '#/components/schemas/api.catalog.v1.VendorCatalogVariantStockLabel'
          title: stock_labels
          description: Filter by stock availability
      - name: filter.variant_ids
        in: query
        description: Filter by specific variant IDs
        schema:
          type: array
          items:
            type: string
            examples:
            - var_123
            maxLength: 100
            minLength: 1
          title: variant_ids
          description: Filter by specific variant IDs
      - name: paging.limit
        in: query
        schema:
          type: integer
          title: limit
          format: int32
      - name: paging.page
        in: query
        schema:
          type: integer
          title: page
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.catalog.v1.VendorListCatalogVariantResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - ClientKeyAuth: []
        ClientSecretAuth: []
  /api/v3/webhooks:
    get:
      tags:
      - api.webhook.v1.VendorWebhookAPI
      summary: List Webhook
      description: "List all registered webhooks\n\n GET /api/v3/webhooks\n\n Returns:\n\
        \   - All registered webhooks for your account\n   - Webhook status (active/inactive)\n\
        \   - Event topics subscribed\n   - Delivery URLs\n\n Use cases:\n   - Audit\
        \ webhook configurations\n   - Verify webhook setup\n   - List active event\
        \ subscriptions"
      operationId: api.webhook.v1.VendorWebhookAPI.VendorListWebhook
      parameters:
      - name: filter.statuses
        in: query
        description: Filter by webhook status (e.g., to see only active webhooks)
        schema:
          type: array
          items:
            $ref: '#/components/schemas/api.webhook.v1.VendorWebhook.Status'
          title: statuses
          description: Filter by webhook status (e.g., to see only active webhooks)
      - name: filter.store_ids
        in: query
        description: Filter by store IDs
        schema:
          type: array
          items:
            type: string
            examples:
            - store_abc123
            minLength: 1
          title: store_ids
          description: Filter by store IDs
      - name: filter.team_ids
        in: query
        description: Filter by team IDs (internal use)
        schema:
          type: array
          items:
            type: string
            examples:
            - team_abc123
            minLength: 1
          title: team_ids
          description: Filter by team IDs (internal use)
      - name: filter.topics
        in: query
        description: Filter by event topics
        schema:
          type: array
          items:
            $ref: '#/components/schemas/api.webhook.v1.VendorWebhook.Topic'
          title: topics
          description: Filter by event topics
      - name: filter.versions
        in: query
        description: Filter by webhook version
        schema:
          type: array
          items:
            $ref: '#/components/schemas/api.webhook.v1.VendorWebhook.Version'
          title: versions
          description: Filter by webhook version
      - name: filter.webhook_ids
        in: query
        description: Filter by specific webhook IDs
        schema:
          type: array
          items:
            type: string
            examples:
            - wh_abc123
            minLength: 1
          title: webhook_ids
          description: Filter by specific webhook IDs
      - name: paging.limit
        in: query
        schema:
          type: integer
          title: limit
          format: int32
      - name: paging.page
        in: query
        schema:
          type: integer
          title: page
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.webhook.v1.VendorListWebhookResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - ClientKeyAuth: []
        ClientSecretAuth: []
    post:
      tags:
      - api.webhook.v1.VendorWebhookAPI
      summary: Create Webhook
      description: "Register a new webhook for event notifications\n\n POST /api/v3/webhooks\n\
        \ Content-Type: application/json\n\n Available topics:\n   - VENDOR_WEBHOOK_TOPIC_ORDER_COMPLETED:\
        \ Order fulfillment completed\n   - VENDOR_WEBHOOK_TOPIC_ORDER_CANCELED: Order\
        \ was cancelled\n   - VENDOR_WEBHOOK_TOPIC_TRACKING_UPDATED: Shipping tracking\
        \ updated\n   - VENDOR_WEBHOOK_TOPIC_ADDRESS_UNVERIFIED: Shipping address\
        \ validation failed\n\n Security:\n   - Webhooks are sent via HTTPS POST\n\
        \   - Include signature header for verification\n   - Must respond with 200\
        \ OK within 30 seconds\n\n Use cases:\n   - Automate order status updates\n\
        \   - Sync tracking information\n   - Alert customers of shipment"
      operationId: api.webhook.v1.VendorWebhookAPI.VendorCreateWebhook
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.webhook.v1.VendorCreateWebhookRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.webhook.v1.VendorCreateWebhookResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - ClientKeyAuth: []
        ClientSecretAuth: []
      parameters: []
  /api/v3/webhooks/{webhook_id}:
    delete:
      tags:
      - api.webhook.v1.VendorWebhookAPI
      summary: Delete Webhook
      description: "Delete a webhook subscription\n\n DELETE /api/v3/webhooks/{webhook_id}\n\
        \n Use cases:\n   - Remove unused webhooks\n   - Update webhook configuration\
        \ (delete + recreate)"
      operationId: api.webhook.v1.VendorWebhookAPI.VendorDeleteWebhook
      parameters:
      - name: webhook_id
        in: path
        description: Webhook ID is provided in URL path parameter
        required: true
        schema:
          type: string
          title: webhook_id
          maxLength: 255
          minLength: 1
          description: Webhook ID is provided in URL path parameter
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.webhook.v1.VendorDeleteWebhookResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - ClientKeyAuth: []
        ClientSecretAuth: []
  /api/v3/orders:
    get:
      tags:
      - api.order.v1.VendorOrderAPI
      summary: List Order
      description: "List orders with filtering and pagination\n\n GET /api/v3/orders\n\
        \n Use cases:\n   - Monitor order status changes\n   - Sync orders to your\
        \ system\n   - Generate reports on order volumes"
      operationId: api.order.v1.VendorOrderAPI.VendorListOrder
      parameters:
      - name: filter.created_at_min
        in: query
        description: ISO 8601 date-time format (e.g., 2024-01-01T00:00:00Z)
        schema:
          type: string
          format: date-time
      - name: filter.created_methods
        in: query
        description: Filter by order creation methods
        schema:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorCreatedMethod'
          title: created_methods
          description: Filter by order creation methods
      - name: filter.order_ids
        in: query
        description: Filter by specific order IDs
        schema:
          type: array
          items:
            type: string
            examples:
            - ord_abc123xyz
            maxLength: 100
            minLength: 1
          title: order_ids
          description: Filter by specific order IDs
      - name: filter.payment_status
        in: query
        description: Filter by payment status (for legacy API compatibility)
        schema:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorOrderPaymentStatus'
          title: payment_status
          description: Filter by payment status (for legacy API compatibility)
      - name: filter.reference_ids
        in: query
        description: Filter by platform reference IDs (platform_ref field)
        schema:
          type: array
          items:
            type: string
            examples:
            - shopify_12345
            maxLength: 100
            minLength: 1
          title: reference_ids
          description: Filter by platform reference IDs (platform_ref field)
      - name: filter.statuses
        in: query
        description: Filter by order statuses
        schema:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorOrderStatus'
          title: statuses
          description: Filter by order statuses
      - name: paging.limit
        in: query
        schema:
          type: integer
          title: limit
          format: int32
      - name: paging.page
        in: query
        schema:
          type: integer
          title: page
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.order.v1.VendorListOrderResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - ClientKeyAuth: []
        ClientSecretAuth: []
  /api/v3/orders/draft:
    get:
      tags:
      - api.order.v1.VendorOrderAPI
      summary: List Order Draft
      description: "List order drafts (pending checkout)\n\n GET /api/v3/orders/draft\n\
        \n Use cases:\n   - Review drafts before checkout\n   - Identify stuck/incomplete\
        \ orders"
      operationId: api.order.v1.VendorOrderAPI.VendorListOrderDraft
      parameters:
      - name: filter.created_at_min
        in: query
        description: ISO 8601 date-time format (e.g., 2024-01-01T00:00:00Z)
        schema:
          type: string
          format: date-time
      - name: filter.created_methods
        in: query
        description: Filter by creation methods
        schema:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorCreatedMethod'
          title: created_methods
          description: Filter by creation methods
      - name: filter.order_ids
        in: query
        description: Filter by specific order draft IDs
        schema:
          type: array
          items:
            type: string
            examples:
            - draft_abc123
            maxLength: 100
            minLength: 1
          title: order_ids
          description: Filter by specific order draft IDs
      - name: filter.reference_ids
        in: query
        description: Filter by platform reference IDs (platform_ref field)
        schema:
          type: array
          items:
            type: string
            examples:
            - shopify_12345
            maxLength: 100
            minLength: 1
          title: reference_ids
          description: Filter by platform reference IDs (platform_ref field)
      - name: filter.statuses
        in: query
        description: Filter by draft statuses
        schema:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorOrderDraftStatus'
          title: statuses
          description: Filter by draft statuses
      - name: paging.limit
        in: query
        schema:
          type: integer
          title: limit
          format: int32
      - name: paging.page
        in: query
        schema:
          type: integer
          title: page
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.order.v1.VendorListOrderDraftResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - ClientKeyAuth: []
        ClientSecretAuth: []
    post:
      tags:
      - api.order.v1.VendorOrderAPI
      summary: Create Order Draft
      description: "Create a new order draft\n\n POST /api/v3/orders/draft\n Content-Type:\
        \ application/json\n\n Use cases:\n   - Place new orders programmatically\n\
        \   - Bulk order creation\n   - Integration with e-commerce platforms"
      operationId: api.order.v1.VendorOrderAPI.VendorCreateOrderDraft
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.order.v1.VendorCreateOrderDraftRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.order.v1.VendorCreateOrderDraftResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - ClientKeyAuth: []
        ClientSecretAuth: []
      parameters: []
  /api/v3/orders/draft/labeled:
    post:
      tags:
      - api.order.v1.VendorOrderAPI
      summary: Create Order Draft With Label
      description: "Create order draft with pre-purchased shipping label\n\n POST\
        \ /api/v3/orders/draft/labeled\n Content-Type: application/json\n\n Use cases:\n\
        \   - Use your own shipping account\n   - Consolidate shipping management"
      operationId: api.order.v1.VendorOrderAPI.VendorCreateOrderDraftWithLabel
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.order.v1.VendorCreateOrderDraftWithLabelRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.order.v1.VendorCreateOrderDraftWithLabelResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - ClientKeyAuth: []
        ClientSecretAuth: []
      parameters: []
  /api/v3/orders/draft/line-items:
    patch:
      tags:
      - api.order.v1.VendorOrderAPI
      summary: Update Order Draft Line Items
      description: "Update line items in an order draft\n\n PATCH /api/v3/orders/draft/line-items\n\
        \ Content-Type: application/json\n\n Use cases:\n   - Update quantities before\
        \ checkout\n   - Change designs on line items\n   - Fix errors in draft orders"
      operationId: api.order.v1.VendorOrderAPI.VendorUpdateOrderDraftLineItems
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.order.v1.VendorUpdateOrderDraftLineItemsRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.order.v1.VendorUpdateOrderDraftLineItemsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - ClientKeyAuth: []
        ClientSecretAuth: []
      parameters: []
  /api/v3/orders/draft/{order_id}:
    get:
      tags:
      - api.order.v1.VendorOrderAPI
      summary: Get Order Draft
      description: "Get details of a specific order draft\n\n GET /api/v3/orders/draft/{order_id}\n\
        \n Use cases:\n   - Review draft before checkout\n   - Verify pricing and\
        \ line items"
      operationId: api.order.v1.VendorOrderAPI.VendorGetOrderDraft
      parameters:
      - name: order_id
        in: path
        description: Order draft ID is provided in the URL path parameter
        required: true
        schema:
          type: string
          title: order_id
          maxLength: 255
          minLength: 1
          description: Order draft ID is provided in the URL path parameter
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.order.v1.VendorGetOrderDraftResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - ClientKeyAuth: []
        ClientSecretAuth: []
  /api/v3/shipping/economy/coverage/check:
    post:
      tags:
      - api.order.v1.VendorShippingCoverageAPI
      summary: Check Economy Coverage
      description: "Check destinations against the Economy carrier's US coverage\n\
        \n POST /api/v3/shipping/economy/coverage/check\n\n Economy is carried by\
        \ a single carrier that does not serve every US ZIP.\n An Economy order to\
        \ a ZIP outside that coverage is not refused - it is\n moved to Standard before\
        \ it is charged, and priced as a Standard order.\n This endpoint reports coverage\
        \ so that the repricing is not a surprise.\n\n Coverage is the most common\
        \ reason an order cannot ship Economy, but not\n the only one: parcel weight\
        \ and the originating marketplace are checked\n when the order itself is created,\
        \ and offshore and military destinations\n are refused Economy outright. A\
        \ covered ZIP therefore means \"not excluded\n by carrier coverage\", not\
        \ \"guaranteed Economy\"."
      operationId: api.order.v1.VendorShippingCoverageAPI.VendorCheckEconomyCoverage
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.order.v1.VendorCheckEconomyCoverageRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.order.v1.VendorCheckEconomyCoverageResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security: &id001
      - ClientKeyAuth: []
        ClientSecretAuth: []
      parameters: []
  /api/v3/orders/price:
    post:
      tags:
      - api.order.v1.VendorOrderAPI
      summary: Get Price Quote
      description: "Get price quote before creating order\n\n POST /api/v3/orders/price\n\
        \ Content-Type: application/json\n\n Response includes:\n   - order_total:\
        \ Total cost\n   - order_subtotal: Product costs\n   - order_shipping_fee:\
        \ Shipping cost\n   - order_tax: Tax amount\n\n Use cases:\n   - Show pricing\
        \ to customers before checkout\n   - Compare shipping methods\n   - Calculate\
        \ profit margins"
      operationId: api.order.v1.VendorOrderAPI.VendorGetPriceQuote
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.order.v1.VendorGetPriceQuoteRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.order.v1.VendorGetPriceQuoteResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - ClientKeyAuth: []
        ClientSecretAuth: []
      parameters: []
  /api/v3/orders/{order_id}:
    get:
      tags:
      - api.order.v1.VendorOrderAPI
      summary: Get Order
      description: "Get details of a specific order\n\n GET /api/v3/orders/{order_id}\n\
        \n Response includes:\n   - Order status and tracking\n   - Line items with\
        \ printing details\n   - Shipping information\n   - Payment/transaction details\n\
        \n Use cases:\n   - Track order fulfillment\n   - Get shipping/tracking info\n\
        \   - Customer support queries"
      operationId: api.order.v1.VendorOrderAPI.VendorGetOrder
      parameters:
      - name: order_id
        in: path
        description: Order ID is provided in the URL path parameter
        required: true
        schema:
          type: string
          title: order_id
          maxLength: 255
          minLength: 1
          description: Order ID is provided in the URL path parameter
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.order.v1.VendorGetOrderResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - ClientKeyAuth: []
        ClientSecretAuth: []
  /api/v3/support/requests:
    get:
      tags:
      - api.support.v1.VendorSupportAPI
      summary: List Support Request
      operationId: api.support.v1.VendorSupportAPI.ListSupportRequest
      parameters:
      - name: created_from
        in: query
        description: ISO 8601 date-time format (e.g., 2024-01-01T00:00:00Z)
        schema:
          type: string
          format: date-time
      - name: paging.limit
        in: query
        schema:
          type: integer
          title: limit
          format: int32
      - name: paging.page
        in: query
        schema:
          type: integer
          title: page
          format: int32
      - name: request_status
        in: query
        schema:
          title: request_status
          $ref: '#/components/schemas/api.support.v1.SupportRequest.Status'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.support.v1.ListSupportRequestResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - ClientKeyAuth: []
        ClientSecretAuth: []
    post:
      tags:
      - api.support.v1.VendorSupportAPI
      summary: Create Support Request
      operationId: api.support.v1.VendorSupportAPI.CreateSupportRequest
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.support.v1.CreateSupportRequestRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.support.v1.CreateSupportRequestResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - ClientKeyAuth: []
        ClientSecretAuth: []
      parameters: []
  /v1/vendor/shipping-labels/services:
    servers:
    - url: https://apiv2.gearment.com/pod
      description: Production POD API
    get:
      tags:
      - api.pod.v1.SellerShippingLabelAPI
      summary: List enabled carrier services
      operationId: sellerShippingLabels.listEnabledCarrierServices
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.pod.v1.ListEnabledCarrierServicesResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      security:
      - BearerAuth: []
      - CookieAuth: []
      description: List the carrier and service combinations enabled for the authenticated
        team. There is no fixed list - Gearment staff configure the set per team,
        so it can differ between teams and change over time. Read the carriers from
        this response rather than hard-coding them.
  /v1/vendor/shipping-labels/rates:
    servers:
    - url: https://apiv2.gearment.com/pod
      description: Production POD API
    post:
      tags:
      - api.pod.v1.SellerShippingLabelAPI
      summary: Estimate label rates
      operationId: sellerShippingLabels.estimateRates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.pod.v1.EstimateLabelRatesRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.pod.v1.EstimateLabelRatesResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      security:
      - BearerAuth: []
      - CookieAuth: []
      description: Create a 15-minute quote for a US shipment. Use a returned rateId
        to purchase a label.
  /v1/vendor/shipping-labels:
    servers:
    - url: https://apiv2.gearment.com/pod
      description: Production POD API
    get:
      tags:
      - api.pod.v1.SellerShippingLabelAPI
      summary: List shipping labels
      operationId: sellerShippingLabels.list
      parameters:
      - name: status
        in: query
        description: Filter by label status. Repeat the parameter to select more than
          one status.
        schema:
          type: array
          items:
            $ref: '#/components/schemas/api.pod.v1.SellerLabelStatus'
      - name: carrier
        in: query
        description: Filter by carrier. Repeat the parameter to select more than one
          carrier.
        schema:
          type: array
          items:
            type: string
      - name: billingState
        in: query
        description: Filter by billing state. Repeat the parameter to select more
          than one billing state.
        schema:
          type: array
          items:
            $ref: '#/components/schemas/api.pod.v1.SellerLabelBillingState'
      - name: createdAtFrom
        in: query
        schema:
          type: string
          format: date-time
      - name: createdAtTo
        in: query
        schema:
          type: string
          format: date-time
      - name: page
        in: query
        schema:
          type: integer
          minimum: 0
          format: int32
      - name: limit
        in: query
        schema:
          type: integer
          minimum: 0
          maximum: 500
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.pod.v1.ListLabelsResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      security:
      - BearerAuth: []
      - CookieAuth: []
      description: List seller shipping labels owned by the authenticated team.
    post:
      tags:
      - api.pod.v1.SellerShippingLabelAPI
      summary: Purchase a shipping label
      operationId: sellerShippingLabels.purchase
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.pod.v1.PurchaseLabelRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.pod.v1.PurchaseLabelResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      security:
      - BearerAuth: []
      - CookieAuth: []
      description: Purchase a selected rate idempotently. requestId is required; repeating
        it returns the existing label instead of buying twice.
  /v1/vendor/shipping-labels/{label_id}:
    servers:
    - url: https://apiv2.gearment.com/pod
      description: Production POD API
    get:
      tags:
      - api.pod.v1.SellerShippingLabelAPI
      summary: Get a shipping label
      operationId: sellerShippingLabels.get
      parameters:
      - name: label_id
        in: path
        required: true
        schema:
          type: string
          minLength: 1
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.pod.v1.GetLabelResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      security:
      - BearerAuth: []
      - CookieAuth: []
      description: Fetch one seller shipping label owned by the authenticated team.
  /v1/vendor/shipping-labels/{label_id}:cancel:
    servers:
    - url: https://apiv2.gearment.com/pod
      description: Production POD API
    post:
      tags:
      - api.pod.v1.SellerShippingLabelAPI
      summary: Cancel a shipping label
      operationId: sellerShippingLabels.cancel
      parameters:
      - name: label_id
        in: path
        required: true
        schema:
          type: string
          minLength: 1
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.pod.v1.CancelLabelResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      security:
      - BearerAuth: []
      - CookieAuth: []
      description: Request cancellation or refund for a purchased EasyPost label while
        the provider still allows it.
  /api/v3/orders/draft/{order_id}/approve:
    post:
      tags:
      - api.order.v1.VendorOrderAPI
      summary: Approve Order Draft
      description: "Approve a verified order draft.\n\n POST /api/v3/orders/draft/{order_id}/approve"
      operationId: api.order.v1.VendorOrderAPI.VendorApproveOrderDraft
      parameters:
      - name: order_id
        in: path
        description: Draft order ID to approve.
        required: true
        schema:
          type: string
          title: order_id
          maxLength: 255
          minLength: 1
          description: Draft order ID to approve.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                order_id:
                  type: string
                  title: order_id
                  maxLength: 255
                  minLength: 1
                  description: Draft order ID to approve.
              title: VendorApproveOrderDraftRequest
              additionalProperties: false
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.order.v1.VendorApproveOrderDraftResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security: *id001
  /api/v3/catalog/variants/shipping-fee:
    get:
      tags:
      - api.catalog.v1.VendorCatalogAPI
      summary: Get Catalog Shipping Fee
      description: "Check real-time shipping fee for variants\n\n GET /api/v3/catalog/variants/shipping-fee\n\
        \n Returns:\n   - Shipping fee details for each variant\n   - Shipping policy\
        \ information\n\n Use cases:\n   - Estimate shipping cost before order placement\n\
        \   - Display shipping fee to customers\n   - Sync shipping fee configuration\
        \ in your system"
      operationId: api.catalog.v1.VendorCatalogAPI.VendorGetCatalogShippingFee
      parameters:
      - name: filter.color_codes
        in: query
        description: Filter by color codes (internal codes or hex)
        schema:
          type: array
          items:
            type: string
            examples:
            - COLOR_BLACK
            maxLength: 100
            minLength: 1
          title: color_codes
          description: Filter by color codes (internal codes or hex)
      - name: filter.colors
        in: query
        description: Filter by colors (display names)
        schema:
          type: array
          items:
            type: string
            examples:
            - Black
            maxLength: 100
            minLength: 1
          title: colors
          description: Filter by colors (display names)
      - name: filter.legacy_variant_ids
        in: query
        description: Filter by legacy variant IDs (for backward compatibility)
        schema:
          type: array
          items:
            exclusiveMinimum: 0
            type: integer
            examples:
            - 12345
            format: int32
          title: legacy_variant_ids
          description: Filter by legacy variant IDs (for backward compatibility)
      - name: filter.product_ids
        in: query
        description: Filter by product IDs
        schema:
          type: array
          items:
            type: string
            examples:
            - prod_abc123
            maxLength: 100
            minLength: 1
          title: product_ids
          description: Filter by product IDs
      - name: filter.search_text
        in: query
        description: Search variants by text
        schema:
          type: string
          examples:
          - Black Medium
          title: search_text
          description: Search variants by text
      - name: filter.size_codes
        in: query
        description: Filter by size codes (internal codes)
        schema:
          type: array
          items:
            type: string
            examples:
            - SIZE_M
            maxLength: 100
            minLength: 1
          title: size_codes
          description: Filter by size codes (internal codes)
      - name: filter.sizes
        in: query
        description: Filter by sizes (display names)
        schema:
          type: array
          items:
            type: string
            examples:
            - M
            maxLength: 100
            minLength: 1
          title: sizes
          description: Filter by sizes (display names)
      - name: filter.skus
        in: query
        description: Filter by SKUs
        schema:
          type: array
          items:
            type: string
            examples:
            - SKU-TS-BLK-M
            maxLength: 100
            minLength: 1
          title: skus
          description: Filter by SKUs
      - name: filter.stock_labels
        in: query
        description: Filter by stock availability
        schema:
          type: array
          items:
            $ref: '#/components/schemas/api.catalog.v1.VendorCatalogVariantStockLabel'
          title: stock_labels
          description: Filter by stock availability
      - name: filter.variant_ids
        in: query
        description: Filter by specific variant IDs
        schema:
          type: array
          items:
            type: string
            examples:
            - var_123
            maxLength: 100
            minLength: 1
          title: variant_ids
          description: Filter by specific variant IDs
      - name: paging.limit
        in: query
        schema:
          type: integer
          title: limit
          format: int32
      - name: paging.page
        in: query
        schema:
          type: integer
          title: page
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.catalog.v1.VendorGetCatalogShippingFeeResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security: *id001
components:
  schemas:
    ErrorResponse:
      type: object
      required:
      - code
      - message
      properties:
        code:
          type: string
          description: Machine-readable error code
          example: INVALID_ARGUMENT
        message:
          type: string
          description: Human-readable error message
          example: The request parameters are invalid
        details:
          type: array
          description: Additional error details
          items:
            type: object
            properties:
              field:
                type: string
                description: Field that caused the error
              issue:
                type: string
                description: Description of the issue
    common.platform.v1.MarketplacePlatform:
      type:
      - string
      - number
      title: MarketplacePlatform
      enum:
      - MARKETPLACE_PLATFORM_EBAY
      - 2
      - MARKETPLACE_PLATFORM_AMAZON
      - 3
      - MARKETPLACE_PLATFORM_SHOPIFY
      - 4
      - MARKETPLACE_PLATFORM_WOOCOMMERCE
      - 5
      - MARKETPLACE_PLATFORM_ETSY
      - 6
      - MARKETPLACE_PLATFORM_SHOPBASE
      - 7
      - MARKETPLACE_PLATFORM_GEARMENT
      - 8
      - MARKETPLACE_PLATFORM_ORDERDESK
      - 9
      - MARKETPLACE_PLATFORM_TIKTOKSHOP
      - 10
      - MARKETPLACE_PLATFORM_POSHMARK
      - 11
      - MARKETPLACE_PLATFORM_PRESTASHOP
      - 12
      - MARKETPLACE_PLATFORM_INKGO
      - 13
      - MARKETPLACE_PLATFORM_WISH
      - 14
      - MARKETPLACE_PLATFORM_BIGCOMMERCE
      - 15
      - MARKETPLACE_PLATFORM_CUSTOMILY
      - 16
    common.type.v1.Money:
      type: object
      properties:
        currency_code:
          type: string
          title: currency_code
          description: The three-letter currency code defined in ISO 4217.
        units:
          type:
          - integer
          - string
          title: units
          format: int64
          description: "The whole units of the amount.\n For example if `currencyCode`\
            \ is `\"USD\"`, then 1 unit is one US dollar."
        nanos:
          type: integer
          title: nanos
          format: int32
          description: "Number of nano (10^-9) units of the amount.\n The value must\
            \ be between -999,999,999 and +999,999,999 inclusive.\n If `units` is\
            \ positive, `nanos` must be positive or zero.\n If `units` is zero, `nanos`\
            \ can be positive, zero, or negative.\n If `units` is negative, `nanos`\
            \ must be negative or zero.\n For example $-1.75 is represented as `units`=-1\
            \ and `nanos`=-750,000,000."
      title: Money
      additionalProperties: false
      description: Represents an amount of money with its currency type.
    google.protobuf.Timestamp:
      type: string
      examples:
      - 2023-01-15 01:30:15.010000+00:00
      - 2024-12-25 12:00:00+00:00
      format: date-time
      description: "A Timestamp represents a point in time independent of any time\
        \ zone or local\n calendar, encoded as a count of seconds and fractions of\
        \ seconds at\n nanosecond resolution. The count is relative to an epoch at\
        \ UTC midnight on\n January 1, 1970, in the proleptic Gregorian calendar which\
        \ extends the\n Gregorian calendar backwards to year one.\n\n All minutes\
        \ are 60 seconds long. Leap seconds are \"smeared\" so that no leap\n second\
        \ table is needed for interpretation, using a [24-hour linear\n smear](https://developers.google.com/time/smear).\n\
        \n The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z.\
        \ By\n restricting to that range, we ensure that we can convert to and from\
        \ [RFC\n 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.\n\n # Examples\n\
        \n Example 1: Compute Timestamp from POSIX `time()`.\n\n     Timestamp timestamp;\n\
        \     timestamp.set_seconds(time(NULL));\n     timestamp.set_nanos(0);\n\n\
        \ Example 2: Compute Timestamp from POSIX `gettimeofday()`.\n\n     struct\
        \ timeval tv;\n     gettimeofday(&tv, NULL);\n\n     Timestamp timestamp;\n\
        \     timestamp.set_seconds(tv.tv_sec);\n     timestamp.set_nanos(tv.tv_usec\
        \ * 1000);\n\n Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n\
        \n     FILETIME ft;\n     GetSystemTimeAsFileTime(&ft);\n     UINT64 ticks\
        \ = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;\n\n     // A Windows\
        \ tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n     // is\
        \ 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\n     Timestamp\
        \ timestamp;\n     timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\n\
        \     timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n\n Example\
        \ 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n\n     long\
        \ millis = System.currentTimeMillis();\n\n     Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis\
        \ / 1000)\n         .setNanos((int) ((millis % 1000) * 1000000)).build();\n\
        \n Example 5: Compute Timestamp from Java `Instant.now()`.\n\n     Instant\
        \ now = Instant.now();\n\n     Timestamp timestamp =\n         Timestamp.newBuilder().setSeconds(now.getEpochSecond())\n\
        \             .setNanos(now.getNano()).build();\n\n Example 6: Compute Timestamp\
        \ from current time in Python.\n\n     timestamp = Timestamp()\n     timestamp.GetCurrentTime()\n\
        \n # JSON Mapping\n\n In JSON format, the Timestamp type is encoded as a string\
        \ in the\n [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is,\
        \ the\n format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\"\
        \n where {year} is always expressed using four digits while {month}, {day},\n\
        \ {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional\n\
        \ seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),\n\
        \ are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\n\
        \ is required. A ProtoJSON serializer should always use UTC (as indicated\
        \ by\n \"Z\") when printing the Timestamp type and a ProtoJSON parser should\
        \ be\n able to accept both UTC and other timezones (as indicated by an offset).\n\
        \n For example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past\n 01:30\
        \ UTC on January 15, 2017.\n\n In JavaScript, one can convert a Date object\
        \ to this format using the\n standard\n [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\n\
        \ method. In Python, a standard `datetime.datetime` object can be converted\n\
        \ to this format using\n [`strftime`](https://docs.python.org/2/library/time.html#time.strftime)\
        \ with\n the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java,\
        \ one can use\n the Joda Time's [`ISODateTimeFormat.dateTime()`](\n http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()\n\
        \ ) to obtain a formatter capable of generating timestamps in this format."
    api.catalog.v1.VendorCatalog:
      type: object
      properties:
        product_id:
          type: string
          title: product_id
          description: Product ID
        product_name:
          type: string
          title: product_name
          description: Product name (e.g., "Unisex T-Shirt", "Hoodie")
        product_avatar_url:
          type: string
          title: product_avatar_url
          description: Product main image URL
        print_locations:
          type: array
          items:
            $ref: '#/components/schemas/api.catalog.v1.VendorCatalogPrintLocation'
          title: print_locations
          description: Available print locations for this product
        variants:
          type: array
          items:
            $ref: '#/components/schemas/api.catalog.v1.VendorCatalogVariant'
          title: variants
          description: Available variants (size/color combinations)
        legacy_product_id:
          type: integer
          title: legacy_product_id
          format: int32
          description: Legacy product ID (for backward compatibility)
      title: VendorCatalog
      additionalProperties: false
    api.catalog.v1.VendorCatalogPrintLocation:
      type: object
      properties:
        code:
          type: string
          title: code
          description: Print location code (e.g., "front", "back", "pocket")
        name:
          type: string
          title: name
          description: Print location display name
        location_id:
          type: integer
          title: location_id
          format: int32
          description: Internal location ID
      title: VendorCatalogPrintLocation
      additionalProperties: false
    api.catalog.v1.VendorCatalogVariant:
      type: object
      properties:
        variant_id:
          type: string
          title: variant_id
          description: Variant ID (unique identifier)
        name:
          type: string
          title: name
          description: Variant name (e.g., "Black / Medium")
        size:
          type: string
          title: size
          description: Size (e.g., "S", "M", "L", "XL")
        color:
          type: string
          title: color
          description: Color name (e.g., "Black", "White", "Navy")
        hex_color_code:
          type: string
          title: hex_color_code
          description: Color hex code (e.g., "#000000", "#FFFFFF")
        price:
          title: price
          description: Base price for this variant
          $ref: '#/components/schemas/common.type.v1.Money'
        recommended_price:
          title: recommended_price
          description: Recommended retail price
          $ref: '#/components/schemas/common.type.v1.Money'
        extra_price:
          title: extra_price
          description: Extra price for special features (if applicable)
          $ref: '#/components/schemas/common.type.v1.Money'
        net_price:
          title: net_price
          description: Price that Gearment offers to the team
          $ref: '#/components/schemas/common.type.v1.Money'
        stock_label:
          title: stock_label
          description: Stock availability status
          $ref: '#/components/schemas/api.catalog.v1.VendorCatalogVariantStockLabel'
        product:
          title: product
          description: Parent product information
          $ref: '#/components/schemas/api.catalog.v1.VendorCatalog'
        legacy_variant_id:
          type: integer
          title: legacy_variant_id
          format: int32
          description: Legacy variant ID (for backward compatibility)
        variant_sku:
          type: string
          title: variant_sku
          description: Variant SKU
        color_code:
          type: string
          title: color_code
          description: Color code
        size_code:
          type: string
          title: size_code
          description: Size code
      title: VendorCatalogVariant
      additionalProperties: false
    api.catalog.v1.VendorCatalogVariantStockLabel:
      type:
      - string
      - number
      title: VendorCatalogVariantStockLabel
      enum:
      - VENDOR_CATALOG_VARIANT_STOCK_LABEL_IN_STOCK
      - 1
      - VENDOR_CATALOG_VARIANT_STOCK_LABEL_OUT_OF_STOCK
      - 2
      - VENDOR_CATALOG_VARIANT_STOCK_LABEL_OUT_OF_STOCK_5D
      - 3
      - VENDOR_CATALOG_VARIANT_STOCK_LABEL_DISCONTINUED
      - 4
    api.catalog.v1.VendorListCatalogResponse:
      type: object
      properties:
        status:
          type: string
          title: status
          description: 'Response status: "success" or "error"'
        message:
          type: string
          title: message
          description: Human-readable message describing the result
        paging:
          title: paging
          description: "Pagination metadata\n Contains: total count, current page,\
            \ total pages"
          $ref: '#/components/schemas/common.type.v1.PagingResponse'
        data:
          type: array
          items:
            $ref: '#/components/schemas/api.catalog.v1.VendorCatalog'
          title: data
          description: "List of products matching the filter\n Each product includes:\
            \ name, description, images, available variants"
      title: VendorListCatalogResponse
      additionalProperties: false
    api.catalog.v1.VendorListCatalogVariantResponse:
      type: object
      properties:
        status:
          type: string
          title: status
          description: 'Response status: "success" or "error"'
        message:
          type: string
          title: message
          description: Human-readable message
        paging:
          title: paging
          description: Pagination metadata
          $ref: '#/components/schemas/common.type.v1.PagingResponse'
        data:
          type: array
          items:
            $ref: '#/components/schemas/api.catalog.v1.VendorCatalogVariant'
          title: data
          description: "List of product variants\n Each variant includes: size, color,\
            \ SKU, price, stock status, print specifications"
      title: VendorListCatalogVariantResponse
      additionalProperties: false
    common.type.v1.PagingResponse:
      type: object
      properties:
        total:
          type:
          - integer
          - string
          title: total
          format: int64
        total_page:
          type: integer
          title: total_page
          format: int32
        page:
          type: integer
          title: page
          format: int32
        limit:
          type: integer
          title: limit
          format: int32
      title: PagingResponse
      additionalProperties: false
    api.webhook.v1.VendorCreateWebhookRequest:
      type: object
      properties:
        status:
          title: status
          description: 'Webhook status: ACTIVE or INACTIVE (default: ACTIVE)'
          $ref: '#/components/schemas/api.webhook.v1.VendorWebhook.Status'
        topic:
          title: topic
          description: "Event topic to subscribe to (required)\n Choose from: ORDER_COMPLETED,\
            \ ORDER_CANCELED, TRACKING_UPDATED, ADDRESS_UNVERIFIED"
          $ref: '#/components/schemas/api.webhook.v1.VendorWebhook.Topic'
        name:
          type: string
          examples:
          - Production Order Completed Notifications
          title: name
          maxLength: 255
          description: 'Human-readable webhook name (optional, helps identify webhook
            purpose, max length: 255 characters)'
        version:
          title: version
          description: 'Webhook payload version (recommended: use latest version for
            new webhooks)'
          $ref: '#/components/schemas/api.webhook.v1.VendorWebhook.Version'
        delivery_url:
          type: string
          examples:
          - https://yourapp.com/webhooks/gearment/orders
          title: delivery_url
          maxLength: 2048
          minLength: 1
          format: uri
          description: HTTPS URL to receive webhook POST requests (required, must
            be publicly accessible and respond within 30 seconds, must use HTTPS)
        store_id:
          type: string
          examples:
          - store_abc123
          title: store_id
          description: Optional store ID to filter events (if provided, only events
            for this store will trigger the webhook)
      title: VendorCreateWebhookRequest
      additionalProperties: false
    api.webhook.v1.VendorCreateWebhookResponse:
      type: object
      properties:
        status:
          type: string
          title: status
          description: 'Response status: "success" or "error"'
        message:
          type: string
          title: message
          description: "Human-readable message\n Success: \"Webhook created successfully\"\
            \n Error: \"Invalid delivery URL\" or \"Duplicate webhook\""
        data:
          title: data
          description: "Created webhook details\n Includes: webhook_id, topic, delivery_url,\
            \ created_at"
          $ref: '#/components/schemas/api.webhook.v1.VendorWebhook'
      title: VendorCreateWebhookResponse
      additionalProperties: false
    api.webhook.v1.VendorDeleteWebhookResponse:
      type: object
      properties:
        status:
          type: string
          title: status
          description: 'Response status: "success" or "error"'
        message:
          type: string
          title: message
          description: "Human-readable message\n Success: \"Webhook deleted successfully\"\
            \n Error: \"Webhook not found\""
        data:
          title: data
          description: Deleted webhook information
          $ref: '#/components/schemas/api.webhook.v1.VendorWebhook'
      title: VendorDeleteWebhookResponse
      additionalProperties: false
    api.webhook.v1.VendorListWebhookResponse:
      type: object
      properties:
        status:
          type: string
          title: status
          description: 'Response status: "success" or "error"'
        message:
          type: string
          title: message
          description: Human-readable message
        paging:
          title: paging
          description: Pagination metadata
          $ref: '#/components/schemas/common.type.v1.PagingResponse'
        data:
          type: array
          items:
            $ref: '#/components/schemas/api.webhook.v1.VendorWebhook'
          title: data
          description: "List of registered webhooks\n Each webhook includes: ID, topic,\
            \ delivery URL, status, created_at"
      title: VendorListWebhookResponse
      additionalProperties: false
    api.webhook.v1.VendorWebhook:
      type: object
      properties:
        webhook_id:
          type: string
          title: webhook_id
          maxLength: 255
          minLength: 1
          description: Unique webhook ID
        topic:
          title: topic
          description: Event topic this webhook subscribes to
          $ref: '#/components/schemas/api.webhook.v1.VendorWebhook.Topic'
        status:
          title: status
          description: Webhook status (active/inactive)
          $ref: '#/components/schemas/api.webhook.v1.VendorWebhook.Status'
        delivery_url:
          type: string
          title: delivery_url
          maxLength: 2048
          minLength: 1
          format: uri
          description: URL where webhook events will be delivered (HTTPS required)
        version:
          title: version
          description: Webhook payload version
          $ref: '#/components/schemas/api.webhook.v1.VendorWebhook.Version'
        created_at:
          title: created_at
          description: When this webhook was created
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        updated_at:
          title: updated_at
          description: When this webhook was last updated
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        team_id:
          type: string
          title: team_id
          description: Team ID this webhook belongs to
        store_id:
          type: string
          title: store_id
          description: Store ID this webhook is scoped to (optional)
      title: VendorWebhook
      additionalProperties: false
    api.webhook.v1.VendorWebhook.Status:
      type:
      - string
      - number
      title: Status
      enum:
      - STATUS_ACTIVE
      - 2
      - STATUS_INACTIVE
      - 3
    api.webhook.v1.VendorWebhook.Topic:
      type:
      - string
      - number
      title: Topic
      enum:
      - TOPIC_ORDER_COMPLETED
      - 2
      - TOPIC_ORDER_CANCELLED
      - 3
      - TOPIC_TRACKING_ORDER_UPDATED
      - 4
      - TOPIC_ORDER_ON_HOLD
      - 5
      - TOPIC_SHIPPING_ADDRESS_VERIFIED
      - 6
      - TOPIC_SHIPPING_ADDRESS_UNVERIFIED
      - 7
      - TOPIC_PRODUCT_OUT_OF_STOCK
      - 8
    api.webhook.v1.VendorWebhook.Version:
      type:
      - string
      - number
      title: Version
      enum:
      - VERSION_V1
      - 2
      - VERSION_V3
      - 3
    api.order.v1.VendorAddress:
      type: object
      properties:
        first_name:
          type: string
          examples:
          - John
          title: first_name
          maxLength: 50
          minLength: 1
          description: Recipient's first name (required)
        last_name:
          type: string
          examples:
          - Doe
          title: last_name
          maxLength: 35
          description: Recipient's last name (optional)
        company:
          type: string
          examples:
          - Acme Corporation
          title: company
          maxLength: 50
          description: Company name (optional)
        contact_pronoun:
          type: string
          examples:
          - Mr.
          title: contact_pronoun
          maxLength: 50
          description: Contact pronoun (optional)
        street_1:
          type: string
          examples:
          - 123 Main Street
          title: street_1
          maxLength: 50
          minLength: 1
          description: Street address line 1 (required)
        street_2:
          type: string
          examples:
          - Apt 4B
          title: street_2
          maxLength: 35
          description: Street address line 2 (optional, for apartment/suite)
        state_code:
          type: string
          examples:
          - CA
          title: state_code
          maxLength: 3
          description: State/province code (ISO 3166-2)
        state_name:
          type: string
          examples:
          - California
          title: state_name
          maxLength: 40
          description: State/province full name (optional)
        city:
          type: string
          examples:
          - Los Angeles
          title: city
          maxLength: 30
          minLength: 1
          description: City name (required)
        zip_code:
          type: string
          examples:
          - '90001'
          title: zip_code
          maxLength: 12
          minLength: 1
          description: Postal/ZIP code (required)
        country_code:
          type: string
          examples:
          - US
          title: country_code
          maxLength: 2
          minLength: 2
          description: Country code (ISO 3166-1 alpha-2, required)
        country_name:
          type: string
          examples:
          - United States
          title: country_name
          maxLength: 255
          description: Country full name (optional)
        phone_no:
          type: string
          examples:
          - +1-555-123-4567
          title: phone_no
          maxLength: 50
          description: 'Phone number (optional)

            phone_no.valid_format // Phone number must be in valid format with 10
            digits in 3-3-4 pattern (e.g., +1 (555) 123-4567, 555-123-4567, or +84
            555 123 4567). Extensions allowed: ext/x followed by 3-6 digits.

            '
        email:
          type: string
          examples:
          - john.doe@gmail.com
          title: email
          maxLength: 50
          description: 'Email address (optional)

            email.valid_format // Email must be in valid format (e.g., user@example.com)

            '
        type:
          title: type
          description: Address type
          $ref: '#/components/schemas/api.order.v1.VendorAddress.Type'
      title: VendorAddress
      additionalProperties: false
    api.order.v1.VendorAddress.Type:
      type:
      - string
      - number
      title: Type
      enum:
      - TYPE_SHIP_FROM
      - 2
      - TYPE_SHIP_TO
      - 3
      - TYPE_BILL_TO
      - 4
      - TYPE_RETURN_TO
      - 5
    api.order.v1.VendorBillingOption:
      type: object
      properties:
        ioss_number:
          type: string
          examples:
          - IM1234567890
          title: ioss_number
          maxLength: 255
          description: "IOSS (Import One-Stop Shop) number for EU tax compliance (optional)\n\
            \ Required for shipments to EU countries to avoid customs delays"
        ioss_value:
          title: ioss_value
          description: Total value for IOSS declaration (optional)
          $ref: '#/components/schemas/common.type.v1.Money'
        tax_number:
          type: string
          examples:
          - GB123456789
          title: tax_number
          maxLength: 255
          description: "Tax identification number (optional)\n Used for VAT/GST compliance\
            \ in various countries"
        tax_value:
          title: tax_value
          description: Tax value/amount (optional)
          $ref: '#/components/schemas/common.type.v1.Money'
      title: VendorBillingOption
      additionalProperties: false
    api.order.v1.VendorCancelReason:
      type: object
      properties:
        reason_id:
          type: string
          title: reason_id
          description: Cancellation reason ID
        display_name:
          type: string
          title: display_name
          description: Human-readable cancellation reason
        custom_reason:
          type: string
          title: custom_reason
          description: Custom cancellation reason (if not using predefined reasons)
      title: VendorCancelReason
      additionalProperties: false
    api.order.v1.VendorCreateOrderDraftRequest:
      type: object
      properties:
        data:
          title: data
          description: 'Order draft creation parameters (required fields: platform,
            store_id, shipping address, line_items)'
          $ref: '#/components/schemas/api.order.v1.VendorOrderDraftManualCreationParams'
      title: VendorCreateOrderDraftRequest
      additionalProperties: false
    api.order.v1.VendorCreateOrderDraftResponse:
      type: object
      properties:
        status:
          type: string
          title: status
          description: 'Response status: "success" or "error"'
        message:
          type: string
          title: message
          description: Human-readable message
        data:
          title: data
          description: "Created order draft details\n Includes: order_id, status,\
            \ pricing, line items"
          $ref: '#/components/schemas/api.order.v1.VendorOrderDraft.Short'
        warnings:
          type: array
          items:
            type: string
          title: warnings
          description: Warnings about at-risk variants or other non-blocking issues
      title: VendorCreateOrderDraftResponse
      additionalProperties: false
    api.order.v1.VendorCreateOrderDraftWithLabelRequest:
      type: object
      properties:
        data:
          title: data
          description: 'Order draft creation with shipping label parameters (required:
            shipping label URL and service type)'
          $ref: '#/components/schemas/api.order.v1.VendorOrderDraftWithLabelCreationParams'
      title: VendorCreateOrderDraftWithLabelRequest
      additionalProperties: false
    api.order.v1.VendorCreateOrderDraftWithLabelResponse:
      type: object
      properties:
        status:
          type: string
          title: status
          description: 'Response status: "success" or "error"'
        message:
          type: string
          title: message
          description: Human-readable message describing the result
        data:
          title: data
          description: Created order draft with shipping label
          $ref: '#/components/schemas/api.order.v1.VendorOrderDraft.Short'
        warnings:
          type: array
          items:
            type: string
          title: warnings
          description: Warnings about at-risk variants or other non-blocking issues
      title: VendorCreateOrderDraftWithLabelResponse
      additionalProperties: false
    api.order.v1.VendorCreatedMethod:
      type:
      - string
      - number
      title: VendorCreatedMethod
      enum:
      - VENDOR_CREATED_METHOD_SYNC
      - 2
      - VENDOR_CREATED_METHOD_MANUAL
      - 3
      - VENDOR_CREATED_METHOD_API
      - 4
      - VENDOR_CREATED_METHOD_IMPORT
      - 5
      - VENDOR_CREATED_METHOD_LABEL
      - 6
    api.order.v1.VendorFulfillmentOption:
      type: object
      properties:
        purchase_tracking_config:
          title: purchase_tracking_config
          description: Tracking purchase timing configuration
          $ref: '#/components/schemas/api.order.v1.VendorPurchaseTrackingConfig'
      title: VendorFulfillmentOption
      additionalProperties: false
    api.order.v1.VendorFulfillmentPriority:
      type:
      - string
      - number
      title: VendorFulfillmentPriority
      enum:
      - VENDOR_FULFILLMENT_PRIORITY_NORMAL
      - 2
      - VENDOR_FULFILLMENT_PRIORITY_RUSH
      - 3
    api.order.v1.VendorFulfillmentVendor:
      type:
      - string
      - number
      title: VendorFulfillmentVendor
      enum:
      - VENDOR_FULFILLMENT_VENDOR_GEARMENT
      - 2
      - VENDOR_FULFILLMENT_VENDOR_AMAZON
      - 3
    api.order.v1.VendorGetOrderDraftResponse:
      type: object
      properties:
        status:
          type: string
          title: status
          description: 'Response status: "success" or "error"'
        message:
          type: string
          title: message
          description: Human-readable message
        data:
          title: data
          description: "Complete order draft details\n Includes: line items, shipping,\
            \ pricing, status"
          $ref: '#/components/schemas/api.order.v1.VendorOrderDraft'
      title: VendorGetOrderDraftResponse
      additionalProperties: false
    api.order.v1.VendorGetOrderResponse:
      type: object
      properties:
        status:
          type: string
          title: status
          description: 'Response status: "success" or "error"'
        message:
          type: string
          title: message
          description: Human-readable message
        data:
          title: data
          description: "Complete order details\n Includes: line items, tracking, shipping,\
            \ payment, pricing"
          $ref: '#/components/schemas/api.order.v1.VendorOrder'
      title: VendorGetOrderResponse
      additionalProperties: false
    api.order.v1.VendorGetPriceQuoteRequest:
      type: object
      properties:
        order_platform:
          type: string
          examples:
          - shopify
          title: order_platform
          enum:
          - ''
          - ebay
          - amazon
          - shopify
          - woocommerce
          - etsy
          - shopbase
          - gearment
          - orderdesk
          - tiktokshop
          - poshmark
          - prestashop
          - inkgo
          - wish
          - bigcommerce
          - customily
          - MARKETPLACE_PLATFORM_EBAY
          - MARKETPLACE_PLATFORM_AMAZON
          - MARKETPLACE_PLATFORM_SHOPIFY
          - MARKETPLACE_PLATFORM_WOOCOMMERCE
          - MARKETPLACE_PLATFORM_ETSY
          - MARKETPLACE_PLATFORM_SHOPBASE
          - MARKETPLACE_PLATFORM_GEARMENT
          - MARKETPLACE_PLATFORM_ORDERDESK
          - MARKETPLACE_PLATFORM_TIKTOKSHOP
          - MARKETPLACE_PLATFORM_POSHMARK
          - MARKETPLACE_PLATFORM_PRESTASHOP
          - MARKETPLACE_PLATFORM_INKGO
          - MARKETPLACE_PLATFORM_WISH
          - MARKETPLACE_PLATFORM_BIGCOMMERCE
          - MARKETPLACE_PLATFORM_CUSTOMILY
          description: Platform where the order originates
        billing:
          title: billing
          description: Billing information (optional, used for tax calculation and
            billing address)
          $ref: '#/components/schemas/api.order.v1.VendorOrderPriceCalculation.Billing'
        shipping:
          title: shipping
          description: 'Shipping address and method (required: country_code, state_code,
            method)'
          $ref: '#/components/schemas/api.order.v1.VendorOrderPriceCalculation.Shipping'
        line_items:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorOrderPriceCalculation.LineItem'
          title: line_items
          description: 'List of line items to quote (each item requires: variant_id,
            quantity, print_locations)'
        gift_messages:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorOrderPriceCalculation.GiftMessage'
          title: gift_messages
          description: Optional gift messages (adds fee if present)
      title: VendorGetPriceQuoteRequest
      additionalProperties: false
    api.order.v1.VendorGetPriceQuoteResponse:
      type: object
      properties:
        status:
          type: string
          title: status
          description: 'Response status: "success" or "error"'
        message:
          type: string
          title: message
          description: Human-readable message
        data:
          title: data
          description: 'Price quote breakdown (includes: order_total, order_subtotal,
            order_shipping_fee, order_tax, currency; all amounts are in USD unless
            specified otherwise)'
          $ref: '#/components/schemas/api.order.v1.VendorOrderPriceCalculation.OrderPriceQuote'
      title: VendorGetPriceQuoteResponse
      additionalProperties: false
    api.order.v1.VendorGiftMessage:
      type: object
      properties:
        order_id:
          type: string
          title: order_id
          description: Order ID this gift message belongs to
        gift_message_id:
          type: string
          title: gift_message_id
          description: Gift message ID (unique identifier)
        type:
          title: type
          description: Gift message type (custom or uploaded image)
          $ref: '#/components/schemas/api.order.v1.VendorGiftMessage.Type'
        content:
          type: string
          title: content
          description: Gift message text content (max 1000 characters)
        avatar_url:
          type: string
          title: avatar_url
          description: Avatar/image URL for the gift message card
        gift_message_name:
          type: string
          title: gift_message_name
          description: Gift message template/design name
      title: VendorGiftMessage
      additionalProperties: false
    api.order.v1.VendorGiftMessage.Type:
      type:
      - string
      - number
      title: Type
      enum:
      - TYPE_CUSTOM_IMAGE
      - 1
      - TYPE_UPLOAD_IMAGE
      - 2
    api.order.v1.VendorLineItem:
      type: object
      properties:
        order_id:
          type: string
          title: order_id
          description: Order ID this line item belongs to
        quantity:
          type: integer
          title: quantity
          minimum: 1
          format: int32
          description: Quantity ordered (minimum 1)
        printing_options:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorPrintingOption'
          title: printing_options
          description: Printing options for this line item (design URLs and locations)
        origin_options:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorLineItem.OriginOption'
          title: origin_options
          description: Original product options from marketplace (e.g., color, size
            selections)
        fulfillment_option:
          title: fulfillment_option
          description: Fulfillment options (barcode, etc.)
          $ref: '#/components/schemas/api.order.v1.VendorLineItem.FulfillmentOption'
        variant:
          title: variant
          description: Product variant details
          $ref: '#/components/schemas/api.order.v1.VendorLineItem.Variant'
        product:
          title: product
          description: Product details
          $ref: '#/components/schemas/api.order.v1.VendorLineItem.Product'
        id:
          type:
          - integer
          - string
          title: id
          format: int64
          description: Internal line item ID
        item_price:
          title: item_price
          description: Unit price per item
          $ref: '#/components/schemas/common.type.v1.Money'
        line_tax:
          title: line_tax
          description: Tax amount for this line
          $ref: '#/components/schemas/common.type.v1.Money'
        line_fee:
          title: line_fee
          description: Additional fees for this line
          $ref: '#/components/schemas/common.type.v1.Money'
        line_discount:
          title: line_discount
          description: Discount applied to this line
          $ref: '#/components/schemas/common.type.v1.Money'
        line_subtotal:
          title: line_subtotal
          description: Subtotal before tax and fees (item_price × quantity)
          $ref: '#/components/schemas/common.type.v1.Money'
        line_total:
          title: line_total
          description: Total amount for this line (subtotal + tax + fees - discount)
          $ref: '#/components/schemas/common.type.v1.Money'
        line_item_id:
          type: string
          title: line_item_id
          description: Line item ID (string format)
      title: VendorLineItem
      additionalProperties: false
    api.order.v1.VendorLineItem.FulfillmentOption:
      type: object
      properties:
        barcode_url:
          type: string
          title: barcode_url
          description: Barcode URL for inventory tracking (optional)
      title: FulfillmentOption
      additionalProperties: false
    api.order.v1.VendorLineItem.OriginOption:
      type: object
      properties:
        name:
          type: string
          title: name
          description: Option display name (e.g., "Color", "Size")
        key:
          type: string
          title: key
          description: Option key/identifier
        value:
          type: string
          title: value
          description: Option value (e.g., "Black", "Medium")
      title: OriginOption
      additionalProperties: false
    api.order.v1.VendorLineItem.Product:
      type: object
      properties:
        product_id:
          type: string
          title: product_id
          description: Product ID
        name:
          type: string
          title: name
          description: Product name (e.g., "Unisex T-Shirt")
        description:
          type: string
          title: description
          description: Product description
        images:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorLineItem.ProductImage'
          title: images
          description: Product images
        print_locations:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorLineItem.ProductPrintLocation'
          title: print_locations
          description: Available print locations for this product
        sku:
          type: string
          title: sku
          description: Product SKU
      title: Product
      additionalProperties: false
    api.order.v1.VendorLineItem.ProductImage:
      type: object
      properties:
        url:
          type: string
          title: url
          description: Image URL
        tag:
          type: string
          title: tag
          description: Image tag/category (e.g., "front", "back", "detail")
      title: ProductImage
      additionalProperties: false
    api.order.v1.VendorLineItem.ProductPrintLocation:
      type: object
      properties:
        code:
          type: string
          title: code
          description: Print location code (e.g., "front", "back")
        name:
          type: string
          title: name
          description: Print location display name
        location_id:
          type: integer
          title: location_id
          format: int32
          description: Internal location ID
      title: ProductPrintLocation
      additionalProperties: false
    api.order.v1.VendorLineItem.Short:
      type: object
      properties:
        order_id:
          type: string
          title: order_id
          description: Order ID this line item belongs to
        quantity:
          type: integer
          title: quantity
          minimum: 1
          format: int32
          description: Quantity ordered (minimum 1)
        printing_options:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorPrintingOption'
          title: printing_options
          description: Printing options for this line item (design URLs and locations)
        origin_options:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorLineItem.OriginOption'
          title: origin_options
          description: Original product options from marketplace (e.g., color, size
            selections)
        fulfillment_option:
          title: fulfillment_option
          description: Fulfillment options (barcode, etc.)
          $ref: '#/components/schemas/api.order.v1.VendorLineItem.FulfillmentOption'
        variant:
          title: variant
          description: Product variant details
          $ref: '#/components/schemas/api.order.v1.VendorLineItem.Variant'
        product:
          title: product
          description: Product details
          $ref: '#/components/schemas/api.order.v1.VendorLineItem.Product'
        id:
          type:
          - integer
          - string
          title: id
          format: int64
          description: Internal line item ID
        line_total:
          title: line_total
          description: Total amount for this line (subtotal + tax + fees - discount)
          $ref: '#/components/schemas/common.type.v1.Money'
        line_item_id:
          type: string
          title: line_item_id
          description: Line item ID (string format)
      title: Short
      additionalProperties: false
      description: "Short is a lightweight version of VendorLineItem containing essential\
        \ fields\n for compact representation in order listings, including only the\
        \ total price"
    api.order.v1.VendorLineItem.Variant:
      type: object
      properties:
        variant_id:
          type: string
          title: variant_id
          description: Variant ID (string format)
        legacy_id:
          type: integer
          title: legacy_id
          format: int32
          description: Legacy variant ID (integer format, for backward compatibility)
        sku:
          type: string
          title: sku
          description: SKU (Stock Keeping Unit)
        name:
          type: string
          title: name
          description: Variant name (e.g., "Black / Medium")
        description:
          type: string
          title: description
          description: Variant description
        option_1:
          type: string
          title: option_1
          description: First option value (e.g., "Black" for color)
        option_2:
          type: string
          title: option_2
          description: Second option value (e.g., "Medium" for size)
        option_3:
          type: string
          title: option_3
          description: Third option value (optional)
        option_1_name:
          type: string
          title: option_1_name
          description: First option name (e.g., "Color")
        option_2_name:
          type: string
          title: option_2_name
          description: Second option name (e.g., "Size")
        price:
          title: price
          description: Variant price
          $ref: '#/components/schemas/common.type.v1.Money'
        price_gm:
          title: price_gm
          description: Gearment price (internal)
          $ref: '#/components/schemas/common.type.v1.Money'
        images:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorLineItem.ProductImage'
          title: images
          description: Variant images
        stock_label:
          title: stock_label
          description: Stock availability status
          $ref: '#/components/schemas/api.order.v1.VendorStockLabel'
      title: Variant
      additionalProperties: false
    api.order.v1.VendorListOrderDraftResponse:
      type: object
      properties:
        status:
          type: string
          title: status
          description: 'Response status: "success" or "error"'
        message:
          type: string
          title: message
          description: Human-readable message describing the result
        paging:
          title: paging
          description: "Pagination metadata\n Contains: total count, current page,\
            \ total pages"
          $ref: '#/components/schemas/common.type.v1.PagingResponse'
        data:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorOrderDraft.Short'
          title: data
          description: List of order drafts matching the filter criteria
      title: VendorListOrderDraftResponse
      additionalProperties: false
    api.order.v1.VendorListOrderResponse:
      type: object
      properties:
        status:
          type: string
          title: status
          description: 'Response status: "success" or "error"'
        message:
          type: string
          title: message
          description: Human-readable message describing the result
        paging:
          title: paging
          description: Pagination metadata including total count and pages
          $ref: '#/components/schemas/common.type.v1.PagingResponse'
        data:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorOrder.Short'
          title: data
          description: "List of orders matching the filter criteria\n Each order includes:\
            \ ID, status, line items, tracking info, pricing"
      title: VendorListOrderResponse
      additionalProperties: false
    api.order.v1.OriginSalesChannel:
      type: string
      title: OriginSalesChannel
      description: Optional partner-claimed marketplace where an order was originally
        placed. An empty string is accepted and treated as omitted/unspecified. This
        is separate from platform and order_platform, which identify the integration
        ingress and tracking-sync contract.
      enum:
      - ''
      - direct
      - etsy
      - ebay
      - amazon
      - shopify
      - woocommerce
      - shopbase
      - orderdesk
      - tiktokshop
      - other_marketplace
    api.order.v1.VendorOrder:
      type: object
      properties:
        order_id:
          type: string
          title: order_id
          description: Unique order ID
        store_id:
          type: string
          title: store_id
          description: Store ID this order belongs to
        team_id:
          type: string
          title: team_id
          description: Team ID (your account ID)
        created_method:
          title: created_method
          description: How this order was created (manual, API, store sync, etc.)
          $ref: '#/components/schemas/api.order.v1.VendorCreatedMethod'
        order_platform:
          title: order_platform
          description: Marketplace platform (Shopify, Etsy, WooCommerce, etc.)
          $ref: '#/components/schemas/common.platform.v1.MarketplacePlatform'
        platform_ref:
          type: string
          title: platform_ref
          description: Platform reference ID (deprecated, will be removed) will be
            deleted soon
        fulfillment_vendor:
          title: fulfillment_vendor
          description: Fulfillment vendor (Gearment, etc.)
          $ref: '#/components/schemas/api.order.v1.VendorFulfillmentVendor'
        vendor_ref:
          type: string
          title: vendor_ref
          description: Vendor's reference ID for this order
        priority:
          title: priority
          description: Fulfillment priority (standard, rush, etc.)
          $ref: '#/components/schemas/api.order.v1.VendorFulfillmentPriority'
        fulfillment_option:
          title: fulfillment_option
          description: Fulfillment configuration options
          $ref: '#/components/schemas/api.order.v1.VendorFulfillmentOption'
        shipping_option:
          title: shipping_option
          description: Shipping method and carrier details
          $ref: '#/components/schemas/api.order.v1.VendorShippingOption'
        billing_option:
          title: billing_option
          description: Billing and tax options (IOSS, etc.)
          $ref: '#/components/schemas/api.order.v1.VendorBillingOption'
        shipping_labels:
          type: array
          items:
            type: string
          title: shipping_labels
          description: Shipping label URLs (if pre-purchased)
        order_date:
          title: order_date
          description: When the order was originally placed
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        approved_at:
          title: approved_at
          description: When the order was approved for fulfillment
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        paid_at:
          title: paid_at
          description: When the payment was confirmed
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        order_status:
          title: order_status
          description: Current order status
          $ref: '#/components/schemas/api.order.v1.VendorOrderStatus'
        primary_package_id:
          type: string
          title: primary_package_id
          description: Primary package ID for this order
        primary_shipment_id:
          type: string
          title: primary_shipment_id
          description: Primary shipment ID for this order
        is_label_attached:
          type: boolean
          title: is_label_attached
          description: Whether shipping label is attached
        order_subtotal:
          title: order_subtotal
          description: Subtotal (sum of all line items before fees/tax/discount)
          $ref: '#/components/schemas/common.type.v1.Money'
        order_tax:
          title: order_tax
          description: Total tax amount
          $ref: '#/components/schemas/common.type.v1.Money'
        order_fee:
          title: order_fee
          description: Additional processing fees
          $ref: '#/components/schemas/common.type.v1.Money'
        order_discount:
          title: order_discount
          description: Total discount applied
          $ref: '#/components/schemas/common.type.v1.Money'
        order_total:
          title: order_total
          description: Final total amount (subtotal + fees + tax - discount)
          $ref: '#/components/schemas/common.type.v1.Money'
        order_redeem:
          title: order_redeem
          description: Amount redeemed from credits/wallet
          $ref: '#/components/schemas/common.type.v1.Money'
        paid_total:
          title: paid_total
          description: Amount already paid
          $ref: '#/components/schemas/common.type.v1.Money'
        paid_needed:
          title: paid_needed
          description: Amount still needed to complete payment
          $ref: '#/components/schemas/common.type.v1.Money'
        tracking_no:
          type: string
          title: tracking_no
          description: Primary tracking number
        created_at:
          title: created_at
          description: When this order record was created
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        updated_at:
          title: updated_at
          description: When this order was last updated
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        line_items:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorOrderLineItem'
          title: line_items
          description: All line items in this order
        store_name:
          type: string
          title: store_name
          description: Store name for display
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorAddress'
          title: addresses
          description: Shipping and billing addresses
        stages:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorProcessingStage'
          title: stages
          description: Processing stages (printing, packing, shipping, etc.)
        order_gift_message_fee:
          title: order_gift_message_fee
          description: Gift message fee (if applicable)
          $ref: '#/components/schemas/common.type.v1.Money'
        order_shipping_fee:
          title: order_shipping_fee
          description: Shipping cost
          $ref: '#/components/schemas/common.type.v1.Money'
        order_handle_fee:
          title: order_handle_fee
          description: Order handling fee
          $ref: '#/components/schemas/common.type.v1.Money'
        order_surcharge:
          title: order_surcharge
          description: Additional surcharges
          $ref: '#/components/schemas/common.type.v1.Money'
        order_rush_fee:
          title: order_rush_fee
          description: Rush processing fee (if applicable)
          $ref: '#/components/schemas/common.type.v1.Money'
        order_thank_card_fee:
          title: order_thank_card_fee
          description: Thank you card fee (if applicable)
          $ref: '#/components/schemas/common.type.v1.Money'
        order_trackings:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorOrderTracking'
          title: order_trackings
          description: All tracking information for this order
        gift_messages:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorGiftMessage'
          title: gift_messages
          description: Gift messages for this order
        refund_status:
          title: refund_status
          description: Refund status
          $ref: '#/components/schemas/api.order.v1.VendorOrderRefundStatus'
        cancel_status:
          title: cancel_status
          description: Cancellation status
          $ref: '#/components/schemas/api.order.v1.VendorOrderCancelStatus'
        order_priority:
          type: string
          title: order_priority
          description: Order priority label (for display)
        transaction_info:
          title: transaction_info
          description: Payment transaction details
          $ref: '#/components/schemas/api.order.v1.VendorTransactionInfo'
        cancel_reason:
          title: cancel_reason
          description: Cancellation reason (if canceled)
          $ref: '#/components/schemas/api.order.v1.VendorCancelReason'
        refunded_total:
          title: refunded_total
          description: Total amount refunded
          $ref: '#/components/schemas/common.type.v1.Money'
        legacy_external_id:
          type: string
          title: legacy_external_id
          description: Legacy external ID (for OMS backward compatibility) for oms
            order's external id
        reference_id:
          type: string
          title: reference_id
          description: Your custom reference ID
        refunds:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorOrderRefund'
          title: refunds
          description: All refunds for this order (detailed breakdown)
        origin_sales_channel:
          title: origin_sales_channel
          description: Partner-claimed marketplace where the order was originally
            placed. This is separate from order_platform, which identifies the integration
            ingress and tracking-sync contract.
          examples:
          - etsy
          $ref: '#/components/schemas/api.order.v1.OriginSalesChannel'
      title: VendorOrder
      additionalProperties: false
    api.order.v1.VendorOrder.Short:
      type: object
      properties:
        order_id:
          type: string
          title: order_id
          description: Unique order ID
        store_id:
          type: string
          title: store_id
          description: Store ID this order belongs to
        store_name:
          type: string
          title: store_name
          description: Store name for display
        team_id:
          type: string
          title: team_id
          description: Team ID (your account ID)
        created_method:
          title: created_method
          description: How this order was created (manual, API, store sync, etc.)
          $ref: '#/components/schemas/api.order.v1.VendorCreatedMethod'
        order_platform:
          title: order_platform
          description: Marketplace platform (Shopify, Etsy, WooCommerce, etc.)
          $ref: '#/components/schemas/common.platform.v1.MarketplacePlatform'
        origin_sales_channel:
          title: origin_sales_channel
          description: Partner-claimed marketplace where the order was originally
            placed. This is separate from order_platform, which identifies the integration
            ingress and tracking-sync contract.
          examples:
          - etsy
          $ref: '#/components/schemas/api.order.v1.OriginSalesChannel'
        platform_ref:
          type: string
          title: platform_ref
          description: Platform reference ID (deprecated, will be removed) will be
            deleted soon
        shipping_labels:
          type: array
          items:
            type: string
          title: shipping_labels
          description: Shipping label URLs (if pre-purchased)
        order_date:
          title: order_date
          description: When the order was originally placed
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        approved_at:
          title: approved_at
          description: When the order was approved for fulfillment
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        paid_at:
          title: paid_at
          description: When the payment was confirmed
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        order_status:
          title: order_status
          description: Current order status
          $ref: '#/components/schemas/api.order.v1.VendorOrderStatus'
        order_subtotal:
          title: order_subtotal
          description: Subtotal (sum of all line items before fees/tax/discount)
          $ref: '#/components/schemas/common.type.v1.Money'
        order_shipping_fee:
          title: order_shipping_fee
          description: Shipping cost
          $ref: '#/components/schemas/common.type.v1.Money'
        order_gift_message_fee:
          title: order_gift_message_fee
          description: Gift message fee (if applicable)
          $ref: '#/components/schemas/common.type.v1.Money'
        order_tax:
          title: order_tax
          description: Total tax amount
          $ref: '#/components/schemas/common.type.v1.Money'
        order_total:
          title: order_total
          description: Final total amount (subtotal + fees + tax - discount)
          $ref: '#/components/schemas/common.type.v1.Money'
        fulfillment_option:
          title: fulfillment_option
          description: Fulfillment configuration options
          $ref: '#/components/schemas/api.order.v1.VendorFulfillmentOption'
        shipping_option:
          title: shipping_option
          description: Shipping method and carrier details
          $ref: '#/components/schemas/api.order.v1.VendorShippingOption'
        billing_option:
          title: billing_option
          description: Billing and tax options (IOSS, etc.)
          $ref: '#/components/schemas/api.order.v1.VendorBillingOption'
        line_items:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorOrderLineItem.Short'
          title: line_items
          description: All line items in this order
        tracking_number:
          type: string
          title: tracking_number
          description: Primary tracking number
        tracking_link:
          type: string
          title: tracking_link
          description: Tracking link URL
        tracking_company:
          type: string
          title: tracking_company
          description: Carrier name
        tracking_product_type:
          type: string
          title: tracking_product_type
          description: Product type for tracking
        tracking_date_created:
          title: tracking_date_created
          description: When tracking was created
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        tracking_type:
          type: string
          title: tracking_type
          description: Tracking type
        payment_status:
          title: payment_status
          description: Payment status
          $ref: '#/components/schemas/api.order.v1.VendorOrderPaymentStatus'
        shipped_at:
          title: shipped_at
          description: When the order was shipped
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        legacy_external_id:
          type: string
          title: legacy_external_id
          description: Legacy external ID (for OMS backward compatibility) for oms
            order's external id
        reference_id:
          type: string
          title: reference_id
          description: Your custom reference ID
        gift_messages:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorGiftMessage'
          title: gift_messages
          description: Gift messages for this order
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorAddress'
          title: addresses
          description: Shipping and billing addresses
        order_handle_fee:
          title: order_handle_fee
          description: Order handling fee
          $ref: '#/components/schemas/common.type.v1.Money'
        order_rush_fee:
          title: order_rush_fee
          description: Rush processing fee (if applicable)
          $ref: '#/components/schemas/common.type.v1.Money'
        order_surcharge:
          title: order_surcharge
          description: Additional surcharges
          $ref: '#/components/schemas/common.type.v1.Money'
      title: Short
      additionalProperties: false
      description: "Short is a lightweight version of VendorOrder containing essential\
        \ fields\n for listing and display purposes, with flattened tracking data\
        \ and minimal nested objects"
    api.order.v1.VendorOrderCancelStatus:
      type:
      - string
      - number
      title: VendorOrderCancelStatus
      enum:
      - VENDOR_ORDER_CANCEL_STATUS_NOT_REQUESTED
      - 2
      - VENDOR_ORDER_CANCEL_STATUS_REQUESTED
      - 3
      - VENDOR_ORDER_CANCEL_STATUS_PROCESSING
      - 4
      - VENDOR_ORDER_CANCEL_STATUS_CANCELED
      - 5
      - VENDOR_ORDER_CANCEL_STATUS_PARTIALLY_CANCELED
      - 6
      - VENDOR_ORDER_CANCEL_STATUS_RETURN_REQUESTED
      - 7
      - VENDOR_ORDER_CANCEL_STATUS_RETURNED
      - 8
      - VENDOR_ORDER_CANCEL_STATUS_RETURN_REJECTED
      - 9
      - VENDOR_ORDER_CANCEL_STATUS_REJECTED
      - 10
      - VENDOR_ORDER_CANCEL_STATUS_FAILED
      - 11
    api.order.v1.VendorOrderDraft:
      type: object
      properties:
        order_id:
          type: string
          title: order_id
          description: Unique draft order ID
        team_id:
          type: string
          title: team_id
          description: Team ID (your account ID)
        store_id:
          type: string
          title: store_id
          description: Store ID this draft belongs to
        store_name:
          type: string
          title: store_name
          description: Store name for display
        platform_ref:
          type: string
          title: platform_ref
          description: Platform reference ID (deprecated, will be removed) will be
            deleted soon
        order_platform:
          title: order_platform
          description: Marketplace platform (Shopify, Etsy, WooCommerce, etc.)
          $ref: '#/components/schemas/common.platform.v1.MarketplacePlatform'
        origin_sales_channel:
          title: origin_sales_channel
          description: Partner-claimed marketplace where the order was originally
            placed. This is separate from order_platform, which identifies the integration
            ingress and tracking-sync contract.
          examples:
          - etsy
          $ref: '#/components/schemas/api.order.v1.OriginSalesChannel'
        import_id:
          type: string
          title: import_id
          description: Import batch ID (if created via import)
        pull_id:
          type: string
          title: pull_id
          description: Store sync pull ID (if created via store sync)
        request_id:
          type: string
          title: request_id
          description: Request ID for tracking purposes
        created_method:
          title: created_method
          description: How this draft was created (manual, API, store sync, import,
            etc.)
          $ref: '#/components/schemas/api.order.v1.VendorCreatedMethod'
        fulfillment_vendor:
          title: fulfillment_vendor
          description: Fulfillment vendor (Gearment, etc.)
          $ref: '#/components/schemas/api.order.v1.VendorFulfillmentVendor'
        priority:
          title: priority
          description: Fulfillment priority (standard, rush, etc.)
          $ref: '#/components/schemas/api.order.v1.VendorFulfillmentPriority'
        fulfillment_option:
          title: fulfillment_option
          description: Fulfillment configuration options
          $ref: '#/components/schemas/api.order.v1.VendorFulfillmentOption'
        shipping_option:
          title: shipping_option
          description: Shipping method and carrier details
          $ref: '#/components/schemas/api.order.v1.VendorShippingOption'
        billing_option:
          title: billing_option
          description: Billing and tax options (IOSS, etc.)
          $ref: '#/components/schemas/api.order.v1.VendorBillingOption'
        order_date:
          title: order_date
          description: Original order date from marketplace
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        status:
          title: status
          description: Current draft status
          $ref: '#/components/schemas/api.order.v1.VendorOrderDraftStatus'
        shipping_labels:
          type: array
          items:
            type: string
          title: shipping_labels
          description: Shipping label URLs (if pre-purchased)
        is_label_attached:
          type: boolean
          title: is_label_attached
          description: Whether shipping label is attached
        shipping_verification_status:
          title: shipping_verification_status
          description: Shipping address verification status
          $ref: '#/components/schemas/api.order.v1.VendorShippingVerificationStatus'
        product_matching_status:
          title: product_matching_status
          description: Product matching status (matched/unmatched to catalog)
          $ref: '#/components/schemas/api.order.v1.VendorProductMatchingStatus'
        is_shipping_verification_bypassed:
          type: boolean
          title: is_shipping_verification_bypassed
          description: Whether shipping verification was manually bypassed
        is_approved:
          type: boolean
          title: is_approved
          description: Whether this draft has been approved for checkout
        approved_at:
          title: approved_at
          description: When this draft was approved
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        origin_draft_id:
          type: string
          title: origin_draft_id
          description: Original draft ID (if this is a revised version)
        origin_order_id:
          type: string
          title: origin_order_id
          description: Order ID this draft was converted to (if checked out)
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorAddress'
          title: addresses
          description: Shipping and billing addresses
        line_items:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorLineItem'
          title: line_items
          description: All line items in this draft
        gift_messages:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorGiftMessage'
          title: gift_messages
          description: Gift messages for this order
        legacy_external_id:
          type: string
          title: legacy_external_id
          description: Legacy external ID (for OMS backward compatibility) for oms
            order's external id
        order_subtotal:
          title: order_subtotal
          description: Subtotal (sum of all line items before fees/tax/discount)
          $ref: '#/components/schemas/common.type.v1.Money'
        order_shipping_fee:
          title: order_shipping_fee
          description: Shipping cost
          $ref: '#/components/schemas/common.type.v1.Money'
        order_handle_fee:
          title: order_handle_fee
          description: Order handling fee
          $ref: '#/components/schemas/common.type.v1.Money'
        order_tax:
          title: order_tax
          description: Total tax amount
          $ref: '#/components/schemas/common.type.v1.Money'
        order_fee:
          title: order_fee
          description: Additional processing fees
          $ref: '#/components/schemas/common.type.v1.Money'
        order_discount:
          title: order_discount
          description: Total discount applied
          $ref: '#/components/schemas/common.type.v1.Money'
        order_total:
          title: order_total
          description: Final total amount (subtotal + fees + tax - discount)
          $ref: '#/components/schemas/common.type.v1.Money'
        reference_id:
          type: string
          title: reference_id
          description: Your custom reference ID
        auto_approve:
          type: boolean
          title: auto_approve
          description: Whether the system will attempt auto-approval after verification.
      title: VendorOrderDraft
      additionalProperties: false
    api.order.v1.VendorOrderDraft.Short:
      type: object
      properties:
        order_id:
          type: string
          title: order_id
          description: Unique draft order ID
        team_id:
          type: string
          title: team_id
          description: Team ID (your account ID)
        store_id:
          type: string
          title: store_id
          description: Store ID this draft belongs to
        store_name:
          type: string
          title: store_name
          description: Store name for display
        reference_id:
          type: string
          title: reference_id
          description: Your custom reference ID
        order_platform:
          title: order_platform
          description: Marketplace platform (Shopify, Etsy, WooCommerce, etc.)
          $ref: '#/components/schemas/common.platform.v1.MarketplacePlatform'
        origin_sales_channel:
          title: origin_sales_channel
          description: Partner-claimed marketplace where the order was originally
            placed. This is separate from order_platform, which identifies the integration
            ingress and tracking-sync contract.
          examples:
          - etsy
          $ref: '#/components/schemas/api.order.v1.OriginSalesChannel'
        import_id:
          type: string
          title: import_id
          description: Import batch ID (if created via import)
        pull_id:
          type: string
          title: pull_id
          description: Store sync pull ID (if created via store sync)
        request_id:
          type: string
          title: request_id
          description: Request ID for tracking purposes
        created_method:
          title: created_method
          description: How this draft was created (manual, API, store sync, import,
            etc.)
          $ref: '#/components/schemas/api.order.v1.VendorCreatedMethod'
        fulfillment_vendor:
          title: fulfillment_vendor
          description: Fulfillment vendor (Gearment, etc.)
          $ref: '#/components/schemas/api.order.v1.VendorFulfillmentVendor'
        priority:
          title: priority
          description: Fulfillment priority (standard, rush, etc.)
          $ref: '#/components/schemas/api.order.v1.VendorFulfillmentPriority'
        fulfillment_option:
          title: fulfillment_option
          description: Fulfillment configuration options
          $ref: '#/components/schemas/api.order.v1.VendorFulfillmentOption'
        shipping_option:
          title: shipping_option
          description: Shipping method and carrier details
          $ref: '#/components/schemas/api.order.v1.VendorShippingOption'
        billing_option:
          title: billing_option
          description: Billing and tax options (IOSS, etc.)
          $ref: '#/components/schemas/api.order.v1.VendorBillingOption'
        order_date:
          title: order_date
          description: Original order date from marketplace
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        status:
          title: status
          description: Current draft status
          $ref: '#/components/schemas/api.order.v1.VendorOrderDraftStatus'
        shipping_labels:
          type: array
          items:
            type: string
          title: shipping_labels
          description: Shipping label URLs (if pre-purchased)
        is_label_attached:
          type: boolean
          title: is_label_attached
          description: Whether shipping label is attached
        shipping_verification_status:
          title: shipping_verification_status
          description: Shipping address verification status
          $ref: '#/components/schemas/api.order.v1.VendorShippingVerificationStatus'
        product_matching_status:
          title: product_matching_status
          description: Product matching status (matched/unmatched to catalog)
          $ref: '#/components/schemas/api.order.v1.VendorProductMatchingStatus'
        is_shipping_verification_bypassed:
          type: boolean
          title: is_shipping_verification_bypassed
          description: Whether shipping verification was manually bypassed
        is_approved:
          type: boolean
          title: is_approved
          description: Whether this draft has been approved for checkout
        approved_at:
          title: approved_at
          description: When this draft was approved
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        origin_draft_id:
          type: string
          title: origin_draft_id
          description: Original draft ID (if this is a revised version)
        origin_order_id:
          type: string
          title: origin_order_id
          description: Order ID this draft was converted to (if checked out)
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorAddress'
          title: addresses
          description: Shipping and billing addresses
        line_items:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorLineItem.Short'
          title: line_items
          description: All line items in this draft
        gift_messages:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorGiftMessage'
          title: gift_messages
          description: Gift messages for this order
        legacy_external_id:
          type: string
          title: legacy_external_id
          description: Legacy external ID (for OMS backward compatibility) for oms
            order's external id
        order_total:
          title: order_total
          description: Final total amount (subtotal + fees + tax - discount)
          $ref: '#/components/schemas/common.type.v1.Money'
        order_subtotal:
          title: order_subtotal
          description: Subtotal (sum of all line items before fees/tax/discount)
          $ref: '#/components/schemas/common.type.v1.Money'
        order_shipping_fee:
          title: order_shipping_fee
          description: Shipping cost
          $ref: '#/components/schemas/common.type.v1.Money'
        order_handle_fee:
          title: order_handle_fee
          description: Order handling fee
          $ref: '#/components/schemas/common.type.v1.Money'
        order_tax:
          title: order_tax
          description: Total tax amount
          $ref: '#/components/schemas/common.type.v1.Money'
        order_fee:
          title: order_fee
          description: Additional processing fees
          $ref: '#/components/schemas/common.type.v1.Money'
        order_discount:
          title: order_discount
          description: Total discount applied
          $ref: '#/components/schemas/common.type.v1.Money'
        auto_approve:
          type: boolean
          title: auto_approve
          description: Whether the system will attempt auto-approval after verification.
      title: Short
      additionalProperties: false
      description: "Short is a lightweight version of VendorOrderDraft containing\
        \ essential fields\n for listing and display purposes, excluding nested collections\
        \ and detailed pricing breakdowns"
    api.order.v1.VendorOrderDraftCreationParams.CustomGiftMessage:
      type: object
      properties:
        url:
          type: string
          examples:
          - https://example.com/giftmessage/giftmessage-12345.png
          title: url
          maxLength: 1000
          minLength: 1
        content:
          type: string
          examples:
          - Happy Birthday! Hope you enjoy this gift. - Sarah
          title: content
          maxLength: 1000
        text_color:
          type: string
          examples:
          - FFFFFF
          title: text_color
          pattern: ^([0-9A-F]{6})?$
        background_color:
          type: string
          examples:
          - '000000'
          title: background_color
          pattern: ^([0-9A-F]{6})?$
      title: CustomGiftMessage
      additionalProperties: false
      description: 'custom_gift_message_colors_match_content // text_color and background_color
        must be empty when content is empty, otherwise they must be 6-digit uppercase
        hex values

        '
    api.order.v1.VendorOrderDraftCreationParams.LineItem:
      type: object
      properties:
        variant_id:
          type: string
          examples:
          - variant_abc123
          title: variant_id
          description: Product variant ID from catalog (use variant_id OR legacy_id,
            not both)
        legacy_id:
          type:
          - integer
          - string
          title: legacy_id
          format: int64
          description: Legacy variant ID (for backward compatibility)
        quantity:
          exclusiveMinimum: 0
          type: integer
          examples:
          - 2
          title: quantity
          maximum: 1000
          format: int32
          description: Quantity to order (1-1000)
        printing_options:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorOrderDraftCreationParams.PrintingOption'
          title: printing_options
          minItems: 1
          description: Printing options (at least 1 required, must include front or
            back)
        barcode_url:
          type: string
          examples:
          - https://example.com/barcodes/item-12345.png
          title: barcode_url
          maxLength: 1000
          description: Barcode URL for inventory tracking (optional)
      title: LineItem
      additionalProperties: false
      description: 'has_front_back_or_whole_printing_option // A line item must include
        at least one printing option with location_code front, pocket, back or whole

        oneof_variant_id_legacy_id // Exactly one of ''variant_id'' or ''legacy_id''
        must be set

        '
    api.order.v1.VendorOrderDraftCreationParams.PrintingOption:
      type: object
      properties:
        location_code:
          title: location_code
          description: Print location on product
          $ref: '#/components/schemas/api.order.v1.VendorPrintingOption.PrintLocationCode'
        url:
          type: string
          examples:
          - https://example.com/designs/design-12345.png
          title: url
          maxLength: 1000
          description: Design file URL (PNG, JPEG, or PDF)
      title: PrintingOption
      additionalProperties: false
    api.order.v1.VendorOrderDraftManualCreationParams:
      type: object
      properties:
        reference_id:
          type: string
          examples:
          - my-order-12345
          title: reference_id
          maxLength: 255
          description: Your reference ID for this order (optional)
        platform:
          title: platform
          description: Platform where this order originates
          $ref: '#/components/schemas/common.platform.v1.MarketplacePlatform'
        origin_sales_channel:
          title: origin_sales_channel
          description: Optional marketplace where the order was originally placed.
            Keep platform as the integration ingress; for example, an aggregator sends
            platform as gearment and may declare etsy here.
          examples:
          - etsy
          $ref: '#/components/schemas/api.order.v1.OriginSalesChannel'
        store_id:
          type: string
          examples:
          - store_abc123xyz
          title: store_id
          maxLength: 255
          description: Your store ID from Gearment
        agree_at_risk:
          title: agree_at_risk
          description: Acknowledge production risks (e.g., unverified address, to
            proceed with order despite warnings)
          $ref: '#/components/schemas/google.protobuf.BoolValue'
        address:
          title: address
          description: Shipping address details
          $ref: '#/components/schemas/api.order.v1.VendorAddress'
        shipping_method:
          title: shipping_method
          description: 'Create Order Draft accepts enum names or numbers: METHOD_STANDARD
            (2): Standard; METHOD_GROUND (3): retired and rejected; METHOD_FAST_SHIP
            (4): Fast Ship; METHOD_STAMP (5): Stamp; METHOD_ECONOMY (6): Economy.
            Details: https://developers.gearment.com/shipping-methods/'
          $ref: '#/components/schemas/api.order.v1.VendorShippingOption.Method'
        billing_option:
          title: billing_option
          description: Billing options (taxes, IOSS, etc.)
          $ref: '#/components/schemas/api.order.v1.VendorBillingOption'
        gift_message_body:
          type: string
          examples:
          - Happy Birthday! Hope you enjoy this gift. - Sarah
          title: gift_message_body
          maxLength: 1000
          description: Optional gift message (max 1000 chars)
        line_items:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorOrderDraftCreationParams.LineItem'
          title: line_items
          maxItems: 1000
          minItems: 1
          description: Line items to order (at least 1, max 1000)
        order_number:
          type: string
          examples:
          - ORD-12345
          title: order_number
          maxLength: 255
          description: "Order number from OrderDesk (optional, max 255 chars)\n Used\
            \ as PlatformRef when reference_id is empty for OrderDesk orders"
        print_type:
          type: string
          title: print_type
          enum:
          - ''
          - DTG
          - DTF
          description: 'Print type for production (optional: "DTG" or "DTF"). Only
            available for enabled teams.'
        custom_gift_messages:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorOrderDraftCreationParams.CustomGiftMessage'
          title: custom_gift_messages
          maxItems: 1000
        auto_approve:
          title: auto_approve
          description: Whether the system will attempt auto-approval after verification.
            Omitted = true.
          $ref: '#/components/schemas/google.protobuf.BoolValue'
      title: VendorOrderDraftManualCreationParams
      additionalProperties: false
    api.order.v1.VendorOrderDraftStatus:
      type:
      - string
      - number
      title: VendorOrderDraftStatus
      enum:
      - VENDOR_ORDER_DRAFT_STATUS_DRAFT
      - 2
      - VENDOR_ORDER_DRAFT_STATUS_AWAITING_CHECKOUT
      - 3
      - VENDOR_ORDER_DRAFT_STATUS_CHECKED_OUT
      - 4
      - VENDOR_ORDER_DRAFT_STATUS_DELETED
      - 5
      - VENDOR_ORDER_DRAFT_STATUS_ARCHIVED
      - 6
    api.order.v1.VendorOrderDraftUpdateParams.LineItem:
      type: object
      properties:
        line_item_id:
          type: string
          examples:
          - li_abc123
          title: line_item_id
          description: Line item ID to update (required)
        variant_id:
          type: string
          examples:
          - variant_abc123
          title: variant_id
          description: Product variant ID (use variant_id OR legacy_id, not both)
        legacy_id:
          type:
          - integer
          - string
          title: legacy_id
          format: int64
          description: Legacy variant ID (for backward compatibility, use variant_id
            OR legacy_id, not both)
        quantity:
          exclusiveMinimum: 0
          type: integer
          examples:
          - 2
          title: quantity
          maximum: 1000
          format: int32
          description: Quantity to order (1-1000)
        printing_options:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorOrderDraftCreationParams.PrintingOption'
          title: printing_options
          minItems: 1
          description: Printing options (at least 1 required, must include front or
            back)
        barcode_url:
          type: string
          examples:
          - https://example.com/barcodes/item-12345.png
          title: barcode_url
          maxLength: 1000
          description: Barcode URL for inventory tracking (optional)
      title: LineItem
      additionalProperties: false
      description: 'has_front_back_or_whole_printing_option // A line item must include
        at least one printing option with location_code front, pocket, back or whole

        oneof_variant_id_legacy_id // Exactly one of ''variant_id'' or ''legacy_id''
        must be set

        '
    api.order.v1.VendorOrderDraftWithLabelCreationParams:
      type: object
      properties:
        reference_id:
          type: string
          examples:
          - my-order-12345
          title: reference_id
          maxLength: 255
          description: Your reference ID for this order (optional)
        platform:
          title: platform
          description: Platform where this order originates (required)
          $ref: '#/components/schemas/common.platform.v1.MarketplacePlatform'
        origin_sales_channel:
          title: origin_sales_channel
          description: Optional marketplace where the order was originally placed.
            Keep platform as the integration ingress; for example, an aggregator sends
            platform as gearment and may declare etsy here.
          examples:
          - etsy
          $ref: '#/components/schemas/api.order.v1.OriginSalesChannel'
        store_id:
          type: string
          examples:
          - store_abc123xyz
          title: store_id
          maxLength: 255
          description: Your store ID from Gearment (required)
        agree_at_risk:
          title: agree_at_risk
          description: Acknowledge production risks (e.g., unverified address, to
            proceed with order despite warnings)
          $ref: '#/components/schemas/google.protobuf.BoolValue'
        shipping_label_urls:
          type: array
          items:
            type: string
            examples:
            - https://example.com/labels/shipping-label-001.pdf
            maxLength: 1000
            minLength: 1
            minItems: 1
          title: shipping_label_urls
          minItems: 1
          description: "Pre-purchased shipping label URLs (required, at least 1, PDF\
            \ or image format)\n Use this when you've already purchased shipping labels\
            \ and want Gearment to use them"
        gift_message_body:
          type: string
          examples:
          - Happy Birthday! Hope you enjoy this gift. - Sarah
          title: gift_message_body
          maxLength: 1000
          description: Optional gift message (max 1000 chars)
        line_items:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorOrderDraftCreationParams.LineItem'
          title: line_items
          maxItems: 1000
          minItems: 1
          description: Line items to order (at least 1, max 1000)
        print_type:
          type: string
          title: print_type
          enum:
          - ''
          - DTG
          - DTF
          description: 'Print type for production (optional: "DTG" or "DTF"). Only
            available for enabled teams.'
        custom_gift_messages:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorOrderDraftCreationParams.CustomGiftMessage'
          title: custom_gift_messages
          maxItems: 1000
        auto_approve:
          title: auto_approve
          description: Whether the system will attempt auto-approval after verification.
            Omitted = true.
          $ref: '#/components/schemas/google.protobuf.BoolValue'
      title: VendorOrderDraftWithLabelCreationParams
      additionalProperties: false
    api.order.v1.VendorOrderLineItem:
      type: object
      properties:
        id:
          type:
          - integer
          - string
          title: id
          format: int64
          description: Internal line item ID
        variant_id:
          type: string
          title: variant_id
          description: Product variant ID
        quantity:
          type: integer
          title: quantity
          minimum: 1
          format: int32
          description: Quantity ordered (minimum 1)
        printing_options:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorPrintingOption'
          title: printing_options
          description: Printing options for this line item
        seller_variant_id:
          type: string
          title: seller_variant_id
          description: Seller's variant ID (from marketplace)
        product_id:
          type: string
          title: product_id
          description: Product ID
        option_1:
          type: string
          title: option_1
          description: First option value (e.g., "Black" for color)
        option_2:
          type: string
          title: option_2
          description: Second option value (e.g., "Medium" for size)
        product_name:
          type: string
          title: product_name
          description: Product name
        item_price:
          title: item_price
          description: Unit price per item
          $ref: '#/components/schemas/common.type.v1.Money'
        line_tax:
          title: line_tax
          description: Tax amount for this line
          $ref: '#/components/schemas/common.type.v1.Money'
        line_fee:
          title: line_fee
          description: Additional fees for this line
          $ref: '#/components/schemas/common.type.v1.Money'
        line_discount:
          title: line_discount
          description: Discount applied to this line
          $ref: '#/components/schemas/common.type.v1.Money'
        line_subtotal:
          title: line_subtotal
          description: Subtotal before tax and fees
          $ref: '#/components/schemas/common.type.v1.Money'
        line_total:
          title: line_total
          description: Total amount for this line
          $ref: '#/components/schemas/common.type.v1.Money'
        variant_name:
          type: string
          title: variant_name
          description: Variant name (e.g., "Black / Medium")
        product_url:
          type: string
          title: product_url
          description: Product URL (link to product page)
        variant_sku:
          type: string
          title: variant_sku
          description: Variant SKU
        product_type_name:
          type: string
          title: product_type_name
          description: Product type name (e.g., "T-Shirt", "Hoodie")
        order_id:
          type: string
          title: order_id
          description: Order ID this line item belongs to
        line_item_id:
          type: string
          title: line_item_id
          description: Line item ID (string format)
      title: VendorOrderLineItem
      additionalProperties: false
    api.order.v1.VendorOrderLineItem.FulfillmentOption:
      type: object
      properties:
        barcode_url:
          type: string
          title: barcode_url
      title: FulfillmentOption
      additionalProperties: false
    api.order.v1.VendorOrderLineItem.Short:
      type: object
      properties:
        id:
          type:
          - integer
          - string
          title: id
          format: int64
          description: Internal line item ID
        quantity:
          type: integer
          title: quantity
          minimum: 1
          format: int32
          description: Quantity ordered (minimum 1)
        printing_options:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorPrintingOption'
          title: printing_options
          description: Printing options for this line item
        seller_variant_id:
          type: string
          title: seller_variant_id
          description: Seller's variant ID (from marketplace)
        product_id:
          type: string
          title: product_id
          description: Product ID
        product_name:
          type: string
          title: product_name
          description: Product name
        item_price:
          title: item_price
          description: Unit price per item
          $ref: '#/components/schemas/common.type.v1.Money'
        line_tax:
          title: line_tax
          description: Tax amount for this line
          $ref: '#/components/schemas/common.type.v1.Money'
        line_fee:
          title: line_fee
          description: Additional fees for this line
          $ref: '#/components/schemas/common.type.v1.Money'
        line_discount:
          title: line_discount
          description: Discount applied to this line
          $ref: '#/components/schemas/common.type.v1.Money'
        line_subtotal:
          title: line_subtotal
          description: Subtotal before tax and fees
          $ref: '#/components/schemas/common.type.v1.Money'
        line_total:
          title: line_total
          description: Total amount for this line
          $ref: '#/components/schemas/common.type.v1.Money'
        fulfillment_option:
          title: fulfillment_option
          description: Fulfillment options (barcode, etc.)
          $ref: '#/components/schemas/api.order.v1.VendorOrderLineItem.FulfillmentOption'
        product_url:
          type: string
          title: product_url
          description: Product URL (link to product page)
        product_sku:
          type: string
          title: product_sku
          description: Product SKU
        variant:
          title: variant
          description: Variant details
          $ref: '#/components/schemas/api.order.v1.VendorOrderLineItem.Short.Variant'
        order_id:
          type: string
          title: order_id
          description: Order ID this line item belongs to
        line_item_id:
          type: string
          title: line_item_id
          description: Line item ID (string format)
      title: Short
      additionalProperties: false
      description: "Short is a lightweight version of VendorOrderLineItem with essential\
        \ fields\n for compact order representation, including variant details in\
        \ a nested Short.Variant message"
    api.order.v1.VendorOrderLineItem.Short.Variant:
      type: object
      properties:
        variant_id:
          type: string
          title: variant_id
          description: Variant ID (string format)
        variant_name:
          type: string
          title: variant_name
          description: Variant name (e.g., "Black / Medium")
        legacy_id:
          type: integer
          title: legacy_id
          format: int32
          description: Legacy variant ID (integer format, for backward compatibility)
        sku:
          type: string
          title: sku
          description: SKU (Stock Keeping Unit)
        name:
          type: string
          title: name
          description: Variant name
        description:
          type: string
          title: description
          description: Variant description
        option_1:
          type: string
          title: option_1
          description: First option value (e.g., "Black" for color)
        option_2:
          type: string
          title: option_2
          description: Second option value (e.g., "Medium" for size)
        option_3:
          type: string
          title: option_3
          description: Third option value (optional)
        option_1_name:
          type: string
          title: option_1_name
          description: First option name (e.g., "Color")
        option_2_name:
          type: string
          title: option_2_name
          description: Second option name (e.g., "Size")
        option_3_name:
          type: string
          title: option_3_name
          description: Third option name (optional)
        stock_label:
          title: stock_label
          description: Stock availability status
          $ref: '#/components/schemas/api.order.v1.VendorStockLabel'
      title: Variant
      additionalProperties: false
      description: Variant contains essential variant information for the short line
        item representation
    api.order.v1.VendorOrderPaymentStatus:
      type:
      - string
      - number
      title: VendorOrderPaymentStatus
      enum:
      - VENDOR_ORDER_PAYMENT_STATUS_PENDING
      - 2
      - VENDOR_ORDER_PAYMENT_STATUS_SUCCESS
      - 3
      - VENDOR_ORDER_PAYMENT_STATUS_FAILED
      - 4
      - VENDOR_ORDER_PAYMENT_STATUS_EXPIRED
      - 5
      - VENDOR_ORDER_PAYMENT_STATUS_SUCCESS_PARTIALLY
      - 6
    api.order.v1.VendorOrderPriceCalculation.Address:
      type: object
      properties:
        method:
          type: string
          examples:
          - standard
          title: method
          enum:
          - standard
          - METHOD_STANDARD
          - economy
          - METHOD_ECONOMY
          - stamp
          - METHOD_STAMP
          - ground
          - METHOD_GROUND
          - fastship
          - METHOD_FAST_SHIP
          description: Shipping method
        state_code:
          type: string
          examples:
          - CA
          title: state_code
          description: State/province code (ISO 3166-2)
        country_code:
          type: string
          examples:
          - US
          title: country_code
          description: Country code (ISO 3166-1 alpha-2)
      title: Address
      additionalProperties: false
    api.order.v1.VendorOrderPriceCalculation.Billing:
      type: object
      properties:
        ioss_number:
          type: string
          examples:
          - IM1234567890
          title: ioss_number
          description: IOSS number for EU tax compliance
        tax_number:
          type: string
          examples:
          - GB123456789
          title: tax_number
          description: Tax identification number
      title: Billing
      additionalProperties: false
    api.order.v1.VendorOrderPriceCalculation.FeePriceQuote:
      type: object
      properties:
        order_id:
          type: string
          title: order_id
          description: Order ID this fee applies to
        line_item_id:
          type: string
          title: line_item_id
          description: Line item ID this fee applies to
        fee_code:
          type: string
          title: fee_code
          description: Fee code/identifier (e.g., "RUSH_FEE", "GIFT_MESSAGE_FEE")
        amount:
          title: amount
          description: Fee amount
          $ref: '#/components/schemas/common.type.v1.Money'
      title: FeePriceQuote
      additionalProperties: false
    api.order.v1.VendorOrderPriceCalculation.GiftMessage:
      type: object
      properties:
        gift_message_id:
          type: string
          examples:
          - gift_msg_123
          title: gift_message_id
          maxLength: 30
          minLength: 1
          description: Unique identifier for the gift message
        content:
          type: string
          examples:
          - Happy Birthday! Wishing you all the best. - John
          title: content
          maxLength: 300
          description: Gift message text content (max 300 characters)
      title: GiftMessage
      additionalProperties: false
    api.order.v1.VendorOrderPriceCalculation.Label:
      type: object
      properties:
        url:
          type: string
          examples:
          - https://example.com/shipping-label.pdf
          title: url
          description: URL to pre-purchased shipping label (PDF or image)
      title: Label
      additionalProperties: false
    api.order.v1.VendorOrderPriceCalculation.LineItem:
      type: object
      properties:
        variant_id:
          type: string
          examples:
          - variant_abc123
          title: variant_id
          maxLength: 30
          minLength: 1
          description: Product variant ID from catalog
        quantity:
          exclusiveMinimum: 0
          type: integer
          examples:
          - 2
          title: quantity
          format: int32
          description: Quantity to order
        print_locations:
          type: array
          items:
            type: string
            examples:
            - front
            enum:
            - front
            - PRINT_LOCATION_CODE_FRONT
            - back
            - PRINT_LOCATION_CODE_BACK
            - left_sleeve
            - PRINT_LOCATION_CODE_LEFT_SLEEVE
            - right_sleeve
            - PRINT_LOCATION_CODE_RIGHT_SLEEVE
            - pocket
            - PRINT_LOCATION_CODE_POCKET
            - whole
            - PRINT_LOCATION_CODE_WHOLE
          title: print_locations
          description: Print locations on the product
      title: LineItem
      additionalProperties: false
    api.order.v1.VendorOrderPriceCalculation.LineItemPriceQuote:
      type: object
      properties:
        line_sub_total:
          title: line_sub_total
          description: Line item subtotal (item_price × quantity, before tax/fees/discount)
          $ref: '#/components/schemas/common.type.v1.Money'
        line_tax:
          title: line_tax
          description: Tax for this line item
          $ref: '#/components/schemas/common.type.v1.Money'
        line_fee:
          title: line_fee
          description: Additional fees for this line item
          $ref: '#/components/schemas/common.type.v1.Money'
        line_discount:
          title: line_discount
          description: Discount applied to this line item
          $ref: '#/components/schemas/common.type.v1.Money'
        line_total:
          title: line_total
          description: Total for this line item (subtotal + tax + fee - discount)
          $ref: '#/components/schemas/common.type.v1.Money'
        item_price:
          title: item_price
          description: Unit price per item
          $ref: '#/components/schemas/common.type.v1.Money'
        item_fee:
          title: item_fee
          description: Per-item fee
          $ref: '#/components/schemas/common.type.v1.Money'
        item_discount:
          title: item_discount
          description: Per-item discount
          $ref: '#/components/schemas/common.type.v1.Money'
        item_quantity:
          type: integer
          title: item_quantity
          format: int32
          description: Quantity of items
        id:
          type:
          - integer
          - string
          title: id
          format: int64
          description: Internal line item ID
        unit_base_price:
          title: unit_base_price
          description: Base price per unit (before fees/discount)
          $ref: '#/components/schemas/common.type.v1.Money'
      title: LineItemPriceQuote
      additionalProperties: false
    api.order.v1.VendorOrderPriceCalculation.OrderPriceQuote:
      type: object
      properties:
        order_shipping_fee:
          title: order_shipping_fee
          description: Total shipping fee for the order
          $ref: '#/components/schemas/common.type.v1.Money'
        order_fee:
          title: order_fee
          description: Additional processing fees
          $ref: '#/components/schemas/common.type.v1.Money'
        order_tax:
          title: order_tax
          description: Total tax for the order
          $ref: '#/components/schemas/common.type.v1.Money'
        order_sub_total:
          title: order_sub_total
          description: Order subtotal (sum of all line items before tax/fees/discount)
          $ref: '#/components/schemas/common.type.v1.Money'
        order_total:
          title: order_total
          description: Final order total (subtotal + shipping + tax + fees - discount)
          $ref: '#/components/schemas/common.type.v1.Money'
        order_discount:
          title: order_discount
          description: Total discount applied to the order
          $ref: '#/components/schemas/common.type.v1.Money'
        line_items:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorOrderPriceCalculation.LineItemPriceQuote'
          title: line_items
          description: Price breakdown for each line item
        fees:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorOrderPriceCalculation.FeePriceQuote'
          title: fees
          description: Detailed fee breakdown
        order_gift_message_fee:
          title: order_gift_message_fee
          description: Gift message fee (if applicable)
          $ref: '#/components/schemas/common.type.v1.Money'
        order_handle_fee:
          title: order_handle_fee
          description: Order handling fee
          $ref: '#/components/schemas/common.type.v1.Money'
      title: OrderPriceQuote
      additionalProperties: false
    api.order.v1.VendorOrderPriceCalculation.Shipping:
      type: object
      properties:
        address:
          title: address
          description: Shipping address information
          $ref: '#/components/schemas/api.order.v1.VendorOrderPriceCalculation.Address'
        label:
          title: label
          description: Pre-purchased shipping label (optional)
          $ref: '#/components/schemas/api.order.v1.VendorOrderPriceCalculation.Label'
      title: Shipping
      additionalProperties: false
    api.order.v1.VendorOrderRefund:
      type: object
      properties:
        refund_request_id:
          type: string
          title: refund_request_id
          description: Unique refund request ID
        order_refund_id:
          type: string
          title: order_refund_id
          description: Order-specific refund ID
        type:
          title: type
          description: Type of refund (full, partial, specific fees)
          $ref: '#/components/schemas/api.order.v1.VendorRefundRequestType'
        amount:
          title: amount
          description: Refund amount
          $ref: '#/components/schemas/common.type.v1.Money'
        transaction_id:
          type: string
          title: transaction_id
          description: Transaction ID from payment system
        transaction_ref:
          type: string
          title: transaction_ref
          description: Transaction reference
        status:
          title: status
          description: Current refund status
          $ref: '#/components/schemas/api.order.v1.VendorRefundStatus'
        reasons:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorRefundReason'
          title: reasons
          description: Refund reason/notes (if any)
        created_at:
          title: created_at
          description: When this refund was created
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        updated_at:
          title: updated_at
          description: When this refund was last updated
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        expired_at:
          title: expired_at
          description: Expiration timestamp (if applicable)
          $ref: '#/components/schemas/google.protobuf.Timestamp'
      title: VendorOrderRefund
      additionalProperties: false
      description: Detailed refund information for a single refund request
    api.order.v1.VendorOrderRefundStatus:
      type:
      - string
      - number
      title: VendorOrderRefundStatus
      enum:
      - VENDOR_ORDER_REFUND_STATUS_NOT_REQUESTED
      - 2
      - VENDOR_ORDER_REFUND_STATUS_NOT_APPLICABLE
      - 3
      - VENDOR_ORDER_REFUND_STATUS_REQUESTED
      - 4
      - VENDOR_ORDER_REFUND_STATUS_PROCESSING
      - 5
      - VENDOR_ORDER_REFUND_STATUS_REFUNDED
      - 6
      - VENDOR_ORDER_REFUND_STATUS_PARTIALLY_REFUNDED
      - 7
      - VENDOR_ORDER_REFUND_STATUS_RETURN_REFUND_REQUESTED
      - 8
      - VENDOR_ORDER_REFUND_STATUS_RETURN_REFUNDED
      - 9
      - VENDOR_ORDER_REFUND_STATUS_REJECTED
      - 10
      - VENDOR_ORDER_REFUND_STATUS_FAILED
      - 11
    api.order.v1.VendorOrderStatus:
      type:
      - string
      - number
      title: VendorOrderStatus
      enum:
      - VENDOR_ORDER_STATUS_AWAITING_PAYMENT
      - 2
      - VENDOR_ORDER_STATUS_PAYMENT_FAILED
      - 3
      - VENDOR_ORDER_STATUS_AWAITING_FULFILLMENT
      - 4
      - VENDOR_ORDER_STATUS_IN_PRODUCTION
      - 5
      - VENDOR_ORDER_STATUS_PACKED
      - 6
      - VENDOR_ORDER_STATUS_SHIPPED
      - 7
      - VENDOR_ORDER_STATUS_CANCELLED
      - 8
      - VENDOR_ORDER_STATUS_ON_HOLD
      - 9
    api.order.v1.VendorOrderTracking:
      type: object
      properties:
        tracking_no:
          type: string
          title: tracking_no
          description: Tracking number (e.g., "1Z999AA10123456784" for UPS)
        tracking_updated_at:
          title: tracking_updated_at
          description: Last update timestamp for tracking information
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        carrier:
          type: string
          title: carrier
          description: Shipping carrier (e.g., "USPS", "FedEx", "UPS", "DHL")
        service:
          type: string
          title: service
          description: Shipping service level (e.g., "Priority Mail", "Ground", "Express")
        type:
          type: string
          title: type
          description: Legacy tracking type field (deprecated, use tracking_type instead)
        label_file:
          title: label_file
          description: Shipping label file (PDF or image)
          $ref: '#/components/schemas/common.type.v1.File'
        tracking_type:
          title: tracking_type
          description: Tracking type (indicates if this is the primary, secondary,
            or outdated tracking)
          $ref: '#/components/schemas/api.order.v1.VendorTrackingType'
        tracking_url:
          type: string
          title: tracking_url
          description: Tracking URL for carrier's tracking page (e.g., "https://tools.usps.com/go/TrackConfirmAction?tLabels=...")
      title: VendorOrderTracking
      additionalProperties: false
    api.order.v1.VendorPrintingOption:
      type: object
      properties:
        print_location_code:
          title: print_location_code
          description: Print location on the product (required)
          $ref: '#/components/schemas/api.order.v1.VendorPrintingOption.PrintLocationCode'
        design_url:
          type: string
          examples:
          - https://example.com/designs/front-design.png
          title: design_url
          maxLength: 1000
          description: Design file URL (PNG, JPEG, or PDF format)
      title: VendorPrintingOption
      additionalProperties: false
    api.order.v1.VendorPrintingOption.PrintLocationCode:
      type:
      - string
      - number
      title: PrintLocationCode
      enum:
      - PRINT_LOCATION_CODE_WHOLE
      - 1
      - PRINT_LOCATION_CODE_FRONT
      - 2
      - PRINT_LOCATION_CODE_BACK
      - 3
      - PRINT_LOCATION_CODE_LEFT_SLEEVE
      - 4
      - PRINT_LOCATION_CODE_RIGHT_SLEEVE
      - 5
      - PRINT_LOCATION_CODE_POCKET
      - 6
      - PRINT_LOCATION_CODE_INSIDE_LABEL
      - 7
      - PRINT_LOCATION_CODE_OUTSIDE_LABEL
      - 8
    api.order.v1.VendorProcessingStage:
      type: object
      properties:
        stage_id:
          type: string
          title: stage_id
          description: Processing stage ID
        stage_name:
          type: string
          title: stage_name
          description: Processing stage name (e.g., "Printing", "Packing", "Shipping")
        stage_started_at:
          title: stage_started_at
          description: When this stage started
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        stage_completed_at:
          title: stage_completed_at
          description: When this stage completed
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        is_completed:
          type: boolean
          title: is_completed
          description: Whether this stage is completed
      title: VendorProcessingStage
      additionalProperties: false
    api.order.v1.VendorProductMatchingStatus:
      type:
      - string
      - number
      title: VendorProductMatchingStatus
      enum:
      - VENDOR_PRODUCT_MATCHING_STATUS_MATCHED
      - 2
      - VENDOR_PRODUCT_MATCHING_STATUS_UNMATCHED
      - 3
    api.order.v1.VendorPurchaseTrackingConfig:
      type:
      - string
      - number
      title: VendorPurchaseTrackingConfig
      enum:
      - VENDOR_PURCHASE_TRACKING_TIME_DEFAULT
      - 1
      - VENDOR_PURCHASE_TRACKING_TIME_IMMEDIATELY_AFTER_THE_PAYMENT_TIME
      - 2
      - VENDOR_PURCHASE_TRACKING_TIME_WITHIN_A_SPECIFIC_NUMBER_OF_DAY
      - 4
    api.order.v1.VendorRefundReason:
      type: object
      properties:
        reason_id:
          type: string
          title: reason_id
          description: Predefined reason ID (if applicable)
        detail:
          type: string
          title: detail
          description: Custom detail text
        note_type:
          type: string
          title: note_type
          description: Type of note (approve/reject)
      title: VendorRefundReason
      additionalProperties: false
      description: Refund reason/note information
    api.order.v1.VendorRefundRequestType:
      type:
      - string
      - number
      title: VendorRefundRequestType
      enum:
      - VENDOR_REFUND_REQUEST_TYPE_FULL
      - 1
      - VENDOR_REFUND_REQUEST_TYPE_FULL_BASE_PRICE
      - 2
      - VENDOR_REFUND_REQUEST_TYPE_LABEL_FEE
      - 3
      - VENDOR_REFUND_REQUEST_TYPE_SURCHARGE_FEE
      - 4
      - VENDOR_REFUND_REQUEST_TYPE_GIFT_MESSAGE_FEE
      - 5
      - VENDOR_REFUND_REQUEST_TYPE_FULL_SHIPPING_FEE
      - 6
      - VENDOR_REFUND_REQUEST_TYPE_TAX_FEE
      - 7
      - VENDOR_REFUND_REQUEST_TYPE_CUSTOM
      - 8
      - VENDOR_REFUND_REQUEST_TYPE_FULL_LINE_ITEM
      - 9
      - VENDOR_REFUND_REQUEST_TYPE_FASTSHIP
      - 10
      - VENDOR_REFUND_REQUEST_TYPE_HANDLE_FEE
      - 11
      - VENDOR_REFUND_REQUEST_TYPE_FULL_BASE_PRICE_FBA
      - 12
      description: Vendor-facing refund request type enum
    api.order.v1.VendorRefundStatus:
      type:
      - string
      - number
      title: VendorRefundStatus
      enum:
      - VENDOR_REFUND_STATUS_PENDING
      - 1
      - VENDOR_REFUND_STATUS_PROCESSING
      - 2
      - VENDOR_REFUND_STATUS_APPROVED
      - 3
      - VENDOR_REFUND_STATUS_SUCCESS
      - 4
      - VENDOR_REFUND_STATUS_FAILED
      - 5
      - VENDOR_REFUND_STATUS_REJECTED
      - 6
      description: Vendor-facing refund status enum
    api.order.v1.VendorShippingOption:
      type: object
      properties:
        method:
          title: method
          description: Shipping method (required)
          $ref: '#/components/schemas/api.order.v1.VendorShippingOption.Method'
      title: VendorShippingOption
      additionalProperties: false
    api.order.v1.VendorShippingOption.Method:
      type:
      - string
      - number
      title: Method
      enum:
      - METHOD_STANDARD
      - 2
      - METHOD_GROUND
      - 3
      - METHOD_FAST_SHIP
      - 4
      - METHOD_STAMP
      - 5
      - METHOD_ECONOMY
      - 6
    api.order.v1.VendorShippingVerificationStatus:
      type:
      - string
      - number
      title: VendorShippingVerificationStatus
      enum:
      - VENDOR_SHIPPING_VERIFICATION_STATUS_PENDING
      - 2
      - VENDOR_SHIPPING_VERIFICATION_STATUS_CONSTRAINT_INVALID
      - 3
      - VENDOR_SHIPPING_VERIFICATION_STATUS_CONSTRAINT_VALID
      - 4
      - VENDOR_SHIPPING_VERIFICATION_STATUS_ADDRESS_UNVERIFIED
      - 5
      - VENDOR_SHIPPING_VERIFICATION_STATUS_ADDRESS_VERIFIED
      - 6
    api.order.v1.VendorStockLabel:
      type:
      - string
      - number
      title: VendorStockLabel
      enum:
      - VENDOR_STOCK_LABEL_IN_STOCK
      - 1
      - VENDOR_STOCK_LABEL_OUT_OF_STOCK
      - 2
      - VENDOR_STOCK_LABEL_AT_RISK
      - 3
      - VENDOR_STOCK_LABEL_DISCONTINUED
      - 4
    api.order.v1.VendorTrackingType:
      type:
      - string
      - number
      title: VendorTrackingType
      enum:
      - TRACKING_TYPE_PRIMARY
      - 1
      - TRACKING_TYPE_SECONDARY
      - 2
      - TRACKING_TYPE_OUTDATED
      - 3
    api.order.v1.VendorTransactionInfo:
      type: object
      properties:
        txn_id:
          type: string
          title: txn_id
          description: Transaction ID (unique identifier for this payment transaction)
        team_id:
          type: string
          title: team_id
          description: Team ID (your account identifier)
        method_code:
          type: string
          title: method_code
          description: Payment method code (e.g., "credit_card", "paypal", "stripe")
        method_icon_urls:
          type: string
          title: method_icon_urls
          description: Payment method icon URL (for displaying payment method logo)
        list_invoice_detail:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorTransactionInfo.VendorInvoiceInfo'
          title: list_invoice_detail
          description: List of invoice details included in this transaction
      title: VendorTransactionInfo
      additionalProperties: false
    api.order.v1.VendorTransactionInfo.VendorInvoiceInfo:
      type: object
      properties:
        invoice_id:
          type: string
          title: invoice_id
          description: Invoice ID (unique identifier for this invoice)
        order_id:
          type: string
          title: order_id
          description: Order ID associated with this invoice line
        variant_name:
          type: string
          title: variant_name
          description: Product variant name (e.g., "Unisex T-Shirt - Black - M")
        quantity:
          type: integer
          title: quantity
          format: int32
          description: Quantity of items in this invoice line
        shipping_service:
          type: string
          title: shipping_service
          description: Shipping service used (e.g., "USPS Priority Mail", "FedEx Ground")
        tracking_number:
          type: string
          title: tracking_number
          description: Tracking number for shipment
        product_image_url:
          type: string
          title: product_image_url
          description: Product image URL
        line_total:
          title: line_total
          description: Total amount for this invoice line
          $ref: '#/components/schemas/common.type.v1.Money'
      title: VendorInvoiceInfo
      additionalProperties: false
    api.order.v1.VendorUpdateOrderDraftLineItemsRequest:
      type: object
      properties:
        order_id:
          type: string
          title: order_id
          maxLength: 255
          minLength: 1
          description: 'Order draft ID to update (format: draft_xxxxx or UUID)'
        line_items:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorOrderDraftUpdateParams.LineItem'
          title: line_items
          maxItems: 1000
          minItems: 1
          description: 'Updated line items (can update: quantity, designs, printing
            options; max 1000 line items per request)'
      title: VendorUpdateOrderDraftLineItemsRequest
      additionalProperties: false
    api.order.v1.VendorUpdateOrderDraftLineItemsResponse:
      type: object
      properties:
        status:
          type: string
          title: status
          description: 'Response status: "success" or "error"'
        message:
          type: string
          title: message
          description: Human-readable message
        data:
          title: data
          description: Updated order draft information
          $ref: '#/components/schemas/api.order.v1.VendorUpdateOrderDraftLineItemsResponse.Data'
      title: VendorUpdateOrderDraftLineItemsResponse
      additionalProperties: false
    api.order.v1.VendorUpdateOrderDraftLineItemsResponse.Data:
      type: object
      properties:
        order_id:
          type: string
          title: order_id
          description: Order draft ID that was updated
      title: Data
      additionalProperties: false
    common.type.v1.File:
      type: object
      properties:
        file_name:
          type: string
          title: file_name
          maxLength: 1000
        file_path:
          type: string
          title: file_path
          maxLength: 1000
        file_url:
          type: string
          title: file_url
          maxLength: 1000
        file_id:
          type: string
          title: file_id
          maxLength: 2048
        storage_type:
          title: storage_type
          $ref: '#/components/schemas/common.type.v1.File.StorageType'
      title: File
      additionalProperties: false
    common.type.v1.File.StorageType:
      type:
      - string
      - number
      title: StorageType
      enum:
      - STORAGE_TYPE_S3
      - 1
      - STORAGE_TYPE_CLOUDFLARE
      - 2
      - STORAGE_TYPE_S3_LEGACY
      - 3
      - STORAGE_TYPE_EXTERNAL
      - 4
    google.protobuf.BoolValue:
      type: boolean
      description: "Wrapper message for `bool`.\n\n The JSON representation for `BoolValue`\
        \ is JSON `true` and `false`.\n\n Not recommended for use in new APIs, but\
        \ still useful for legacy APIs and\n has no plan to be removed."
    api.support.v1.CreateSupportRequestRequest:
      type: object
      properties:
        order_id:
          type: string
          title: order_id
          minLength: 1
        issue_category:
          title: issue_category
          $ref: '#/components/schemas/api.support.v1.SupportRequest.Category'
        issue_detail:
          type: string
          title: issue_detail
          minLength: 1
        issue_solution:
          type: string
          title: issue_solution
        issue_image_urls:
          type: array
          items:
            type: string
            maxLength: 2048
            format: uri
          title: issue_image_urls
        item_affected:
          type: integer
          title: item_affected
          minimum: 0
          format: int32
      title: CreateSupportRequestRequest
      additionalProperties: false
    api.support.v1.CreateSupportRequestResponse:
      type: object
      properties:
        support_request:
          title: support_request
          $ref: '#/components/schemas/api.support.v1.SupportRequest'
      title: CreateSupportRequestResponse
      additionalProperties: false
    api.support.v1.ListSupportRequestResponse:
      type: object
      properties:
        support_requests:
          type: array
          items:
            $ref: '#/components/schemas/api.support.v1.SupportRequest'
          title: support_requests
        paging:
          title: paging
          $ref: '#/components/schemas/common.type.v1.PagingResponse'
      title: ListSupportRequestResponse
      additionalProperties: false
    api.support.v1.SupportRequest:
      type: object
      properties:
        id:
          type:
          - integer
          - string
          title: id
          format: int64
        order_id:
          type: string
          title: order_id
        created_at:
          title: created_at
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        status:
          title: status
          $ref: '#/components/schemas/api.support.v1.SupportRequest.Status'
        issue_category:
          title: issue_category
          $ref: '#/components/schemas/api.support.v1.SupportRequest.Category'
        issue_detail:
          type: string
          title: issue_detail
        issue_solution:
          type: string
          title: issue_solution
        issue_image_urls:
          type: array
          items:
            type: string
          title: issue_image_urls
      title: SupportRequest
      additionalProperties: false
    api.support.v1.SupportRequest.Category:
      type:
      - string
      - number
      title: Category
      enum:
      - CATEGORY_IMG_QUALITY
      - 1
      - CATEGORY_ITEM_DAMAGED
      - 2
      - CATEGORY_ITEM_MISSING
      - 3
      - CATEGORY_ITEM_NOT_EXPECTED
      - 4
      - CATEGORY_NO_UPDATE_FROM_CARRIER
      - 5
      - CATEGORY_ORDER_LATE_PRODUCTION
      - 6
      - CATEGORY_SHIPPING_PROBLEM
      - 7
      - CATEGORY_WRONG_ITEM_SIZE
      - 8
      - CATEGORY_WRONG_PRINT
      - 9
      - CATEGORY_SHIPPING_TO_WRONG_ADDRESS
      - 10
      - CATEGORY_SIZE_NOT_EXPECTED
      - 11
      - CATEGORY_PRINT_MISSING
      - 12
      - CATEGORY_ANOTHER
      - 13
      - CATEGORY_CANCEL_BY_BUYER
      - 14
    api.support.v1.SupportRequest.Status:
      type:
      - string
      - number
      title: Status
      enum:
      - STATUS_PENDING
      - 1
      - STATUS_PROCESSING
      - 2
      - STATUS_COMPLETED
      - 3
      - STATUS_REJECTED
      - 4
    api.pod.v1.ListEnabledCarrierServicesResponse:
      type: object
      properties:
        carriers:
          type: array
          items:
            $ref: '#/components/schemas/api.pod.v1.CarrierLabelConfig'
          title: carriers
      title: ListEnabledCarrierServicesResponse
      additionalProperties: false
    api.pod.v1.CarrierLabelConfig:
      type: object
      properties:
        provider:
          type: string
          title: provider
          description: The label provider Gearment buys through, for example "easypost".
            This is not the carrier.
        carrier:
          type: string
          title: carrier
          description: The carrier that ships the parcel, for example "usps". Configured
            per team by Gearment staff, so treat it as data rather than a fixed set.
        services:
          type: array
          items:
            type: string
          title: services
          description: Service codes enabled for this carrier, for example "ground_advantage".
            An empty list means every service the carrier returns is allowed.
        enabled:
          type: boolean
          title: enabled
        billingMode:
          title: billing_mode
          $ref: '#/components/schemas/api.pod.v1.SellerLabelBillingMode'
        markup:
          title: markup
          $ref: '#/components/schemas/api.pod.v1.MarkupRule'
      title: CarrierLabelConfig
      additionalProperties: false
    api.pod.v1.SellerLabelBillingMode:
      type: string
      title: SellerLabelBillingMode
      enum:
      - SELLER_LABEL_BILLING_MODE_UNSPECIFIED
      - SELLER_LABEL_BILLING_MODE_WALLET_IMMEDIATE
      - SELLER_LABEL_BILLING_MODE_INVOICE_WEEKLY
    api.pod.v1.MarkupRule:
      type: object
      properties:
        percentBps:
          type: integer
          title: percent_bps
          maximum: 100000
          minimum: 0
          format: int32
        flatFee:
          title: flat_fee
          $ref: '#/components/schemas/common.type.v1.Money'
      title: MarkupRule
      additionalProperties: false
    connect.error:
      type: object
      properties:
        code:
          type: string
          examples:
          - CodeNotFound
          enum:
          - CodeCanceled
          - CodeUnknown
          - CodeInvalidArgument
          - CodeDeadlineExceeded
          - CodeNotFound
          - CodeAlreadyExists
          - CodePermissionDenied
          - CodeResourceExhausted
          - CodeFailedPrecondition
          - CodeAborted
          - CodeOutOfRange
          - CodeInternal
          - CodeUnavailable
          - CodeDataLoss
          - CodeUnauthenticated
          description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
        message:
          type: string
          description: A developer-facing error message, which should be in English.
            Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details]
            field, or localized by the client.
        detail:
          $ref: '#/components/schemas/google.protobuf.Any'
      title: Connect Error
      additionalProperties: true
      description: 'Error type returned by Connect: https://connectrpc.com/docs/go/errors/#http-representation'
    google.protobuf.Any:
      type: object
      properties:
        type:
          type: string
        value:
          type: string
          format: binary
        debug:
          type: object
          additionalProperties: true
      additionalProperties: true
      description: Contains an arbitrary serialized message along with a @type that
        describes the type of the serialized message.
    api.pod.v1.EstimateLabelRatesRequest:
      type: object
      properties:
        shipFrom:
          title: ship_from
          $ref: '#/components/schemas/common.type.v1.USAddress'
        shipTo:
          title: ship_to
          $ref: '#/components/schemas/common.type.v1.USAddress'
        package:
          title: package
          $ref: '#/components/schemas/api.shipping.v1.ShippingLabelPurchaseForm.Package'
        providers:
          type: array
          items:
            type: string
          title: providers
      title: EstimateLabelRatesRequest
      required:
      - shipFrom
      - shipTo
      - package
      additionalProperties: false
    common.type.v1.USAddress:
      type: object
      properties:
        street1:
          type: string
          title: street1
          maxLength: 255
          minLength: 1
        street2:
          type: string
          title: street2
          maxLength: 255
        countryCode:
          type: string
          title: country_code
          maxLength: 3
          minLength: 2
        country:
          type: string
          title: country
          maxLength: 100
        stateCode:
          type: string
          title: state_code
          maxLength: 10
          minLength: 1
        state:
          type: string
          title: state
          maxLength: 100
        city:
          type: string
          title: city
          maxLength: 100
        zipCode:
          type: string
          title: zip_code
          maxLength: 10
          minLength: 4
        firstName:
          type: string
          title: first_name
          maxLength: 100
        lastName:
          type: string
          title: last_name
          maxLength: 100
        phoneNo:
          type: string
          title: phone_no
          maxLength: 50
        email:
          type: string
          title: email
          maxLength: 50
          description: 'email.valid_format // Email must be in valid format (e.g.,
            user@example.com)

            '
        note:
          type: string
          title: note
          maxLength: 500
        company:
          type: string
          title: company
          maxLength: 255
      title: USAddress
      additionalProperties: false
    api.shipping.v1.ShippingLabelPurchaseForm.Package:
      type: object
      properties:
        dimensions:
          title: dimensions
          description: Dimensions are required
          $ref: '#/components/schemas/api.shipping.v1.ShippingLabelPurchaseForm.Package.Dimensions'
        weight:
          title: weight
          description: Weight is required
          $ref: '#/components/schemas/api.shipping.v1.ShippingLabelPurchaseForm.Measurement'
        value:
          title: value
          description: Value is required, is the value of the package
          $ref: '#/components/schemas/common.type.v1.Money'
        productDescription:
          type: string
          title: product_description
          description: "Product description is required, is the product description\
            \ for the\n package, required if international shipping"
        hsCode:
          type: array
          items:
            type: string
          title: hs_code
          description: "HS code is optional, is the HS code for the package, required\
            \ if\n international shipping"
        quantity:
          type:
          - integer
          - string
          title: quantity
          format: int64
          description: "Quantity is optional, is the quantity of the package, required\
            \ if\n international shipping"
        expectationPickupDate:
          title: expectation_pickup_date
          description: "Expectation pickup date is optional, is the expectation pickup\
            \ date for\n the package, required if international shipping"
          $ref: '#/components/schemas/google.protobuf.Timestamp'
      title: Package
      required:
      - weight
      additionalProperties: false
      description: Package is required
    api.shipping.v1.ShippingLabelPurchaseForm.Package.Dimensions:
      type: object
      properties:
        width:
          title: width
          description: Width is optional
          $ref: '#/components/schemas/api.shipping.v1.ShippingLabelPurchaseForm.Measurement'
        height:
          title: height
          description: Height is optional
          $ref: '#/components/schemas/api.shipping.v1.ShippingLabelPurchaseForm.Measurement'
        length:
          title: length
          description: Length is optional
          $ref: '#/components/schemas/api.shipping.v1.ShippingLabelPurchaseForm.Measurement'
      title: Dimensions
      additionalProperties: false
      description: Dimensions are optional
    api.shipping.v1.ShippingLabelPurchaseForm.Measurement:
      type: object
      properties:
        value:
          type: string
          title: value
        unit:
          type: string
          title: unit
      title: Measurement
      required:
      - value
      - unit
      additionalProperties: false
    api.pod.v1.EstimateLabelRatesResponse:
      type: object
      properties:
        quote:
          title: quote
          $ref: '#/components/schemas/api.pod.v1.SellerRateQuote'
      title: EstimateLabelRatesResponse
      additionalProperties: false
    api.pod.v1.SellerRateQuote:
      type: object
      properties:
        rateQuoteId:
          type: string
          title: rate_quote_id
        rates:
          type: array
          items:
            $ref: '#/components/schemas/api.pod.v1.SellerRate'
          title: rates
        expiresAt:
          title: expires_at
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        degradedProviders:
          type: array
          items:
            type: string
          title: degraded_providers
      title: SellerRateQuote
      additionalProperties: false
    api.pod.v1.SellerRate:
      type: object
      properties:
        rateId:
          type: string
          title: rate_id
        provider:
          type: string
          title: provider
        carrier:
          type: string
          title: carrier
        service:
          type: string
          title: service
        sellerPrice:
          title: seller_price
          $ref: '#/components/schemas/common.type.v1.Money'
        deliveryDays:
          type: integer
          title: delivery_days
          format: int32
        billingMode:
          title: billing_mode
          $ref: '#/components/schemas/api.pod.v1.SellerLabelBillingMode'
      title: SellerRate
      additionalProperties: false
    api.pod.v1.SellerLabelStatus:
      type: string
      title: SellerLabelStatus
      enum:
      - SELLER_LABEL_STATUS_UNSPECIFIED
      - SELLER_LABEL_STATUS_PURCHASING
      - SELLER_LABEL_STATUS_PURCHASED
      - SELLER_LABEL_STATUS_FAILED
      - SELLER_LABEL_STATUS_CANCEL_REQUESTED
      - SELLER_LABEL_STATUS_REFUND_PENDING
      - SELLER_LABEL_STATUS_REFUNDED
      - SELLER_LABEL_STATUS_CANCEL_REJECTED
    api.pod.v1.SellerLabelBillingState:
      type: string
      title: SellerLabelBillingState
      enum:
      - SELLER_LABEL_BILLING_STATE_UNSPECIFIED
      - SELLER_LABEL_BILLING_STATE_CHARGED
      - SELLER_LABEL_BILLING_STATE_PENDING_INVOICE
      - SELLER_LABEL_BILLING_STATE_INVOICED
      - SELLER_LABEL_BILLING_STATE_SETTLED
      - SELLER_LABEL_BILLING_STATE_CREDITED
    api.pod.v1.ListLabelsResponse:
      type: object
      properties:
        labels:
          type: array
          items:
            $ref: '#/components/schemas/api.pod.v1.SellerLabel'
          title: labels
        page:
          type: integer
          title: page
          format: int32
        limit:
          type: integer
          title: limit
          format: int32
        total:
          type:
          - integer
          - string
          title: total
          format: int64
        totalPage:
          type: integer
          title: total_page
          format: int32
      title: ListLabelsResponse
      additionalProperties: false
    api.pod.v1.SellerLabel:
      type: object
      properties:
        labelId:
          type: string
          title: label_id
        teamId:
          type: string
          title: team_id
        status:
          title: status
          $ref: '#/components/schemas/api.pod.v1.SellerLabelStatus'
        provider:
          type: string
          title: provider
        carrier:
          type: string
          title: carrier
        service:
          type: string
          title: service
        shipFrom:
          title: ship_from
          $ref: '#/components/schemas/common.type.v1.USAddress'
        shipTo:
          title: ship_to
          $ref: '#/components/schemas/common.type.v1.USAddress'
        package:
          title: package
          $ref: '#/components/schemas/api.shipping.v1.ShippingLabelPurchaseForm.Package'
        sellerPrice:
          title: seller_price
          $ref: '#/components/schemas/common.type.v1.Money'
        billingMode:
          title: billing_mode
          $ref: '#/components/schemas/api.pod.v1.SellerLabelBillingMode'
        billingState:
          title: billing_state
          $ref: '#/components/schemas/api.pod.v1.SellerLabelBillingState'
        trackingNo:
          type: string
          title: tracking_no
        trackingUrl:
          type: string
          title: tracking_url
        labelUrl:
          type: string
          title: label_url
        labelFormat:
          type: string
          title: label_format
        rateQuoteId:
          type: string
          title: rate_quote_id
        rateId:
          type: string
          title: rate_id
        requestId:
          type: string
          title: request_id
        createdBy:
          type: string
          title: created_by
        createdAt:
          title: created_at
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        updatedAt:
          title: updated_at
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        cancelledAt:
          title: cancelled_at
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        failureReason:
          type: string
          title: failure_reason
      title: SellerLabel
      additionalProperties: false
    api.pod.v1.PurchaseLabelRequest:
      type: object
      properties:
        requestId:
          type: string
          title: request_id
          minLength: 1
        rateId:
          type: string
          title: rate_id
        provider:
          type: string
          title: provider
        carrier:
          type: string
          title: carrier
        service:
          type: string
          title: service
        shipFrom:
          title: ship_from
          $ref: '#/components/schemas/common.type.v1.USAddress'
        shipTo:
          title: ship_to
          $ref: '#/components/schemas/common.type.v1.USAddress'
        package:
          title: package
          $ref: '#/components/schemas/api.shipping.v1.ShippingLabelPurchaseForm.Package'
        labelFormat:
          type: string
          title: label_format
          enum:
          - ''
          - pdf
          - zpl
      title: PurchaseLabelRequest
      additionalProperties: false
    api.pod.v1.PurchaseLabelResponse:
      type: object
      properties:
        label:
          title: label
          $ref: '#/components/schemas/api.pod.v1.SellerLabel'
      title: PurchaseLabelResponse
      additionalProperties: false
    api.pod.v1.GetLabelResponse:
      type: object
      properties:
        label:
          title: label
          $ref: '#/components/schemas/api.pod.v1.SellerLabel'
      title: GetLabelResponse
      additionalProperties: false
    api.pod.v1.CancelLabelResponse:
      type: object
      properties:
        label:
          title: label
          $ref: '#/components/schemas/api.pod.v1.SellerLabel'
      title: CancelLabelResponse
      additionalProperties: false
    api.order.v1.VendorCheckEconomyCoverageRequest:
      type: object
      properties:
        zip_codes:
          type: array
          items:
            type: string
            examples:
            - '90210'
            minLength: 5
            maxLength: 10
          title: zip_codes
          description: "US ZIP codes to check. Five digits; a ZIP+4 is matched on\
            \ its first five.\n Up to 100 per call."
      title: VendorCheckEconomyCoverageRequest
      required:
      - zip_codes
      additionalProperties: false
    api.order.v1.VendorCheckEconomyCoverageResponse:
      type: object
      properties:
        status:
          type: string
          title: status
          description: 'Response status: "success" or "error"'
        message:
          type: string
          title: message
          description: Human-readable message describing the result
        data:
          title: data
          description: Coverage answer for the requested ZIP codes
          $ref: '#/components/schemas/api.order.v1.VendorEconomyCoverage'
      title: VendorCheckEconomyCoverageResponse
      additionalProperties: false
    api.order.v1.VendorEconomyCoverage:
      type: object
      properties:
        coverage_version:
          type: string
          examples:
          - 2026-07-10
          title: coverage_version
          description: "Identifier of the coverage edition this answer came from.\
            \ It changes when\n the carrier republishes coverage; compare it to decide\
            \ whether a cached\n answer is still current."
        results:
          type: array
          items:
            $ref: '#/components/schemas/api.order.v1.VendorEconomyCoverageZip'
          title: results
          description: One entry per requested ZIP, in the order requested.
      title: VendorEconomyCoverage
      additionalProperties: false
    api.order.v1.VendorEconomyCoverageZip:
      type: object
      properties:
        zip_code:
          type: string
          examples:
          - '90210'
          title: zip_code
          description: 'The ZIP as matched: five digits, normalised from what was
            sent.'
        covered:
          type: boolean
          title: covered
          description: Whether the destination is inside the carrier's current coverage.
        reason:
          type: string
          examples:
          - uncovered_zip
          title: reason
          description: "Populated only when covered is false. `uncovered_zip` is the\
            \ same reason\n code reported on an order that was moved to Standard."
      title: VendorEconomyCoverageZip
      additionalProperties: false
    api.catalog.v1.VendorGetCatalogShippingFeeResponse:
      type: object
      properties:
        status:
          type: string
          title: status
          description: 'Response status: "success" or "error"'
        message:
          type: string
          title: message
          description: Human-readable message
        paging:
          title: paging
          description: Pagination metadata
          $ref: '#/components/schemas/common.type.v1.PagingResponse'
        data:
          type: array
          items:
            $ref: '#/components/schemas/api.catalog.v1.VendorCatalogShippingFee'
          title: data
          description: List of product variants with shipping fee details.
      title: VendorGetCatalogShippingFeeResponse
      additionalProperties: false
    api.order.v1.VendorApproveOrderDraftResponse:
      type: object
      properties:
        status:
          type: string
          title: status
        is_approved:
          type: boolean
          title: is_approved
        message:
          type: string
          title: message
      title: VendorApproveOrderDraftResponse
      additionalProperties: false
    api.catalog.v1.VendorCatalogShippingFee:
      type: object
      properties:
        variant_id:
          type: string
          title: variant_id
          description: Variant ID (unique identifier)
        product_id:
          type: string
          title: product_id
          description: Product ID
        name:
          type: string
          title: name
          description: Variant name (e.g., "Black / Medium")
        size:
          type: string
          title: size
          description: Size (e.g., "S", "M", "L", "XL")
        color:
          type: string
          title: color
          description: Color name (e.g., "Black", "White", "Navy")
        hex_color_code:
          type: string
          title: hex_color_code
          description: Color hex code (e.g., "#000000", "#FFFFFF")
        variant_sku:
          type: string
          title: variant_sku
          description: Variant SKU
        color_code:
          type: string
          title: color_code
          description: Color code
        size_code:
          type: string
          title: size_code
          description: Size code
        shipping_services:
          type: array
          items:
            $ref: '#/components/schemas/api.catalog.v1.VendorCatalogShippingFeeService'
          title: shipping_services
      title: VendorCatalogShippingFee
      additionalProperties: false
    api.catalog.v1.VendorCatalogShippingFeeService:
      type: object
      properties:
        fee_amount:
          title: fee_amount
          description: Shipping fee for the base item quantity.
          $ref: '#/components/schemas/common.type.v1.Money'
        additional_item:
          title: additional_item
          description: Shipping fee for each additional item.
          $ref: '#/components/schemas/common.type.v1.Money'
        shipping_profile:
          type: string
          title: shipping_profile
          description: Shipping profile identifier.
        shipping_service:
          type: string
          title: shipping_service
          description: Shipping service display name.
      title: VendorCatalogShippingFeeService
      additionalProperties: false
  parameters: {}
  requestBodies: {}
  headers: {}
  examples: {}
  callbacks: {}
  links: {}
  responses:
    BadRequest:
      description: Bad Request - The request was malformed or contained invalid parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: INVALID_ARGUMENT
            message: The request parameters are invalid
            details:
            - field: product_id
              issue: Product ID must be a valid format
    Forbidden:
      description: Forbidden - The authenticated user does not have permission to
        access this resource
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: PERMISSION_DENIED
            message: You do not have permission to perform this action
    InternalError:
      description: Internal Server Error - An unexpected error occurred on the server
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: INTERNAL
            message: An unexpected error occurred. Please try again later
    NotFound:
      description: Not Found - The requested resource does not exist
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: NOT_FOUND
            message: The requested resource was not found
    Unauthorized:
      description: Unauthorized - Authentication credentials are missing or invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: UNAUTHENTICATED
            message: Authentication credentials are missing or invalid
  securitySchemes:
    ClientKeyAuth:
      type: apiKey
      in: header
      name: X-Gearment-Client-Key
      description: The Gearment client key issued to your team in Developer Settings.
    ClientSecretAuth:
      type: apiKey
      in: header
      name: X-Gearment-Client-Secret
      description: The Gearment client secret paired with the client key. Send it
        alongside X-Gearment-Client-Key on every request.
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      in: header
      name: Authorization
    CookieAuth:
      type: apiKey
      scheme: bearer
      in: cookie
      name: accessToken
