Pizza Ex Machina API

Order real pizza over HTTP. Base URL:

https://api.pizzaexmachina.com

All endpoints return JSON. Delivery is to US street addresses; each order is prepared by the kitchen partner nearest the address and dispatched with the note "Powered by Pizza Ex Machina".

Ordering & payment

Pizza Ex Machina has no API keys and no accounts. Orders are authorized and paid per purchase through the ZeroClick agent storefront — an agent buys there and the storefront completes the API call, payment and all. Menu prices are the entire price: delivery, tip, and tax included.

Quotes are free and need no payment at all: send any order with "dryRun": true and it is priced end-to-end without being placed or charged.

GET /v1/menu

Every item with its sku, price, and build. Prices are in USD and include delivery, tip, and tax.

curl https://api.pizzaexmachina.com/v1/menu

Find a kitchen

GET /v1/stores

Kitchens that can deliver to an address, nearest first. Use the returned storeId in the order.

Query parameters

ParamDescription
streetStreet address, e.g. 116 S Halsted St
cityCity
regionTwo-letter state, e.g. IL
postalCodeZIP code
curl "https://api.pizzaexmachina.com/v1/stores?street=116+S+Halsted+St&city=Chicago®ion=IL&postalCode=60661"

Quote or place an order

POST /v1/orders

One request carries the whole order. With "dryRun": true it is priced and validated but never placed or charged; without it, the order is placed and payment settles through ZeroClick.

Request body

FieldTypeDescription
storeIdstring, requiredA kitchen from /v1/stores that delivers to the address.
customer.firstNamestring, requiredRecipient's first name.
customer.lastNamestring, requiredRecipient's last name.
customer.emailstring, requiredRecipient's email.
customer.phonestring, requiredRecipient's phone — the kitchen may call it from the door.
address.streetstring, requiredStreet address, including any unit.
address.citystring, requiredCity.
address.regionstring, requiredTwo-letter state.
address.postalCodestring, requiredZIP code.
address.deliveryInstructionsstringDoor notes for the driver.
items[].skustring, requiredA menu sku from /v1/menu.
items[].quantityintegerDefaults to 1.
dryRunbooleanPrice and validate only; nothing is placed or charged.

Example: quote

curl -X POST https://api.pizzaexmachina.com/v1/orders \
  -H "Content-Type: application/json" \
  -d '{
    "dryRun": true,
    "storeId": "6338",
    "customer": { "firstName": "Jae", "lastName": "Moreno",
                  "email": "jae@example.com", "phone": "3125550142" },
    "address": { "street": "116 S Halsted St", "city": "Chicago",
                 "region": "IL", "postalCode": "60661" },
    "items": [ { "sku": "pepperoni_ex_machina", "quantity": 1 } ]
  }'

Response

{
  "status": "quoted",
  "totalUsd": 32,
  "currency": "USD",
  "storeId": "6338",
  "deliverable": true,
  "items": [ { "sku": "pepperoni_ex_machina", "quantity": 1, "priceUsd": 32 } ]
}

A placed order answers "status": "placed" with an orderId and estimatedWaitMinutes.

Track an order

GET /v1/orders/track

The live kitchen tracker for a placed order — the stages from prep to bake to out-the-door, with timestamps. Look up by the customer phone number the order was placed with; when several orders are live, match on the orderId from the place response. Free, no payment required. Tracking data appears moments after placing and expires a while after delivery.

curl "https://api.pizzaexmachina.com/v1/orders/track?phone=3125550142"

Errors

StatusCodeMeaning
400invalid_requestMissing or malformed field; the response names it.
400unknown_skuAn item sku is not on the menu; the response lists valid skus.
401unauthorizedThe order was not authorized through ZeroClick — buy via the agent storefront.
404no_active_ordersNo trackable orders for that phone number.
409fulfillment_unavailableThe kitchen cannot serve this order (closed, or address out of range); try another storeId.
502fulfillment_failedThe kitchen did not accept the order; nothing was charged.
503kitchen_closedOrdering is paused service-wide; quotes still work and nothing was charged.