Doordash · OpenAPI Overlay 1.0.0

API Evangelist enrichment overlay for DoorDash Drive API

6 actions 6 updates update extends ./../openapi/_original/doordash-drive-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-api-evangelistcontactx-artifactsx-rate-limitx-authenticationx-idempotencyx-reversibility

Targets 1

$.info

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enrichment overlay for DoorDash Drive API
  version: 1.0.0
extends: ./../openapi/_original/doordash-drive-openapi.yml
x-provenance:
  generated: '2026-09-17'
  method: generated
  source: openapi/_original/doordash-drive-openapi.yml (DoorDash Drive API 2.1.59), plus developer.doordash.com
    reference docs
  note: Additive only. This overlay never rewrites a provider field; every action adds an x- extension
    or a contact block the original omits.
actions:
- target: $.info
  description: Record who wrote this overlay and what the original contract is, so a consumer can tell
    provider content from API Evangelist enrichment.
  update:
    x-api-evangelist:
      profile: https://apis.io/provider/doordash/
      overlay-generated: '2026-09-17'
      original: openapi/_original/doordash-drive-openapi.yml
      original-source: https://developer.doordash.com/redocusaurus/
      note: The original document is DoorDash's own, saved byte-verbatim. Every field this overlay adds
        is API Evangelist enrichment, never provider content.
- target: $.info
  description: Attach the developer support and documentation contact DoorDash publishes on its docs site
    but omits from the contract.
  update:
    contact:
      name: DoorDash Developer Support
      url: https://developer.doordash.com/portal/support
- target: $.info
  description: 'Cross-link the derived runtime-semantics artifacts that this contract does not carry:
    the error envelope, the retry and idempotency rules, the auth profile, the published rate limit and
    the lifecycle/status surface.'
  update:
    x-artifacts:
      authentication: authentication/doordash-authentication.yml
      conventions: conventions/doordash-conventions.yml
      errors: errors/doordash-problem-types.yml
      lifecycle: lifecycle/doordash-lifecycle.yml
      rate-limits: rate-limits/doordash-rate-limits.yml
      sandbox: sandbox/doordash-sandbox.yml
      data-model: data-model/doordash-data-model.yml
      conformance: conformance/doordash-conformance.yml
- target: $.info
  description: State the published rate limit and the retry policy on the contract itself; DoorDash documents
    both in prose only and returns no rate-limit response headers.
  update:
    x-rate-limit:
      limit: 300
      window-seconds: 60
      scope: access key
      status-on-exhaustion: 429
      headers: []
      retry: exponential backoff with jitter, 3 attempts, 1s-5s delay
      source: https://developer.doordash.com/en-US/docs/drive/overview/faqs
- target: $.info
  description: State the authentication model the operations require. Most DoorDash documents declare
    no securitySchemes at all, so a client generated from the raw contract would send unauthenticated
    requests.
  update:
    x-authentication:
      type: self-signed JWT bearer
      algorithm: HS256
      header: 'Authorization: Bearer <JWT>'
      claims:
      - aud=doordash
      - iss=developer_id
      - kid=key_id
      - iat
      - exp (max iat+1800s)
      docs: https://developer.doordash.com/en-US/docs/drive/reference/JWTs
- target: $.info
  description: Record the idempotency and reversibility rules for the delivery surface, which are documented
    on the docs site and absent from the contract.
  update:
    x-idempotency:
      coverage: partial
      key-field: external_delivery_id
      header: null
      behaviour: Replaying a create with the same external_delivery_id and identical data returns the
        existing delivery; the same id with different data is a 409.
      source: https://developer.doordash.com/en-US/docs/drive/how_to/Parcel/error_handling
    x-reversibility:
      reversal: CancelDelivery
      window: before a Dasher is assigned
      after-window: DoorDash creates a return delivery, billed at 60% of the original delivery fee
      source: openapi/_original/doordash-drive-openapi.yml