Privilege escalation
The API answers 403 Forbidden with this problem. Its type is https://lingo.dev/docs/api/errors/privilege-escalation. See Errors and status codes for the shape every error shares.
A role cannot grant permissions your own role does not carry: org:manage_team. Ask for them yourself first, or leave them out of the role.
Fields#
Besides the standard type, status, title and detail members, the body carries these fields. The detail text is built from them, so a client can show its own text instead.
| Field | Type |
|---|---|
permissions | ("org:manage_team" | "org:manage_billing" | "org:manage_settings" | "org:manage_api_keys" | "org:manage_integrations" | "org:delete" | "org:view_audit_logs" | "engine:read" | "engine:translate" | "engine:create" | "engine:edit" | "engine:delete" | "engine:review_translations" | "org:manage_reviews" | "org:glossary:read" | "org:glossary:edit" | "org:brandvoice:read" | "org:brandvoice:edit" | "org:ruleset:read" | "org:ruleset:edit" | "org:suggestion:read" | "org:suggestion:edit")[] |
Example#
json
{
"detail": "A role cannot grant permissions your own role does not carry: org:manage_team. Ask for them yourself first, or leave them out of the role.",
"permissions": [
"org:manage_team"
],
"type": "https://lingo.dev/docs/api/errors/privilege-escalation",
"status": 403,
"title": "Privilege escalation"
}Returned by#
PATCH /v2/invites/{id}PATCH /v2/organizations/{orgId}/members/{userId}PATCH /v2/roles/{id}PATCH /v2/service-api-keys/{id}POST /v2/organizations/{orgId}/invitesPOST /v2/organizations/{orgId}/rolesPOST /v2/organizations/{orgId}/service-api-keysPOST /v2/organizations/{orgId}/service-api-keys/scim