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
Authentication methods
Users can authenticate using:PASSWORD: Email/phone and passwordGOOGLE: Google OAuthCLIENT_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 transactionstransaction.create: Create transactionsuser.edit: Edit users
merchant.company.create: Create merchant companiesmerchant.transaction.list: List merchant transactionsmerchant.banking.view: View merchant banking data
Wildcard permissions
Wildcards grant access to multiple actions at once:| Wildcard | Description |
|---|---|
resource.* | All actions for a resource (e.g., user.* grants user.create, user.list, etc.) |
resource.subresource.* | All actions for a sub-resource (e.g., merchant.company.*) |
merchant.* | All merchant-scoped operations (cascades to all sub-resources) |
*.* | All permissions (used for organization admin roles) |
Permission categories
| Category | Permissions | Description |
|---|---|---|
| User | user.create, user.list, user.view, user.edit, user.delete, user.* | User management |
| Role | role.create, role.list, role.edit, role.delete, role.* | Role management |
| Company | company.list, company.edit, company.* | Company profile |
| Transaction | transaction.create, transaction.list, transaction.view, transaction.refund, transaction.* | Organization transactions |
| Banking | banking.list, banking.create, banking.view, banking.* | Balance, statement, cashouts, transfers |
| Affiliation | affiliation.create, affiliation.list, affiliation.view, affiliation.* | Organization affiliations |
| PIX | pix.create, pix.list, pix.delete, pix.* | PIX keys |
| Ledger | ledger.list, ledger.view, ledger.* | Ledger entries |
| Fee Policy | fee_policy.create, fee_policy.list, fee_policy.edit, fee_policy.* | Pricing policies |
| Webhook | webhook.list, webhook.* | Webhook dashboard |
| Merchant | merchant.* | All merchant-scoped operations |
merchant.company.*: Merchant CRUDmerchant.transaction.*: Merchant transactionsmerchant.banking.*: Merchant balance, cashouts, bank accountsmerchant.affiliation.*: Merchant affiliationsmerchant.pix.*: Merchant PIX keysmerchant.ledger.*: Merchant ledger entries
Listing available permissions
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

