Notes

Write a note on an entity

Leaves a record on an entity of the account: why an order was rejected, how a repair is going.

POST
/api/v1/notes

Request examples

curl https://app.filmo.io/api/v1/notes \
  --request POST \
  --header "Authorization: Bearer $FILMO_API_KEY" \
  --header "Idempotency-Key: $(uuidgen 2>/dev/null || cat /proc/sys/kernel/random/uuid)" \
  --header 'Content-Type: application/json' \
  --data '{
  "relatedDocumentType": "item",
  "relatedDocumentId": "itm_9f3a2b",
  "subRelatedDocumentType": "serializedItem",
  "subRelatedDocumentId": "ser_00187",
  "subRelatedDocumentCode": "FX6-01",
  "content": "Revisada la montura tras el rodaje; sin holgura."
}'
{
  "data": {
    "id": "note_9f3a2b",
    "content": "Example content",
    "relatedDocumentType": "Example related document type",
    "relatedDocumentId": "related_document_9f3a2b",
    "subRelatedDocumentType": "Example sub related document type",
    "subRelatedDocumentId": "sub_related_document_9f3a2b",
    "subRelatedDocumentCode": "Example sub related document code",
    "createdAt": "2026-09-01T08:00:00.000Z",
    "updatedAt": "2026-09-01T08:00:00.000Z"
  }
}

Generated from the schema

With subRelatedDocumentType and subRelatedDocumentId the note goes on a specific physical unit and not on the whole item. mentionedUserIds notifies those Filmo users. The notes of an entity are read with GET /api/v1/notes.

Authorizations

Bearer API key with the scope below. notes:write

Headers

Idempotency-Keystring

Unique identifier of the request, chosen by the client (a UUID works). Between 1 and 255 characters: an empty header is rejected with 400 validation_error, because the client would believe itself protected. Repeating the same key with the SAME body within 24 h returns the stored response without executing again, with the Idempotent-Replay: true header. With a DIFFERENT body it returns 422. It is the safe way to retry after a network timeout.

Limits: min length 1, max length 255

Example:"9f1c2f4e-3a5b-4f6d-8e7a-0b1c2d3e4f5a"

Body

application/json

Body schema: NoteCreateBody

relatedDocumentTypestringRequired

Type of the entity the note is attached to.

Available options: item, contact, order, space, kit, vehicle, staff, service, collection, project, repairTicket, purchaseOrder, supplierInvoice

relatedDocumentIdstringRequired

Identifier of that entity.

Limits: min length 1

contentstringRequired

Note text.

Limits: min length 1

subRelatedDocumentTypestring

When the note is about a specific physical unit of the item.

Available options: serializedItem

subRelatedDocumentIdstring

Identifier of that physical unit. Requires subRelatedDocumentType.

subRelatedDocumentCodestring

Code of the unit, so that it can be read in the note without resolving the id.

mentionedUserIdsstring[]

Filmo users to notify. Each one receives a notification.

Response

application/json

Successful response.

Response schema: NoteDto

Envelope: NoteResponse. meta.warnings is present only when the operation is deprecated.

Headers: X-Request-Id · RateLimit-Limit · RateLimit-Remaining · RateLimit-Reset · ETag · Idempotent-Replay

dataobject

Note attached to an entity of the account.

Show child attributes
data.idstring

Unique identifier of the note.

data.contentstring

Note text.

data.relatedDocumentTypestring | null

Type of the entity the note is attached to; null if it is not attached.

data.relatedDocumentIdstring | null

Identifier of that entity; null if the note is not attached.

data.subRelatedDocumentTypestring | null

Type of the sub-entity; null if not applicable.

data.subRelatedDocumentIdstring | null

Identifier of the sub-entity; null if not applicable.

data.subRelatedDocumentCodestring | null

Human-readable code of the sub-entity; null if not applicable.

data.createdAtstring<date-time>

Creation date in ISO 8601 UTC.

data.updatedAtstring<date-time>

Last modification date in ISO 8601 UTC.

metaobject

Additional information about the response.

Show child attributes
meta.warningsobject[]

Lifecycle warnings; present only when the operation is deprecated.

Show child attributes
meta.warnings.codestring

Stable warning code.

Available options: deprecated

meta.warnings.messagestring

For people: what is deprecated, until when, and what to use.

meta.warnings.sunsetstring

Day (YYYY-MM-DD) the operation stops being served.

meta.warnings.replacementstring | null

operationId of the operation to use instead, or null if there is none.

Errors

StatusCodesMeaning
400validation_errorMalformed query or body. errors[] lists every offending field with its stable code.
404not_foundIt does not exist or is outside the scope of the API key.
409conflictThe current state of the resource prevents the operation, a request with that Idempotency-Key is already in progress, or another conditional write (If-Match) held the resource for more than five seconds. errors[0].code says which: in_progress and lock_timeout are solved by retrying; invalid_state is not, because the state of the resource forbids the operation.
422idempotency_key_reusedThe same key was used before with a different body. Change the key.

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

  • Platform

    Note

    Note attached to an entity of the account.