Skip to main content
Rinne provides a comprehensive user management system with role-based access control (RBAC). Organizations and merchants can create users with specific permissions.

User basics

Users are individuals who can access the Rinne platform through your organization or merchant account. Each user:
  • Has one or more identifiers (email, phone)
  • Can belong to multiple companies
  • Has roles that define their permissions
  • Can authenticate using password or OAuth

Creating users

For your organization

For a specific merchant

User identifiers

Users can have multiple identifiers for authentication:

Email identifier

Phone identifier

Users must verify their identifiers before they can log in.

Authentication methods

Users can authenticate using:
  • PASSWORD: Email/phone and password
  • GOOGLE: Google OAuth
  • CLIENT_PLATFORM: Platform-specific authentication

Roles and permissions

Rinne uses a hierarchical permission system with role-based access control (RBAC). Permissions are enforced on all protected API endpoints for JWT-authenticated users.
API key authentication bypasses permission checks for most endpoints.

Built-in roles

Rinne provides default roles:
  • admin: Full access to all resources (uses *.* wildcard)
  • user: Basic access to view resources
  • merchant-admin: Full access to merchant resources

Custom roles

Create custom roles with specific permissions:

Permission format

Permissions follow a hierarchical dot-separated format: resource[.subresource].action Basic permissions:
  • transaction.list: List transactions
  • transaction.create: Create transactions
  • user.edit: Edit users
Nested resource permissions (for merchant-scoped operations):
  • merchant.company.create: Create merchant companies
  • merchant.transaction.list: List merchant transactions
  • merchant.banking.view: View merchant banking data

Wildcard permissions

Wildcards grant access to multiple actions at once:

Permission categories

Merchant sub-resources:
  • merchant.company.*: Merchant CRUD
  • merchant.transaction.*: Merchant transactions
  • merchant.banking.*: Merchant balance, cashouts, bank accounts
  • merchant.affiliation.*: Merchant affiliations
  • merchant.pix.*: Merchant PIX keys
  • merchant.ledger.*: Merchant ledger entries

Listing available permissions

Filter by resource:

User lifecycle

1. User creation

Admin creates user with email/phone identifier. User receives verification code.

2. Verification

User verifies their identifier and sets password:

3. Active user

User can now log in and access resources based on their roles.

4. Suspension

Admins can suspend users temporarily:

5. Reactivation

Suspended users can be reactivated:

Updating users

Update user information and roles:
Providing the roles array replaces all existing roles. Pass an empty array [] to remove all roles.

Multi-company access

Users can belong to multiple companies. When logging in, they select which company context to use:

Listing users

Organization users

Merchant users

Next steps

Authentication

Learn about authentication methods

API Reference

Explore user management endpoints