List intakes

Allowed Scopes: experimental:intake:read

Returns the company's intakes — supplier documents (invoices, credit notes, receipts) received by the company and being reviewed and processed — newest createdAt first, using forward-only cursor pagination: follow meta.pagination.nextCursor (or nextUrl) until hasNextPage is false.

Filter by ids, by lifecycle (stage for the coarse view, status for the fine-grained one), and by created, updated, issued or due date ranges. Filters combine with AND; stage and status intersect. Deleted intakes only appear when asked for: include deleted in status, or processed in stage, which covers it. A combination that cannot match anything, such as stage=linked with status=received, returns an empty page rather than an error.

The date filters come in two formats and are not interchangeable:

  • createdAfter, createdBefore, updatedAfter and updatedBefore select on an instant, so they take a full ISO 8601 date-time such as 2026-08-01T09:30:00Z.
  • issuedAfter, issuedBefore, dueAfter and dueBefore select on a calendar date printed on the document, so they take YYYY-MM-DD such as 2026-08-01, and include the whole of the day at each end.

Sending one form where the other is expected fails validation with a 400.

There is no filter on type. To list only invoices, or to leave receipts out, read type on each result and filter on your side.

Each result is a summary without the received files. Get an intake returns the same fields plus documents. Intake data is cached for up to 7200 seconds.

A 403 means either the token is not for companyId, or the Spendesk user the API key was created by is not a Controller, Administrator or Account Owner of that company.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

Company ID.

Query Params
ids
array of objects
length ≤ 50

Fetch a known set of intakes by id.

ids
stage
array of objects

Filter by lifecycle stage. Each stage matches its underlying statuses (see stage). Combined with status the two filters intersect.

stage
Allowed:
status
array of objects

Filter by fine-grained status.

status
date-time
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:[0-5]\d(\.\d+)?(Z|[+-]\d{2}:?\d{2})$

Only intakes with createdAt at or after this instant. An ISO 8601 date-time, e.g. 2026-08-01T09:30:00Z — not a plain YYYY-MM-DD.

date-time
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:[0-5]\d(\.\d+)?(Z|[+-]\d{2}:?\d{2})$

Only intakes with createdAt at or before this instant. An ISO 8601 date-time, e.g. 2026-08-31T23:59:59Z — not a plain YYYY-MM-DD.

date-time
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:[0-5]\d(\.\d+)?(Z|[+-]\d{2}:?\d{2})$

Only intakes with updatedAt at or after this instant. An ISO 8601 date-time, e.g. 2026-08-01T09:30:00Z — not a plain YYYY-MM-DD.

date-time
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:[0-5]\d(\.\d+)?(Z|[+-]\d{2}:?\d{2})$

Only intakes with updatedAt at or before this instant. An ISO 8601 date-time, e.g. 2026-08-31T23:59:59Z — not a plain YYYY-MM-DD.

date

Only intakes with issueDate on or after this date. A calendar date, YYYY-MM-DD, e.g. 2026-08-01 — not a date-time.

date

Only intakes with issueDate on or before this date, the whole day included. A calendar date, YYYY-MM-DD, e.g. 2026-08-31 — not a date-time.

date

Only intakes with dueDate on or after this date. A calendar date, YYYY-MM-DD, e.g. 2026-08-01 — not a date-time.

date

Only intakes with dueDate on or before this date, the whole day included. A calendar date, YYYY-MM-DD, e.g. 2026-08-31 — not a date-time.

integer
1 to 100
Defaults to 20

Maximum number of intakes to return in one page.

string

Opaque pagination cursor returned as meta.pagination.nextCursor by a previous call. Omit to fetch the first page.

Responses

Language
Credentials
OAuth2
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json