Doordash · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Doordash Delivery API

15 actions 15 updates phrasing extends openapi/doordash-delivery-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Doordash's API. It is a proposal applied on top of the contract, not a document Doordash publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 15

$.info
$.paths['/drive/v1/estimates'].post
$.paths['/drive/v1/validations'].post
$.paths['/drive/v1/deliveries'].post
$.paths['/drive/v1/deliveries/{delivery_id}'].get
$.paths['/drive/v1/deliveries/{delivery_id}'].patch
$.paths['/drive/v1/deliveries/{delivery_id}/cancel'].put
$.paths['/drive/v2/quotes'].post
$.paths['/drive/v2/quotes/{external_delivery_id}/accept'].post
$.paths['/drive/v2/deliveries'].post
$.paths['/drive/v2/deliveries/{external_delivery_id}'].get
$.paths['/drive/v2/deliveries/{external_delivery_id}'].patch
$.paths['/drive/v2/deliveries/{external_delivery_id}/cancel'].put
$.paths['/drive/v2/items_substitution_recommendation'].post
$.paths['/drive/v2/serviceability'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Doordash Delivery API
  version: 1.0.0
extends: openapi/doordash-delivery-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 14
- target: $.paths['/drive/v1/estimates'].post
  update:
    x-apievangelist-phrasing:
      intent: Estimate delivery fee and time (Drive v1)
      effect: read
      questions:
      - How much would a Drive v1 delivery cost for a given order value?
      - Can the v1 estimates endpoint tell me if a dropoff address is serviced?
      instructions:
      - text: Estimate a v1 delivery of an order worth {order_value} to {dropoff_address}.
        slots:
          order_value: requestBody.order_value
          dropoff_address: requestBody.dropoff_address
      - text: Get a v1 fee and time estimate from {pickup_address} to {dropoff_address} for {order_value}.
        slots:
          pickup_address: requestBody.pickup_address
          dropoff_address: requestBody.dropoff_address
          order_value: requestBody.order_value
      method: generated
      generated: '2026-09-26'
- target: $.paths['/drive/v1/validations'].post
  update:
    x-apievangelist-phrasing:
      intent: Validate v1 delivery details before creating
      effect: read
      questions:
      - Can I validate v1 delivery inputs and serviceability before creating the delivery?
      - Which of my delivery fields would fail v1 validation?
      instructions:
      - text: Validate a v1 delivery to {dropoff_address} for customer {customer} worth {order_value}.
        slots:
          dropoff_address: requestBody.dropoff_address
          customer: requestBody.customer
          order_value: requestBody.order_value
      - text: Check whether my details for {dropoff_address} pass v1 delivery validation.
        slots:
          dropoff_address: requestBody.dropoff_address
      method: generated
      generated: '2026-09-26'
- target: $.paths['/drive/v1/deliveries'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a delivery with the Drive v1 API
      effect: write
      questions:
      - How do I create a delivery with the older Drive v1 API?
      - Can a v1 delivery require a signature or allow unattended dropoff?
      instructions:
      - text: Create a v1 delivery to {dropoff_address} for customer {customer} with order value {order_value}.
        slots:
          dropoff_address: requestBody.dropoff_address
          customer: requestBody.customer
          order_value: requestBody.order_value
      - text: Book a v1 delivery with a {tip} tip to {dropoff_address} for {customer}, worth {order_value}.
        slots:
          tip: requestBody.tip
          dropoff_address: requestBody.dropoff_address
          customer: requestBody.customer
          order_value: requestBody.order_value
      method: generated
      generated: '2026-09-26'
- target: $.paths['/drive/v1/deliveries/{delivery_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a v1 delivery by DoorDash delivery ID
      effect: read
      questions:
      - What are the details of a delivery by its v1 delivery id?
      - Can I include extra fields when fetching a v1 delivery?
      instructions:
      - text: Get v1 delivery {delivery_id}.
        slots:
          delivery_id: path.delivery_id
      - text: Show details of v1 delivery {delivery_id}.
        slots:
          delivery_id: path.delivery_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/drive/v1/deliveries/{delivery_id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Change the time or address of a v1 delivery
      effect: write
      questions:
      - Can I change the delivery time or dropoff address on a v1 delivery?
      - Is it possible to move the pickup window of a v1 delivery?
      instructions:
      - text: Change the dropoff address of v1 delivery {delivery_id} to {dropoff_address}.
        slots:
          delivery_id: path.delivery_id
          dropoff_address: requestBody.dropoff_address
      - text: Move the delivery window of v1 delivery {delivery_id} to start at {delivery_window_start_time}.
        slots:
          delivery_id: path.delivery_id
          delivery_window_start_time: requestBody.delivery_window_start_time
      method: generated
      generated: '2026-09-26'
- target: $.paths['/drive/v1/deliveries/{delivery_id}/cancel'].put
  update:
    x-apievangelist-phrasing:
      intent: Cancel or return a v1 delivery
      effect: destructive
      questions:
      - How do I cancel or start a return for a v1 delivery?
      - Can I give a reason code when cancelling a v1 delivery?
      instructions:
      - text: Cancel v1 delivery {delivery_id}.
        slots:
          delivery_id: path.delivery_id
      - text: Cancel v1 delivery {delivery_id} with reason code {reason_code}.
        slots:
          delivery_id: path.delivery_id
          reason_code: requestBody.reason_code
      method: generated
      generated: '2026-09-26'
- target: $.paths['/drive/v2/quotes'].post
  update:
    x-apievangelist-phrasing:
      intent: Quote a delivery's fee and check coverage
      effect: write
      questions:
      - How do I get a quote to confirm a delivery is serviceable and see the fee?
      - Can I set when a delivery quote expires?
      instructions:
      - text: Quote delivery {external_delivery_id} from {pickup_address} to {dropoff_address}.
        slots:
          external_delivery_id: requestBody.external_delivery_id
          pickup_address: requestBody.pickup_address
          dropoff_address: requestBody.dropoff_address
      - text: Create a quote for delivery {external_delivery_id} with order value {order_value}.
        slots:
          external_delivery_id: requestBody.external_delivery_id
          order_value: requestBody.order_value
      method: generated
      generated: '2026-09-26'
- target: $.paths['/drive/v2/quotes/{external_delivery_id}/accept'].post
  update:
    x-apievangelist-phrasing:
      intent: Accept a quote to start the delivery
      effect: write
      questions:
      - What do I call to accept a quote and start the delivery?
      - Can I add a tip when accepting a quote?
      instructions:
      - text: Accept the quote for delivery {external_delivery_id}.
        slots:
          external_delivery_id: path.external_delivery_id
      - text: Accept quote {external_delivery_id} with a tip of {tip}.
        slots:
          external_delivery_id: path.external_delivery_id
          tip: requestBody.tip
      method: generated
      generated: '2026-09-26'
- target: $.paths['/drive/v2/deliveries'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a Drive delivery without a quote
      effect: write
      questions:
      - How do I create a Drive delivery directly without quoting first?
      - Can I specify a pickup window and a dropoff window for a new delivery?
      instructions:
      - text: Create delivery {external_delivery_id} from {pickup_address} to {dropoff_address} without quoting.
        slots:
          external_delivery_id: requestBody.external_delivery_id
          pickup_address: requestBody.pickup_address
          dropoff_address: requestBody.dropoff_address
      - text: Create delivery {external_delivery_id} to {dropoff_address} for contact {dropoff_contact_given_name} at {dropoff_phone_number}.
        slots:
          external_delivery_id: requestBody.external_delivery_id
          dropoff_address: requestBody.dropoff_address
          dropoff_contact_given_name: requestBody.dropoff_contact_given_name
          dropoff_phone_number: requestBody.dropoff_phone_number
      method: generated
      generated: '2026-09-26'
- target: $.paths['/drive/v2/deliveries/{external_delivery_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a Drive delivery by external ID
      effect: read
      questions:
      - What's the current status of a Drive delivery I created?
      - Can I look up a delivery by my own external delivery id?
      instructions:
      - text: Get the status of delivery {external_delivery_id}.
        slots:
          external_delivery_id: path.external_delivery_id
      - text: Look up delivery {external_delivery_id} and its details.
        slots:
          external_delivery_id: path.external_delivery_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/drive/v2/deliveries/{external_delivery_id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a Drive delivery I already created
      effect: write
      questions:
      - Which fields of a delivery can I change after creating it?
      - Can I update the dropoff phone number on a delivery I already created?
      instructions:
      - text: Update the dropoff phone number on delivery {external_delivery_id} to {dropoff_phone_number}.
        slots:
          external_delivery_id: path.external_delivery_id
          dropoff_phone_number: requestBody.dropoff_phone_number
      - text: Change the dropoff instructions for delivery {external_delivery_id} to {dropoff_instructions}.
        slots:
          external_delivery_id: path.external_delivery_id
          dropoff_instructions: requestBody.dropoff_instructions
      method: generated
      generated: '2026-09-26'
- target: $.paths['/drive/v2/deliveries/{external_delivery_id}/cancel'].put
  update:
    x-apievangelist-phrasing:
      intent: Cancel a Drive delivery
      effect: destructive
      questions:
      - Can I cancel a delivery after a Dasher is assigned?
      - How do I create a return delivery instead of cancelling a cold chain order?
      instructions:
      - text: Cancel delivery {external_delivery_id}.
        slots:
          external_delivery_id: path.external_delivery_id
      - text: Cancel delivery {external_delivery_id} with reason {reason_code}.
        slots:
          external_delivery_id: path.external_delivery_id
          reason_code: requestBody.reason_code
      method: generated
      generated: '2026-09-26'
- target: $.paths['/drive/v2/items_substitution_recommendation'].post
  update:
    x-apievangelist-phrasing:
      intent: Get item substitution suggestions for Dasher Shop
      effect: read
      questions:
      - What substitutions are recommended for items in a Dasher Shop order?
      - Can I get replacement suggestions for items at a specific store?
      instructions:
      - text: Recommend substitutions for {items} at store {pickup_external_store_id} of business {pickup_external_business_id}.
        slots:
          items: requestBody.items
          pickup_external_store_id: requestBody.pickup_external_store_id
          pickup_external_business_id: requestBody.pickup_external_business_id
      - text: Find replacement items for {items} in a Dasher Shop order at store {pickup_external_store_id}.
        slots:
          items: requestBody.items
          pickup_external_store_id: requestBody.pickup_external_store_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/drive/v2/serviceability'].post
  update:
    x-apievangelist-phrasing:
      intent: Check if a pickup and dropoff are serviceable
      effect: read
      questions:
      - Does DoorDash deliver between this pickup address and this dropoff address?
      - Can I check serviceability using my business and store ids?
      instructions:
      - text: Check if delivery is serviceable from {pickup_address} to {dropoff_address}.
        slots:
          pickup_address: requestBody.pickup_address
          dropoff_address: requestBody.dropoff_address
      - text: Check serviceability from store {pickup_external_store_id} at {pickup_address} to {dropoff_address}.
        slots:
          pickup_external_store_id: requestBody.pickup_external_store_id
          pickup_address: requestBody.pickup_address
          dropoff_address: requestBody.dropoff_address
      method: generated
      generated: '2026-09-26'

Work with this as data

Every overlay 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 openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • 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 overlay
curl "https://apis.io/api/v1/overlays/doordash-delivery-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?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.