Onboarding is available in the sandbox, so you can integrate and test it now. In production, its routes answer
403 until Rinne turns it on; Rinne announces the date to its customers beforehand.The onboarding link
A mobile-first page that asks the merchant’s contact only for what is still pending. Send it, or embed it in your app.
Build with the API
The same building blocks the link runs on: requirements, documents and biometric verifications, in any order.
Why it is different
Asks only for what is missing
Each requirement says what is pending, for which person or merchant, and which documents satisfy it. Nothing already valid is asked again.
Collected once, reused everywhere
An identity document or an approved biometric verification serves every merchant of your organization where that person appears, and every later attempt.
Any order, any time
Upload a document today and create the affiliation next month. Start the biometric verification before the affiliation exists. The pieces do not wait for each other.
Submits on its own
When the last requirement is satisfied, through the API or the link, Rinne submits the affiliation to the provider without another call from you.
Rejections you can act on
A provider’s refusal becomes structured
rejection_reasons, each with an action. The next attempt asks only for what the provider refused or added.Every step is an event
Documents, biometric verifications, requirements and the affiliation each report their changes by webhook, so your system never polls.
How it works
1
Create the affiliation
Call
POST /v1/affiliations (or POST /v1/merchants/{merchantId}/affiliations for one of your merchants), exactly as you already do. When the provider needs something the merchant has not supplied yet, the affiliation comes back WAITING_DOCUMENTS with its onboarding link in onboarding_url. When everything is already satisfied, it is submitted at once.2
Collect what is pending
Send the onboarding link to the merchant’s contact, or supply the items yourself through the API, or mix the two.
GET /v1/onboarding-requirements always says what is still missing.3
Rinne submits
The moment the last requirement is satisfied, Rinne submits the affiliation:
WAITING_DOCUMENTS → PENDING → PENDING_APPROVAL, then PROCESSING_DOCUMENTS while the provider analyzes the documents. At a provider without a document stage, such as CAPPTA, it moves to PROCESSING instead.4
The provider decides
The affiliation becomes
ACTIVE, or REJECTED with reasons you can act on. affiliation.status-changed reports each move.An
ACTIVE affiliation processes transactions. The documents it sent become VALIDATED and keep serving the merchant’s other affiliations.Rinne never approves a merchant. The provider decides. Rinne collects, checks the format of what it collects, submits, and reports the provider’s answer.
See what a merchant needs
Pick the merchant’s shape and the provider. The explorer shows the requirements Rinne creates for it, what happens when you create the affiliation, and how reuse changes the answer. The full rules, including what a provider can ask for later, are in Requirements.Two ways to collect, one model
- Onboarding link
- API
- Both
Hand the merchant’s contact the affiliation’s
onboarding_url. They confirm their CPF and complete the pending items in any order: a photo or file for each document, the biometric selfie, and any question the provider asked. They can stop and come back; what they already sent is never asked again.Best when you want onboarding live without building screens.Explore the onboarding link →What each provider asks for
The same rules apply to every merchant. Details and examples: Requirements.
Already integrated with affiliations?
Your integration keeps working.POST /v1/affiliations takes the same request, an affiliation still waits in WAITING_DOCUMENTS with its link in onboarding_url for up to 30 days before its first submission, and affiliation.status-changed reports every move. Four details are worth handling:
Handle the CANCELLED status
Handle the CANCELLED status
An affiliation that waits 30 days in
WAITING_DOCUMENTS before its first submission, or that you cancel, becomes CANCELLED with a cancellation_reason. It is terminal: create a new affiliation when the merchant is ready. See Statuses and events.Read the link from affiliation.created too
Read the link from affiliation.created too
An affiliation created already waiting reports no status change, so its
onboarding_url arrives in the create response and on the affiliation.created webhook. See Get the link.Use onboarding_url as it is
Use onboarding_url as it is
Forward or embed the URL you receive without depending on its domain. Most affiliations carry the Rinne onboarding link, but an attempt that is already on the provider’s own page keeps that page until it finishes.
Let an embedded link open a new tab
Let an embedded link open a new tab
The biometric step opens the selfie capture in a new tab and resumes when the contact comes back, so a frame or app webview that holds the link must allow new windows; the camera is used for the document photos. Android’s WebView cannot run the step, so open the link in the browser there. See Embed the link.
Start here
The onboarding link
What the contact sees, how to send or embed the link, and how to reissue it.
Build with the API
Read requirements, upload documents, run a biometric verification and create the affiliation.
When the provider asks for more
Rejection reasons, new requirements and the next attempt.
Test in the sandbox
Drive approvals and rejections of affiliations and biometric verifications.

