Create a custom (non-system) role. Superuser-only.
post/api/v1/authz/roles
Request body
descriptionstring nullable
namestring required
parent_role_idstring uuid nullable
permissionsstring[]
Permission slugs in the canonical <resource>:<action> form — for example flow:read, deployment:execute, share:create. Resources must be one of flow, deployment, project, knowledge_base, variable, file, share. Actions are constrained per-resource (see services/authorization/actions.py): e.g. deploy is only valid on flow, ingest only on knowledge_base, update only on share. * (all actions on that resource) is always accepted. A registered authorization plugin is responsible for compiling these into its policy format.