Digi-Key Orders API

The Orders API from Digi-Key — 1 operation(s) for orders.

Business capability
Order Fulfilment Management BC-520.40

Operations 1

POST /Orders This action queues an order for processing. #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/digi-key:digi-key-orders-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

digi-key-orders-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Digi Key Orders API
  version: v3
  contact:
    name: API Support
    url: https://developer.digikey.com/support
  termsOfService: https://www.digikey.com/en/terms-and-conditions
  description: 'Operations tagged Orders across 2 of this provider''s published API definitions: digi-key-ordering-api-v3-ordering-v3.json, digi-key-ordering-api-v3-ordering-v3-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.digikey.com/Ordering/v3
security:
- apiKeySecurity: []
  oauth2AccessCodeSecurity: []
tags:
- name: Orders
paths:
  /Orders:
    post:
      tags:
      - Orders
      summary: This action queues an order for processing.
      description: 'This API uses 3 legged OAuth.


        • See Documentation OAuth 2.0: 3 Legged Flow


        -----------


        • If your Order only includes products that will be fulfilled by DigiKey, the SalesOrderIds field will be populated and SalesOrderIds_DKPlus list be empty.

        • If your Order includes products that will be fulfilled by DigiKey and by one or more Marketplace suppliers, both the SalesOrderIds field and SalesOrderIds_DKPlus list will be populated.

        • If your Order only includes products that will be fulfilled by Marketplace suppliers, the SalesOrderIds field will be zero and SalesOrderIds_DKPlus list will be populated.


        -----------


        After you place your order, you can use the OrderStatus API to look up the real-time status of your order. Either use the SalesOrderID or a date range to find the Sales Order. You can enter both SalesOrderId and SalesOrderIDs_DKPlus values returned in this API in the RetrieveSalesOrder endpoint’s salesOrderId field.


        Note: If we receive your order but are not able to generate a SalesOrderID by the time we need to respond to your request, we will return a 200 response with a “-1” value. That indicates that we have received your request, and you do not need to resubmit your order. If you do resubmit it, both orders will be charged and fulfilled.'
      operationId: Order
      parameters:
      - in: header
        name: Authorization
        description: OAuth Bearer Token. Please see<a href= "https://developer.digikey.com/documentation/oauth" target= "_blank" > OAuth 2.0 Documentation </a > page for more info.
        schema:
          type: string
      - in: header
        name: X-DIGIKEY-Client-Id
        description: The Client Id for your app.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderResponse'
        '400':
          description: Bad Request - The input model is invalid or malformed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized - Token is expired or Client Id or subscription are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '403':
          description: The target resource is forbidden.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '404':
          description: Not Found - The requested resource could not be found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '429':
          description: Too Many Requests - Your rate limit has been exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '500':
          description: An unhandled error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '503':
          description: Service Unavailable - The service is temporarily unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderRequest'
    servers:
    - url: https://api.digikey.com/Ordering/v3
components:
  schemas:
    Schedule:
      description: Optional schedule to determine how many of the lineitem are shipped on which dates
      required:
      - ScheduledDate
      - ScheduledQuantity
      type: object
      properties:
        ScheduledDate:
          format: date-time
          description: Valid future date for shipping. This should be in ISO 8601 format.
          type: string
        ScheduledQuantity:
          format: int32
          description: Number to schedule on the selected date.
          type: integer
      additionalProperties: false
    ShippingContact:
      description: Shipping contact information
      required:
      - Address
      - Name
      type: object
      properties:
        CustomerId:
          description: 'Your DigiKey AccountID to be used for billing purposes. Populate this CustomerID field with your AccountID.

            We use this information to ensure the order is placed for the correct company and location.

            Select ‘My account’ above to learn more about AccountIDs.'
          type: string
          example: '123456789'
        Name:
          description: Customer's name
          type: string
          example: John Smith
        Address:
          $ref: '#/components/schemas/Address'
        Telephone:
          description: Contact's telephone number
          type: string
          example: 555-123-4567
      additionalProperties: false
    Address:
      description: Address information for contacts
      type: object
      properties:
        Company:
          description: Company name
          type: string
          example: Universal Solutions
        FirstName:
          description: Contact's first name
          type: string
          example: John
        LastName:
          description: Contact's last name
          type: string
          example: Smith
        Email:
          description: Contact's email address
          type: string
          example: jsmith@universal.com
        AddressLineOne:
          description: First line of delivery address
          maxLength: 40
          minLength: 0
          type: string
          example: 1000 Main Street
        AddressLineTwo:
          description: Second line of delivery address
          maxLength: 40
          minLength: 0
          type: string
          example: Suite 300
        City:
          description: Contact's city
          type: string
          example: Bloomington
        Province:
          description: Province or state
          type: string
          example: MN
        PostalCode:
          description: Postal code or zip code
          type: string
          example: '55425'
        Country:
          description: Contact's country 2 character ISO code
          maxLength: 2
          minLength: 0
          type: string
          example: US
      additionalProperties: false
    ExportQuestions:
      description: Required structure for Independent Distributors if product is shipping outside of the US. Otherwise do not include.
      required:
      - ConsigneeName
      - CountryCode
      - PrimaryApplication
      - SecondaryApplication
      type: object
      properties:
        CountryCode:
          description: The 2 digit ISO code for the country of final destination
          type: string
          example: MX
        ConsigneeName:
          description: End customer name
          type: string
          example: John Smith
        PrimaryApplication:
          description: 'The category of use for the product. Must exactly match one of the following items: "Aerospace", "Automotive", "Computer & Peripherals", "Consumer Electronics", "Industrial", "Medical", "Military".'
          type: string
          example: Aerospace
        SecondaryApplication:
          description: "The use for the product, valid options are determined by PrimaryApplication. It must match one of the following items exactly. \nIf Primary is \"Aerospace\", valid options are: \"Aircraft, commercial transport\", \"Aircraft, UAV\", \"Communications equipment\", \"Computer systems\", \"Entertainment systems\", \"Sensors, controls, test equipment\", \"Safety systems\", \"Satellites, commercial\", \"Other\".\nIf Primary is \"Automotive\", valid options are: \"Drive train\", \"Instrumentation\", \"Safety systems\", \"Other\".\nIf Primary is \"Computer & Peripherals\", valid options are: \"Accessories\", \"Desktop\", \"Laptop\", \"Server/storage\", \"Other\".\nIf Primary is \"Consumer Electronics\", valid options are: \"Audio/video\", \"Gaming systems\", \"Home appliances\", \"Lighting systems\", \"Wired communications\", \"Wireless communications\", \"Other\".\nIf Primary is \"Industrial\", valid options are: \"Appliances/white goods\", \"Automation and control\", \"Renewable/fossil fuels energy\", \"Nuclear energy\", \"Lighting systems\", \"Sensors, controls, test equipment\", \"Tools\", \"Other\".\nIf Primary is \"Medical\", valid options are: \"Diagnostic equipment\", \"Instruments, devices\", \"Imaging / scanning\", \"Other\".\nIf Primary is \"Military\", valid options are: \"Aircraft, military\", \"Aircraft, UAV\", \"Communications equipment\", \"Computer systems\", \"Missile systems\", \"Satellites, military\", \"Sensors, controls, test equipment\", \"Vehicles, personnel transport\", \"Vehicles, weapon transport\", \"Weapons systems\", \"Other\"."
          type: string
          example: Aircraft
        AdditionalInfo:
          description: Free form text to provide any additional application information
          type: string
      additionalProperties: false
    BuyerContact:
      description: Contact information for buyer
      required:
      - Address
      - Name
      type: object
      properties:
        CustomerId:
          description: 'Your DigiKey AccountID to be used for billing purposes. Populate this CustomerID field with your AccountID.

            We use this information to ensure the order is placed for the correct company and location.

            Select ‘My account’ above to learn more about AccountIDs.'
          type: string
          example: '123456789'
        Name:
          description: Customer's name
          type: string
          example: John Smith
        Address:
          $ref: '#/components/schemas/Address'
        Telephone:
          description: Contact's telephone number
          type: string
          example: 555-123-4567
      additionalProperties: false
    ApiErrorResponse:
      description: Common response model returned for any type of HTTP exception.
      type: object
      properties:
        _ErrorResponseVersion:
          description: The version of the error handler.
          type: string
          readOnly: true
          example: 3.0.0.0
        StatusCode:
          format: int32
          description: The HttpStatusCode of the error.
          type: integer
          example: 404
        ErrorMessage:
          description: The message provided by the error handler.
          type: string
          example: The specified part was not found
        ErrorDetails:
          description: The details of the error.
          type: string
          example: Part Not Found
        RequestId:
          description: The Id of the request that triggered the error. If contacting API Support, please include the RequestId.
          type: string
          example: 22da819d-9517-4a2c-a8c1-0195ea2e7878
        ValidationErrors:
          description: The list of validation errors (if applicable).
          type: array
          items:
            $ref: '#/components/schemas/ApiValidationError'
      additionalProperties: false
    OrderResponse:
      description: Response message model created when submitting an order to the OrderingAPI
      type: object
      properties:
        Message:
          description: 'A string message containing useful information about the API request

            be it success, informational, or error.'
          type: string
        SalesOrderId:
          format: int32
          description: " This field will contain one of three types of numbers:\n\n 1. The SalesOrderId we created for your order.\n\n 2. If your order only contains DigiKey Marketplace products, this will be set to “0”\n\n 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."
          type: integer
        PurchaseOrderNumber:
          description: The Purchase Order Number provided by customer on input.
          type: string
        SalesOrderIds_DKPlus:
          description: "This field will contain one of two types of response:\n            \n\n 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.\n\n 2. If your order does not contain any products that a DigiKey Marketplace partner will fulfil, this field will be null.\n\n\n\nNote: 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."
          type: array
          items:
            format: int32
            type: integer
      additionalProperties: false
    OrderRequest:
      description: Model that contains all information required for an order.
      required:
      - Currency
      - LineItems
      - PurchaseOrderNumber
      - ShippingContact
      type: object
      properties:
        PurchaseOrderNumber:
          description: Purchase order number
          type: string
        Currency:
          description: Currency to use for the order
          type: string
          example: USD
        ShipControl:
          description: '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'
          type: string
          example: Immediate
        MfgCOfCRequired:
          description: Indicates if the manufacturer certificate of compliance is required. Applies to the whole shipment.
          type: boolean
        BuyerContact:
          $ref: '#/components/schemas/BuyerContact'
        ShippingContact:
          $ref: '#/components/schemas/ShippingContact'
        BillingAccount:
          format: int64
          description: This field is no longer used. We use the information in the ShippingContract section to identify the accounts to use for this order.
          type: integer
        ShipMethod:
          description: '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"'
          type: string
          example: FedEx Ground
        ShipperAccountNumber:
          description: Optional shipping account to use
          type: string
        LineItems:
          description: List of one of more Part Details
          type: array
          items:
            $ref: '#/components/schemas/LineItem'
        OrderNotes:
          description: Optional notes
          type: array
          items:
            type: string
        PackagingPreference:
          description: 'Optional field for which type of part to prefer: DKR (Digi-Key Reel) or CT (cut tape)'
          type: string
          example: CT
        Taxable:
          description: Whether the order is taxable or not
          type: boolean
          example: true
        ExportQuestions:
          $ref: '#/components/schemas/ExportQuestions'
      additionalProperties: false
    ApiValidationError:
      description: Error with API input.
      type: object
      properties:
        Field:
          description: The field that generated the error.
          type: string
          example: Keywords
        Message:
          description: The error message that was generated. This often explains how to fix your API input to be valid.
          type: string
          example: The Keywords field is required.
      additionalProperties: false
    LineItem:
      description: Details for each line item in the order
      required:
      - RequestedQuantity
      - UnitPrice
      type: object
      properties:
        MfgCOfCRequired:
          description: Indicates if the manufacturer certificate of compliance is required. Applies to the only this line item.
          type: boolean
        CustomerLineItemId:
          description: Line item number for customer use
          type: string
        ProductDescription:
          description: Optional description of the product
          type: string
          example: CAP ALUM 1000UF 20% 35V RADIAL
        CustomerPartNumber:
          description: Optional special customer part number if your company has a special part number system with Digi-Key
          type: string
        DigiKeyPartNumber:
          description: Digi-Key part number. Either this or ManufacturerPartNumber must be provided.
          type: string
          example: P5555-ND
        ManufacturerPartNumber:
          description: Manufacturer part number. Either this or Digi-Key part number must be provided.
          type: string
          example: ECA-1VHG102
        ManufacturerName:
          description: Optional name of manufacturer/part supplier. May assist with unresolved manufacturer part numbers.
          type: string
          example: Panasonic Electronic Components
        RequestedQuantity:
          format: int32
          description: Quantity that must be greater than zero.
          type: integer
        UnitPrice:
          format: double
          description: Expected price. This is required so any discrepancies between between the expected and actual price can be addressed.
          type: number
          example: 0.86
        QuoteId:
          format: int32
          description: Optional QuoteId to use price from.
          type: integer
        DeliveryDate:
          format: date-time
          description: Optional future date that the product is expected to be in-house. This should be in ISO 8601 format.
          type: string
        LineItemNotes:
          description: Optional notes
          type: array
          items:
            type: string
        Schedules:
          description: Optional array of Schedules for shipping this LineItem. If blank, will use LineItem's delivery date with the full quantity.
          type: array
          items:
            $ref: '#/components/schemas/Schedule'
      additionalProperties: false
  securitySchemes:
    apiKeySecurity:
      type: apiKey
      name: X-DIGIKEY-Client-Id
      in: header
    oauth2AccessCodeSecurity:
      type: oauth2
      flows:
        authorizationCode:
          scopes: {}
          authorizationUrl: https://api.digikey.com/v1/oauth2/authorize
          tokenUrl: https://api.digikey.com/v1/oauth2/token
x-refined-from:
- digi-key-ordering-api-v3-ordering-v3.json
- digi-key-ordering-api-v3-ordering-v3-openapi.yml
x-host-sandbox: sandbox-api.digikey.com
x-host-production: api.digikey.com
x-source-pages:
- https://developer.digikey.com/products/ordering/ordermanagement/salesorderbyid
- https://developer.digikey.com/products/ordering/ordermanagement/salesordersbyponumber
- https://developer.digikey.com/products/ordering/ordermanagement/changeeligibility
- https://developer.digikey.com/products/ordering/ordermanagement/nextavailabledeliverydate
- https://developer.digikey.com/products/ordering/ordermanagement/salesorderdetails
- https://developer.digikey.com/products/ordering/ordermanagement/salesorderdetailbyid
- https://developer.digikey.com/products/ordering/ordermanagement/salesorderschedules
- https://developer.digikey.com/products/ordering/ordermanagement/replaceschedule
- https://developer.digikey.com/products/ordering/ordermanagement/salesorderschedulebyid
- https://developer.digikey.com/products/ordering/ordermanagement/partialscheduleupdate