Skip to main content

Permissions

An authenticated request goes through three checks, in this order. Any one that denies ends the request with 403.

#CheckWhat it verifiesRejection
1Token scopethe resource and access level granted to the token403 INSUFFICIENT_SCOPE
2Person's rolewhat the token's person can do in the organization403 USER_PERMISSION_DENIED or 403 NOT_A_MEMBER
3Organization permissionwhether Kobana enabled the equivalent console screen for the organization403 FEATURE_NOT_ENABLED

1. Scopes​

The token needs the resource scope and the access level that the method requires. The grammar, the resource table and the examples are in Authentication → Scopes.

2. Person's role​

A token issued for a person (with the email claim) never reaches more than the person can: besides the scopes, their role in the organization applies. Each route requires an agent.<resource>.<action> permission:

ActionWhen
list, readlist and get details
create, update, deletecreate, update and remove
executions.runrun a task
webhook_deliveries.replayresend a webhook delivery
repository.syncsync the Playbook

Roles accept wildcards: *, agent.* and agent.<resource>.*.

ResponseWhen
403 USER_PERMISSION_DENIEDthe role does not grant the permission (details.required says which)
403 NOT_A_MEMBERthe token's person has no membership in the organization

An integration token, with no person, is governed by scopes only. GET /v1/me does not check the role.

3. Organization permission​

The routes that mirror console screens (run, logs, webhooks, deliveries, environments, secrets, schedules, task endpoint, repository and usage) also respect the permissions Kobana grants the organization. An operation that is not enabled responds 403 FEATURE_NOT_ENABLED, with details.permission.

Contracted plan​

Running a task requires Kadu to be in the organization's plan. Without a plan, the run responds 403 ENTITLEMENT_REQUIRED, with details.reason and details.required_product. Reading, registration and cancellation are never blocked by the plan. See Plan and costs.