Digi-Key Parts API

The Parts API from Digi-Key — 2 operation(s) for parts.

Operations 5

GET /lists/{listId}/parts/{uniqueId} Gets part from a specified list by the unique id of the part #
PUT /lists/{listId}/parts/{uniqueId} Updates all part information for the specified part unique id #
DELETE /lists/{listId}/parts/{uniqueId} Deletes the specified part #
GET /lists/{listId}/parts Gets all parts from the list. #
POST /lists/{listId}/parts Adds parts to the specified list #

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-parts-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-parts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Digi Key Parts 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 Parts across 2 of this provider''s published API definitions: digi-key-mylists-api-mylists-v1.json, digi-key-mylists-api-mylists-v1-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.digikey.com/mylists/v1
security:
- apiKeySecurity: []
  oauth2ApplicationSecurity: []
tags:
- name: Parts
paths:
  /lists/{listId}/parts/{uniqueId}:
    get:
      tags:
      - Parts
      summary: Gets part from a specified list by the unique id of the part
      operationId: GetPartFromListByUniqueId
      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
      - in: path
        name: listId
        description: Unique list id
        required: true
        schema:
          type: string
      - in: path
        name: uniqueId
        description: A uniqueId for a part that you want pricing for
        required: true
        schema:
          type: string
      - in: query
        name: countryIso
        description: Desired country
        schema:
          type: string
          default: ''
      - in: query
        name: currencyIso
        description: Desired currency
        schema:
          type: string
          default: ''
      - in: query
        name: languageIso
        description: Desired language
        schema:
          type: string
          default: en
      - in: query
        name: pricingCountryIso
        description: Desired pricingCountry (set to countryIso by default)
        schema:
          type: string
          default: ''
      - in: query
        name: assemblies
        description: Number that the quantity should be multiplied by for pricing information
        schema:
          type: integer
          format: int32
          default: 0
      - in: query
        name: createdBy
        description: Used if a customerId is not passed in
        schema:
          type: string
          default: ''
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPart'
        '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'
    put:
      tags:
      - Parts
      summary: Updates all part information for the specified part unique id
      operationId: UpdatePartFromListByUniqueId
      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
      - in: path
        name: listId
        description: Unique id
        required: true
        schema:
          type: string
      - in: path
        name: uniqueId
        description: The uniqueId of the part that should be updated in the database
        required: true
        schema:
          type: string
      - in: query
        name: createdBy
        description: Used if a customerId is not passed in
        schema:
          type: string
          default: ''
      responses:
        '204':
          description: No Content
        '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-patch+json:
            schema:
              $ref: '#/components/schemas/RequestedPart'
          application/json:
            schema:
              $ref: '#/components/schemas/RequestedPart'
          text/json:
            schema:
              $ref: '#/components/schemas/RequestedPart'
          application/*+json:
            schema:
              $ref: '#/components/schemas/RequestedPart'
        description: The part to be updated
    delete:
      tags:
      - Parts
      summary: Deletes the specified part
      operationId: DeletePartFromListByUniqueId
      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
      - in: path
        name: listId
        description: Unique list id
        required: true
        schema:
          type: string
      - in: path
        name: uniqueId
        description: Unique Id for part to be deleted
        required: true
        schema:
          type: string
      - in: query
        name: createdBy
        description: Used if a customerId is not passed in
        schema:
          type: string
          default: ''
      responses:
        '204':
          description: No Content
        '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'
    servers:
    - url: https://api.digikey.com/mylists/v1
  /lists/{listId}/parts:
    get:
      tags:
      - Parts
      summary: Gets all parts from the list.
      operationId: GetPartsByListId
      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
      - in: path
        name: listId
        description: The id of the list that you want information for
        required: true
        schema:
          type: string
      - in: query
        name: countryIso
        description: Desired country
        schema:
          type: string
          default: ''
      - in: query
        name: currencyIso
        description: Desired currency
        schema:
          type: string
          default: ''
      - in: query
        name: languageIso
        description: Desired language
        schema:
          type: string
          default: ''
      - in: query
        name: startIndex
        description: Where in the list you would like to start at
        schema:
          type: integer
          format: int32
          default: 0
      - in: query
        name: limit
        description: How many parts you would like returned back
        schema:
          type: integer
          format: int32
          default: 100
      - in: query
        name: assemblies
        description: The amount of units you want for every part entered. Cannot be less than 1
        schema:
          type: integer
          format: int32
          default: 1
      - in: query
        name: includeAttrition
        description: 'The listSetting in the database will be used if the value is false. If true it will

          include attrition'
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartsByListIdResponse'
        '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'
    post:
      tags:
      - Parts
      summary: Adds parts to the specified list
      operationId: AddPartsToListId
      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
      - in: path
        name: listId
        description: Unique list id
        required: true
        schema:
          type: string
      - in: query
        name: index
        description: Index at where you can add the part to
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '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-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/RequestedPart'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/RequestedPart'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/RequestedPart'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/RequestedPart'
        description: List of parts to add to the specifiedList
    servers:
    - url: https://api.digikey.com/mylists/v1
components:
  schemas:
    ListPart:
      type: object
      properties:
        PartId:
          format: int32
          type: integer
        UniqueId:
          type: string
        CustomerReference:
          type: string
        ReferenceDesignator:
          type: string
        Notes:
          type: string
        MinOrderQty:
          format: int32
          type: integer
        MaxOrderQty:
          format: int64
          type: integer
        OriginalPartNumber:
          type: string
        RequestedPartNumber:
          type: string
        DigiKeyPartNumber:
          type: string
        ManufacturerPartNumber:
          type: string
        RequestedManufacturerName:
          type: string
        Manufacturer:
          type: string
        Description:
          type: string
        PartStatus:
          type: string
        PartStatusCode:
          format: int32
          enum:
          - Active
          - Obsolete
          - Discontinued
          - ComingSoon
          - LastTimeBuy
          - NotForNewDesigns
          type: integer
        Availability:
          type: string
        TariffCode:
          format: int32
          enum:
          - NoTariff
          - TariffPending
          - TariffApplied
          type: integer
        QuantityAvailable:
          format: int32
          type: integer
        SelectedQuantityIndex:
          format: int32
          type: integer
        Attrition:
          format: double
          type: number
        Quantities:
          type: array
          items:
            $ref: '#/components/schemas/ListPartQuantity'
        VendorLeadWeeks:
          format: int32
          type: integer
        PartDetailUrl:
          type: string
        PrimaryDatasheetUrl:
          type: string
        ImageUrl:
          type: string
        ThumbnailUrl:
          type: string
        MarketPlaceSupplierLink:
          type: string
        SupplierName:
          type: string
        Substitutes:
          type: array
          items:
            $ref: '#/components/schemas/PartOption'
        AlternateParts:
          type: array
          items:
            $ref: '#/components/schemas/PartOption'
        Flags:
          $ref: '#/components/schemas/ListPartFlags'
        ReachStatus:
          type: string
        RohsStatusMessage:
          type: string
        Eccn:
          type: string
        Htsus:
          type: string
        CountryOfOrigin:
          type: string
        EnvironmentalDocs:
          type: object
          additionalProperties:
            type: string
        Category:
          type: string
        PartsAvailableForCref:
          type: array
          items:
            $ref: '#/components/schemas/CrefPartOption'
        CrefsAvailableForPart:
          type: array
          items:
            type: string
      additionalProperties: false
    PackOptionWithPricing:
      type: object
      properties:
        PartId:
          format: int32
          type: integer
        DigiKeyPartNumber:
          type: string
        ManufacturerPartNumber:
          type: string
        Quantity:
          format: int32
          type: integer
        PackType:
          type: string
        QuantityAvailable:
          format: int32
          type: integer
        MinimumOrderQuantity:
          format: int32
          type: integer
        CalculatedUnitPrice:
          format: double
          type: number
        ExtendedPrice:
          format: double
          type: number
        BreakPrice:
          format: double
          type: number
        BreakQuantity:
          format: int32
          type: integer
        IsUpsell:
          type: boolean
        ValueAdditionalFee:
          format: double
          type: number
        SubPackOptions:
          type: array
          items:
            $ref: '#/components/schemas/PackOptionWithPricing'
        FormattedUnitPrice:
          type: string
        FormattedExtendedPrice:
          type: string
      additionalProperties: false
    RequestedQuantity:
      type: object
      properties:
        SelectedPackType:
          type: string
        SelectedSubPackType:
          type: string
        Quantity:
          format: int32
          type: integer
        TargetPrice:
          format: double
          type: number
      additionalProperties: false
    PartOption:
      type: object
      properties:
        PartId:
          format: int32
          type: integer
        DigiKeyPartNumber:
          type: string
        Manufacturer:
          type: string
        ManufacturerPartNumber:
          type: string
        Description:
          type: string
        PartDetailUrl:
          type: string
        SubstituteType:
          type: string
        MinimumOrderQuantity:
          format: int32
          type: integer
        QuantityAvailable:
          type: string
        TariffStatus:
          format: int32
          enum:
          - NoTariff
          - TariffPending
          - TariffApplied
          type: integer
        MasterPartId:
          format: int32
          type: integer
        UnitPrice:
          type: string
      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
    CrefPartOption:
      type: object
      properties:
        ManufacturerPartnumber:
          type: string
        Manufacturer:
          type: string
        MinimumOrderQuantity:
          format: int32
          type: integer
        Description:
          type: string
        QuantityAvailable:
          format: int32
          type: integer
      additionalProperties: false
    RequestedPart:
      type: object
      properties:
        UniqueId:
          type: string
        PartId:
          format: int32
          type: integer
        RequestedPartNumber:
          type: string
        OriginalPartNumber:
          type: string
        ManufacturerName:
          type: string
        CustomerReference:
          type: string
        ReferenceDesignator:
          type: string
        Notes:
          type: string
        SelectedQuantityIndex:
          format: int32
          type: integer
        Attrition:
          format: double
          type: number
        AlternateParts:
          type: array
          items:
            type: string
        Quantities:
          type: array
          items:
            $ref: '#/components/schemas/RequestedQuantity'
      additionalProperties: false
    PartsByListIdResponse:
      type: object
      properties:
        PartsList:
          type: array
          items:
            $ref: '#/components/schemas/ListPart'
        TotalParts:
          format: int32
          type: integer
      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
    ListPartQuantity:
      type: object
      properties:
        QuantityRequested:
          format: int32
          type: integer
        CalculatedQuantity:
          format: int32
          type: integer
        TargetPrice:
          format: double
          type: number
        SelectedPackType:
          type: string
        SelectedSubPackType:
          type: string
        IsInactive:
          type: boolean
        SelectedPackOptionIndex:
          format: int32
          type: integer
        SelectedSubPackOptionIndex:
          format: int32
          type: integer
        PackOptions:
          type: array
          items:
            $ref: '#/components/schemas/PackOptionWithPricing'
      additionalProperties: false
    ListPartFlags:
      type: object
      properties:
        NonStock:
          type: boolean
        IsNCNR:
          type: boolean
        IsSDS:
          type: boolean
        IsValueAdd:
          type: boolean
        IsMatched:
          type: boolean
        IsMarketPlace:
          type: boolean
        BoNotAllowed:
          type: boolean
        DisplayRegularLeadTime:
          type: boolean
        DisplayCheckActiveLeadTime:
          type: boolean
        MultipleCrefsForPart:
          type: boolean
        MultiplePartsForCref:
          type: boolean
        IsChecked:
          type: boolean
        IsEditable:
          type: boolean
        IsDeniedByCountry:
          type: boolean
        IsDeniedByCurrency:
          type: boolean
        IsDeniedByCustomerId:
          type: boolean
      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-mylists-api-mylists-v1.json
- digi-key-mylists-api-mylists-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