Documentation

DoorDash CLI

doordash-pp-cli

Install

npx -y @mvanhorn/printing-press-library install doordash

Installs the CLI binary and the agent skill for Claude Code, Codex, Cursor, Gemini CLI, Copilot, and more. Add --cli-only or --skill-only for one half. Requires Node.

Documentation

Private-beta staging note: this generated Go tree is unofficial/experimental reference material. The active working runtime is the sibling ../active-wrapper/ Node/CycleTLS package. Do not commit credentials or session material. Live cart/order mutations require explicit bricenice17 approval and the CLI safety gates.

Discovered API spec for doordash

Learn more at Doordash. Created by @bricenice17 (bricenice17).

Quick Start

1. Install

See Install above.

2. Verify Setup

doordash-pp-cli doctor

This checks your configuration.

3. Try Your First Safe Commands

# Health/session metadata only — does not print cookie values
doordash-pp-cli doctor --json
doordash-pp-cli --help

# Read-only DoorDash flows from the generated Go CLI
doordash-pp-cli search "pizza" --json
doordash-pp-cli menu --store-id <store-id> --json
doordash-pp-cli item-options --store-id <store-id> --item-id <item-id> --json
doordash-pp-cli convenience-search --store-id <store-id> "sparkling water" --json
doordash-pp-cli recent-orders --limit 5 --json
doordash-pp-cli addresses --json
doordash-pp-cli payment-methods --json

# Checkout preview; never calls createOrderFromCart
doordash-pp-cli cart preview --variables '{"orderCartId":"cart_123","includeCompanyPaymentInfo":false,"includeRewardBalanceAvailable":false}' --json

Unique Features

These capabilities aren't available in any other tool for this API.

Read-only DoorDash workflows

  • search — Search DoorDash stores through the consumer GraphQL autocomplete feed without mutating cart or order state.

    Useful for meal/vendor research while preserving account safety.

    doordash-pp-cli search "thai" --agent
    
  • menu — Fetch DoorDash store menus in a normalized shape without changing the cart.

    Lets agents compare menu choices before any cart mutation is considered.

    doordash-pp-cli menu --store-id STORE_ID --agent
    
  • item-options — Inspect item option groups and nested add-ons before adding anything to a cart.

    Agents can reason about required modifiers before proposing a cart change.

    doordash-pp-cli item-options --store-id STORE_ID --item-id ITEM_ID --agent
    
  • recent-orders — Read recent DoorDash order summaries without placing a new order.

    Supports repeat-order and preference analysis without checkout risk.

    doordash-pp-cli recent-orders --limit 3 --agent
    

Guarded mutation boundary

  • cart — Expose cart inspection and mutations as a separately named, guarded command family rather than mixing them into search/menu reads.

    Clear command boundaries reduce accidental purchase-flow side effects.

    doordash-pp-cli cart --help
    

Usage

Run doordash-pp-cli --help for the full command reference and flag list.

Commands

Curated safe commands

  • doordash-pp-cli search <query> — read-only store search.
  • doordash-pp-cli menu --store-id <id> — read-only store menu.
  • doordash-pp-cli item-options --store-id <id> --item-id <id> — read-only option groups.
  • doordash-pp-cli convenience-search --store-id <id> <query> — read-only convenience/grocery item search.
  • doordash-pp-cli recent-orders --limit 5 — read-only recent order summary.
  • doordash-pp-cli addresses — read-only saved addresses.
  • doordash-pp-cli payment-methods — read-only payment metadata; never prints full card data.
  • doordash-pp-cli cart preview --variables '{"orderCartId":"cart_123","includeCompanyPaymentInfo":false,"includeRewardBalanceAvailable":false}' — checkout/fee preview; never calls createOrderFromCart.
  • doordash-pp-cli cart place --variables '{}' --enable-live-order-placement --owner-approved --confirm "PLACE DOORDASH ORDER" — live order placement; disabled unless every explicit safety gate is provided.

graphql

The generated Go skeleton preserves the curated low-level GraphQL operation spec for advanced/debug use. The active Hermes wrapper intentionally exposes the safer curated command surface shown above; check doordash-pp-cli --help before assuming raw graphql subcommands are available in PATH.

  • doordash-pp-cli graphql create-add-cart-item - POST /graphql/addCartItem
  • doordash-pp-cli graphql create-autocomplete-facet-feed - POST /graphql/autocompleteFacetFeed
  • doordash-pp-cli graphql create-checkout - POST /graphql/checkout
  • doordash-pp-cli graphql create-consumer-order-cart - POST /graphql/consumerOrderCart
  • doordash-pp-cli graphql create-convenience-search-query - POST /graphql/convenienceSearchQuery
  • doordash-pp-cli graphql create-create-order-from-cart - POST /graphql/createOrderFromCart
  • doordash-pp-cli graphql create-delete-cart - POST /graphql/deleteCart
  • doordash-pp-cli graphql create-detailed-cart-items - POST /graphql/detailedCartItems
  • doordash-pp-cli graphql create-get-has-new-notifications - POST /graphql/getHasNewNotifications
  • doordash-pp-cli graphql create-get-open-carts-count - POST /graphql/getOpenCartsCount
  • doordash-pp-cli graphql create-item-page - POST /graphql/itemPage
  • doordash-pp-cli graphql create-list-carts - POST /graphql/listCarts
  • doordash-pp-cli graphql create-poll-order-payment-status - POST /graphql/pollOrderPaymentStatus
  • doordash-pp-cli graphql create-promo-sticky-footer - POST /graphql/promoStickyFooter
  • doordash-pp-cli graphql create-remove-cart-item-v2 - POST /graphql/removeCartItemV2
  • doordash-pp-cli graphql create-storepage-feed - POST /graphql/storepageFeed
  • doordash-pp-cli graphql create-total-fee-tally - POST /graphql/totalFeeTally
  • doordash-pp-cli graphql create-update-cart-item-v2 - POST /graphql/updateCartItemV2
  • doordash-pp-cli graphql create-validate-consumer-address-with-address-link-id - POST /graphql/validateConsumerAddressWithAddressLinkId

Output Formats

# Human-readable table (default in terminal, JSON when piped)
doordash-pp-cli graphql create-add-cart-item --operation-name example-resource

# JSON for scripting and agents
doordash-pp-cli graphql create-add-cart-item --operation-name example-resource --json

# Filter to specific fields
doordash-pp-cli graphql create-add-cart-item --operation-name example-resource --json --select id,name,status

# Dry run — show the request without sending
doordash-pp-cli graphql create-add-cart-item --operation-name example-resource --dry-run

# Active wrapper: prefer JSON for scripting; inspect --help before using generated-only flags
doordash-pp-cli search pizza --json

Agent Usage

This CLI is designed for AI agent consumption:

  • Non-interactive - commands take explicit flags and do not print cookie values.
  • Pipeable - use --json for agent-readable output.
  • Previewable - cart add/remove support --dry-run for no-mutation checks.
  • Confirmable - cart mutations require --yes; order placement also requires ALLOW_DOORDASH_ORDERING=1 plus --confirm "PLACE ORDER".
  • Runtime-truth first - the active wrapper may not expose every generated skeleton flag (--agent, --select, which, agent-context); inspect --help before use.

Exit codes: 0 success, 2 usage error, 3 not found, 5 API error, 7 rate limited, 10 config error.

Health Check

doordash-pp-cli doctor

Verifies configuration and connectivity to the API.

Configuration

Config file: ~/.config/doordash-pp-cli/config.toml

Static request headers can be configured under headers; per-command header overrides take precedence.

Troubleshooting

Not found errors (exit code 3)

  • Check the resource ID is correct
  • Run the list command to see available items

HTTP Transport

Generated Go skeleton note: this tree uses the generated standard Go HTTP transport and is kept for spec/build/reference checks. The active private-beta runtime uses the Node/CycleTLS wrapper in ../active-wrapper/; use wrapper help/doctor as runtime truth for browser-facing DoorDash calls.

Discovery Signals

This CLI was generated with browser-captured traffic analysis.

  • Target observed: https://www.doordash.com/graphql/autocompleteFacetFeed
  • Capture coverage: 8 API entries from 8 total network entries
  • Reachability: standard_http (65% confidence)
  • Protocols: graphql (92% confidence)
  • Candidate command ideas: create_addCartItem — Derived from observed POST /graphql/addCartItem traffic.; create_autocompleteFacetFeed — Derived from observed POST /graphql/autocompleteFacetFeed traffic.; create_checkout — Derived from observed POST /graphql/checkout traffic.; create_convenienceSearchQuery — Derived from observed POST /graphql/convenienceSearchQuery traffic.; create_createOrderFromCart — Derived from observed POST /graphql/createOrderFromCart traffic.; create_itemPage — Derived from observed POST /graphql/itemPage traffic.; create_listCarts — Derived from observed POST /graphql/listCarts traffic.; create_storepageFeed — Derived from observed POST /graphql/storepageFeed traffic.

Generated by CLI Printing Press

For agents: pass /documentation/doordash/agents.md to install this CLI from a prompt.