Skip to main content
Rinne uses API key authentication for secure access to the platform. Each company (organization or merchant) has a unique API key that grants access to their resources.

API key authentication

Include your API key in the x-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 [email protected] 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

  1. User login: Authenticate with email/phone and password
  1. Company selection: If user has multiple companies, select one
  1. 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:
Reset password with the code:

Change password

Authenticated users can change their password:

Security best practices

  • Use environment variables for API keys
  • Never commit keys to version control
  • Rotate keys periodically
  • Use different keys for sandbox and production
All API requests must use HTTPS. HTTP requests will be rejected.
Implement exponential backoff for retries and respect rate limits to avoid throttling.
When receiving webhooks, validate the signature to ensure requests are from Rinne.

Error responses

Authentication errors return a 401 status code:
Authorization errors return a 403 status code:

Next steps

Create your first transaction

Follow the quickstart guide

User management

Manage users and permissions