Projects
List projects
Returns the projects that group orders and work, cursor-paginated.
Request examples
curl https://app.filmo.io/api/v1/projects \
--header "Authorization: Bearer $FILMO_API_KEY"Generated from the schema
Tenancy inherited from the parent account: a billing account also sees the projects of its parent account.
Authorizations
Bearer API key with the scope below. projects: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})?))?$
Free-text search on the name and the external reference.
Limits: min length 1, max length 200
Sort order: up to 3 comma-separated fields, each with a leading "-" for descending (e.g. "-updatedAt,name"). Sortable fields: createdAt, updatedAt, name, projectNumber, startDate, endDate, status. 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 project status: draft, budgeted, confirmed, in_progress, invoiced, completed, cancelled or archived (legacy status present in old data).
Available options: draft, budgeted, confirmed, in_progress, invoiced, completed, cancelled, archived
Filter by project contact identifier.
Limits: min length 1, max length 100
Filter by project type identifier.
Limits: min length 1, max length 100
Filter by archived: "true" lists ONLY archived projects; "false" (or absent) excludes them from the listing.
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: ProjectDto
Envelope: ProjectList. 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 project identifier.
Human-readable project number; null if not numbered.
Project name.
Color associated with the project (for the UI); null if none.
External reference of the project (for example, from the customer system); null if not recorded.
Project type identifier; null if the project has no type.
Compact reference to the project type; null if none.
Show child attributesHide child attributes
Unique project type identifier.
Project type name.
Color associated with the project type (for the UI); null if none.
Compact reference to the project contact; null if none.
Show child attributesHide child attributes
Unique contact identifier.
Contact name.
Project location; its inner fields are null when not recorded.
Show child attributesHide child attributes
Name of the place/location; null if not recorded.
Address of the location; null if not recorded.
City of the location; null if not recorded.
Postal code of the location; null if not recorded.
Province or region of the location; null if not recorded.
Country of the location; null if not recorded.
Latitude of the location; null if not recorded.
Longitude of the location; null if not recorded.
Project start date in ISO 8601 with offset.
Project end date in ISO 8601 with offset.
Project status: draft, budgeted, confirmed, in_progress, invoiced, completed, cancelled or archived. archived is a LEGACY status that appears in old data; the current archived state is expressed by the archived boolean of this same DTO.
Available options: draft, budgeted, confirmed, in_progress, invoiced, completed, cancelled, archived
Whether the project is archived.
Identifiers of the project orders. Order details are obtained from GET /api?projectId=.
Total number of orders in the project (equals orderIds.length).
Custom field values by custom field identifier; the definitions are in /api.
Source the project was created from; 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 pagesRentals
Project
The project, as returned by the API.
Was this page helpful?