Invoices
List invoices
Returns the issued invoices (invoice-type documents only), cursor-paginated.
Request examples
curl https://app.filmo.io/api/v1/invoices \
--header "Authorization: Bearer $FILMO_API_KEY"Generated from the schema
Filter by document or payment status. Strict per-subscription tenancy.
Authorizations
Bearer API key with the scope below. invoices:read
Query parameters
Page size (1-500). Defaults to 50.
Limits: min 1, max 500
Opaque cursor of the page to return. Pass the value of pagination. from the previous response; treat it as opaque.
Limits: max length 200
The creation date of the resource falls on this date. A bare day (YYYY-MM-DD, read in the business timezone) or an ISO 8601 instant with offset.
Limits: pattern ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$
The creation date of the resource is after this date. A bare day (YYYY-MM-DD, read in the business timezone) or an ISO 8601 instant with offset.
Limits: pattern ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$
The creation date of the resource is before this date. A bare day (YYYY-MM-DD, read in the business timezone) or an ISO 8601 instant with offset.
Limits: pattern ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$
The creation date of the resource is on or after this date. A bare day (YYYY-MM-DD, read in the business timezone) or an ISO 8601 instant with offset.
Limits: pattern ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$
The creation date of the resource is on or before this date. A bare day (YYYY-MM-DD, read in the business timezone) or an ISO 8601 instant with offset.
Limits: pattern ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$
The last update date of the resource falls on this date. A bare day (YYYY-MM-DD, read in the business timezone) or an ISO 8601 instant with offset.
Limits: pattern ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$
The last update date of the resource is after this date. A bare day (YYYY-MM-DD, read in the business timezone) or an ISO 8601 instant with offset.
Limits: pattern ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$
The last update date of the resource is before this date. A bare day (YYYY-MM-DD, read in the business timezone) or an ISO 8601 instant with offset.
Limits: pattern ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$
The last update date of the resource is on or after this date. A bare day (YYYY-MM-DD, read in the business timezone) or an ISO 8601 instant with offset.
Limits: pattern ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$
The last update date of the resource is on or before this date. A bare day (YYYY-MM-DD, read in the business timezone) or an ISO 8601 instant with offset.
Limits: pattern ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$
Sort order: up to 3 comma-separated fields, each with a leading "-" for descending (e.g. "-updatedAt,name"). Sortable fields: createdAt, updatedAt, invoiceNumber, invoiceDate, dueDate, subTotal, grossPrice. Defaults to "-createdAt". Ties are broken by id, so the order is stable across pages, and a cursor is bound to the sort it was issued with.
Limits: max length 200
Filter by payment status, with the same vocabulary the paymentStatus field returns: unpaid (nothing collected yet), partially_paid, paid, overpaid (collected above the total), overdue (past due and unpaid) or voided (the document is voided).
Available options: unpaid, partially_paid, paid, overpaid, overdue, voided
Filter by paymentStatus, as a list: repeat the parameter or separate the values with commas. Accepts up to 50 values and returns whatever matches any of them.
Available options: unpaid, partially_paid, paid, overpaid, overdue, voided
Limits: min 1 items, max 50 items
Filter by invoice contact identifier.
Limits: min length 1, max length 100
Filter by contactId, as a list: repeat the parameter or separate the values with commas. Accepts up to 50 values and returns whatever matches any of them.
Limits: min 1 items, max 50 items, each min length 1, each max length 100
Filter by identifier of the source order of the invoice.
Limits: min length 1, max length 100
Filter by orderId, as a list: repeat the parameter or separate the values with commas. Accepts up to 50 values and returns whatever matches any of them.
Limits: min 1 items, max 50 items, each min length 1, each max length 100
Filter by identifier of the project linked to the invoice.
Limits: min length 1, max length 100
Filter by projectId, as a list: repeat the parameter or separate the values with commas. Accepts up to 50 values and returns whatever matches any of them.
Limits: min 1 items, max 50 items, each min length 1, each max length 100
The invoice issue date falls on this date. A bare day (YYYY-MM-DD, read in the business timezone) or an ISO 8601 instant with offset.
Limits: pattern ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$
The invoice issue date is after this date. A bare day (YYYY-MM-DD, read in the business timezone) or an ISO 8601 instant with offset.
Limits: pattern ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$
The invoice issue date is before this date. A bare day (YYYY-MM-DD, read in the business timezone) or an ISO 8601 instant with offset.
Limits: pattern ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$
The invoice issue date is on or after this date. A bare day (YYYY-MM-DD, read in the business timezone) or an ISO 8601 instant with offset.
Limits: pattern ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$
The invoice issue date is on or before this date. A bare day (YYYY-MM-DD, read in the business timezone) or an ISO 8601 instant with offset.
Limits: pattern ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$
The invoice due date falls on this date. A bare day (YYYY-MM-DD, read in the business timezone) or an ISO 8601 instant with offset.
Limits: pattern ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$
The invoice due date is after this date. A bare day (YYYY-MM-DD, read in the business timezone) or an ISO 8601 instant with offset.
Limits: pattern ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$
The invoice due date is before this date. A bare day (YYYY-MM-DD, read in the business timezone) or an ISO 8601 instant with offset.
Limits: pattern ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$
The invoice due date is on or after this date. A bare day (YYYY-MM-DD, read in the business timezone) or an ISO 8601 instant with offset.
Limits: pattern ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$
The invoice due date is on or before this date. A bare day (YYYY-MM-DD, read in the business timezone) or an ISO 8601 instant with offset.
Limits: pattern ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$
Set it to true to include pagination., the number of results that match the filters across all pages. Off by default.
Response
Successful response.
Response schema: InvoiceDto
Envelope: InvoiceList. meta. is present only when the operation is deprecated.
Headers: X-Request-Id · RateLimit-Limit · RateLimit-Remaining · RateLimit-Reset
Show child attributesHide child attributes
Unique invoice identifier.
Invoice number; null while it is a draft (the number is assigned on validation).
Document lifecycle status: draft, validated (validated and numbered) or voided.
Available options: draft, validated, voided
Whether the invoice rectifies a previous one. Invoices created in Filmo are never rectifications, and credit notes are served by /api; but /api can still return imported rectifying documents (for example from a Rentman import) with this set to true, so deduplicate them against the credit notes by number.
Issue date in ISO 8601 with offset; null while it is a draft.
Due date in ISO 8601 with offset; null if not set.
Invoice currency as an ISO 4217 code (for example "EUR").
Compact reference to the invoiced contact; null if none.
Show child attributesHide child attributes
Unique contact identifier.
Contact name.
Identifier of the source order; null if the invoice does not come from an order.
Number of the source order; null if the invoice does not come from an order.
Identifier of the linked project; null if not linked.
Subtotal before discounts and taxes, as a decimal string "1234.50" (ROUND_HALF_UP).
Limits: pattern ^-?\d+\.\d{2}$
Total discounts as a decimal string "1234.50" (ROUND_HALF_UP).
Limits: pattern ^-?\d+\.\d{2}$
Tax total as a decimal string "1234.50" (ROUND_HALF_UP).
Limits: pattern ^-?\d+\.\d{2}$
Taxable base (net before taxes) as a decimal string "1234.50" (ROUND_HALF_UP).
Limits: pattern ^-?\d+\.\d{2}$
Total including taxes, as a decimal string "1234.50" (ROUND_HALF_UP).
Limits: pattern ^-?\d+\.\d{2}$
Amount collected to date as a decimal string "1234.50" (ROUND_HALF_UP); null if not recorded.
Limits: pattern ^-?\d+\.\d{2}$
Payment status: unpaid (nothing collected yet, also for invoices without a recorded collection), partially_paid, paid, overpaid (collected above the total), overdue (past due and unpaid) or voided (the document is voided, whatever was collected before). The paymentStatus filter uses the same values.
Available options: unpaid, partially_paid, paid, overpaid, overdue, voided
Payment method of the invoice; null if not recorded.
Creation date in ISO 8601 with offset.
Last update date in ISO 8601 with offset.
Opaque-cursor pagination metadata.
Show child attributesHide child attributes
Opaque cursor of the next page; null when there are no more results. Pass it as cursor in the next request.
Whether more results exist beyond this page.
Number of results matching the filters across all pages. Present only when the request sets includeTotal=true.
Limits: min 0
Additional information about the response.
Show child attributesHide child attributes
Lifecycle warnings; present only when the operation is deprecated.
Show child attributesHide child attributes
Stable warning code.
Available options: deprecated
For people: what is deprecated, until when, and what to use.
Day (YYYY-MM-DD) the operation stops being served.
operationId of the operation to use instead, or null if there is none.
Where the deprecation is documented (the changelog).
Invalid request (validation_error): malformed query or body. errors[] lists every offending field with its stable code.
Headers: X-Request-Id · Content-Language · RateLimit-Limit · RateLimit-Remaining · RateLimit-Reset
Authentication failed (unauthorized, api_key_invalid, api_key_revoked, api_key_expired, api_key_owner_inactive, api_key_owner_not_admin).
Headers: X-Request-Id · Content-Language
Not allowed (insufficient_scope: the API key does not have the required scope, named in requiredScope; forbidden: the owner of the key lacks the permission the operation requires). insufficient_scope is answered before the request counts against the rate limit, so it carries no RateLimit-* headers; forbidden does.
Headers: X-Request-Id · Content-Language
Rate limit exceeded (rate_limited): retry after Retry-After seconds; RateLimit-* says which quota ran out.
Headers: X-Request-Id · Content-Language · RateLimit-Limit · RateLimit-Remaining · RateLimit-Reset · Retry-After
Internal error (internal_error).
Headers: X-Request-Id · Content-Language · RateLimit-Limit · RateLimit-Remaining · RateLimit-Reset
Errors
| Status | Codes | Meaning |
|---|---|---|
| 400 | validation_error | Malformed query or body. errors[] lists every offending field with its stable code. |
401, 403, 429, 500 can be returned by any operation. Errors
Deprecation
This operation is not deprecated. Deprecations are announced with a Deprecation header and a sunset date. Versioning policy
Related pages
Link to this section: Related pagesFinance
Invoice
The invoice, as returned by the API.
Was this page helpful?