API key authentication
Include your API key in thex-api-key header for all requests:
Keep your API keys secure. Never commit them to version control or expose them in client-side code.
Getting your API key
For organizations
Organizations receive their API key when their account is created by Rinne administrators. Contact support@rinne.com.br to get started.For merchants
When you create a merchant through the API, the response includes the merchant’s API key:Authentication scope
Your API key determines what resources you can access:Organization scope
Organization API keys can access:- All merchants under the organization
- Aggregated transaction data
- Organization-level settings
- Pricing policies
- User management across merchants
Merchant scope
Merchant API keys can only access:- Own merchant data
- Own transactions
- Own affiliations and PIX keys
- Own banking information
User authentication (JWT)
For user-facing applications, Rinne provides JWT-based authentication for individual users.Login flow
- User login: Authenticate with email/phone and password
- Company selection: If user has multiple companies, select one
- Use JWT token: Include token in Authorization header
JWT token structure
JWT tokens include:- User ID and identifiers
- Selected company context
- User permissions and roles
- Token expiration time
Password management
First access
New users receive a verification code via email:Forgot password
Request a password reset code:Change password
Authenticated users can change their password:Security best practices
Store API keys securely
Store API keys securely
- Use environment variables for API keys
- Never commit keys to version control
- Rotate keys periodically
- Use different keys for sandbox and production
Use HTTPS only
Use HTTPS only
All API requests must use HTTPS. HTTP requests will be rejected.
Implement rate limiting
Implement rate limiting
Implement exponential backoff for retries and respect rate limits to avoid throttling.
Validate webhook signatures
Validate webhook signatures
When receiving webhooks, validate the signature to ensure requests are from Rinne.

