Doordash Item Management Endpoints API

Endpoints for item management

Operations 2

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /api/v2/items Add new items managed by a business · Add new items #
Ask an LLM
“How do I add new items that a business sells across its stores?”
“Do items need to be uniquely identifiable across stores?”
Tell an agent
Add new business items {items}.
Add items {items} to the business with scope {scope}.
PATCH /api/v2/items Update existing items managed by a business · Update existing items #
Ask an LLM
“Can I edit details of existing business items in bulk?”
“What's the way to update items my business already manages?”
Tell an agent
Update existing business items {items}.
Edit items {items} my business already manages with scope {scope}.

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/doordash-itemmanagementendpoints-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

doordash-itemmanagementendpoints-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: API to manage item catalog, inventory, pricing and other attributes.
  version: '2.0'
  title: Doordash Item management API Specification Item Management…
  x-logo:
    url: https://cdn.doordash.com/static/img/merchant/logo-red@3x.png
    backgroundColor: '#FFFFFF'
    altText: Doordash Marketplace
    href: https://developer.doordash.com/
servers:
- url: https://openapi.doordash.com/marketplace
tags:
- name: ItemManagementEndpoints
  x-displayName: Item Management Endpoints
  description: Endpoints for item management
paths:
  /api/v2/items:
    post:
      tags:
      - ItemManagementEndpoints
      summary: Add new items
      description: Add new items managed by business. Items sold across all stores must be added to business first. Items must be uniquely identifiable across stores. As of now, only one businessId must be specified. Request validation will fail if no businessId or multiple businessIds are specified.
      operationId: batchAddItems
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchAddOrUpdateItemRequest'
      responses:
        '201':
          description: Ok
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncOperationResponse'
        '400':
          description: Request Validation Failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationFieldError'
        '401':
          description: Request unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '422':
          description: Request Entity Too Large
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestNotProcessError'
        '429':
          description: Request is rate limited
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestRateLimitedError'
        '500':
          description: Internal service failure, please try again later
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/server_fault'
      x-codegen-request-body-name: body
      deprecated: false
    patch:
      tags:
      - ItemManagementEndpoints
      summary: Update existing items
      description: Update existing items managed by business.
      operationId: batchUpdateItems
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchAddOrUpdateItemRequest'
      responses:
        '200':
          description: Ok
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncOperationResponse'
        '400':
          description: Request Validation Failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationFieldError'
        '401':
          description: Request unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '422':
          description: Request Entity Too Large
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestNotProcessError'
        '429':
          description: Request is rate limited
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestRateLimitedError'
        '500':
          description: Internal service failure, please try again later
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/server_fault'
      x-codegen-request-body-name: body
      deprecated: false
components:
  schemas:
    ProductTrait:
      type: string
      enum:
      - ALCOHOL
      - MEDICATION
      - WEIGHTED
    RequestNotProcessError:
      x-error: true
      type: object
      description: Request was not process.
      required:
      - code
      - message
      properties:
        code:
          type: string
          enum:
          - request_rate_limited
        message:
          type: string
          example: Request was not process. Request entity may be too large.
    BatchAddOrUpdateItemRequest:
      type: object
      properties:
        scope:
          type: object
          properties:
            business_ids:
              type: array
              items:
                type: string
        items:
          type: array
          items:
            $ref: '#/components/schemas/Item'
    ProgramEligibility:
      description: Eligibility to items for various programs
      type: string
      enum:
      - SNAP
      - HSA
      - FSA
    MultiSelectString:
      type: object
      properties:
        multi_select_string:
          type: array
          items:
            type: string
    ProductAttributes:
      type: object
      properties:
        attribute_name:
          type: string
          description: attribute name
        attribute_value:
          description: attribute value
          oneOf:
          - $ref: '#/components/schemas/SingleSelectBool'
          - $ref: '#/components/schemas/MultiSelectString'
          - $ref: '#/components/schemas/MultiSelectDouble'
    Item:
      title: Item
      description: Item to be managed by doordash. Should be unique across stores within business.
      properties:
        merchant_supplied_item_id:
          type: string
          description: Merchant supplied Id to identify an item uniquely within business across all stores. Every item that is shopable by CX must be represented as an unique item
        name:
          type: string
          description: Name of the item
        description:
          type: string
          description: Description of the item
        product_traits:
          type: array
          items:
            $ref: '#/components/schemas/ProductTrait'
          description: Specifies type of product(s) represented by the item. These attributes will be used to validate product specific attributes in request and apply product specific business logic internally. For example, when WEIGHTED is specified as one of the product trait, presence of weighted_item_info will be validated in the request payload
        other_identifiers:
          type: array
          description: Other identifiers associated with item.
          items:
            type: object
            properties:
              identifier_type:
                type: string
                description: 'Identifier type for item. Note: NSC2 and GTIN are not fully supported yet. Please contact support if you need to use these identifiers.'
                enum:
                - UPC
                - PLU
                - NSC2
                - GTIN
              identifier_value:
                type: string
                description: identifier value
        images:
          type: array
          description: Images of the item, atleast one image must be specified
          items:
            type: object
            properties:
              url:
                type: string
              sort_id:
                type: integer
                description: order in which images should be displayed, 0 will be the primary image
        size:
          type: object
          description: size of the item
          properties:
            details:
              $ref: '#/components/schemas/SizeInfo'
            pack_size_details:
              type: object
              description: item size details per pack
              properties:
                count_per_pack:
                  description: Count per pack
                  type: integer
                per_item_size_details:
                  $ref: '#/components/schemas/SizeInfo'
        weighted_item_info:
          type: object
          description: attributes related to items that are sold by weights
          properties:
            average_weight_per_each:
              type: number
              description: Average weight per each item or pack
            average_weight_measurement_unit:
              type: string
              enum:
              - ea
              - kg
              - lb
              - gm
              - oz
              default: ea
              description: unit of measurement (ea, kg, lb, gm, oz)
            shop_by_measurement_unit:
              type: string
              enum:
              - ea
              - kg
              - lb
              - gm
              - oz
              description: How the item is shown to customers
            price_by_measurement_unit:
              type: string
              enum:
              - ea
              - kg
              - lb
              - gm
              - oz
              description: How the item is priced
        brand_info:
          type: object
          description: brand of the item if applicable
          properties:
            name:
              type: string
              description: Name of the brand
        program_eligibility:
          type: array
          description: Program eligibility of the item
          items:
            $ref: '#/components/schemas/ProgramEligibility'
        item_categorizations:
          type: array
          description: One or more categories associated with the item
          items:
            type: object
            properties:
              category:
                $ref: '#/components/schemas/Category'
        product_attributes:
          type: array
          description: 'product_attributes allow us to infer everything about an item necessary for customers to shop, dasher to fulfill, merchants to merchandise, and advertisers to advertise. See supported full attribute list: https://developer.doordash.com/en-US/docs/marketplace/retail/catalog_management/supported_attribute'
          items:
            $ref: '#/components/schemas/ProductAttributes'
    AsyncOperationResponse:
      type: object
      properties:
        operation_id:
          type: string
        operation_status:
          type: string
          enum:
          - QUEUED
          - IN_PROGRESS
          - SUCCESS
          - FAILED
          - PARTIAL_SUCCESS
        message:
          type: string
    SingleSelectBool:
      type: object
      properties:
        single_select_bool:
          type: boolean
    AuthenticationError:
      x-error: true
      type: object
      description: 'Authentication error: the token provided with the request doesn''t work for the requested operation'
      required:
      - code
      - message
      properties:
        code:
          type: string
          enum:
          - authentication_error
          default: authentication_error
        message:
          type: string
          example: The [exp] is in the past; the JWT is expired
          default: The [exp] is in the past; the JWT is expired
    Category:
      type: object
      properties:
        name:
          type: string
        sub_category:
          $ref: '#/components/schemas/Category'
    ValidationFieldError:
      x-error: true
      title: ValidationFieldError
      type: object
      description: One or more request values couldn't be validated.
      required:
      - code
      - message
      - field_errors
      properties:
        code:
          type: string
          enum:
          - validation_error
        message:
          type: string
          description: One or more request values couldn't be validated.
          example: One or more request values couldn't be validated.
        field_errors:
          type: array
          description: The list of fields whose values couldn't be validated. See more [error examples](https://developer.doordash.com/en-US/docs/drive/reference/errors)
          items:
            $ref: '#/components/schemas/FieldError'
          readOnly: true
    FieldError:
      title: FieldError
      type: object
      description: A field whose value couldn't be validated.
      required:
      - field
      - error
      properties:
        field:
          type: string
          description: Name of the field whose value couldn't be validated.
          example: pickup_phone_number
        error:
          type: string
          description: The error that was encountered when validating the field's value.
          example: Invalid phone number format
    AuthorizationError:
      x-error: true
      type: object
      description: 'Authorization error: the credentials provided with the request don''t work for the requested operation'
      required:
      - code
      - message
      properties:
        code:
          type: string
          enum:
          - authorization_error
          default: authorization_error
        message:
          type: string
          example: 'Authorization error: the credentials provided with the request don''t work for the requested operation'
          default: 'Authorization error: the credentials provided with the request don''t work for the requested operation'
    MultiSelectDouble:
      type: object
      properties:
        multi_select_double:
          type: array
          description: array of double
          items:
            type: number
    RequestRateLimitedError:
      x-error: true
      type: object
      description: Request was rate limited.
      required:
      - code
      - message
      properties:
        code:
          type: string
          enum:
          - request_rate_limited
        message:
          type: string
          example: Request was rate limited. You may be calling the API too much in a short time.
    SizeInfo:
      type: object
      properties:
        dimensions:
          type: object
          properties:
            length:
              type: object
              properties:
                value:
                  type: number
                unit:
                  type: string
                  enum:
                  - inch
                  - ft
                  - cm
                  - m
            width:
              type: object
              properties:
                value:
                  type: number
                unit:
                  type: string
                  enum:
                  - inch
                  - ft
                  - cm
                  - m
            height:
              type: object
              properties:
                value:
                  type: number
                unit:
                  type: string
                  enum:
                  - inch
                  - ft
                  - cm
                  - m
        weight:
          type: object
          properties:
            value:
              type: number
            unit:
              type: string
              enum:
              - lbs
              - gm
              - kg
              - ea
              - oz
        volume:
          type: object
          properties:
            value:
              type: number
            unit:
              type: string
              enum:
              - oz
              - mL
              - L
        product_specific_size_definition:
          type: object
          description: Product-specific size information with separate numeric value and unit of measurement
          properties:
            value:
              type: string
              description: Numeric value only
              example: '400'
            description:
              type: string
              description: Unit of measurement only
              example: g
    NotFoundError:
      x-error: true
      type: object
      description: Request entity was not found.
      required:
      - code
      - message
      properties:
        code:
          type: string
          enum:
          - unknown_business_id
        message:
          type: string
          example: Entity was not found
    server_fault:
      x-error: true
      type: object
      description: Internal service failure, please try again later.
      required:
      - code
      - message
      properties:
        code:
          type: string
          enum:
          - service_fault
          default: service_fault
        message:
          type: string
          example: Internal service failure, please try again later.
          default: Internal service failure, please try again later.