Skip to content

Authentication and permissions

Dockt authorizes every request from its authenticated principal, fixed or selected scope, and granted permissions.

Both api_key and m2m credentials use bearer authentication for Dockt API requests. An API key is the bearer value. An M2M credential exchanges its client ID and one-time client secret at its returned token_url, then uses the short-lived access token as the bearer value.

Secret material is returned only when a credential is created. Later credential reads return metadata and a key hint, not the secret.

An API credential has exactly one scope_type:

  • account: Manages the Account, its Workspaces, and account-scoped credentials.
  • workspace: Operates within one Workspace for configuration and verification workflows.

The scope is fixed when the credential is created. The API doesn’t accept a request header or body field that changes it.

Browser sessions can use POST /v1/auth/scope to select an available Account or Workspace. The active selection applies to later session requests. API credentials can’t call this operation to change their fixed scope.

Use GET /v1/auth/me to read the current authentication type, scope, permissions, available session scopes, and active scope.

PermissionAllows
account:readRead the current Account.
account:writeUpdate Account metadata and manage account users where applicable.
workspaces:readList and read Account Workspaces.
workspaces:writeCreate and update Account Workspaces.
api-credentials:readList credential metadata.
api-credentials:manageCreate, update, disable, and delete credentials.
features:readRead Workspace Features where the account operation supports it.
features:writeUpdate Workspace Features where the account operation supports it.
social-compliance-packages:readRead the social compliance package catalog.
PermissionAllows
workspace:readRead the active Workspace.
features:readRead active Workspace Features.
features:writeUpdate active Workspace Features.
social-compliance-packages:readRead the social compliance package catalog.
webhooks:manageCreate, read, update, delete, and test webhook endpoints.
api-credentials:readList Workspace credential metadata.
api-credentials:manageCreate, update, disable, and delete Workspace credentials.
assessments:readList and read Assessments.
assessments:writeCreate and update Assessments and manage linked Documents.
documents:readList and read Documents.
documents:createUpload Documents.
documents:deleteWithdraw standalone Documents.
decisions:readRead Decisions and Outcomes.
decisions:outcomeReport a Decision Outcome.

The exact permission required by each operation appears in the API reference.

A 401 Unauthorized response means the bearer value is missing, invalid, expired, or no longer enabled. The response includes WWW-Authenticate.

A 403 Forbidden response means authentication succeeded, but the credential scope or permission doesn’t allow the operation. Check GET /v1/auth/me before changing application logic or credentials.