The onboarding API allows you to refer your customers and personal contacts to Brex.
- Gets a referral by ID
Onboarding API (1.0)
The onboarding API allows you to submit customer referrals to Brex and receive a customized Brex application URL. You can optionally submit additional information to help prefill their application with data you may have about the customer. You also can get visibility into the application approval status.
- Productionhttps://api.brex.com/v1/referrals
- Staging (Note: This is not a sandbox. It will not work with customer tokens.)https://api-staging.brex.com/v1/referrals
- curl
- JavaScript
- Node.js
- Python
- Ruby
- Java
curl -i -X GET \
https://api.brex.com/v1/referrals \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'listReferrals 200 response
Signup URL to redirect prospects to complete their onboarding flow.
Note: Necessary disclosures must be shown when the prospect clicks on this link.
Customer's email address registered for the Brex application. This field is available only if there's a signup completed.
Status of the referral. UNCLAIMED or EXPIRED unless the customer completes signup. Customers are attributed once ACTIVE until the account is CLOSED.
Available if customer applied for Brex Cash.
Application status of a product.
NO_ACCOUNT - There is no active application, and the product account is not provisioned.
ACTIVE - The application is approved, and the product account is provisioned.
NOT_SUBMITTED - The application is started but not yet submitted.
INFORMATION_PENDING - The application is submitted and additional information is requested.
MANUAL_REVIEW - The application is under manual review.
PROCESSING - The application is submitted and is under review.
REJECTED - The application is rejected.
CLOSED - The product account is closed.
{ "next_cursor": "string", "items": [ { … } ] }
Request
This creates new referrals. The response will contain an identifier and a unique personalized link to an application flow. Many fields are optional and when they're provided they'll prefill the application flow for Brex. You should handle and store these references securely as they contain sensitive information about the referral.
Referral code that attributes credit to you if the prospect signs up for a Brex account.
Required information about the referred prospect.
Information about the business the application is for.
You can optionally set the alternate_address, if the business has an additional address which is different from the registration address. For instance, for international companies where their operational address may be different than where the company was incorporated.
When set to EMAIL_OUTBOUND, Brex will email the referred prospective customer directly to prompt them to create their account rather than rely on you to direct them to claim the account. If not provided, you are responsible for contacting the prospect and the value defaults to NO_OUTBOUND.
- Productionhttps://api.brex.com/v1/referrals
- Staging (Note: This is not a sandbox. It will not work with customer tokens.)https://api-staging.brex.com/v1/referrals
- curl
- JavaScript
- Node.js
- Python
- Ruby
- Java
curl -i -X POST \
https://api.brex.com/v1/referrals \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"referral_code": "string",
"applicant": {
"last_name": "string",
"first_name": "string",
"email": "user@example.com"
},
"business": {
"legal_name": "string",
"incorporation_type": "C_CORP",
"employer_identification_number": "stringstr",
"website_url": "string",
"activity_description": "string",
"incorporation_year": 2023,
"incorporation_state": "CA",
"address": {
"line1": "string",
"line2": "string",
"city": "string",
"state": "string",
"country": "string",
"postal_code": "string",
"phone_number": "string"
},
"beneficial_owners": [
{
"legal_name": "string",
"company_relationship": "FOUNDER",
"date_of_birth": "2019-08-24",
"identity_document": {
"country": "string",
"type": "SSN",
"number": "string"
},
"address": {
"line1": "string",
"line2": "string",
"city": "string",
"state": "string",
"country": "string",
"postal_code": "string",
"phone_number": "string"
},
"prong": "OWNERSHIP",
"ownership_percentage": 25
}
],
"alternate_address": {
"line1": "string",
"line2": "string",
"city": "string",
"state": "string",
"country": "string",
"postal_code": "string",
"phone_number": "string"
}
},
"contact_preference": "NO_OUTBOUND"
}'createReferralRequest 200 response
Signup URL to redirect prospects to complete their onboarding flow.
Note: Necessary disclosures must be shown when the prospect clicks on this link.
Customer's email address registered for the Brex application. This field is available only if there's a signup completed.
Status of the referral. UNCLAIMED or EXPIRED unless the customer completes signup. Customers are attributed once ACTIVE until the account is CLOSED.
Available if customer applied for Brex Cash.
Application status of a product.
NO_ACCOUNT - There is no active application, and the product account is not provisioned.
ACTIVE - The application is approved, and the product account is provisioned.
NOT_SUBMITTED - The application is started but not yet submitted.
INFORMATION_PENDING - The application is submitted and additional information is requested.
MANUAL_REVIEW - The application is under manual review.
PROCESSING - The application is submitted and is under review.
REJECTED - The application is rejected.
CLOSED - The product account is closed.
{ "id": "string", "referral_signup_url": "string", "expires_at": "2019-08-24T14:15:22Z", "customer_email": "user@example.com", "status": "UNCLAIMED", "products": [ { … } ] }
- Productionhttps://api.brex.com/v1/referrals/{id}
- Staging (Note: This is not a sandbox. It will not work with customer tokens.)https://api-staging.brex.com/v1/referrals/{id}
- curl
- JavaScript
- Node.js
- Python
- Ruby
- Java
curl -i -X GET \
'https://api.brex.com/v1/referrals/{id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'getReferral 200 response
Signup URL to redirect prospects to complete their onboarding flow.
Note: Necessary disclosures must be shown when the prospect clicks on this link.
Customer's email address registered for the Brex application. This field is available only if there's a signup completed.
Status of the referral. UNCLAIMED or EXPIRED unless the customer completes signup. Customers are attributed once ACTIVE until the account is CLOSED.
Available if customer applied for Brex Cash.
Application status of a product.
NO_ACCOUNT - There is no active application, and the product account is not provisioned.
ACTIVE - The application is approved, and the product account is provisioned.
NOT_SUBMITTED - The application is started but not yet submitted.
INFORMATION_PENDING - The application is submitted and additional information is requested.
MANUAL_REVIEW - The application is under manual review.
PROCESSING - The application is submitted and is under review.
REJECTED - The application is rejected.
CLOSED - The product account is closed.
{ "id": "string", "referral_signup_url": "string", "expires_at": "2019-08-24T14:15:22Z", "customer_email": "user@example.com", "status": "UNCLAIMED", "products": [ { … } ] }
Request
The uri will be a presigned S3 URL allowing you to upload the referral doc securely. This URL can only be used for a PUT operation and expires 30 minutes after its creation. Once your upload is complete, we will use this to prefill the application.
Refer to these docs on how to upload to this presigned S3 URL. We highly recommend using one of AWS SDKs if they're available for your language to upload these files.
Type of document being submitted. Allowable types:
- ARTICLES_OF_INCORPORATION
- IRS_EIN_CONFIRMATION (IRS CP 575 or 147C form)
- IRS_EIN_APPLICATION (IRS SS4 form)
- CERTIFICATE_GOOD_STANDING
- Productionhttps://api.brex.com/v1/referrals/{id}/document_upload
- Staging (Note: This is not a sandbox. It will not work with customer tokens.)https://api-staging.brex.com/v1/referrals/{id}/document_upload
- curl
- JavaScript
- Node.js
- Python
- Ruby
- Java
curl -i -X POST \
'https://api.brex.com/v1/referrals/{id}/document_upload' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"type": "ARTICLES_OF_INCORPORATION"
}'{ "uri": "string", "id": "string" }