Digi-Key Order History API

The OrderHistory API from Digi-Key — 2 operation(s) for orderhistory.

Business capability
Order Fulfilment Management BC-520.40

Operations 2

GET /orders Retrieves a list of orders in a specified date range #
GET /salesorder/{salesOrderId} Retrieves a SalesOrder for a specific salesOrderId #

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-orderhistory-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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-orderhistory-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Digi Key Order History API
  version: v4
  contact:
    name: API Support
    url: https://developer.digikey.com/support
  termsOfService: https://www.digikey.com/en/terms-and-conditions
  description: 'Operations tagged OrderHistory across 2 of this provider''s published API definitions: digi-key-orderstatus-orderstatus-v4.json, digi-key-orderstatus-orderstatus-v4-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.digikey.com/orderstatus/v4
security:
- apiKeySecurity: []
  oauth2ApplicationSecurity: []
tags:
- name: OrderHistory
paths:
  /orders:
    get:
      tags:
      - OrderHistory
      summary: Retrieves a list of orders in a specified date range
      description: 'This API uses both two-legged OAuth and three-legged OAuth. See Documentation | OAuth 2.0: 2 Legged Flow or OAuth 2.0: 3 Legged Flow for information.


        Which endpoint should I use?


        If you know the SalesOrderID for the Order you want to retrieve information, call the RetrieveSalesOrder endpoint.


        Otherwise, call the SearchOrders endpoint and specify a date range. This endpoint will return the same information for every Order placed during that time period.'
      operationId: SearchOrders
      parameters:
      - in: query
        name: Shared
        description: 'Determines if all orders placed by the AccountID used in the request will return. True means all will be retrieved, false means only the user’s orders will be returned.

          *Default value : false*'
        schema:
          type: boolean
      - in: query
        name: StartDate
        description: 'Starting date of the date range for order history. Format: YYYY-MM-DD

          *Default value: current day - 30 days*'
        schema:
          type: string
          format: date-time
      - in: query
        name: EndDate
        description: 'Ending date of the date range for order history. Format: YYYY-MM-DD

          *Default value: current date*'
        schema:
          type: string
          format: date-time
      - in: query
        name: PageNumber
        description: "PageNumber to use in pagination\n            *Default value: 1*"
        schema:
          type: integer
          format: int32
      - in: query
        name: PageSize
        description: "PageSize to use in pagination\n            *Default value : 10\n            Maximum value: 25*"
        schema:
          type: integer
          format: int32
      - in: header
        name: X-DIGIKEY-Client-Id
        description: The Client Id for your app.
        required: true
        schema:
          type: string
      - in: header
        name: X-DIGIKEY-Locale-Language
        description: 'Two letter code for language to search on. Language must be supported by the selected site. If searching on keyword, this language is used to find matches. Acceptable values include: en, ja, de, fr, ko, zhs, zht, it, es, he, nl, sv, pl, fi, da, no.

          Default value: en'
        schema:
          type: string
      - in: header
        name: X-DIGIKEY-Locale-Currency
        description: 'Three letter code for Currency to return part pricing for. Currency must be supported by the selected site. Acceptable values include: USD, CAD, JPY, GBP, EUR, HKD, SGD, TWD, KRW, AUD, NZD, INR, DKK, NOK, SEK, ILS, CNY, PLN, CHF, CZK, HUF, RON, ZAR, MYR, THB, PHP.

          Default value: primary currency for the entered Locale-site.'
        schema:
          type: string
      - in: header
        name: X-DIGIKEY-Locale-Site
        description: 'We return the order’s status in English unless you set the Locale to alternative values. They do not need to be the same ones used to place the Order.   Two letter country/region code. Acceptable values include: US, CA, JP, UK, DE, AT, BE, DK, FI, GR, IE, IT, LU, NL, NO, PT, ES, KR, HK, SG, CN, TW, AU, FR, IN, NZ, SE, MX, CH, IL, PL, SK, SI, LV, LT, EE, CZ, HU, BG, MY, ZA, RO, TH, PH.'
        schema:
          type: string
      - in: header
        name: X-DIGIKEY-Account-Id
        description: 'Your DigiKey AccountID. This optional field should be populated when your email address is associated with more than one Account and you are using 3-legged OAuth. If you are using 2-Legged OAuth, it is a required field to receive a successful response.


          We use the AccountID to determine which Sales Orders will be returned.


          Select ‘My account’ above to learn more about AccountIDs.'
        schema:
          type: string
      responses:
        '200':
          description: OK
          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/DKProblemDetails'
        '401':
          description: Unauthorized - Token is expired or Client Id or subscription are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DKProblemDetails'
        '403':
          description: The target resource is forbidden.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DKProblemDetails'
        '404':
          description: Not Found - The requested resource could not be found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DKProblemDetails'
        '429':
          description: Too Many Requests - Your rate limit has been exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DKProblemDetails'
        '500':
          description: An unhandled error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DKProblemDetails'
        '503':
          description: Service Unavailable - The service is temporarily unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DKProblemDetails'
    servers:
    - url: https://api.digikey.com/orderstatus/v4
  /salesorder/{salesOrderId}:
    get:
      tags:
      - OrderHistory
      summary: Retrieves a SalesOrder for a specific salesOrderId
      description: 'This API uses both two-legged OAuth and three-legged OAuth. See Documentation | OAuth 2.0: 2 Legged Flow or OAuth 2.0: 3 Legged Flow for information.


        Which endpoint should I use?


        If you know the SalesOrderID for the Order you want to retrieve information, call the RetrieveSalesOrder endpoint.


        Otherwise, call the SearchOrders endpoint and specify a date range. This endpoint will return the same information for every Order placed during that time period.'
      operationId: RetrieveSalesOrder
      parameters:
      - in: path
        name: salesOrderId
        description: The ID number for the Sales Order you want to retrieve.
        required: true
        schema:
          type: integer
          format: int32
      - in: header
        name: X-DIGIKEY-Client-Id
        description: The Client Id for your app.
        required: true
        schema:
          type: string
      - in: header
        name: X-DIGIKEY-Locale-Language
        description: 'Two letter code for language to search on. Language must be supported by the selected site. If searching on keyword, this language is used to find matches. Acceptable values include: en, ja, de, fr, ko, zhs, zht, it, es, he, nl, sv, pl, fi, da, no.

          Default value: en'
        schema:
          type: string
      - in: header
        name: X-DIGIKEY-Locale-Currency
        description: 'Three letter code for Currency to return part pricing for. Currency must be supported by the selected site. Acceptable values include: USD, CAD, JPY, GBP, EUR, HKD, SGD, TWD, KRW, AUD, NZD, INR, DKK, NOK, SEK, ILS, CNY, PLN, CHF, CZK, HUF, RON, ZAR, MYR, THB, PHP.

          Default value: primary currency for the entered Locale-site.'
        schema:
          type: string
      - in: header
        name: X-DIGIKEY-Locale-Site
        description: 'We return the order’s status in English unless you set the Locale to alternative values. They do not need to be the same ones used to place the Order.   Two letter country/region code. Acceptable values include: US, CA, JP, UK, DE, AT, BE, DK, FI, GR, IE, IT, LU, NL, NO, PT, ES, KR, HK, SG, CN, TW, AU, FR, IN, NZ, SE, MX, CH, IL, PL, SK, SI, LV, LT, EE, CZ, HU, BG, MY, ZA, RO, TH, PH.'
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrder'
        '400':
          description: Bad Request - The input model is invalid or malformed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DKProblemDetails'
        '401':
          description: Unauthorized - Token is expired or Client Id or subscription are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DKProblemDetails'
        '403':
          description: The target resource is forbidden.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DKProblemDetails'
        '404':
          description: Not Found - The requested resource could not be found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DKProblemDetails'
        '429':
          description: Too Many Requests - Your rate limit has been exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DKProblemDetails'
        '500':
          description: An unhandled error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DKProblemDetails'
        '503':
          description: Service Unavailable - The service is temporarily unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DKProblemDetails'
    servers:
    - url: https://api.digikey.com/orderstatus/v4
components:
  schemas:
    Schedule:
      type: object
      properties:
        QuantityScheduled:
          format: int32
          description: Quantity scheduled to be shipped
          type: integer
        ScheduledDate:
          format: date-time
          description: Date the shipment is scheduled to be delivered to the customer
          type: string
          example: '2019-05-30T21:16:13.7526329Z'
        DigiKeyReleaseDate:
          format: date-time
          description: Date the shipment is scheduled to depart DigiKey’s facility
          type: string
      additionalProperties: false
    SalesOrderStatusInfo:
      type: object
      properties:
        SalesOrderStatus:
          description: Status of order
          enum:
          - Unknown
          - Received
          - Processing
          - Processing3rdParty
          - ProcessingPartialShipment
          - ProcessingAwaitingBackorders
          - ProcessingShipBackorder
          - ProcessingScheduledShipmentMultipleRelease
          - ProcessingScheduledShipmentSingleRelease
          - ProcessingScheduledShipmentMsc
          - Shipped
          - Delivered
          - GenericDelay
          - Canceled
          - Proforma
          - ActionRequiredWireTransfer
          type: string
        ShortDescription:
          description: Short description of order status
          type: string
        LongDescription:
          description: Longer description of order status
          type: string
      additionalProperties: false
    Address:
      type: object
      properties:
        FirstName:
          description: First name on address
          type: string
          example: John
        LastName:
          description: Last name on address
          type: string
          example: Doe
        CompanyName:
          description: Company name on address
          type: string
          example: Corporation X
        AddressLine1:
          description: First address line
          type: string
          example: 123 North Street
        AddressLine2:
          description: Second address line
          type: string
          example: 123 North Street
        AddressLine3:
          description: Third address line
          type: string
          example: 123 North Street
        City:
          description: City on address
          type: string
          example: Metrocity
        State:
          description: State code on address
          type: string
          example: MN
        County:
          description: County on address
          type: string
          example: Little County
        ZipCode:
          description: Zip code on address
          type: string
          example: '78303'
        IsoCode:
          description: Country on address
          type: string
          example: USA
        Phone:
          description: Phone number on address
          type: string
          example: 555-555-5555
        InvoiceId:
          format: int32
          description: Invoice ID of order
          type: integer
          example: 12345678
      additionalProperties: false
    Order:
      type: object
      properties:
        OrderNumber:
          format: int64
          description: OrderNumber of the order
          type: integer
          example: 123456789012345
        CustomerId:
          format: int32
          description: CustomerID of the order
          type: integer
          example: 123456789
        DateEntered:
          format: date-time
          description: Date the order was entered
          type: string
          example: '2019-05-30T21:16:13.7526329Z'
        Currency:
          description: Currency used to pay for order
          type: string
          example: USD
        PONumber:
          description: Purchase order number of the order
          type: string
          example: '3129082341'
        EntireOrderStatus:
          $ref: '#/components/schemas/OrderStatusInfo'
        SalesOrders:
          description: List of the salesOrders
          type: array
          items:
            $ref: '#/components/schemas/SalesOrder'
      additionalProperties: false
    ItemShipInfo:
      type: object
      properties:
        QuantityShipped:
          format: int32
          description: Quantity of item shipped
          type: integer
          example: 3
        InvoiceId:
          format: int32
          description: Invoice ID of given item
          type: integer
          example: 12345678
        ShippedDate:
          format: date-time
          description: Date shipped
          type: string
          example: '2023-01-26T09:03:54-06:00'
        TrackingNumber:
          description: Tracking number of the shipment
          type: string
        ExpectedDeliveryDate:
          description: Expected date item to be delivered by
          type: string
      additionalProperties: false
    OrderStatusInfo:
      type: object
      properties:
        OrderStatus:
          description: Status of order
          enum:
          - Unknown
          - Received
          - Processing
          - ProcessingPartialShipment
          - ProcessingAwaitingBackorders
          - ProcessingShipBackorder
          - ProcessingScheduledShipmentsMultipleRelease
          - ProcessingScheduledShipmentSingleRelease
          - ProcessingScheduledShipmentMsc
          - ProcessingDkAnd3rdParty
          - ProcessingMultiple3rdParty
          - Shipped
          - Delivered
          - GenericDelay
          - Canceled
          - Proforma
          - ActionRequiredWireTransfer
          type: string
        ShortDescription:
          description: Short description of order status
          type: string
        LongDescription:
          description: Longer description of order status
          type: string
      additionalProperties: false
    Contact:
      description: The contact information for a given customer
      type: object
      properties:
        FirstName:
          description: The first name of the customer
          type: string
        LastName:
          description: The last name of the customer
          type: string
        Email:
          description: The email address of the customer
          type: string
      additionalProperties: false
    OrderResponse:
      type: object
      properties:
        TotalOrders:
          format: int32
          type: integer
        Orders:
          type: array
          items:
            $ref: '#/components/schemas/Order'
      additionalProperties: false
    DKProblemDetails:
      type: object
      properties:
        type:
          type: string
        title:
          type: string
        status:
          format: int32
          type: integer
        detail:
          type: string
        instance:
          type: string
        correlationId:
          type: string
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          readOnly: true
      additionalProperties: false
    SalesOrder:
      description: DTO for a Sales Order
      type: object
      properties:
        CustomerId:
          format: int32
          description: Customer ID for the sales order
          type: integer
          example: 123456789
        Contact:
          $ref: '#/components/schemas/Contact'
        SalesOrderId:
          format: int32
          description: Sales order ID for the sales order
          type: integer
          example: 123456789
        Status:
          $ref: '#/components/schemas/SalesOrderStatusInfo'
        PurchaseOrder:
          description: Purchase order number of the sales order
          type: string
          example: '3129082341'
        TotalPrice:
          format: double
          description: Total price of all details, Shipping Charges, Sales Tax, Tariffs, GST, HST
          type: number
        DateEntered:
          format: date-time
          description: Date the sales order was entered
          type: string
          example: '2019-05-30T21:16:13.7526329Z'
        OrderNumber:
          format: int64
          description: Order number of the sales order
          type: integer
          example: 123456789012345
        ShipMethod:
          description: Method used to ship items in sales order
          type: string
          example: UPS Overnight
        Currency:
          description: Currency used to place sales order
          type: string
          example: USD
        ShippingAddress:
          $ref: '#/components/schemas/Address'
        LineItems:
          description: List of line items for a sales order
          type: array
          items:
            $ref: '#/components/schemas/LineItem'
      additionalProperties: false
    LineItem:
      description: LineItem for a given Sales Order
      type: object
      properties:
        SalesOrderId:
          format: int32
          description: Sales order ID for given line item
          type: integer
          example: 123456789
        DetailId:
          format: int32
          description: DK detail ID for given line item
          type: integer
        TotalPrice:
          format: double
          description: Total price of all details, Shipping Charges, Sales Tax, Tariffs, GST, HST
          type: number
        PurchaseOrder:
          description: Customer purchase order
          type: string
        CustomerReference:
          description: Customer part number for reference
          type: string
        CountryOfOrigin:
          description: Country of origin
          type: string
        DigiKeyProductNumber:
          description: DigiKey product number for given line item
          type: string
          example: P5555
        ManufacturerProductNumber:
          description: Manufacturer part number for given line item
          type: string
          example: ECA-1VHG102
        Description:
          description: Description of part for given line item
          type: string
          example: CAP ALUM 1000UF 20% 35V RADIAL
        PackType:
          description: PackType of given line item
          enum:
          - TapeReel
          - CutTape
          - Bulk
          - TapeBox
          - Tube
          - Tray
          - Box
          - Bag
          - Spools
          - DigiReel
          - Strip
          - Bottle
          - Canister
          - Book
          - Dispenser
          - Sheet
          - Pail
          - Can
          - Case
          - RetailPkg
          - DigiSpool
          - ElectronicDelivery
          - None
          type: string
          example: TapeReel
        QuantityInitialRequested:
          format: int32
          description: The total initial quantity requested on the order.
          type: integer
          readOnly: true
        QuantityOrdered:
          format: int32
          description: The accepted Quantity of the order. QuantityOrdered will be the same as QuantityInitialRequested at order entry. If changes are made to quantity it will be reflected in QuantityOrdered
          type: integer
          example: 20
        QuantityShipped:
          format: int32
          description: The sum quantity shipped
          type: integer
          example: 14
        QuantityReserved:
          format: int32
          description: The Quantity reserved and not shipped.
          type: integer
          example: 14
        QuantityBackOrder:
          format: int32
          description: Quantity on backorder
          type: integer
          example: 3
        UnitPrice:
          format: double
          description: Unit price of product
          type: number
          example: 578000
        PoLineItemNumber:
          description: Line item number provided on purchase order
          type: string
        ItemShipments:
          description: List of item shipments for given lineitem
          type: array
          items:
            $ref: '#/components/schemas/ItemShipInfo'
        Schedules:
          description: List of schedules for given line item
          type: array
          items:
            $ref: '#/components/schemas/Schedule'
      additionalProperties: false
  securitySchemes:
    apiKeySecurity:
      type: apiKey
      name: X-DIGIKEY-Client-Id
      in: header
    oauth2ApplicationSecurity:
      type: oauth2
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: https://api.digikey.com/v1/oauth2/token
x-refined-from:
- digi-key-orderstatus-orderstatus-v4.json
- digi-key-orderstatus-orderstatus-v4-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