/api/v1/tags
GET /tags — Get all tags
GET /tags — Get all tagsThis endpoint returns all available taggroups and tags.
Access token in the Authorization header:
Authorization: Bearer <token>.
Success
Always taggroup.
No authenticated user. The request must carry a valid access token.
Differs from easydb 5: a missing/invalid session is reported as 401
(UserRequired); easydb 5 documents the unauthenticated case on this
endpoint as a 400 ("Not Authenticated").
POST /tags — Create, update or delete taggroups and tags
POST /tags — Create, update or delete taggroups and tagsReplaces the entire set of tag groups and tags. The request body is
the complete desired list: groups and tags present are created or
updated; any group or tag currently in the database but absent from
the request is deleted. The change is written directly to the taggroup
and tag tables in the request transaction and is effective immediately;
there is no working copy and no separate commit step. Deletions of
still-referenced tags either return a 202 (auto-removable contexts,
confirm with delete_policy=remove_tags) or a 400 TagsInUse (must be
resolved manually first). Changing a tag's _acl re-validates affected
collection objects; if that re-validation exceeds the time limit a 202
is returned offering to run it in the background (confirm with
background_invalid_acl=true). Requires the system.tagmanager system
right. Rejected with 400 ReadOnlyMode while the server is in read-only
mode.
Differs from easydb 5: deleting a still-referenced tag is confirmed with
delete_policy=remove_tags (auto-removable contexts) or rejected with
400 TagsInUse (manual-resolution contexts), and the collection-ACL
re-validation is confirmed with background_invalid_acl. easydb 5
documents neither a delete_policy nor a TagsInUse error; its only
documented confirmation parameter for this save is
collection_rights_policy.
Access token in the Authorization header:
Authorization: Bearer <token>.
Confirmation flag for deleting tags that are still referenced only in
contexts where fylr can clean them up automatically
(collection.create_object, objecttype_tag, pool_tag). The only
recognized value is remove_tags. Without it, such a deletion returns
202 asking for confirmation; resend the identical request with
delete_policy=remove_tags to proceed (the tag is removed from those
contexts and deleted). It has no effect on tags referenced in
manual-resolution contexts (records, ACLs, column/mask filters,
workflows, right presets, baseconfig), which always return
400 TagsInUse.
Confirmation flag for the collection re-validation that runs when a
tag's _acl changes. If the synchronous re-validation of the
affected collection objects exceeds the time limit, the request
returns a 202 asking for confirmation; resend the identical request
with background_invalid_acl=true to apply the change immediately and
schedule the re-validation as a background index job instead.
Overrides the time limit for the synchronous collection re-validation
(a Go duration string such as 30s). When the limit is exceeded a
202 is returned; see background_invalid_acl.
Always taggroup.
Success
No content
Request must be resent and confirmed. Two situations produce this response:
- One or more tags that would be deleted are still referenced in places where they can be cleaned up automatically (
collection.create_object,objecttype_tag,pool_tag), but an explicit confirmation is required. Resend the identical request with the query parameterdelete_policy=remove_tagsto confirm. - A changed tag
_acltriggered collection re-validation that exceeded the time limit. Resend the identical request withbackground_invalid_acl=trueto apply the change and run the re-validation in the background.
The tasks[].buttons[].name/value of the returned payload name the query parameter to resend with.
The request could not be processed. The code field identifies which
validation rejected the request. Codes include TagsInUse (a tag to
be deleted is still referenced in a manual-resolution context),
ReadOnlyMode (server in read-only mode), the rights-validation codes
raised while checking each tag's _acl (UnknownRight,
UnknownRightParam, UnknownRightValue, ChoiceNotUnique, …), and
ServerGeneric for a malformed body or an unknown taggroup type
(only checkbox and choice are accepted).
No authenticated user. The request must carry a valid access token.
Differs from easydb 5: a missing/invalid session is reported as 401
(UserRequired); easydb 5 documents the unauthenticated case on this
endpoint as a 400 ("Not Authenticated").
The authenticated user lacks the system.tagmanager system right
(and is not system.root). Error code is SystemRightRequired.
Differs from easydb 5: a missing system right is reported as 403
(SystemRightRequired); easydb 5 documents the missing-right case on
this endpoint as a 400 ("No System Right").
No content
Last updated