Tags

Create a tag

Creates a tag in the vocabulary of the account.

POST
/api/v1/tags

Request examples

curl https://app.filmo.io/api/v1/tags \
  --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 '{
  "name": "Prioritario",
  "entityType": "project",
  "entityId": "prj_00421"
}'
{
  "data": {
    "id": "tag_create_result_9f3a2b",
    "name": "Example tag create result",
    "assigned": true
  }
}

Generated from the schema

If you also send entityId and entityType, it creates it AND assigns it to that entity in the same step, which is the normal case of an import. The two fields go together or not at all.

Authorizations

Bearer API key with the scope below. tags: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: TagCreateBody

namestringRequired

Tag name.

Limits: min length 1

entityIdstring

Entity to assign the tag to in the same step. Requires entityType.

entityTypestring

Type of that entity. Requires entityId.

Available options: item, contact, order, space, project, kit, serializedItem, vehicle, staff, service, purchaseOrder, incident, repairTicket, opportunity, contract, invoice, creditNote, salesReceipt, simpleCreditNote, supplierInvoice

Response

application/json

Successful response.

Response schema: TagCreateResultDto

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

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

dataobject

Newly created tag.

Show child attributes
data.idstring

Tag identifier.

data.namestring

Tag name.

data.assignedboolean

true if the tag was also assigned to the entity given in the body.

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

Was this page helpful?