API routes reference (api/v1 and zap)

Help Center › API keys & connections › API routes reference (api/v1 and zap)

API routes reference (api/v1 and zap)

Every public route, its method, the scope it needs, and the filters it accepts.

All routes live under /wp-json/dreamscaper/v1/. Paths below are relative to api/v1/ unless they start with zap/.

Routes

Method Path Scope needed
GET ping none
GET customers read_customers
POST customers write_customers
GET customers/{id} read_customers
PATCH, PUT or POST customers/{id} write_customers
POST leads write_leads
GET quotes read_quotes
GET quotes/{id} read_quotes
GET invoices read_invoices
GET invoices/{id} read_invoices
GET jobs read_jobs
GET jobs/{id} read_jobs
GET payments read_payments
GET webhooks webhooks_manage
POST webhooks webhooks_manage
DELETE webhooks/{id} webhooks_manage
GET zap/me none
POST zap/subscribe webhooks_manage
POST or DELETE zap/unsubscribe webhooks_manage
GET zap/poll/{event} none (see note)

For the Zapier sample route, an event name like lead.created is used. The code names a related scope per event, but the route itself is registered without one.

Lists and paging

Lists return newest first.
– limit: 1 to 100. The default is 25.
– cursor: pass the next_cursor from the previous answer.
– The answer has object: "list", data, has_more and next_cursor.

Filters

Route Filters
customers stage (lead, prospect, customer, past, lost), email, phone, q (name contains), updated_since (date like 2026-01-31T00:00:00Z)
quotes status, customer_id
invoices status, customer_id
jobs status (not_started or the job’s status), customer_id
payments invoice_id, customer_id

What counts as a job

A job is an accepted (signed) quote. Its progress is the quote’s job status. Sample quotes are never listed.

Tips

  • Use updated_since to pull only what changed.
  • Everything is scoped to your business. A key can never see another business.
  • Webhooks can be made by API, but the secret is shown only once on creation.

If something goes wrong

  • 404 not_found: no record with that id for your business.
  • 422 invalid_limit or invalid_cursor: fix the parameter, or start again without a cursor.
  • 422 invalid_stage or invalid_date: use the allowed values.
  • WordPress may answer 404 for a wrong path. Errors on these routes use the same JSON shape.

Related articles

Still need help?

Tell us what you were trying to do and a person will reply.

Contact support