UNPKG

@shipengine/connect-fulfillment-provider-api

Version:

OpenAPI specification and TypeScript definitions for the Connect Fulfillment Provider API

1,481 lines (1,480 loc) 99.5 kB
{ "openapi": "3.0.1", "info": { "title": "Fulfillment Provider API", "description": "This API specification describes the canonical ShipEngine Fulfillment 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.1.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