{
  "openapi": "3.0.1",
  "info": {
    "title": "Fulfillment Provider API",
    "description": "This API specification describes the canonical ShipEngine Fulfillmen Provider module. A module which implements this specification can be integrated with the ShipEngine Fulfillments Platform as a Fulfillment Provider.",
    "contact": {
      "name": "ShipEngine Connect",
      "url": "https://connect.shipengine.com/",
      "email": "connect@shipengine.com"
    },
    "license": {
      "name": "Apache-2.0",
      "url": "https://www.apache.org/licenses/LICENSE-2.0"
    },
    "version": "2.0.0"
  },
  "paths": {
    "/cancel_fulfillment": {
      "post": {
        "summary": "Cancel Fulfillment",
        "operationId": "post-cancel-fulfillment",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "example": {

                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "transaction_id": {
                    "type": "string",
                    "description": "A randomly generated transaction ID, used to correlate the request and response.",
                    "format": "guid",
                    "example": "8e4e3181-2a7e-4153-ba6a-f2d6e121500b"
                  },
                  "auth": {
                    "$ref": "#/components/schemas/Auth"
                  },
                  "fulfillment_provider_order_id": {
                    "type": "string",
                    "description": "Fulfillment provider order ID of the fulfillment to request to be cancelled.",
                    "example": "3b5aa32d-c082-4058-9c7a-1b523d431b52"
                  },
                  "reason": {
                    "type": "string",
                    "description": "The reason for requesting a cancellation.",
                    "example": "Customer changed their order"
                  }
                },
                "required": [
                  "transaction_id",
                  "auth",
                  "fulfillment_provider_order_id",
                  "reason"
                ]
              }
            }
          }
        },
        "description": "Starts the cancellation process for a requested fulfillment. Fulfillment Provider Order ID was originally returned from the delegate fulfillment method. Status code 200 means the cancellation request was accepted."
      },
      "parameters": []
    },
    "/delegate_fulfillment": {
      "post": {
        "summary": "Delegate Fulfillment",
        "operationId": "post-delegate-fulfillment",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "fulfillment_provider_order_id": {
                      "type": "string",
                      "example": "3b5aa32d-c082-4058-9c7a-1b523d431b52"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Send an order to the fulfillment provider. Returns a Fufillment Provider Order ID used on other methods referencing this requested fulfillment.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "transaction_id": {
                    "type": "string",
                    "description": "A randomly generated transaction ID, used to correlate the request and response",
                    "format": "guid",
                    "example": "8e4e3181-2a7e-4153-ba6a-f2d6e121500b"
                  },
                  "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": [
                  "transaction_id",
                  "auth",
                  "requested_fulfillments",
                  "status"
                ]
              },
              "example": {
                "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": []
    },
    "/get_fulfillments": {
      "post": {
        "summary": "Get Fulfillments",
        "operationId": "post-get-fulfillments",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "fulfillment_provider_order_id": {
                      "type": "string",
                      "example": "3b5aa32d-c082-4058-9c7a-1b523d431b52"
                    },
                    "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"
                  ]
                },
                "example": {
                  "fulfillment_provider_order_id": "3b5aa32d-c082-4058-9c7a-1b523d431b52",
                  "status": "Shipped",
                  "fulfillments": [
                    {
                      "status": "Shipped",
                      "line_items": [
                        {
                          "line_item_id": "95dcceef-e500-4da0-9c03-eec73bb763bf",
                          "sku": "sku-123",
                          "quantity": 1
                        }
                      ]
                    }
                  ],
                  "shipments": [
                    {
                      "carrier_code": "UPS",
                      "carrier_service_code": "Expedited",
                      "items": [
                        {
                          "line_item_id": "95dcceef-e500-4da0-9c03-eec73bb763bf",
                          "product_id": "sku-123",
                          "quantity": 1,
                          "sku": "sku-123"
                        }
                      ],
                      "notification_id": "f56f941a-43a6-41da-b056-7cba2c6c7493",
                      "notify_buyer": true,
                      "order_id": "3b5aa32d-c082-4058-9c7a-1b523d431b52",
                      "ship_date": "2021-03-31T18:21:14.858Z",
                      "ship_from": {
                        "address_line_1": "123 Boxing St",
                        "city": "New York",
                        "country_code": "US",
                        "is_verified": true,
                        "name": "John Doe",
                        "first_name": "John",
                        "last_name": "Doe",
                        "phone": "555-555-5555",
                        "postal_code": "55555",
                        "residential_indicator": "R",
                        "state_province": "NY"
                      },
                      "ship_to": {
                        "address_line_1": "123 Boxing St",
                        "city": "New York",
                        "country_code": "US",
                        "is_verified": true,
                        "name": "John Doe",
                        "first_name": "John",
                        "last_name": "Doe",
                        "phone": "555-555-5555",
                        "postal_code": "55555",
                        "residential_indicator": "R",
                        "state_province": "NY"
                      },
                      "tracking_number": "UPSEXP444"
                    }
                  ],
                  "polling": {
                    "is_final_update_state": true
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "transaction_id": {
                    "type": "string",
                    "description": "A randomly generated transaction ID, used to correlate the request and response.",
                    "format": "guid",
                    "example": "8e4e3181-2a7e-4153-ba6a-f2d6e121500b"
                  },
                  "auth": {
                    "$ref": "#/components/schemas/Auth"
                  },
                  "fulfillment_provider_order_id": {
                    "type": "string",
                    "example": "3b5aa32d-c082-4058-9c7a-1b523d431b52"
                  }
                },
                "required": [
                  "transaction_id",
                  "auth",
                  "fulfillment_provider_order_id"
                ]
              }
            }
          }
        },
        "description": "Returns the fulfillment provider shipping status of all line items from a requested fulfillment."
      },
      "parameters": []
    },
    "/get_rates": {
      "post": {
        "summary": "Get Rates",
        "operationId": "post-get-rates",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetRatesResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "transaction_id": {
                    "type": "string",
                    "description": "A randomly generated transaction ID, used to correlate the request and response.",
                    "format": "guid",
                    "example": "8e4e3181-2a7e-4153-ba6a-f2d6e121500b"
                  },
                  "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"
                  }
                },
                "required": ["transaction_id","auth"]
              }
            }
          }
        },
        "description": "This method get possible rates for labels between two addresses."
      },
      "parameters": []
    },
    "/get_recent_changes": {
      "parameters": [],
      "post": {
        "summary": "Get Recent Changes",
        "operationId": "post-get-recent-changes",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "changes": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SalesOrderFulfillments"
                      }
                    },
                    "next_request": {
                      "oneOf": [
                        { "type": "string" },
                        { "type": "object" }
                      ],
                      "example": {
                        "next_page": "0289ef4c"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Returns shipping statuses for fulfillments that have been updated since a specific date and time. Pagination is available in the next_request fields. Return the next expected request in the next_request response field. Pagination ends when the next_request response field is empty.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "transaction_id": {
                    "type": "string",
                    "description": "A randomly generated transaction ID, used to correlate the request and response.",
                    "format": "guid",
                    "example": "8e4e3181-2a7e-4153-ba6a-f2d6e121500b"
                  },
                  "auth": {
                    "$ref": "#/components/schemas/Auth"
                  },
                  "next_request": {
                    "oneOf": [
                      { "type": "string" },
                      { "type": "object" }
                    ],
                    "example": null
                  },
                  "since": {
                    "type": "string",
                    "format": "date-time"
                  }
                },
                "required": ["transaction_id","auth","since"]
              },
              "examples": {}
            }
          }
        }
      }
    },
    "/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": {
                      "oneOf": [
                        { "type": "string" },
                        { "type": "object" }
                      ]
                    }
                  }
                },
                "example": {
                  "inventory": {
                    "sku": "sku-123",
                    "warehouse_id": "26d29491",
                    "available_quantity": "1",
                    "committed_quantity": "0",
                    "on_hand_quantity": "1",
                    "additional_quantities": [{
                      "additional_quantity": "42",
                      "type": "BLANK_BOX",
                      "label": "Amazon MCF Blank Box"
                    }]
                  },
                  "next_request": {
                    "next_page": "0289ef4c"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "transaction_id": {
                    "type": "string",
                    "description": "A randomly generated transaction ID, used to correlate the request and response.",
                    "format": "guid",
                    "example": "8e4e3181-2a7e-4153-ba6a-f2d6e121500b"
                  },
                  "auth": {
                    "$ref": "#/components/schemas/Auth"
                  },
                  "skus": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "example": "sku-123"
                    },
                    "description": "Comma separated list of skus to be used as filter criteria"                    
                  },
                  "next_request": {
                    "oneOf": [
                      { "type": "string" },
                      { "type": "object" }
                    ],
                    "example": null
                  }
                },
                "required": [
                  "transaction_id",
                  "auth"
                ]
              }
            }
          }
        },
        "description": "Returns the inventory level of skus within the fulfillment provider warehouses. Pagination is available in the next_request fields. Return the next expected request in the next_request response field. Pagination ends when the next_request response field is empty."
      },
      "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",
        "example": {
          "access_token": "0cbf28e21b84443b9a9b31c4067d4771",
          "fulfillment_provider_api_code": "test"
        },
        "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"
          },
          "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",
        "example": {
          "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"
        ],
        "example": "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",
            "example": "Shipped"
          },
          "explanation": {
            "type": "string",
            "example": "The items were shipped asap."
          },
          "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",
        "type": "object",
        "properties": {
          "line_item_id": {
            "type": "string",
            "example": "95dcceef-e500-4da0-9c03-eec73bb763bf"
          },
          "sku": {
            "type": "string",
            "example": "sku-123"
          },
          "quantity": {
            "type": "number",
            "example": 1
          }
        },
        "required": [
          "quantity"
        ]
      },
      "SalesOrderFulfillments": {
        "title": "SalesOrderFulfillments",
        "type": "object",
        "properties": {
          "fulfillment_provider_order_id": {
            "type": "string",
            "example": "3b5aa32d-c082-4058-9c7a-1b523d431b52"
          },
          "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",
        "type": "object",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/GetFulfillmentsErrorCode"
          },
          "message": {
            "type": "string"
          }
        }
      },
      "GetFulfillmentsErrorCode": {
        "type": "string",
        "title": "GetFulfillmentsErrorCode",
        "enum": [
          "fulfillments_not_found"
        ]
      },
      "ConnectErrorCode": {
        "type": "string",
        "title": "ConnectErrorCode",
        "enum": [
          "credentials_invalid",
          "permissions_invalid"
        ]
      },
      "ConnectError": {
        "title": "ConnectError",
        "type": "object",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/ConnectErrorCode"
          },
          "message": {
            "type": "string"
          }
        }
      }
    },
    "requestBodies": {}
  }
}