DirectPurchaseRequest

The request schema for the directPurchaseShipment operation. When the channel type is Amazon, the shipTo address is not required and will be ignored.

E-CommerceMarketplaceSelling PartnerAmazonSeller CentralCatalogOrderInventoryFulfillmentMCPAgent Skills

Properties

Name Type Description
shipTo object The address where the shipment will be delivered. For vendor orders, shipTo information is pulled directly from the Amazon order.
shipFrom object The address where the package will be picked up.
returnTo object The address where the package will be returned if it cannot be delivered.
packages object
channelDetails object
labelSpecifications object The document (label) specifications requested. The default label returned is PNG DPI 203 4x6 if no label specification is provided. Requesting an invalid file format results in a failure.
View JSON Schema on GitHub

JSON Schema

amazon-seller-central-direct-purchase-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-seller-central/main/json-schema/amazon-seller-central-direct-purchase-request-schema.json",
  "title": "DirectPurchaseRequest",
  "description": "The request schema for the directPurchaseShipment operation. When the channel type is Amazon, the shipTo address is not required and will be ignored.",
  "x-generated": "2026-09-24",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-seller-central-shipping-api-openapi.yml#/components/schemas/DirectPurchaseRequest",
  "type": "object",
  "required": [
    "channelDetails"
  ],
  "properties": {
    "shipTo": {
      "description": "The address where the shipment will be delivered. For vendor orders, shipTo information is pulled directly from the Amazon order.",
      "$ref": "#/$defs/Address"
    },
    "shipFrom": {
      "description": "The address where the package will be picked up.",
      "$ref": "#/$defs/Address"
    },
    "returnTo": {
      "description": "The address where the package will be returned if it cannot be delivered.",
      "$ref": "#/$defs/Address"
    },
    "packages": {
      "$ref": "#/$defs/PackageList"
    },
    "channelDetails": {
      "$ref": "#/$defs/ChannelDetails"
    },
    "labelSpecifications": {
      "description": "The document (label) specifications requested. The default label returned is PNG DPI 203 4x6 if no label specification is provided. Requesting an invalid file format results in a failure.",
      "$ref": "#/$defs/RequestedDocumentSpecification"
    }
  },
  "$defs": {
    "Address": {
      "type": "object",
      "required": [
        "addressLine1",
        "city",
        "countryCode",
        "name",
        "postalCode",
        "stateOrRegion"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the person, business or institution at the address.",
          "minLength": 1,
          "maxLength": 50
        },
        "addressLine1": {
          "type": "string",
          "description": "The first line of the address.",
          "minLength": 1,
          "maxLength": 60
        },
        "addressLine2": {
          "type": "string",
          "description": "Additional address information, if required.",
          "minLength": 1,
          "maxLength": 60
        },
        "addressLine3": {
          "type": "string",
          "description": "Additional address information, if required.",
          "minLength": 1,
          "maxLength": 60
        },
        "companyName": {
          "type": "string",
          "description": "The name of the business or institution associated with the address."
        },
        "stateOrRegion": {
          "$ref": "#/$defs/StateOrRegion"
        },
        "city": {
          "$ref": "#/$defs/City"
        },
        "countryCode": {
          "$ref": "#/$defs/CountryCode"
        },
        "postalCode": {
          "$ref": "#/$defs/PostalCode"
        },
        "email": {
          "type": "string",
          "description": "The email address of the contact associated with the address.",
          "maxLength": 64
        },
        "phoneNumber": {
          "type": "string",
          "description": "The phone number of the person, business or institution located at that address, including the country calling code.",
          "minLength": 1,
          "maxLength": 20
        },
        "geocode": {
          "$ref": "#/$defs/Geocode"
        }
      },
      "description": "The address."
    },
    "AmazonOrderDetails": {
      "type": "object",
      "required": [
        "orderId"
      ],
      "properties": {
        "orderId": {
          "type": "string",
          "description": "The Amazon order ID associated with the Amazon order fulfilled by this shipment."
        }
      },
      "description": "Amazon order information. This is required if the shipment source channel is Amazon."
    },
    "AmazonShipmentDetails": {
      "type": "object",
      "required": [
        "shipmentId"
      ],
      "properties": {
        "shipmentId": {
          "type": "string",
          "description": "This attribute is required only for a Direct Fulfillment shipment. This is the encrypted shipment ID."
        }
      },
      "description": "Amazon shipment information."
    },
    "ChannelDetails": {
      "type": "object",
      "required": [
        "channelType"
      ],
      "properties": {
        "channelType": {
          "$ref": "#/$defs/ChannelType"
        },
        "amazonOrderDetails": {
          "$ref": "#/$defs/AmazonOrderDetails"
        },
        "amazonShipmentDetails": {
          "$ref": "#/$defs/AmazonShipmentDetails"
        }
      },
      "description": "Shipment source channel related information."
    },
    "ChannelType": {
      "type": "string",
      "description": "The shipment source channel type.",
      "enum": [
        "AMAZON",
        "EXTERNAL"
      ],
      "x-docgen-enum-table-extension": [
        {
          "value": "AMAZON",
          "description": "Indicates that the shipment originates from an Amazon order."
        },
        {
          "value": "EXTERNAL",
          "description": "Indicates that the shipment originates from a non-Amazon channel."
        }
      ]
    },
    "ChargeComponent": {
      "type": "object",
      "description": "The type and amount of a charge applied on a package.",
      "properties": {
        "amount": {
          "$ref": "#/$defs/Currency"
        },
        "chargeType": {
          "type": "string",
          "description": "The type of charge.",
          "enum": [
            "TAX",
            "DISCOUNT"
          ],
          "x-docgen-enum-table-extension": [
            {
              "value": "TAX",
              "description": "A tax imposed on a package."
            },
            {
              "value": "DISCOUNT",
              "description": "A discount deducted from the cost of a package."
            }
          ]
        }
      }
    },
    "ChargeList": {
      "type": "array",
      "description": "A list of charges based on the shipping service charges applied on a package.",
      "items": {
        "$ref": "#/$defs/ChargeComponent"
      }
    },
    "City": {
      "type": "string",
      "description": "The city or town where the person, business or institution is located."
    },
    "CountryCode": {
      "type": "string",
      "description": "The two digit country code. Follows ISO 3166-1 alpha-2 format."
    },
    "Currency": {
      "description": "The monetary value in the currency indicated, in ISO 4217 standard format.",
      "type": "object",
      "required": [
        "unit",
        "value"
      ],
      "properties": {
        "value": {
          "type": "number",
          "description": "The monetary value."
        },
        "unit": {
          "type": "string",
          "description": "The ISO 4217 format 3-character currency code.",
          "minLength": 3,
          "maxLength": 3
        }
      }
    },
    "DangerousGoodsDetails": {
      "type": "object",
      "properties": {
        "unitedNationsRegulatoryId": {
          "type": "string",
          "description": "The specific UNID of the item being shipped.",
          "pattern": "^(UN|ID|NA)[0-9]{4}$"
        },
        "transportationRegulatoryClass": {
          "type": "string",
          "description": "The specific regulatory class  of the item being shipped.",
          "pattern": "^[1-9](\\.[1-9])?$"
        },
        "packingGroup": {
          "type": "string",
          "description": "The specific packaging group of the item being shipped.",
          "enum": [
            "I",
            "II",
            "III"
          ],
          "x-docgen-enum-table-extension": [
            {
              "value": "I",
              "description": "Packing group I indicates great danger."
            },
            {
              "value": "II",
              "description": "Packing group II indicates medium danger."
            },
            {
              "value": "III",
              "description": "Packing group III indicates minor danger."
            }
          ]
        },
        "packingInstruction": {
          "type": "string",
          "description": "The specific packing instruction of the item being shipped.",
          "enum": [
            "PI965_SECTION_IA",
            "PI965_SECTION_IB",
            "PI965_SECTION_II",
            "PI966_SECTION_I",
            "PI966_SECTION_II",
            "PI967_SECTION_I",
            "PI967_SECTION_II",
            "PI968_SECTION_IA",
            "PI968_SECTION_IB",
            "PI969_SECTION_I",
            "PI969_SECTION_II",
            "PI970_SECTION_I",
            "PI970_SECTION_II"
          ],
          "x-docgen-enum-table-extension": [
            {
              "value": "PI965_SECTION_IA",
              "description": "Ion PI965 Section IA (LiBa)"
            },
            {
              "value": "PI965_SECTION_IB",
              "description": "Ion PI965 Section IB (LiBa)"
            },
            {
              "value": "PI965_SECTION_II",
              "description": "Ion PI965 Section II (LiBa)"
            },
            {
              "value": "PI966_SECTION_I",
              "description": "Ion PI966 Section I (LiBa with equipment)"
            },
            {
              "value": "PI966_SECTION_II",
              "description": "Ion PI966 Section II (LiBa with equipment)"
            },
            {
              "value": "PI967_SECTION_I",
              "description": "Ion PI967 Section I (LiBa in equipment)"
            },
            {
              "value": "PI967_SECTION_II",
              "description": "Ion PI967 Section II (LiBa in equipment)"
            },
            {
              "value": "PI968_SECTION_IA",
              "description": "Metal PI968 Section IA (LiBa)"
            },
            {
              "value": "PI968_SECTION_IB",
              "description": "Metal PI968 Section IB (LiBa)"
            },
            {
              "value": "PI969_SECTION_I",
              "description": "Metal PI969 Section I (LiBa with equipment)"
            },
            {
              "value": "PI969_SECTION_II",
              "description": "Metal PI969 Section II (LiBa with equipment)"
            },
            {
              "value": "PI970_SECTION_I",
              "description": "Metal PI970 Section I (LiBa in equipment)"
            },
            {
              "value": "PI970_SECTION_II",
              "description": "Metal PI970 Section II (LiBa in equipment)"
            }
          ]
        }
      },
      "description": "Details related to any dangerous goods/items that are being shipped."
    },
    "Dimensions": {
      "type": "object",
      "required": [
        "height",
        "length",
        "unit",
        "width"
      ],
      "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."
        },
        "unit": {
          "type": "string",
          "description": "The unit of measurement.",
          "enum": [
            "INCH",
            "CENTIMETER"
          ],
          "x-docgen-enum-table-extension": [
            {
              "value": "INCH",
              "description": "The imperial unit of length equal to one twelfth of a foot."
            },
            {
              "value": "CENTIMETER",
              "description": "A metric unit of length, equal to one hundredth of a meter."
            }
          ]
        }
      },
      "description": "A set of measurements for a three-dimensional object."
    },
    "DirectFulfillmentItemIdentifiers": {
      "type": "object",
      "required": [
        "lineItemID"
      ],
      "properties": {
        "lineItemID": {
          "type": "string",
          "description": "A unique identifier for an item provided by the client for a direct fulfillment shipment. This is only populated for direct fulfillment multi-piece shipments. It is required if a vendor wants to change the configuration of the packages in which the purchase order is shipped."
        },
        "pieceNumber": {
          "type": "string",
          "description": "A unique identifier for an item provided by the client for a direct fulfillment shipment. This is only populated if a single line item has multiple pieces. Defaults to 1."
        }
      },
      "description": "Item identifiers for an item in a direct fulfillment shipment."
    },
    "DocumentFormat": {
      "type": "string",
      "description": "The file format of the document.",
      "enum": [
        "PDF",
        "PNG",
        "ZPL"
      ],
      "x-docgen-enum-table-extension": [
        {
          "value": "PDF",
          "description": "The Portable Document Format (PDF) file format. Used to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems."
        },
        {
          "value": "PNG",
          "description": "Portable Network Graphics (PNG) is a raster-graphics file format that supports lossless data compression."
        },
        {
          "value": "ZPL",
          "description": "Zebra Programming Language (ZPL) format is from Zebra Technologies. It's used primarily for labeling applications and can only be used with ZPL compatible printers."
        }
      ]
    },
    "DocumentSize": {
      "type": "object",
      "required": [
        "length",
        "unit",
        "width"
      ],
      "properties": {
        "width": {
          "description": "The width of the document measured in the units specified.",
          "type": "number"
        },
        "length": {
          "description": "The length of the document measured in the units specified.",
          "type": "number"
        },
        "unit": {
          "type": "string",
          "description": "The unit of measurement.",
          "enum": [
            "INCH",
            "CENTIMETER"
          ],
          "x-docgen-enum-table-extension": [
            {
              "value": "INCH",
              "description": "The imperial unit of length equal to one twelfth of a foot."
            },
            {
              "value": "CENTIMETER",
              "description": "A metric unit of length, equal to one hundredth of a meter."
            }
          ]
        }
      },
      "description": "The size dimensions of the label."
    },
    "DocumentType": {
      "type": "string",
      "description": "The type of shipping document.",
      "enum": [
        "PACKSLIP",
        "LABEL",
        "RECEIPT",
        "CUSTOM_FORM"
      ],
      "x-docgen-enum-table-extension": [
        {
          "value": "PACKSLIP",
          "description": "A listing of the items packed within the shipment."
        },
        {
          "value": "LABEL",
          "description": "The shipping label for the specific shipment."
        },
        {
          "value": "RECEIPT",
          "description": "The receipt of the shipment."
        },
        {
          "value": "CUSTOM_FORM",
          "description": "The customs documentation for a cross-border shipment."
        }
      ]
    },
    "Dpi": {
      "type": "integer",
      "description": "The dots per inch (DPI) value used in printing. This value represents a measure of the resolution of the document."
    },
    "Geocode": {
      "type": "object",
      "description": "Defines the latitude and longitude of the access point.",
      "properties": {
        "latitude": {
          "description": "The latitude of access point.",
          "type": "string"
        },
        "longitude": {
          "description": "The longitude of access point.",
          "type": "string"
        }
      }
    },
    "InvoiceDetails": {
      "description": "The invoice details for charges associated with the goods in the package. Only applies to certain regions.",
      "type": "object",
      "properties": {
        "invoiceNumber": {
          "type": "string",
          "description": "The invoice number of the item."
        },
        "invoiceDate": {
          "type": "string",
          "format": "date-time",
          "description": "The invoice date of the item in ISO 8061 format."
        }
      }
    },
    "Item": {
      "type": "object",
      "required": [
        "quantity"
      ],
      "properties": {
        "itemValue": {
          "$ref": "#/$defs/Currency"
        },
        "description": {
          "type": "string",
          "description": "The product description of the item."
        },
        "itemIdentifier": {
          "type": "string",
          "description": "A unique identifier for an item provided by the client."
        },
        "quantity": {
          "type": "integer",
          "description": "The number of units. This value is required."
        },
        "weight": {
          "$ref": "#/$defs/Weight"
        },
        "liquidVolume": {
          "$ref": "#/$defs/LiquidVolume"
        },
        "isHazmat": {
          "type": "boolean",
          "description": "When true, the item qualifies as hazardous materials (hazmat). Defaults to false."
        },
        "dangerousGoodsDetails": {
          "$ref": "#/$defs/DangerousGoodsDetails"
        },
        "productType": {
          "type": "string",
          "description": "The product type of the item."
        },
        "invoiceDetails": {
          "$ref": "#/$defs/InvoiceDetails"
        },
        "serialNumbers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of unique serial numbers in an Amazon package that can be used to guarantee non-fraudulent items. The number of serial numbers in the list must be less than or equal to the quantity of items being shipped. Only applicable when channel source is Amazon."
        },
        "directFulfillmentItemIdentifiers": {
          "$ref": "#/$defs/DirectFulfillmentItemIdentifiers"
        }
      },
      "description": "An item in a package."
    },
    "ItemList": {
      "type": "array",
      "description": "A list of items.",
      "items": {
        "$ref": "#/$defs/Item"
      }
    },
    "LabelAttribute": {
      "type": "string",
      "description": "Enumerates the attributes supported to be printed on a shipping label. The values for these attributes are retrieved from GetRates/OneClickShipment request",
      "enum": [
        "PACKAGE_CLIENT_REFERENCE_ID",
        "SELLER_DISPLAY_NAME",
        "COLLECT_ON_DELIVERY_AMOUNT"
      ],
      "x-docgen-enum-table-extension": [
        {
          "value": "PACKAGE_CLIENT_REFERENCE_ID",
          "description": "Prints client reference ID on the shipping label"
        },
        {
          "value": "SELLER_DISPLAY_NAME",
          "description": "Prints seller name on the shipping label"
        },
        {
          "value": "COLLECT_ON_DELIVERY_AMOUNT",
          "description": "Prints Collect On Delivery amount on the shipping label."
        }
      ]
    },
    "LiquidVolume": {
      "type": "object",
      "required": [
        "unit",
        "value"
      ],
      "properties": {
        "unit": {
          "type": "string",
          "description": "The unit of measurement.",
          "enum": [
            "ML",
            "L",
            "FL_OZ",
            "GAL",
            "PT",
            "QT",
            "C"
          ],
          "x-docgen-enum-table-extension": [
            {
              "value": "ML",
              "description": "Milliliter - Metric unit of volume."
            },
            {
              "value": "L",
              "description": "Liter - Metric unit of volume."
            },
            {
              "value": "FL_OZ",
              "description": "Fluid Ounce - Imperial unit of volume."
            },
            {
              "value": "GAL",
              "description": "Gallon - Imperial unit of volume."
            },
            {
              "value": "PT",
              "description": "Pint - Imperial unit of volume."
            },
            {
              "value": "QT",
              "description": "Quart - Imperial unit of volume."
            },
            {
              "value": "C",
              "description": "Cup - Imperial unit of volume."
            }
          ]
        },
        "value": {
          "type": "number",
          "description": "The measurement value."
        }
      },
      "description": "Liquid Volume."
    },
    "NeedFileJoining": {
      "type": "boolean",
      "description": "When true, files should be stitched together. Otherwise, files should be returned separately. Defaults to false."
    },
    "Package": {
      "type": "object",
      "required": [
        "dimensions",
        "insuredValue",
        "items",
        "packageClientReferenceId",
        "weight"
      ],
      "properties": {
        "dimensions": {
          "$ref": "#/$defs/Dimensions"
        },
        "weight": {
          "$ref": "#/$defs/Weight"
        },
        "insuredValue": {
          "$ref": "#/$defs/Currency"
        },
        "isHazmat": {
          "type": "boolean",
          "description": "When true, the package contains hazardous materials. Defaults to false."
        },
        "sellerDisplayName": {
          "type": "string",
          "description": "The seller name displayed on the label."
        },
        "charges": {
          "$ref": "#/$defs/ChargeList"
        },
        "packageClientReferenceId": {
          "$ref": "#/$defs/PackageClientReferenceId"
        },
        "items": {
          "$ref": "#/$defs/ItemList"
        }
      },
      "description": "A package to be shipped through a shipping service offering."
    },
    "PackageClientReferenceId": {
      "type": "string",
      "description": "A client provided unique identifier for a package being shipped. This value should be saved by the client to pass as a parameter to the getShipmentDocuments operation."
    },
    "PackageList": {
      "type": "array",
      "description": "A list of packages to be shipped through a shipping service offering.",
      "items": {
        "$ref": "#/$defs/Package"
      }
    },
    "PageLayout": {
      "type": "string",
      "description": "Indicates the position of the label on the paper. Should be the same value as returned in getRates response."
    },
    "PostalCode": {
      "type": "string",
      "description": "The postal code of that address. It contains a series of letters or digits or both, sometimes including spaces or punctuation."
    },
    "RequestAttributes": {
      "type": "array",
      "description": "Specify the type of attributes to be added on a label.",
      "items": {
        "$ref": "#/$defs/LabelAttribute"
      }
    },
    "RequestedDocumentSpecification": {
      "type": "object",
      "required": [
        "format",
        "needFileJoining",
        "requestedDocumentTypes",
        "size"
      ],
      "properties": {
        "format": {
          "$ref": "#/$defs/DocumentFormat"
        },
        "size": {
          "$ref": "#/$defs/DocumentSize"
        },
        "dpi": {
          "$ref": "#/$defs/Dpi"
        },
        "pageLayout": {
          "$ref": "#/$defs/PageLayout"
        },
        "needFileJoining": {
          "$ref": "#/$defs/NeedFileJoining"
        },
        "requestedDocumentTypes": {
          "description": "A list of the document types requested.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/DocumentType"
          }
        },
        "requestedLabelCustomization": {
          "$ref": "#/$defs/RequestedLabelCustomization"
        }
      },
      "description": "The document specifications requested. For calls to the purchaseShipment operation, the shipment purchase fails if the specified document specifications are not among those returned in the response to the getRates operation."
    },
    "RequestedLabelCustomization": {
      "type": "object",
      "description": "Object contains customised data requested by a shipper to be printed on a shipping label.",
      "properties": {
        "requestAttributes": {
          "$ref": "#/$defs/RequestAttributes"
        }
      }
    },
    "StateOrRegion": {
      "type": "string",
      "description": "The state, county or region where the person, business or institution is located."
    },
    "Weight": {
      "description": "The weight in the units indicated.",
      "type": "object",
      "required": [
        "unit",
        "value"
      ],
      "properties": {
        "unit": {
          "type": "string",
          "description": "The unit of measurement.",
          "enum": [
            "GRAM",
            "KILOGRAM",
            "OUNCE",
            "POUND"
          ],
          "x-docgen-enum-table-extension": [
            {
              "value": "GRAM",
              "description": "Metric unit of mass equal to one thousandth of a kilogram."
            },
            {
              "value": "KILOGRAM",
              "description": "Metric unit of mass."
            },
            {
              "value": "OUNCE",
              "description": "The imperial unit of weight that is one sixteenth of a pound."
            },
            {
              "value": "POUND",
              "description": "The imperial unit of weight."
            }
          ]
        },
        "value": {
          "type": "number",
          "description": "The measurement value."
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/amazon-seller-central-direct-purchase-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.