Skip to main content
Rain accepts a short list of documents for compliance, and it is shorter than what the upload endpoints will let you send. Endpoint options are not the accepted list: the document upload endpoints offer multiple document types, but only the ones on this page are currently accepted for compliance. Other documents may be submittable and will not be approved. Those extra options exist in case compliance requirements change.

KYC documents

For individuals, you’ll need to submit:
  • Identification (Passport, ID card, Driver’s license, or Residence permit)
  • Selfie

Upload a passport

When uploading a passport, leave the Front side and Back side dropdown empty. That selection only applies to ID card, Driver's license, or Residence permit options.

KYB documents

For businesses, you’ll need to submit:
  • Certificate of incorporation
  • Shareholder registry
taxId and registrationNumber are separate fields:When submitting a company application, both fields are required:
  • taxId: The company’s national tax identification number. For US companies, this is the Employer Identification Number (EIN).
  • registrationNumber: The company’s state registration number, typically found on the Articles of Incorporation or Certificate of Formation.
Do not use the EIN for the registrationNumber field or vice versa.
Corporate Structure is the hierarchy of legal entities, including parent companies and subsidiaries. An Organizational Chart shows employee roles and reporting lines within a company. When a review asks for one of these, submit the matching document.

Fastfail checks

Automated checks run on uploaded documents to verify quality and completeness. They run synchronously at upload time: a document that fails is rejected on the spot with a 400 response, so fix the document and upload it again before submitting the application. Fastfail checks verify the following:
  • All pages and sides of the document are uploaded
  • Document number and name fields are present and readable
  • Document image is not a screenshot or cropped
  • Document is not expired or issued in a forbidden territory
  • Document image was not previously rejected
  • Photo in the document contains a visible human face
Document validation errors:The upload endpoint validates document quality and completeness before accepting it. If validation fails, the endpoint returns a 400 response with a message describing the issue:
The message field contains a comma-separated list of one or more rejection tags, and the same tags are also returned as an errorMessageCodes array on the error body. Common causes include blurry or cropped images, expired documents, screenshots instead of photos, and missing required pages. Make sure your integration handles this 400 response and prompts users to resubmit with a corrected document.
Two other upload rules to build around: files can be up to 20 MB, and a 400 with the message Document type not required for user (or for company) means the applicant’s verification level doesn’t call for that document type — upload only the types the application asks for.

Error tags

Errors block the applicant from proceeding. A different document must be uploaded.

Warning tags

Warnings let applicants proceed after retaking the document photo or providing missing information.

Document tags are not webhook rejection labels

These tags and the rejection labels in the rejection reasons reference are two different layers, not two spellings of the same list. The tags on this page arrive synchronously, in the message field of a 400 response, at the moment you upload a document. Rejection labels arrive later, in the applicationReason field of a webhook, when the application itself is decided. A document can clear these tags and the application can still be rejected.

What’s next

Submit pre-collected documents

Upload documents you already collected.

Verification requirements

What Rain requires and screens for.

Application states

Track the outcome after you submit.