Digi-Key Order Management API

The OrderManagement API from Digi-Key — 8 operation(s) for ordermanagement.

Business capability
Order Fulfilment Management BC-520.40

Operations 10

GET /SalesOrders/{salesOrderId} Use a Digi-Key SalesOrderId to return a SalesOrderView #
GET /SalesOrders/Search/PoNumber/{poNumber} Get SalesOrder information by Purchase Order number #
GET /SalesOrders/{salesOrderId}/ChangeEligibility Use a Digi-Key SalesOrderId to check the change eligibility of a salesOrder #
GET /SalesOrders/{salesOrderId}/NextAvailableDeliveryDate The NextAvailableDeliveryDate provides an estimate of the earliest delivery… #
GET /SalesOrders/{salesOrderId}/Details Use a Digi-Key SalesOrderId to return the list of SalesOrderDetailViews… #
GET /SalesOrders/{salesOrderId}/Details/{detailId} Use a Digi-Key SalesOrderId and a detailId to return a specific… #
GET /SalesOrders/{salesOrderId}/Details/{detailId}/Schedules Use a Digi-Key SalesOrderId and a detailId to return a specific… #
PUT /SalesOrders/{salesOrderId}/Details/{detailId}/Schedules Create or Replace schedules for a given Digi-Key SalesOrderId and detailId. #
GET /SalesOrders/{salesOrderId}/Details/{detailId}/Schedules/{scheduleIndex} Use a Digi-Key SalesOrderId, detailId, and scheduleIndex to return a specific… #
PATCH /SalesOrders/{salesOrderId}/Details/{detailId}/Schedules/{scheduleIndex} Partial update for a schedule given Digi-Key SalesOrderId, detailId, and… #

Documentation

Specifications

Schemas & Data

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-ordermanagement-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-ordermanagement-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Digi Key Order Management API
  version: v1
  contact:
    name: API Support
    url: https://developer.digikey.com/support
  termsOfService: https://www.digikey.com/en/terms-and-conditions
  description: 'Operations tagged OrderManagement across 2 of this provider''s published API definitions: digi-key-b2bapi-order-management-api-ordermanagement-v1.json, digi-key-b2bapi-order-management-api-ordermanagement-v1-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.digikey.com/OrderManagement/v1
security:
- apiKeySecurity: []
  oauth2AccessCodeSecurity: []
tags:
- name: OrderManagement
paths:
  /SalesOrders/{salesOrderId}:
    get:
      tags:
      - OrderManagement
      summary: Use a Digi-Key SalesOrderId to return a SalesOrderView
      operationId: SalesOrderById
      parameters:
      - in: path
        name: salesOrderId
        description: Digi-Key SalesOrderId
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderView'
        '401':
          description: Unauthorized - Token is expired or client Id or subscription are invalid
          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'
        '403':
          description: Forbidden
          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'
        '400':
          description: Bad Request - The input model is invalid or malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
    servers:
    - url: https://api.digikey.com/OrderManagement/v1
  /SalesOrders/Search/PoNumber/{poNumber}:
    get:
      tags:
      - OrderManagement
      summary: Get SalesOrder information by Purchase Order number
      operationId: SalesOrdersByPoNumber
      parameters:
      - in: path
        name: poNumber
        description: Purchase order number
        required: true
        schema:
          type: string
      - in: query
        name: ordersLimit
        description: Query Limit number of orders returned. Default is 1000
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrdersByPoNumberView'
        '401':
          description: Unauthorized - Token is expired or client Id or subscription are invalid
          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'
        '403':
          description: Forbidden
          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'
        '400':
          description: Bad Request - The input model is invalid or malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
    servers:
    - url: https://api.digikey.com/OrderManagement/v1
  /SalesOrders/{salesOrderId}/ChangeEligibility:
    get:
      tags:
      - OrderManagement
      summary: Use a Digi-Key SalesOrderId to check the change eligibility of a salesOrder
      operationId: ChangeEligibility
      parameters:
      - in: path
        name: salesOrderId
        description: Digi-Key SalesOrderId
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderEligibilityView'
        '401':
          description: Unauthorized - Token is expired or client Id or subscription are invalid
          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'
        '403':
          description: Forbidden
          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'
        '400':
          description: Bad Request - The input model is invalid or malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
    servers:
    - url: https://api.digikey.com/OrderManagement/v1
  /SalesOrders/{salesOrderId}/NextAvailableDeliveryDate:
    get:
      tags:
      - OrderManagement
      summary: The NextAvailableDeliveryDate provides an estimate of the earliest delivery…
      operationId: NextAvailableDeliveryDate
      parameters:
      - in: path
        name: salesOrderId
        description: ''
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NextAvailableDeliveryDateView'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '503':
          description: Service Unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
    servers:
    - url: https://api.digikey.com/OrderManagement/v1
  /SalesOrders/{salesOrderId}/Details:
    get:
      tags:
      - OrderManagement
      summary: Use a Digi-Key SalesOrderId to return the list of SalesOrderDetailViews…
      operationId: SalesOrderDetails
      parameters:
      - in: path
        name: salesOrderId
        description: Digi-Key SalesOrderId
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SalesOrderDetailView'
        '401':
          description: Unauthorized - Token is expired or client Id or subscription are invalid
          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'
        '403':
          description: Forbidden
          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'
        '400':
          description: Bad Request - The input model is invalid or malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
    servers:
    - url: https://api.digikey.com/OrderManagement/v1
  /SalesOrders/{salesOrderId}/Details/{detailId}:
    get:
      tags:
      - OrderManagement
      summary: Use a Digi-Key SalesOrderId and a detailId to return a specific…
      operationId: SalesOrderDetailById
      parameters:
      - in: path
        name: salesOrderId
        description: Digi-Key SalesOrderId
        required: true
        schema:
          type: integer
          format: int32
      - in: path
        name: detailId
        description: Id to distinguish detail line
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderDetailView'
        '401':
          description: Unauthorized - Token is expired or client Id or subscription are invalid
          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'
        '403':
          description: Forbidden
          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'
        '400':
          description: Bad Request - The input model is invalid or malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
    servers:
    - url: https://api.digikey.com/OrderManagement/v1
  /SalesOrders/{salesOrderId}/Details/{detailId}/Schedules:
    get:
      tags:
      - OrderManagement
      summary: Use a Digi-Key SalesOrderId and a detailId to return a specific…
      operationId: SalesOrderSchedules
      parameters:
      - in: path
        name: salesOrderId
        description: Digi-Key SalesOrderId
        required: true
        schema:
          type: integer
          format: int32
      - in: path
        name: detailId
        description: Id to distinguish detail line
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SalesOrderSchedulesView'
        '401':
          description: Unauthorized - Token is expired or client Id or subscription are invalid
          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'
        '403':
          description: Forbidden
          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'
        '400':
          description: Bad Request - The input model is invalid or malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
    put:
      tags:
      - OrderManagement
      summary: Create or Replace schedules for a given Digi-Key SalesOrderId and detailId.
      operationId: ReplaceSchedule
      parameters:
      - in: path
        name: salesOrderId
        description: Digi-Key SalesOrderId
        required: true
        schema:
          type: integer
          format: int32
      - in: path
        name: detailId
        description: Id to distinguish detail line
        required: true
        schema:
          type: integer
          format: int32
      - in: query
        name: acceptNextDelivery
        description: ''
        schema:
          type: boolean
      responses:
        '204':
          description: Success - No Content
        '401':
          description: Unauthorized - Token is expired or client Id or subscription are invalid
          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'
        '403':
          description: Forbidden
          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'
        '400':
          description: Bad Request - The input model is invalid or malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/SalesOrderScheduleForUpdate'
        description: A list of SalesOrderScheduleForUpdate
    servers:
    - url: https://api.digikey.com/OrderManagement/v1
  /SalesOrders/{salesOrderId}/Details/{detailId}/Schedules/{scheduleIndex}:
    get:
      tags:
      - OrderManagement
      summary: Use a Digi-Key SalesOrderId, detailId, and scheduleIndex to return a specific…
      operationId: SalesOrderScheduleById
      parameters:
      - in: path
        name: salesOrderId
        description: Digi-Key SalesOrderId
        required: true
        schema:
          type: integer
          format: int32
      - in: path
        name: detailId
        description: Id to distinguish detail line
        required: true
        schema:
          type: integer
          format: int32
      - in: path
        name: scheduleIndex
        description: Id of the Schedule
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderSchedulesView'
        '401':
          description: Unauthorized - Token is expired or client Id or subscription are invalid
          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'
        '403':
          description: Forbidden
          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'
        '400':
          description: Bad Request - The input model is invalid or malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
    patch:
      tags:
      - OrderManagement
      summary: Partial update for a schedule given Digi-Key SalesOrderId, detailId, and…
      operationId: PartialScheduleUpdate
      parameters:
      - in: path
        name: salesOrderId
        description: Digi-Key SalesOrderId
        required: true
        schema:
          type: integer
          format: int32
      - in: path
        name: detailId
        description: Id to distinguish detail line
        required: true
        schema:
          type: integer
          format: int32
      - in: path
        name: scheduleIndex
        description: Id of the Schedule
        required: true
        schema:
          type: integer
          format: int32
      - in: query
        name: acceptNextDelivery
        description: ''
        schema:
          type: boolean
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchedulePatchView'
        '401':
          description: Unauthorized - Token is expired or client Id or subscription are invalid
          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'
        '403':
          description: Forbidden
          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'
        '400':
          description: Bad Request - The input model is invalid or malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
        description: 'A json patch document [{"op": "replace","path": "/ScheduleDate","value": "2022-12-10T05:00:00Z"}]

          operation op must be "replace" and path must be "/ScheduleDate"'
    servers:
    - url: https://api.digikey.com/OrderManagement/v1
components:
  schemas:
    SalesOrderScheduleForUpdate:
      required:
      - QuantityScheduled
      - ScheduleDate
      type: object
      properties:
        ScheduleDate:
          format: date-time
          type: string
        QuantityScheduled:
          format: int32
          maximum: 2147483647
          minimum: 1
          type: integer
      additionalProperties: false
    SalesOrdersByPoNumberView:
      type: object
      properties:
        SalesOrdersDetails:
          type: array
          items:
            $ref: '#/components/schemas/SalesOrderByPoNumberDetail'
      additionalProperties: false
    Operation:
      type: object
      properties:
        value: []
        path:
          type: string
        op:
          type: string
        from:
          type: string
      additionalProperties: false
    SalesOrderView:
      type: object
      properties:
        Currency:
          type: string
        SalesOrderId:
          format: int32
          type: integer
        CustomerId:
          format: int32
          type: integer
        PurchaseOrderNumber:
          type: string
        ShipMethod:
          type: string
        Details:
          type: array
          items:
            $ref: '#/components/schemas/SalesOrderDetailView'
      additionalProperties: false
    SalesOrderSchedulesView:
      type: object
      properties:
        ScheduleDate:
          format: date-time
          type: string
        DetailId:
          format: int32
          type: integer
        QuantityScheduled:
          format: int32
          type: integer
        SalesOrderId:
          format: int32
          type: integer
        ScheduleIndex:
          format: int32
          type: integer
      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
    SalesOrderByPoNumberDetail:
      type: object
      properties:
        SalesOrderId:
          format: int32
          type: integer
        CustomerId:
          format: int32
          type: integer
        AccountId:
          format: int32
          type: integer
        OrderName:
          type: string
        PurchaseOrder:
          type: string
        DateEntered:
          format: date-time
          type: string
        ProcessingState:
          format: int32
          type: integer
        DisplayFlag:
          type: string
      additionalProperties: false
    SchedulePatchView:
      type: object
      properties:
        Original:
          $ref: '#/components/schemas/SalesOrderSchedulesView'
        Patched:
          $ref: '#/components/schemas/SalesOrderSchedulesView'
      additionalProperties: false
    SalesOrderDetailView:
      type: object
      properties:
        PoLineItemNumber:
          type: string
        SalesOrderId:
          format: int32
          type: integer
        DetailId:
          format: int32
          type: integer
        DigiKeyPartNumber:
          type: string
        ManufacturerPartNumber:
          type: string
        Quantity:
          format: int32
          type: integer
        QuantityBackorder:
          format: int32
          type: integer
        QuantityShipped:
          format: int32
          type: integer
        InvoiceId:
          format: int64
          type: integer
        StandardPackSize:
          format: int32
          type: integer
        Schedules:
          type: array
          items:
            $ref: '#/components/schemas/SalesOrderSchedulesView'
      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
    NextAvailableDeliveryDateView:
      type: object
      properties:
        NextRelease:
          format: date-time
          type: string
        EstimatedDeliveryDate:
          format: date-time
          type: string
      additionalProperties: false
    SalesOrderEligibilityView:
      type: object
      properties:
        Eligibility:
          type: boolean
        SalesOrderId:
          format: int32
          type: integer
        DetailsWithOpenSchedulesCount:
          format: int32
          type: integer
      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-b2bapi-order-management-api-ordermanagement-v1.json
- digi-key-b2bapi-order-management-api-ordermanagement-v1-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