Skip to main content
POST
Open an onboarding document upload

Authorizations

x-api-key
string
header
required

Company API key for authentication

Body

application/json
type
enum<string>
required

The document type; the types a provider's capture produces (RNM_*, ID_DOCUMENT_*) cannot be uploaded

Available options:
CNH_FRONT,
CNH_BACK,
CNH_DIGITAL,
RG_FRONT,
RG_BACK,
RNE_FRONT,
RNE_BACK,
SELFIE,
ARTICLES_OF_INCORPORATION,
POWER_OF_ATTORNEY,
PROOF_OF_ADDRESS,
PROOF_OF_INCOME,
FINANCIAL_STATEMENT,
OTHER
Example:

"PROOF_OF_ADDRESS"

subject_document_number
string
required

The CPF or CNPJ the document is about; punctuation is ignored. The company, its contact, or the subject of one of its requirements

Example:

"811.464.310-23"

file_name
string
required

The file's name, kept for display; surrounding whitespace is trimmed

Required string length: 1 - 255
Example:

"address.pdf"

content_type
enum<string>
required

The file's MIME type, sent as Content-Type on the PUT and checked against the bytes on complete

Available options:
application/pdf,
image/png,
image/jpeg
Example:

"application/pdf"

requirement_id
string<uuid>

Makes the document an attachment of that EVIDENCE_PACKAGE requirement, which must be the company's, still open, and of the same subject

Example:

"7f3d9c2a-5b1e-4c8d-9a6f-0e2b4d6c8a10"

Response

The document, PENDING_UPLOAD, with the signed upload URL

A document a company holds for a subject, as the list, read and complete responses carry it

id
string<uuid>
required
Example:

"9c1e7b3a-2d4f-4a6b-8c0d-5e7f9a1b3c2d"

company_id
string
required

The company the document was presented for (the organization itself or one of its merchants)

Example:

"c0a8012e-4d3b-4a6e-8f1b-1a2b3c4d5e6f"

subject_document_number
string
required

Whom the document is about, digits only (a CPF or a CNPJ)

Example:

"81146431023"

type
enum<string>
required

RNM_* and ID_DOCUMENT_* only arrive from a provider's capture; SELFIE from a capture or an upload

Available options:
CNH_FRONT,
CNH_BACK,
CNH_DIGITAL,
RG_FRONT,
RG_BACK,
RNE_FRONT,
RNE_BACK,
RNM_FRONT,
RNM_BACK,
ID_DOCUMENT_FRONT,
ID_DOCUMENT_BACK,
SELFIE,
ARTICLES_OF_INCORPORATION,
POWER_OF_ATTORNEY,
PROOF_OF_ADDRESS,
PROOF_OF_INCOME,
FINANCIAL_STATEMENT,
OTHER
Example:

"PROOF_OF_ADDRESS"

status
enum<string>
required

PENDING_UPLOAD until complete; NOT_VALIDATED once the file is recorded and until a provider judges it; VALIDATED when a provider accepted it; REJECTED when every provider that saw it refused it (see rejections); SUPERSEDED when a newer document of the same subject and type replaced it, when complete found its bytes already stored in another document (superseded_by_id), or when Rinne closed an upload whose URL expired with nothing received (superseded_by_id null).

Available options:
PENDING_UPLOAD,
NOT_VALIDATED,
VALIDATED,
REJECTED,
SUPERSEDED
Example:

"NOT_VALIDATED"

source
enum<string>
required

UPLOAD by the customer; PROVIDER from a provider's capture; SHARED a reference to a document another organization validated for the same subject

Available options:
UPLOAD,
PROVIDER,
SHARED
Example:

"UPLOAD"

requirement_id
string<uuid> | null
required

The EVIDENCE_PACKAGE requirement the document is attached to; null for every other document

Example:

null

file_name
string | null
required

The name given at upload, or the name the provider's capture produced; null on a SHARED document

Example:

"address.pdf"

content_type
string | null
required

The file's MIME type; null until the upload completes and on a SHARED document

Example:

"application/pdf"

file_size_bytes
integer | null
required

null until the upload completes and on a SHARED document

Example:

125430

upload_url_expires_at
string<date-time>
required

When upload_url stops accepting the file

Example:

"2026-10-09T12:15:00.000Z"

rejections
object[]
required

In the list, read and complete responses, the provider refusals of these bytes, newest first, from every document of the organization that holds the same file for the same subject, this one included. The entity of a webhook carries the refusals recorded on this document only

superseded_by_id
string<uuid> | null
required

The document that replaced this one, or that already held its bytes, when SUPERSEDED

Example:

null

screening
enum<string> | null
required

Rinne's own check of the file before any provider reads it: PENDING until Rinne looks at it, then PASSED or FAILED. A FAILED document satisfies no requirement and its requirement reads REJECTED, with screening_note saying why; upload a new one. Always null while Rinne does not screen documents.

Available options:
PENDING,
PASSED,
FAILED,
null
Example:

null

screening_note
string | null
required

The screener's note on a FAILED, saying why the document did not pass; null on any other verdict, and always null while Rinne does not screen documents

Example:

null

created_at
string<date-time>
required
Example:

"2026-10-09T12:00:00.000Z"

updated_at
string<date-time>
required
Example:

"2026-10-09T12:00:00.000Z"

upload_url
string<uri>
required

The signed PUT URL for the file, valid for fifteen minutes; send the declared content_type as Content-Type, plus x-goog-if-generation-match: 0 and x-goog-content-length-range: 0,10485760

Example:

"https://storage.googleapis.com/onboarding-documents/..."