Skip to main content

Members and permissions

The Members screen answers "who accesses the account and what can each person do". Each member has one or more roles; each role is a set of permissions from the product's catalog.

Members

Inviting someone

Only administrators invite new members. The invitation carries the email, name (optional) and initial role (Operator, by default) and expires in 7 days. Upon acceptance, the person joins the account with the defined role. If the email already belongs to a user on the account, or a pending invitation already exists, the system refuses (USER_EXISTS / INVITATION_EXISTS).

:::note Requires a configured email provider (SMTP) Delivering the invitation by email depends on a transactional email provider (SMTP) provisioned in the environment. Until it is configured, the invitation is created but the email is not sent — the link must reach the invitee through another channel. :::

System roles

Four ready-made roles cover most operations:

RoleWhat it can do
AdministratorFull access to all resources. Cannot be removed.
ManagerFull management of the operation, without account administration (members, roles, API keys, integrations).
OperatorDay-to-day work: customers, charges, tasks, agreements and disputes (general read + operational write).
ViewerRead-only on all resources.

System roles are immutable (SYSTEM_ROLE_IMMUTABLE): when the product gains new permissions, they automatically apply to these roles, with no reconfiguration on your part.

Custom roles

Beyond the four system roles, you can create your own (via POST /api/v1/team-roles) choosing any combination of permissions from the catalog. Unknown permissions are rejected; so are duplicate names (DUPLICATE). A custom role in use cannot be deleted (ROLE_IN_USE).

The permission catalog

Every permission follows the format dunning.dashboard.<recurso>.<ação>, with wildcard support (dunning.dashboard.*). Actual resources and actions:

ResourceActions
dashboardview
peoplelist, show, create, update, delete
chargeslist, show, create, update, delete, notify
collection_ruleslist, show, create, update, delete, activate
classificationslist, show, create, update, delete
templateslist, show, create, update, delete, duplicate
notificationslist, show, create, update, resend, delete
taskslist, show, create, update, delete, complete
interactionslist, show, create, update, delete
agreementslist, show, create, update, cancel
disputeslist, show, create, resolve
negativationslist, show, create, approve, cancel
protestslist, show, create, approve, cancel
portalgenerate_link, revoke_link
workspaceslist, manage
memberslist, show, invite, update, suspend, remove
roleslist, show, create, update, delete, assign
auditlist, show
api_keyslist, create, revoke
integrationslist, manage
webhookslist, show, create, update, delete
email_layoutslist, show, create, update, delete
importslist, show, create
exportscreate
settingsshow, update

The same catalog powers the scopes of API keys.

Assigning roles and deactivating members

In the members table (name, roles, last access, Active/Inactive status), the edit icon opens the role picker. The change takes effect immediately and ends the member's current session — they must sign in again, already with the new permissions. Deactivating a member cuts off access instantly, without erasing their history in the audit trail.

Foot-gun protections

  • LAST_ADMIN: the system refuses to downgrade or deactivate the last active administrator (nobody locks their own account from the outside).
  • SELF_DEACTIVATION: you cannot deactivate your own account.
  • SELF_ROLE_CHANGE: non-admins cannot change their own role.

Every member and role change is recorded in the audit trail.