Docs / Guides / Metadata, tags & search

Metadata, tags & search

Attach descriptive and technical metadata, tag assets, and find them again with full-text and filtered search.

Assets carry two kinds of metadata — technical (read off the file itself) and free-form (whatever your application wants to attach) — plus tags, and both feed the same search endpoint.

1. Extract technical metadata

Codec, resolution, duration, and bitrate are not known until you ask for them:

Request
curl -X POST https://<your-instance>/api/v1/assets/<id>/extract-metadata

Results land on the asset's technicalMetadata field (see the Asset entity).

2. Attach free-form metadata

Request
curl -X PUT https://<your-instance>/api/v1/assets/<id>/metadata \
  -H "Content-Type: application/json" \
  -d '{"key-value": "pairs specific to your application"}'

This is a full replace, not a merge — see PUT /api/v1/assets/{id}/metadata in the Assets reference.

3. Tag assets

Request
curl -X POST https://<your-instance>/api/v1/assets/<id>/tags \
  -H "Content-Type: application/json" \
  -d '{"tag": "keynote"}'

Remove one with DELETE /api/v1/assets/{id}/tags/{tag}.

One endpoint covers both free text and exact filters, ANDed together and paginated:

Request
curl "https://<your-instance>/api/v1/search?q=keynote&tags=stage-a&page=1&pageSize=20"

Exact-filter fields: tags, mimeType, metadata.<key>, tamsFlowId, tamsTimerange. Free text (q) matches over name and description. Full shape in the Search reference.

GET /api/v1/assets/search is a deprecated, free-text-only alias kept for backward compatibility — new integrations should use /api/v1/search above.

5. Audio and subtitle tracks

List an asset's tracks with GET /api/v1/assets/{id}/tracks; add or remove one with POST /api/v1/assets/{id}/audio-tracks / POST /api/v1/assets/{id}/subtitle-tracks and their DELETE counterparts. See the Assets reference for the full set.