Ordering v3
Submit purchase orders programmatically. Requires an active DigiKey credit account and 3-legged authorization.
https://api.digikey.com/Ordering/v3
OpenAPI spec →
Endpoints
| Method | Path | Description |
|---|---|---|
| POST | /Orders |
Submit a new purchase order |
POST /Orders — Place an order
Submits a purchase order. The account must have an approved DigiKey credit line.
After placing an order, use Order Status v4 to track fulfillment and Order Management v1 to manage open schedules.
Request
{
"LineItems": [
{
"DigiKeyPartNumber": "311-10.0KHRCT-ND",
"Quantity": 1000,
"CustomerReference": "BOM-REF-001"
}
],
"ShippingAddress": {
"FirstName": "Ben",
"LastName": "Hest",
"Company": "Acme Electronics",
"AddressLine1": "701 Brooks Ave S",
"City": "Thief River Falls",
"State": "MN",
"PostalCode": "56701",
"IsoCode": "US",
"Phone": "2185551234",
"Email": "ben@example.com"
},
"ShipMethod": "USPS ground advantage",
"PurchaseOrder": "PO-2026-001"
}
Request fields
| Field | Required | Description |
|---|---|---|
LineItems |
Yes | Array of parts to order |
LineItems[].DigiKeyPartNumber |
Yes | DigiKey SKU |
LineItems[].Quantity |
Yes | Units to order |
LineItems[].CustomerReference |
No | Your internal reference for this line |
ShippingAddress |
Yes | Delivery address |
ShipMethod |
No | Carrier/service selection |
PurchaseOrder |
No | Your PO number for reference |
Response (201 Created)
{
"OrderNumber": 9910000347672270,
"SalesOrderId": 88152456,
"Status": "Submitted",
"DateEntered": "2026-03-26T00:00:00Z",
"TotalPrice": 2.04,
"Currency": "USD"
}
The SalesOrderId is used in Order Management v1 and Order Status v4.
Prerequisites
- Your DigiKey account must have an active credit line. Orders from accounts without credit will be rejected.
- The authenticated user must have ordering permissions on the account.
- Use 3-legged (Authorization Code) OAuth. A 2-legged token will return 403.
After ordering
Track the order: Order Status v4 – GET /orderstatus/v4/salesorder/{salesOrderId}
Retrieve the packing list: Packing List v1 – after shipment
Adjust schedules: Order Management v1 – for open/scheduled orders
Models
Request and response object schemas for this API. Error models (ApiErrorResponse, DKProblemDetails) are documented on the Authentication & Concepts page.
OrderRequest
Model that contains all information required for an order.
| Field | Type | Required | Description |
|---|---|---|---|
PurchaseOrderNumber | string | required | Purchase order number |
Currency | string | required | Currency to use for the order |
ShipControl | string | If some products are not in stock, how would you like this order released? Immediate-Ship in stock products immediately and each backorder as soon as it's available - Default Options Single-No products from the SalesOrder will ship until all items are available | |
MfgCOfCRequired | boolean | Indicates if the manufacturer certificate of compliance is required. Applies to the whole shipment. | |
BuyerContact | BuyerContact | ||
ShippingContact | ShippingContact | required | |
BillingAccount | integer (int64) | This field is no longer used. We use the information in the ShippingContract section to identify the accounts to use for this order. | |
ShipMethod | string | Shipping method. Not all options are available in all times and locations. The following options are accepted: "DHL worldwide Express" "FedEx ground" "FedEx 3 day" "FedEx 2 day" "FedEx standard overnight" "FedEx priority overnight" "FedEx first overnight" "FedEx international priority" "FedEx international economy" "UPS ground" "UPS 3 day" "UPS 2 day" "UPS 2 day noon" "UPS 1 day" "UPS 1 day 3 p.m." "UPS 1 day early a.m." "UPS worldwide expedited" "UPS worldwide express" "UPS worldwide saver" "USPS express mail international" "USPS express mail" "USPS priority mail" "USPS ground advantage" "USPS standard mail" | |
ShipperAccountNumber | string | Optional shipping account to use | |
LineItems | array of LineItem | required | List of one of more Part Details |
OrderNotes | array of string | Optional notes | |
PackagingPreference | string | Optional field for which type of part to prefer: DKR (Digi-Key Reel) or CT (cut tape) | |
Taxable | boolean | Whether the order is taxable or not | |
ExportQuestions | ExportQuestions |
OrderResponse
Response message model created when submitting an order to the OrderingAPI
| Field | Type | Required | Description |
|---|---|---|---|
Message | string | A string message containing useful information about the API request be it success, informational, or error. | |
SalesOrderId | integer (int32) | This field will contain one of three types of numbers: 1. The SalesOrderId we created for your order. 2. If your order only contains DigiKey Marketplace products, this will be set to “0” 3. If we received your request but needed to respond to your API request before we received a SalesOrderID from our system, this will be set to “-1.” The order will be processed soon, so there is no need to resubmit it. | |
PurchaseOrderNumber | string | The Purchase Order Number provided by customer on input. | |
SalesOrderIds_DKPlus | array of integer | This field will contain one of two types of response: 1. If your order contains products fulfilled by a DigiKey Marketplace partner, this will contain the SalesOrderID we created for your order. If your order contains products that will be fulfilled by multiple DigiKey Marketplace partners, you will receive one SalesOrderID for each partner. 2. If your order does not contain any products that a DigiKey Marketplace partner will fulfil, this field will be null. Note: This field will also be null AND SalesOrderId = “-1” when the order contains products fulfilled by a DigiKey Marketplace partner, but we needed to respond to your API request before we received a SalesOrderID from our system. The order will be processed soon, so there is no need to resubmit it. |