openapi: 3.1.0
info:
  title: fulfillment-delegation-api
  version: '1.0'
paths:
  /cancel_fulfillment:
    post:
      summary: Request Fulfillment Cancellation
      operationId: post-fulfillment-cancellation
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
      parameters:
        - schema:
            type: string
          in: header
          name: tenant-id
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                auth:
                  $ref: '#/components/schemas/Auth'
                fulfillment_provider_order_id:
                  type: string
                reason:
                  type: string
              required:
                - auth
                - fulfillment_provider_order_id
                - reason
      description: Request the cancellation of a requested fulfillment send using the /delegate_fulfillment path.  This will likely only start the cancellation process.  Status updates via /get_fulfillments and /get_recent_changes will return the cancellation status when it is completed.
    parameters: []
  /connect:
    post:
      summary: Connect to Fulfillment Provider
      operationId: post-connect
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  auth:
                    $ref: '#/components/schemas/Auth'
                  errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ConnectError'
      parameters:
        - schema:
            type: string
          in: header
          name: tenant-id
      requestBody:
        content:
          application/json:
            schema:
              type: object
              description: ''
              properties:
                auth:
                  $ref: '#/components/schemas/Auth'
        description: Contains form data for connecting to the app
      description: Verify credentials are valid for a new connection to a fulfillment provider
  /delegate_fulfillment:
    post:
      summary: Delegate Fulfillment
      operationId: post-fulfillment-delegation
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  fulfillment_provider_order_id:
                    type: string
      description: Delegate a sales order to a fulfillment provider.  The fulfillment provider will attempt to fulfill the shipment of all line items.  Returns the identifier used by the fulfillment provider for subsequent status updates for the order and it's fulfillments.  Often this is the same as the order_id.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                auth:
                  $ref: '#/components/schemas/Auth'
                bill_to:
                  $ref: '#/components/schemas/BillTo'
                buyer:
                  $ref: '#/components/schemas/Buyer'
                created_date_time:
                  type: string
                  description: The (ISO 8601) datetime (UTC) associated with when this order was created
                  example: '2021-03-31T18:21:14.858Z'
                currency:
                  type: string
                  description: The three character ISO 4217 code of the currency used for all monetary amounts
                  example: 'USD,EUR,NZD'
                fulfilled_date:
                  type: string
                  description: The (ISO 8601) datetime (UTC) associated with when this order shipped
                  example: '2021-03-31T18:21:14.858Z'
                integration_context:
                  type: string
                  description: Data provided by the order source that should be included in calls back to the order source. This data is only meaningful to the integration and not otherwise used by the platform.
                modified_date_time:
                  type: string
                  description: The (ISO 8601) datetime (UTC) associated with when this order was last modified
                  example: '2021-03-31T18:21:14.858Z'
                notes:
                  type: array
                  description: Notes about the order
                  items:
                    $ref: '#/components/schemas/Note'
                order_id:
                  type: string
                  description: The unique identifier of the sales order from the order source
                order_number:
                  type: string
                  description: The customer facing identifier of the sales order
                order_url:
                  type: string
                  description: A unique url associated with the order
                original_order_source:
                  $ref: '#/components/schemas/OriginalOrderSource'
                paid_date:
                  type: string
                  description: The (ISO 8601) datetime (UTC) associated with when this sales order was paid for
                  example: '2021-03-31T18:21:14.858Z'
                payment:
                  $ref: '#/components/schemas/Payment'
                requested_fulfillments:
                  type: array
                  description: The fulfillment requested by the marketplace or the buyer
                  items:
                    $ref: '#/components/schemas/RequestedFulfillment'
                ship_from:
                  $ref: '#/components/schemas/Address'
                status:
                  type: string
                  description: The sales order status
                  enum:
                    - AwaitingPayment
                    - AwaitingShipment
                    - Cancelled
                    - Completed
                    - OnHold
                    - PendingFulfillment
              required:
                - auth
                - requested_fulfillments
                - status
            examples:
              example-1:
                value:
                  bill_to:
                    address_line_1: string
                    address_line_2: string
                    address_line_3: string
                    city: string
                    company: string
                    country_code: 'US,MX,CA'
                    email: string
                    is_verified: true
                    name: string
                    phone: string
                    pickup_location:
                      carrier_id: string
                      relay_id: string
                    postal_code: string
                    residential_indicator: R
                    state_province: string
                  buyer:
                    buyer_id: string
                    email: string
                    name: string
                    phone: string
                  created_date_time: '2021-03-31T18:21:14.858Z'
                  currency: 'USD,EUR,NZD'
                  fulfilled_date: '2021-03-31T18:21:14.858Z'
                  integration_context: string
                  modified_date_time: '2021-03-31T18:21:14.858Z'
                  notes:
                    - text: string
                      type: BackOrderMessage
                  order_id: string
                  order_number: string
                  order_url: string
                  original_order_source:
                    marketplace_code: string
                    order_id: string
                    source_id: string
                  paid_date: '2021-03-31T18:21:14.858Z'
                  payment:
                    adjustments:
                      - amount: string
                        description: string
                    amount_paid: string
                    coupon_code: string
                    label_voucher: string
                    payment_id: string
                    payment_method: string
                    payment_status: AwaitingPayment
                    shipping_charges:
                      - amount: string
                        description: string
                    taxes:
                      - amount: string
                        description: string
                  requested_fulfillments:
                    - branding:
                        company_name: string
                        packing_slip:
                          url: string
                      extensions:
                        custom_field_1: string
                        custom_field_2: string
                        custom_field_3: string
                      items:
                        - adjustments:
                            - amount: string
                              description: string
                          description: string
                          item_url: string
                          line_item_id: string
                          modified_date_time: '2021-03-31T18:21:14.858Z'
                          product:
                            description: string
                            details:
                              - name: Color
                                value: Red
                            dimensions:
                              height: 0
                              length: 0
                              unit: Centimeter
                              width: 0
                            identifiers:
                              asin: string
                              fulfillment_sku: string
                              inventory_id: string
                              isbn: string
                              sku: string
                              upc: string
                            location: string
                            name: string
                            product_id: string
                            unit_code: 0
                            urls:
                              image_url: string
                              product_url: string
                              thumbnail_url: string
                            weight:
                              unit: Gram
                              value: string
                          quantity: 0
                          shipping_charges:
                            - amount: string
                              description: string
                          taxes:
                            - amount: string
                              description: string
                          unit_price: 0
                      requested_fulfillment_id: string
                      ship_to:
                        address_line_1: string
                        address_line_2: string
                        address_line_3: string
                        city: string
                        company: string
                        country_code: 'US,MX,CA'
                        is_verified: true
                        name: string
                        first_name: string
                        last_name: string
                        phone: string
                        pickup_location:
                          carrier_id: string
                          relay_id: string
                        postal_code: string
                        residential_indicator: R
                        state_province: string
                      shipping_preferences:
                        additional_handling: true
                        bill_duties_to_sender: true
                        deliver_by_date: '2021-03-31T18:21:14.858Z'
                        digital_fulfillment: true
                        do_not_prepay_postage: true
                        documents:
                          - data: string
                            format: PDF
                            type:
                              - commercial_invoice
                        gift: true
                        has_alcohol: true
                        hold_until_date: '2021-03-31T18:21:14.858Z'
                        insurance_requested: true
                        insured_value: 0
                        is_premium_program: true
                        non_machinable: true
                        package_type: string
                        premium_program_name: string
                        preplanned_fulfillment_id: string
                        ready_to_ship_date: '2021-03-31T18:21:14.858Z'
                        requested_warehouse: string
                        saturday_delivery: true
                        ship_by_date: '2021-03-31T18:21:14.858Z'
                        shipping_service: string
                        show_postage: true
                        suppress_email_notify: true
                        suppress_marketplace_notify: true
                  ship_from:
                    address_line_1: string
                    address_line_2: string
                    address_line_3: string
                    city: string
                    company: string
                    country_code: 'US,MX,CA'
                    is_verified: true
                    name: string
                    first_name: string
                    last_name: string
                    phone: string
                    pickup_location:
                      carrier_id: string
                      relay_id: string
                    postal_code: string
                    residential_indicator: R
                    state_province: string
                  status: AwaitingPayment
        description: ''
      parameters:
        - schema:
            type: string
          in: header
          name: tenant-id
    parameters: []
  /get_fulfillments:
    post:
      summary: Get Fulfillments
      operationId: post-fulfillment-status
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  fulfillment_provider_order_id:
                    type: string
                  status:
                    type: string
                  fulfillments:
                    type: array
                    items:
                      $ref: '#/components/schemas/SalesOrderFulfillment'
                  shipments:
                    type: array
                    items:
                      $ref: '#/components/schemas/ShipmentNotification'
                  polling:
                    type: object
                    properties:
                      is_final_update_state:
                        type: boolean
                      max_age_seconds:
                        type: number
                  errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/GetFulfillmentsError'
                required:
                  - fulfillment_provider_order_id
              examples:
                example-1:
                  value:
                    fulfillment_provider_order_id: string
                    status: string
                    fulfillments:
                      - status: Processing
                        reason: string
                        explanation: string
                        line_items:
                          - line_item_id: string
                            sku: string
                            quantity: 0
                    shipments:
                      - carrier_code: string
                        carrier_service_code: string
                        currency: 'USD,EUR,NZD'
                        ext_location_id: string
                        fulfillment_cost: 0
                        insurance_cost: 0
                        integration_context: {}
                        items:
                          - description: string
                            line_item_id: string
                            product_id: string
                            quantity: 0
                            sku: string
                        notes:
                          - text: string
                            type: BackOrderMessage
                        notification_id: string
                        notify_buyer: true
                        order_id: string
                        order_number: string
                        return_address:
                          address_line_1: string
                          address_line_2: string
                          address_line_3: string
                          city: string
                          company: string
                          country_code: 'US,MX,CA'
                          is_verified: true
                          name: string
                          first_name: string
                          last_name: string
                          phone: string
                          pickup_location:
                            carrier_id: string
                            relay_id: string
                          postal_code: string
                          residential_indicator: R
                          state_province: string
                        ship_date: '2021-03-31T18:21:14.858Z'
                        ship_from:
                          address_line_1: string
                          address_line_2: string
                          address_line_3: string
                          city: string
                          company: string
                          country_code: 'US,MX,CA'
                          is_verified: true
                          name: string
                          first_name: string
                          last_name: string
                          phone: string
                          pickup_location:
                            carrier_id: string
                            relay_id: string
                          postal_code: string
                          residential_indicator: R
                          state_province: string
                        ship_to:
                          address_line_1: string
                          address_line_2: string
                          address_line_3: string
                          city: string
                          company: string
                          country_code: 'US,MX,CA'
                          is_verified: true
                          name: string
                          first_name: string
                          last_name: string
                          phone: string
                          pickup_location:
                            carrier_id: string
                            relay_id: string
                          postal_code: string
                          residential_indicator: R
                          state_province: string
                        tracking_number: string
                        tracking_url: string
                    polling:
                      is_final_update_state: true
                      max_age_seconds: 0
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                auth:
                  $ref: '#/components/schemas/Auth'
                fulfillment_provider_order_id:
                  type: string
              required:
                - auth
                - fulfillment_provider_order_id
      description: |-
        Returns a list of fulfillments that the fulfillment provider has decided to use to fulfill an order.  It may return only a root level status, which indicates a single status for all line items on an order.  It may also return a list of fulfillments, their status, and the line items included in that fulfillment.  Fulfillments may or may not match a list of shipments, this is completely up to the fulfillment provider.

        To communicate that the results for an order will no longer change the polling fields is_final_update_state should be set to true.  

        The polling fields max_age_seconds refers to the expected cachable time of this result.

        To instead return a list of changes on a periodic basis, refer to the /get_recent_changes path instead.
      parameters:
        - schema:
            type: string
          in: header
          name: tenant-id
    parameters: []
  /get_rates:
    post:
      summary: Get Estimated Rates
      operationId: post-rates
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRatesResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                advanced_options:
                  type: object
                  description: 'This is a schemaless object. It is for open ended customizations unique to particular carriers. If the field is absent it should be interpreted as the default value for any applicable options, e.g. false for booleans.'
                auth:
                  $ref: '#/components/schemas/Auth'
                confirmation:
                  $ref: '#/components/schemas/DeliveryConfirmation'
                customs:
                  $ref: '#/components/schemas/Customs'
                fulfillment_plan_details:
                  $ref: '#/components/schemas/FulfillmentPlanDetails'
                insurance_provider:
                  type: string
                  description: 'The insurance provider for the insured value of the label, carrier indicates that the user is requesting insurance from the carrier directly, anything else is extra information that should not result in a transaction.'
                  enum:
                    - None
                    - Shipstation
                    - Carrier
                    - External
                international:
                  type: boolean
                  description: Indicates Whether the shipment is international.
                is_return_label:
                  type: boolean
                  description: Indicates whether the label is a return.
                is_residential:
                  type: boolean
                  description: Indicates whether the label is to a residential address.
                next_day:
                  type: boolean
                  description: Indicates whether this shipment is expected to use a next day service class. If the field is absent it should be interpreted as false
                packages:
                  type: string
                  description: All the packages that make up this shipment. There will always be at least one package defined.
                pickup_location:
                  $ref: '#/components/schemas/PickupLocationDetails'
                service_code:
                  type: string
                  description: Code used to map to what the carrier uses to identify the service.
                ship_datetime:
                  type: string
                  description: 'When the package is expected to ship. Not guaranteed to be in the future. Formatted per the https://tools.ietf.org/html/rfc3339 spec. Will always be in UTC.'
                ship_from:
                  $ref: '#/components/schemas/ShippingAddress'
                ship_from_display:
                  $ref: '#/components/schemas/ShippingAddress'
                ship_to:
                  $ref: '#/components/schemas/ShippingAddress'
      description: This method get possible rates for labels between two addresses.
      parameters:
        - schema:
            type: string
          in: header
          name: tenant-id
    parameters: []
  /get_recent_changes:
    parameters: []
    post:
      summary: Get Recent Changes
      operationId: post-fulfillment-get-recent-changes
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  changes:
                    type: array
                    items:
                      $ref: '#/components/schemas/SalesOrderFulfillment'
                  next_request:
                    type: string
      description: |-
        Receives a timestamp of the last time requested changes was made, automatically buffered to include duplicate results to prevent skipping time.

        Returns a list of changes. These changes include fulfillments that the fulfillment provider has decided to use to fulfill an order.  It may return only an order level status, which indicates a single status for all line items on an order.  It may also return a list of fulfillments, their status, and the line items included in that fulfillment.  Fulfillments may or may not match a list of shipments, this is completely up to the fulfillment provider.

        To instead return status on single orders at a time , refer to the /get_fulfillments path instead.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                auth:
                  $ref: '#/components/schemas/Auth'
                next_request:
                  type:
                    - object
                    - string
                since:
                  type: string
            examples: {}
      parameters:
        - schema:
            type: string
          in: header
          name: tenant-id
  /get_inventory:
    post:
      summary: Get Inventory
      operationId: post-get-inventory
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  inventory:
                    type: object
                    properties:
                      sku:
                        type: string
                      warehouse_id:
                        type: string
                      available_quantity:
                        type: string
                      committed_quantity:
                        type: string
                      on_hand_quantity:
                        type: string
                      additional_quantities:
                        type: array
                        items:
                          type: object
                          properties:
                            additional_quantity:
                              type: string
                            type:
                              type: string
                            label:
                              type: string
                  next_request:
                    type:
                      - string
                      - object
              examples:
                example-1:
                  value:
                    inventory:
                      sku: string
                      warehouse_id: string
                      available_quantity: string
                      committed_quantity: string
                      on_hand_quantity: string
                      additional_quantities:
                        - additional_quantity: string
                          type: string
                          label: string
                    next_request: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                auth:
                  $ref: '#/components/schemas/Auth'
                next_request:
                  type:
                    - object
                    - string
              required:
                - auth
      description: Return the inventory that a fulfillment provider currently has for this merchant.  Pagination is supplied via the next_request field.  Pagination requests will be made until next_request is set to null.  This is an optional path only for fulfillment providers who support inventory and are added as inventory provider integrations.
    parameters: []
components:
  schemas:
    Address:
      title: Address
      type: object
      description: This defines the shape of an address
      properties:
        address_line_1:
          type: string
          description: The first line of the address
        address_line_2:
          type: string
          description: The second line of the address
        address_line_3:
          type: string
          description: The third line of the address
        city:
          type: string
          description: The city associated with this address
        company:
          type: string
          description: The name of the company associated with this address
        country_code:
          type: string
          description: The two character ISO 3166 country code of this address
          example: 'US,MX,CA'
        is_verified:
          type: boolean
          description: Indicates whether or not this address has been verified using an Address Verification Service
        name:
          type: string
          description: The full name of the contact associated with this address
        first_name:
          type: string
          description: The first name of the contact associated with this address
        last_name:
          type: string
          description: The last name of the contact associated with this address
        phone:
          type: string
          description: The phone number associated with this address
        pickup_location:
          $ref: '#/components/schemas/PickupLocation'
        postal_code:
          type: string
          description: The postal code associated with this address
        residential_indicator:
          type: string
          description: Indicates this is a residential or commercial address
          enum:
            - R
            - C
            - 'null'
        state_province:
          type: string
          description: 'The state, province, or municipality of the address'
    Auth:
      title: Auth
      type: object
      description: Authentication properties
      properties:
        access_token:
          type: string
          description: Custom Value 1
        api_key:
          type: string
          description: Custom Value 2
        connection_context:
          type: string
          description: Custom Value 3
        fulfillment_provider_api_code:
          type: string
        password:
          type: string
        url:
          type: string
        username:
          type: string
      required:
        - fulfillment_provider_api_code
    BillingCategory:
      type: string
      title: BillingCategory
      description: This table lists the valid values for billing categories.
      enum:
        - uncategorized
        - shipping
        - insurance
        - confirm
        - discount
        - fuel_charge
        - additional_fees
        - tariff
        - tax
        - delivery
        - handling
        - special_goods
        - pickup
        - location_fee
        - oversize
        - returns
        - notifications
    BillingLineItem:
      title: Billing Line Item
      type: object
      properties:
        billing_category:
          $ref: '#/components/schemas/BillingCategory'
        carrier_description:
          type: string
          description: If the carrier provides a description from their API about the billing charge (not specific to the user). Maximum length of 100 characters.
        carrier_billing_code:
          type: string
          description: If the carrier provides a billing code for the billing charge.
        memo:
          type: string
          description: 'This will often be empty; however, if there was additionally specific information about the charge it should go here, could also be a reference number. Maximum length of 250 characters.'
        amount:
          type: object
          required:
            - amount
            - currency
          description: Total amount and currency of the line item.
          properties:
            amount:
              type: string
              description: The amount of the line item.
            currency:
              type: string
              description: The currency of the line item.
      required:
        - billing_category
        - amount
      description: This table lists the properties of a billing line item object and identifies those properties that are required.
    BillTo:
      type: object
      title: BillTo
      description: This model represents information for who is being billed
      x-internal: false
      properties:
        address_line_1:
          type: string
          description: The first line of the address
        address_line_2:
          type: string
          description: The second line of the address
        address_line_3:
          type: string
          description: The third line of the address
        city:
          type: string
          description: The city associated with this address
        company:
          type: string
          description: The name of the company associated with this address
        country_code:
          type: string
          description: The two character ISO 3166 country code of this address
          example: 'US,MX,CA'
        email:
          type: string
          description: The email address of the person being billed
        is_verified:
          type: boolean
          description: Indicates whether or not this address has been verified using an Address Verification Service
        name:
          type: string
          description: The name of the individual associated with this address
        phone:
          type: string
          description: The phone number associated with this address
        pickup_location:
          $ref: '#/components/schemas/PickupLocation'
        postal_code:
          type: string
          description: The postal code associated with this address
        residential_indicator:
          type: string
          description: Indicates this is a residential or commercial address
          enum:
            - R
            - C
            - 'null'
        state_province:
          type: string
          description: 'The state, province, or municipality of the address'
      required:
        - address_line_1
        - address_line_2
        - address_line_3
        - city
        - company
        - country_code
        - name
        - phone
        - postal_code
        - state_province
    Branding:
      title: Branding
      type: object
      properties:
        company_name:
          type: string
        packing_slip:
          $ref: '#/components/schemas/PackingSlip'
      description: The brand requested for a fulfillment
    Buyer:
      title: Buyer
      type: object
      description: Contact information for the buyer of this sales order
      properties:
        buyer_id:
          type: string
          description: An ID for this buyer in the vendor API
        email:
          type: string
          description: The primary email address of the buyer
        name:
          type: string
          description: The full name of the buyer
        phone:
          type: string
          description: The primary phone number of the buyer
    Charge:
      title: Charge
      type: object
      description: This represents an amount charged
      properties:
        amount:
          type: string
          description: The amount of the currency
        description:
          type: string
          description: A description for display purposes only
      required:
        - amount
        - description
    CountryCode:
      type: string
      title: Country Code
      description: 'This is the list of ISO 3166-1 alpha-2 supported. You must use the specified abbreviation anytime a country is needed, such as in your Delivery Service Definition files in the availableCountries properties.'
      enum:
        - AF
        - AX
        - AL
        - DZ
        - AS
        - AD
        - AO
        - AI
        - AQ
        - AG
        - AR
        - AM
        - AW
        - AU
        - AT
        - AZ
        - BS
        - BH
        - BD
        - BB
        - BY
        - BE
        - BZ
        - BJ
        - BM
        - BT
        - BO
        - BA
        - BW
        - BV
        - BR
        - IO
        - BN
        - BG
        - BF
        - BI
        - KH
        - CM
        - CA
        - CV
        - KY
        - CF
        - TD
        - CL
        - CN
        - CX
        - CC
        - CO
        - KM
        - CG
        - CD
        - CK
        - CR
        - CI
        - HR
        - CU
        - CY
        - CZ
        - DK
        - DJ
        - DM
        - DO
        - EC
        - EG
        - SV
        - GQ
        - ER
        - EE
        - ET
        - FK
        - FO
        - FJ
        - FI
        - FR
        - GF
        - PF
        - TF
        - GA
        - GM
        - GE
        - DE
        - GH
        - GI
        - GR
        - GL
        - GD
        - GP
        - GU
        - GT
        - GG
        - GN
        - GW
        - GY
        - HT
        - HM
        - VA
        - HN
        - HK
        - HU
        - IS
        - IN
        - ID
        - IR
        - IQ
        - IE
        - IM
        - IL
        - IT
        - JM
        - JP
        - JE
        - JO
        - KZ
        - KE
        - KI
        - KR
        - KW
        - KG
        - LA
        - LV
        - LB
        - LS
        - LR
        - LY
        - LI
        - LT
        - LU
        - MO
        - MK
        - MG
        - MW
        - MY
        - MV
        - ML
        - MT
        - MH
        - MQ
        - MR
        - MU
        - YT
        - MX
        - FM
        - MD
        - MC
        - MN
        - ME
        - MS
        - MA
        - MZ
        - MM
        - NA
        - NR
        - NP
        - NL
        - AN
        - NC
        - NZ
        - NI
        - NE
        - NG
        - NU
        - NF
        - MP
        - 'NO'
        - OM
        - PK
        - PW
        - PS
        - PA
        - PG
        - PY
        - PE
        - PH
        - PN
        - PL
        - PT
        - PR
        - QA
        - RE
        - RO
        - RU
        - RW
        - BL
        - SH
        - KN
        - LC
        - MF
        - PM
        - VC
        - WS
        - SM
        - ST
        - SA
        - SN
        - RS
        - SC
        - SL
        - SG
        - SK
        - SI
        - SB
        - SO
        - ZA
        - GS
        - ES
        - LK
        - SD
        - SR
        - SJ
        - SZ
        - SE
        - CH
        - SY
        - TW
        - TJ
        - TZ
        - TH
        - TL
        - TG
        - TK
        - TO
        - TT
        - TN
        - TR
        - TM
        - TC
        - TV
        - UG
        - UA
        - AE
        - GB
        - US
        - UM
        - UY
        - UZ
        - VU
        - VE
        - VN
        - VG
        - VI
        - WF
        - EH
        - YE
        - ZM
        - ZW
    Customs:
      title: Customs
      type: object
      description: Customs declarations for this package.
      properties:
        customs:
          type: object
          properties:
            contents:
              $ref: '#/components/schemas/DeliveryConfirmation'
            non_delivery:
              type: string
              description: 'Indicates what should be done if the package cannot be delivered. If undefined, the default behavior of the receiving country''s customs department applies, which may incur charges.'
              enum:
                - return_to_sender
                - treat_as_abandoned
            customs_items:
              type: array
              items:
                type: object
                properties:
                  description:
                    type: string
                    description: A description of the item. Usually required if type is other. This string will not contain newline characters.
                  quantity:
                    type: number
                    description: The quantity of items in the package.
                  value:
                    type: object
                    description: The monetary value of each unit in the package.
                    properties:
                      amount:
                        type: number
                        description: The amount of this value.
                      currency:
                        type: string
                        description: The currency that the value represents.
                  country_of_origin:
                    $ref: '#/components/schemas/CountryCode'
                  harmonized_tariff_code:
                    type: string
                    description: The Harmonized Tariff Code for the item. This string must not contain newline characters.
                  sku:
                    type: string
                    description: The Stock Keeping Unit of this customs item. This field is completely free form.
                  sku_description:
                    type: string
                    description: The user specified SKU description of this customs item. This field is completely free form.
                  item_weight:
                    $ref: '#/components/schemas/WeightDetails'
            buyer_shipping_amount_paid:
              type: object
              description: 'Indicates how much the buyer paid for shipping, if any. This amount may be different than the shipping cost billed to the shipper.'
              properties:
                amount:
                  type: number
                  description: The amount of this value.
                currency:
                  type: string
                  description: The currency that the value represents.
              required:
                - amount
                - currency
            duties_paid:
              type: object
              description: 'The amount of duties paid by the shipper, if any. This is generally only necessary for DDP (bill duties to sender) shipments.'
              properties:
                value:
                  type: number
                  description: The amount of this value.
                currency:
                  type: string
                  description: The currency that the value represents.
              required:
                - value
                - currency
          required:
            - customs_items
    DeliveryConfirmation:
      type: string
      title: DeliveryConfirmation
      description: This is the list of valid values for delivery confirmation types.
      enum:
        - None
        - Delivery
        - Signature
        - AdultSignature
        - DirectSignature
    DimensionDetails:
      title: Dimension Details
      type: object
      description: 'This model represents the dimensions for a package represented in its original unit, inches, and centimeters.'
      properties:
        dimensions_in_centimeters:
          $ref: '#/components/schemas/PackageDimension'
        dimension_in_inches:
          $ref: '#/components/schemas/PackageDimension'
        source_dimensions:
          $ref: '#/components/schemas/PackageDimension'
        source_dimensions_units:
          type: string
          description: The unit of the source dimensions. Either centimeters or inches.
      required:
        - dimensions_in_centimeters
        - dimension_in_inches
        - source_dimensions
        - source_dimensions_units
    Dimensions:
      title: Dimensions
      type: object
      description: The definition of dimensions for an item or package
      properties:
        height:
          type: number
          description: The height of the item in dimension units
        length:
          type: number
          description: The length of the item in dimension units
        unit:
          type: string
          description: The unit associated with these dimensions
          enum:
            - Centimeter
            - Inch
        width:
          type: number
          description: The width of the item in dimension units
      required:
        - height
        - length
        - unit
        - width
    Document:
      title: Document
      type: object
      properties:
        data:
          type: string
          description: Base64 encoded string of the document in the specified format
        format:
          type: string
          description: The format the document is in
          enum:
            - PDF
            - PNG
            - ZPL
        type:
          type: array
          description: 'Usually there will only be 1 type present, but sometimes multiple documents can be combined'
          items:
            type: string
            enum:
              - commercial_invoice
              - customs_form
              - label
      required:
        - format
    FulfillmentPlanDetails:
      title: Fulfillment Plan Details
      type: object
      description: An fulfillment plan details object representing a fulfilment plan.
      properties:
        external_sales_order_identifiers:
          type: array
          description: A list of identifiers for the sales order.
          items:
            $ref: '#/components/schemas/Identifier'
        items:
          type: array
          items:
            $ref: '#/components/schemas/FulfillmentPlanDetails'
        raw_external_source:
          type: object
          required:
            - marketplace_code
          description: This model represents a raw external source of information.
          properties:
            marketplace_code:
              type: string
              description: Canonical representation of the fulfillment plan's and/or sales order's original source.
      required:
        - raw_external_source
    FulfillmentPlanItem:
      title: Fulfillment Plan Item
      type: object
      properties:
        external_sales_order_identifiers:
          type: array
          description: A list of identifiers for the sales order item.
          items:
            $ref: '#/components/schemas/Identifier'
        external_product_identifiers:
          type: array
          description: A list of identifiers specific to the selling channel.
          items:
            $ref: '#/components/schemas/Identifier'
        name:
          type: string
          description: The name of the item.
        quantity:
          type: number
          description: The number of items.
      description: An fulfillment plan item object representing a single item on a fulfilment plan.
    Identifier:
      title: Identifier
      type: object
      description: An identifier object is used to describe any identifier used through out Connect.
      properties:
        type:
          type: string
          description: They key associated with the identifier. Examples include tracking_number or carrier_transaction_id.
        value:
          type: string
          description: The value of the identifier.
      required:
        - type
        - value
    GetRatesRequest:
      title: Get Rates Request
      type: object
      description: An object containing information about the shipment to get rates for. The more information provided the more accurate rates (usually).
      properties:
        service_code:
          type: string
          description: Code used to map to what the carrier uses to identify the service.
        ship_datetime:
          type: string
          description: 'When the package is expected to ship. Not guaranteed to be in the future. Formatted per the https://tools.ietf.org/html/rfc3339 spec. Will always be in UTC.'
        confirmation:
          $ref: '#/components/schemas/DeliveryConfirmation'
        advanced_options:
          type: object
          description: 'This is a schemaless object. It is for open ended customizations unique to particular carriers. If the field is absent it should be interpreted as the default value for any applicable options, e.g. false for booleans.'
        insurance_provider:
          type: string
          description: 'The insurance provider for the insured value of the label, carrier indicates that the user is requesting insurance from the carrier directly, anything else is extra information that should not result in a transaction.'
          enum:
            - None
            - Shipstation
            - Carrier
            - External
        is_return_label:
          type: boolean
          description: Indicates whether the label is a return.
        is_residential:
          type: boolean
          description: Indicates whether the label is to a residential address.
        packages:
          type: string
          description: All the packages that make up this shipment. There will always be at least one package defined.
        customs:
          $ref: '#/components/schemas/Customs'
        ship_to:
          $ref: '#/components/schemas/ShippingAddress'
        ship_from:
          $ref: '#/components/schemas/ShippingAddress'
        pickup_location:
          $ref: '#/components/schemas/PickupLocationDetails'
        ship_from_display:
          $ref: '#/components/schemas/ShippingAddress'
        next_day:
          type: boolean
          description: Indicates whether this shipment is expected to use a next day service class. If the field is absent it should be interpreted as false
        international:
          type: boolean
          description: Indicates Whether the shipment is international.
        fulfillment_plan_details:
          $ref: '#/components/schemas/FulfillmentPlanDetails'
      required:
        - ship_datetime
    GetRatesResponse:
      title: Get Rates Response
      type: object
      description: This object model represents the response from a successful get rates request.
      properties:
        rates:
          type: array
          description: A list of rates for shipping services. If you use service codes there may be exactly one rate returned for the requested service. If you use service codes there may be more than one rate to provide additional options. If you don't use service codes there may be one or more rates. If you don't provide real time rates you should return a single hard coded zero value rate.
          items:
            type: object
            properties:
              billing_line_items:
                description: Individual Billing Line items for the rate.
                type: array
                items:
                  $ref: '#/components/schemas/BillingLineItem'
              error_messages:
                type: array
                description: Any error messages that resulted while trying to get the rate.
                items:
                  type: string
              estimated_delivery_datetime:
                type: string
                description: 'When the package(s) in this shipment are expected to arrive at their destination. Formatted per the https://tools.ietf.org/html/rfc3339 spec. Must be in UTC.'
              negotiated_rate:
                type: boolean
                description: Indicates whether this is a pre-negotiated rate.
              service_code:
                type: string
                description: 'The service code uniquely identifies a shipping service that you offer. Which service codes can be passed to you will be configured in ShipEngine. If this field is missing, the rate will be discarded.'
              ship_datetime:
                type: string
                description: 'When the package should ship for this rate to be valid. Formatted per the https://tools.ietf.org/html/rfc3339 spec. Must be in UTC.'
              warning_messages:
                type: array
                description: Any warning messages that resulted while trying to get the rate.
                items:
                  type: string
      required:
        - rates
    Note:
      title: Note
      type: object
      description: 'This represents a note to the buyer, seller, or recipient'
      properties:
        text:
          type: string
          description: The contents of the note
        type:
          $ref: '#/components/schemas/NoteType'
      required:
        - text
        - type
    NoteType:
      type: string
      title: NoteType
      description: The standardized type associated with a note
      enum:
        - BackOrderMessage
        - ConditionNote
        - FeedbackMessage
        - GiftMessage
        - InStockMessage
        - InternalNotes
        - MPN
        - NotesFromBuyer
        - NotesToBuyer
        - Other
        - OutOfStockMessage
        - Reason
        - SpecialInstructions
        - WarningLabel
    OriginalOrderSource:
      title: OriginalOrderSource
      type: object
      description: Represents information from the source marketplace. (This is common with reselling goods)
      properties:
        marketplace_code:
          type: string
          description: The code for the type of marketplace
        order_id:
          type: string
          description: The unique identifier for the order at the source marketplace
        source_id:
          type: string
          description: A unique identifier for the source marketplace
    PackingSlip:
      title: PackingSlip
      type: object
      description: Packing slip details for a fulfillment brand
      properties:
        url:
          type: string
          description: The url from which the packing slip can be downloaded
      required:
        - url
    Package:
      title: Package
      type: object
      description: The new package object describes the package information needed when creating a new label.
      properties:
        package_code:
          type: string
          description: Optional code used to map to what the carrier uses to identify the packaging.
        dimension_details:
          $ref: '#/components/schemas/DimensionDetails'
        weight_details:
          $ref: '#/components/schemas/WeightDetails'
        insured_value:
          type: object
          description: The insured value of this shipment.
          required:
            - amount
            - currency
          properties:
            amount:
              type: number
              description: The value of the insured amount.
            currency:
              type: string
              description: The currency that the value represents.
        label_messages:
          type: object
          description: User defined messages for the label.
          properties:
            reference1:
              type: string
              description: The first custom message text.
            reference2:
              type: string
              description: The second custom message text.
            reference3:
              type: string
              description: The third custom message text.
        customs:
          $ref: '#/components/schemas/Customs'
      required:
        - insured_value
        - customs
    PackageDimension:
      title: Package Dimension
      type: object
      description: This model represents the measurements for dimensions.
      properties:
        length:
          type: number
          description: The length of the package.
        width:
          type: number
          description: The width of the package.
        height:
          type: number
          description: The height of the package.
      required:
        - length
        - width
        - height
    Payment:
      title: Payment
      type: object
      properties:
        adjustments:
          type: array
          description: 'A list of adjustments applied that influence the order total. For example, promotions/discounts/coupons. The amount should always be a quantity of currency, not a percentage.'
          items:
            $ref: '#/components/schemas/Charge'
        amount_paid:
          type: string
          description: The amount of the currency
        coupon_code:
          type: string
          description: Coupon code applied to obtain a discount. The discount amounts should be included as one of the adjustments.
        label_voucher:
          type: string
        payment_id:
          type: string
          description: An ID for this payment in the vendor API
        payment_method:
          type: string
          description: The payment method
        payment_status:
          type: string
          description: The status of whether or not an order has been paid for
          enum:
            - AwaitingPayment
            - Other
            - Paid
            - PaymentCancelled
            - PaymentFailed
            - PaymentInProcess
        shipping_charges:
          type: array
          description: A list of shipping charges.
          items:
            $ref: '#/components/schemas/Charge'
        taxes:
          type: array
          description: A list of tax charges. The description can convey the jurisdiction
          items:
            $ref: '#/components/schemas/Charge'
    PickupLocation:
      title: PickupLocation
      type: object
      description: Describes information about a drop off / pickup location
      properties:
        carrier_id:
          type: string
          description: An id specific to the carrier about this drop off / pickup location
        relay_id:
          type: string
          description: The id of a relay point used for the drop off / pickup location
    PickupLocationDetails:
      title: PickupLocationDetails
      type: object
      properties:
        pickup_address:
          $ref: '#/components/schemas/ShippingAddress'
        location_notes:
          type: string
          description: Human readable location information for the driver to find the location.
        pickup_options:
          type: object
          description: Custom options that are used by the carrier to determine pickup locations.
      description: Pickup/Dropoff location address used by carriers.
    Product:
      title: Product
      type: object
      description: This represents a product
      properties:
        description:
          type: string
          description: The product description
        details:
          type: array
          description: A list of details associated with this product
          items:
            $ref: '#/components/schemas/ProductDetail'
        dimensions:
          $ref: '#/components/schemas/Dimensions'
        identifiers:
          $ref: '#/components/schemas/ProductIdentifiers'
        location:
          type: string
          description: The location the product can be found in a warehouse
        name:
          type: string
          description: The product name
        product_id:
          type: string
          description: This ID of this product in the vendor API
        unit_code:
          type: number
          description: The cost of a single product
        urls:
          $ref: '#/components/schemas/ProductUrls'
        weight:
          $ref: '#/components/schemas/Weight'
      required:
        - name
        - product_id
    ProductDetail:
      title: ProductDetail
      type: object
      description: Details about a product
      examples:
        - name: Color
          value: Red
      properties:
        name:
          type: string
          description: The type of the product detail. Example (non-exhaustive)
          enum:
            - Color
            - CountryOfManufacture
            - Shape
            - Size
            - Style
        value:
          type: string
          description: The value of the product detail
    ProductIdentifiers:
      title: ProductIdentifiers
      type: object
      description: A set of identifiers for a product
      properties:
        asin:
          type: string
          description: An Amazon standard identification number associated with a product
        fulfillment_sku:
          type: string
          description: A stock-keeping unit associated with the fulfillment of an order
        inventory_id:
          type: string
          description: The identifier needed to set and retrieve inventory levels
        isbn:
          type: string
          description: An international standard book number associated with a product
        sku:
          type: string
          description: A stock-keeping unit associated with a product by the order source
        upc:
          type: string
          description: A universal product code associated with a product
    ProductUrls:
      title: ProductUrls
      type: object
      description: The urls associated with a product
      properties:
        image_url:
          type: string
          description: A link to the image for a product if available
        product_url:
          type: string
          description: A link to the product page if available
        thumbnail_url:
          type: string
          description: A link to the image for use in platform thumbnails
    QuantityWithReason:
      title: QuantityWithReason
      type: object
      properties:
        quantity:
          type: number
        reason:
          type: string
    RequestedFulfillmentExtensions:
      title: RequestedFulfillmentExtensions
      type: object
      properties:
        custom_field_1:
          type: string
          description: Custom field 1
        custom_field_2:
          type: string
          description: Custom field 2
        custom_field_3:
          type: string
          description: Custom field 3
      description: Additional information necessary for a requested fulfillment
    RequestedFulfillment:
      title: RequestedFulfillment
      type: object
      description: The fulfillment requested by the marketplace or the buyer
      properties:
        branding:
          $ref: '#/components/schemas/Branding'
        extensions:
          $ref: '#/components/schemas/RequestedFulfillmentExtensions'
        items:
          type: array
          description: The items that should be shipped
          items:
            $ref: '#/components/schemas/SalesOrderItem'
        requested_fulfillment_id:
          type: string
          description: Identifier for the requested fulfillment from the order source
        ship_to:
          $ref: '#/components/schemas/Address'
        shipping_preferences:
          $ref: '#/components/schemas/ShippingPreferences'
      required:
        - items
        - ship_to
    SalesOrderItem:
      title: SalesOrderItem
      type: object
      description: An individual item in a sales order
      properties:
        adjustments:
          type: array
          description: 'A list of adjustments applied that influence the order total. For example, promotions/discounts/coupons. The amount should always be a quantify of currency, not a percentage.'
          items:
            $ref: '#/components/schemas/Charge'
        description:
          type: string
          description: A description of the sales order item - which may differ from the product description
        item_url:
          type: string
          description: The url for the item being purchased
        line_item_id:
          type: string
          description: An ID for the line item for the vendor API
        modified_date_time:
          type: string
          description: The (ISO 8601) datetime (UTC) associated with when this item was last modified
          example: '2021-03-31T18:21:14.858Z'
        product:
          $ref: '#/components/schemas/Product'
        quantity:
          type: number
          description: The item quantity for this sales order item
        shipping_charges:
          type: array
          description: A list of shipping charges
          items:
            $ref: '#/components/schemas/Charge'
        taxes:
          type: array
          description: A list of tax charges. The description can convey the jurisdiction.
          items:
            $ref: '#/components/schemas/Charge'
        unit_price:
          type: number
      required:
        - description
        - quantity
    SalesOrderFulfillmentStatus:
      type: string
      title: SalesOrderFulfillmentStatus
      enum:
        - Processing
        - Cancelled
        - Rejected
        - Shipped
    SalesOrderFulfillment:
      title: SalesOrderFulfillment
      type: object
      description: Represents a status change update for a sales order
      properties:
        status:
          $ref: '#/components/schemas/SalesOrderFulfillmentStatus'
        reason:
          type: string
        explanation:
          type: string
        line_items:
          type: array
          items:
            $ref: '#/components/schemas/FulfillmentLineItem'
    ShipmentNotification:
      title: ShipmentNotification
      type: object
      properties:
        carrier_code:
          type: string
          description: The carrier code the order was shipped through
        carrier_service_code:
          type: string
          description: The shipping service used to ship this order
        currency:
          type: string
          description: The (ISO 4217) code describing the currency used for all amounts on this payload.
          example: 'USD,EUR,NZD'
        ext_location_id:
          type: string
          description: The order source's identifier for the location that items were shipped from
        fulfillment_cost:
          type: number
          description: The amount of money it cost to fulfill this shipment
        insurance_cost:
          type: number
          description: The total amount of insurance purchased
        integration_context:
          type: object
          description: The integration context specified on the ExportSalesOrders response
        items:
          type: array
          description: The items shipped in this shipment
          items:
            $ref: '#/components/schemas/ShipmentNotificationItem'
        notes:
          type: array
          description: Additional notes associated with this notification or its sales order
          items:
            $ref: '#/components/schemas/Note'
        notification_id:
          type: string
          description: A unique identifier to correlate this shipment notification with its result in the response
        notify_buyer:
          type: boolean
          description: Indicates whether or not the buyer should be notified that this item has been shipped
        order_id:
          type: string
          description: The unique identifier of the sales order from the order source
        order_number:
          type: string
          description: The customer facing identifier of the sales order
        return_address:
          $ref: '#/components/schemas/Address'
        ship_date:
          type: string
          description: The (ISO 8601) datetime (UTC) associated with when this item was last modified
          example: '2021-03-31T18:21:14.858Z'
        ship_from:
          $ref: '#/components/schemas/Address'
        ship_to:
          $ref: '#/components/schemas/Address'
        tracking_number:
          type: string
          description: The identifier provided by the fulfiller for tracking the delivery progress
        tracking_url:
          type: string
          description: The url where the shipment can be tracked
      required:
        - items
        - notification_id
        - order_id
      description: An individual notification that an order has been shipped
    ShipmentNotificationItem:
      title: ShipmentNotificationItem
      type: object
      properties:
        description:
          type: string
          description: A description of the sales order item - which may differ from the product description
        line_item_id:
          type: string
          description: The order source's unique identifier for the line item
        product_id:
          type: string
          description: This ID of this product in the vendor API
        quantity:
          type: number
          description: The number of items of this SKU that were shipped
        sku:
          type: string
          description: The unique identifier for the item that was shipped
      required:
        - description
        - quantity
    ShippingAddress:
      title: ShippingAddress
      type: object
      description: An address object representing address information.
      properties:
        name:
          type: string
          description: Name of the contact.
        first_name:
          type: string
          description: First or given name of the contact.
        last_name:
          type: string
          description: Last or family name of the contact.
        email:
          type: string
          description: Email of the contact.
        phone_number:
          type: string
          description: Phone number of the contact. Cannot include newline chars.
        company_name:
          type: string
          description: 'Company name, if applicable. Cannot include newline chars.'
        address_lines:
          type: array
          description: Address fields separated by line. Up to 100 chars per line. Cannot include newline chars.
          items:
            type: string
        city_locality:
          type: string
          description: City or locality. Cannot contain newline chars.
        state_province:
          type: string
          description: State or province. Cannot contain newline chars.
        postal_code:
          type: string
          description: Zip or postal code. Cannot include newline chars.
        country_code:
          $ref: '#/components/schemas/CountryCode'
        address_residential_indicator:
          type: string
          description: Indicates whether the address is residential or commercial.
          enum:
            - unknown
            - 'yes'
            - 'no'
        is_eu:
          type: boolean
          description: Indicates whether the country of the shipment address is a member of the EU.
        address_metadata:
          type: object
          description: Schemaless object representing the metadata related to this address.
        tax_identifiers:
          type: object
          properties:
            id:
              type: string
              description: Identification number.
            type:
              type: string
              enum:
                - tin
                - ein
                - ssn
                - vat
                - eori
                - ioss
                - pan
                - voec
              description: The Tax ID type.
            registration_county:
              type: string
              description: The country where the Tax ID is registered with.
            description:
              type: string
              description: Description of the tax ID that may give the customs agent more context.
          required:
            - id
            - type
      required:
        - postal_code
        - country_code
    ShippingPreferences:
      title: ShippingPreferences
      type: object
      description: This represents the shipping preferences specified for an order
      properties:
        additional_handling:
          type: boolean
          description: Indicates whether or not this shipment will require additional handling
        bill_duties_to_sender:
          type: boolean
          description: Indicates whether duties should be billed to the sender of the package
        deliver_by_date:
          type: string
          description: The (ISO 8601) datetime (UTC) associated with when the order needs to be delivered by
          example: '2021-03-31T18:21:14.858Z'
        digital_fulfillment:
          type: boolean
          description: Indicates whether or not the item being delivered is a digital good or not
        do_not_prepay_postage:
          type: boolean
          description: 'Indicates whether you must pay for postage at drop off, for carriers that usually require prepaid postage'
        documents:
          type: array
          description: Any documents relevant to shipping that the order source provides
          items:
            $ref: '#/components/schemas/Document'
        gift:
          type: boolean
          description: Indicates whether or not this order is a gift
        has_alcohol:
          type: boolean
          description: Indicates whether or not this order contains alcohol
        hold_until_date:
          type: string
          description: The (ISO 8601) datetime (UTC) associated with how long to hold the order
          example: '2021-03-31T18:21:14.858Z'
        insurance_requested:
          type: boolean
          description: Indicates whether or not insurance has been requested for shipping this order
        insured_value:
          type: number
          description: The amount of money being request for insurance on this shipment
        is_premium_program:
          type: boolean
          description: 'true if the order was placed under the terms of the order source''s premium program (Amazon Prime, Walmart+, etc)'
        non_machinable:
          type: boolean
          description: 'Indicates whether or not this order is nonmachinable (must be sorted outside of the standard, automated mail process)'
        package_type:
          type: string
          description: The requested package type for this fulfillment
        premium_program_name:
          type: string
          description: 'The name of the premium program, if any. This is for informational purposes. Consumers should base all logic on is_premium_program flag.'
        preplanned_fulfillment_id:
          type: string
          description: The identifer assigned by a fulfillment planning system at checkout (Delivery Options).
        ready_to_ship_date:
          type: string
          description: The (ISO 8601) datetime (UTC) associated with when the order is ready to ship
          example: '2021-03-31T18:21:14.858Z'
        requested_warehouse:
          type: string
          description: The warehouse name associated with the requested warehouse
        saturday_delivery:
          description: Indicates whether or not this order should be delivered on a saturday
          type: boolean
        ship_by_date:
          type: string
          description: The (ISO 8601) datetime (UTC) associated with when the order needs to be shipped by
          example: '2021-03-31T18:21:14.858Z'
        shipping_service:
          type: string
          description: The requested shipping service for this fulfillment
        show_postage:
          description: Indicates whether or not to allow display of postage paid on the shipping label
          type: boolean
        suppress_email_notify:
          type: boolean
          description: Indicates whether or not to supress email notifications to the buyer
        suppress_marketplace_notify:
          type: boolean
          description: Indicates whether or not to supress email notifications to the seller
    Weight:
      title: Weight
      type: object
      description: A measurement of weight
      properties:
        unit:
          type: string
          description: The unit this weight was measured in
          enum:
            - Gram
            - Kilogram
            - Ounce
            - Pound
        value:
          type: string
          description: The value of the weight in weight units
      required:
        - unit
        - value
    WeightDetails:
      title: Weight Details
      type: object
      description: 'This model represents the weight of a package represented in its original unit, ounces, and grams.'
      properties:
        weight_in_ounces:
          type: number
          description: The weight in ounces rounded to the fourth decimal place.
        weight_in_grams:
          type: number
          description: The weight in grams rounded to the fourth decimal place.
        source_weight:
          type: number
          description: The weight in the original dimensions rounded to the fourth decimal place.
        source_weight_unit:
          type: string
          description: The unit of the source dimensions. Either ounces or grams.
      required:
        - weight_in_ounces
        - weight_in_grams
        - source_weight
        - source_weight_unit
    FulfillmentLineItem:
      title: FulfillmentLineItem
      x-stoplight:
        id: 0wglkamy8lqi5
      type: object
      properties:
        line_item_id:
          type: string
        sku:
          type: string
        quantity:
          type: number
      required:
        - quantity
    SalesOrderFulfillments:
      title: SalesOrderFulfillments
      x-stoplight:
        id: 0mccgdffw5fq2
      type: object
      properties:
        fulfillment_provider_order_id:
          type: string
        status:
          $ref: '#/components/schemas/SalesOrderFulfillmentStatus'
        fulfillments:
          type: array
          items:
            $ref: '#/components/schemas/SalesOrderFulfillment'
        shipments:
          type: array
          items:
            $ref: '#/components/schemas/ShipmentNotification'
      required:
        - fulfillment_provider_order_id
    GetFulfillmentsError:
      title: GetFulfillmentsError
      x-stoplight:
        id: 8mnh6631wyx16
      type: object
      properties:
        code:
          $ref: '#/components/schemas/GetFulfillmentsErrorCode'
        message:
          type: string
    GetFulfillmentsErrorCode:
      type: string
      title: GetFulfillmentsErrorCode
      x-stoplight:
        id: dzb4hofw881kj
      enum:
        - fulfillments_not_found
    ConnectErrorCode:
      type: string
      title: ConnectErrorCode
      x-stoplight:
        id: vy21oyz941sk2
      enum:
        - credentials_invalid
        - permissions_invalid
    ConnectError:
      title: ConnectError
      x-stoplight:
        id: lmd9k86jy1e28
      type: object
      properties:
        code:
          $ref: '#/components/schemas/ConnectErrorCode'
        message:
          type: string
  requestBodies: {}
