curl --request POST \
--url https://sg.sandbox.api.reap.global/companies/{id}/applications/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Reap-Version: <reap-version>' \
--data '
{
"redirectUri": "<string>",
"method": "MANAGED_KYB"
}
'const options = {
method: 'POST',
headers: {
'Reap-Version': '<reap-version>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({redirectUri: '<string>', method: 'MANAGED_KYB'})
};
fetch('https://sg.sandbox.api.reap.global/companies/{id}/applications/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://sg.sandbox.api.reap.global/companies/{id}/applications/"
payload = {
"redirectUri": "<string>",
"method": "MANAGED_KYB"
}
headers = {
"Reap-Version": "<reap-version>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"companyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "INITIATED",
"sessionUrl": "<string>",
"expiresAt": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"nextAction": {
"type": "DOCUMENT_UPLOAD",
"documents": [
{
"documentType": "CERTIFICATE_OF_INCORPORATION",
"status": "REQUIRED"
}
]
}
}{
"error": {
"code": "CORPORATE_MODE_REQUIRED",
"message": "<string>",
"detail": {}
}
}{
"error": {
"code": "COMPANY_VERIFICATION_METHOD_NOT_ENABLED",
"message": "<string>",
"detail": {}
}
}{
"error": {
"code": "COMPANY_NOT_FOUND",
"message": "<string>",
"detail": {}
}
}{
"error": {
"code": "ACTIVE_COMPANY_APPLICATION_EXISTS",
"message": "<string>",
"detail": {}
}
}{
"error": {
"code": "COMPANY_APPLICATION_TEMPLATE_NOT_CONFIGURED",
"message": "<string>",
"detail": {}
}
}Advance company application
Advances the company application. For Managed KYB, send redirectUri (the default when method is omitted) to get a verification URL for the corporate client. Returns an error if an active Managed application already exists. For Universal KYB, send method: UNIVERSAL_KYB and the verified business pack. The first call creates the application; later calls amend it and return the same application until it is submitted. nextAction is null for Managed KYB.
curl --request POST \
--url https://sg.sandbox.api.reap.global/companies/{id}/applications/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Reap-Version: <reap-version>' \
--data '
{
"redirectUri": "<string>",
"method": "MANAGED_KYB"
}
'const options = {
method: 'POST',
headers: {
'Reap-Version': '<reap-version>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({redirectUri: '<string>', method: 'MANAGED_KYB'})
};
fetch('https://sg.sandbox.api.reap.global/companies/{id}/applications/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://sg.sandbox.api.reap.global/companies/{id}/applications/"
payload = {
"redirectUri": "<string>",
"method": "MANAGED_KYB"
}
headers = {
"Reap-Version": "<reap-version>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"companyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "INITIATED",
"sessionUrl": "<string>",
"expiresAt": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"nextAction": {
"type": "DOCUMENT_UPLOAD",
"documents": [
{
"documentType": "CERTIFICATE_OF_INCORPORATION",
"status": "REQUIRED"
}
]
}
}{
"error": {
"code": "CORPORATE_MODE_REQUIRED",
"message": "<string>",
"detail": {}
}
}{
"error": {
"code": "COMPANY_VERIFICATION_METHOD_NOT_ENABLED",
"message": "<string>",
"detail": {}
}
}{
"error": {
"code": "COMPANY_NOT_FOUND",
"message": "<string>",
"detail": {}
}
}{
"error": {
"code": "ACTIVE_COMPANY_APPLICATION_EXISTS",
"message": "<string>",
"detail": {}
}
}{
"error": {
"code": "COMPANY_APPLICATION_TEMPLATE_NOT_CONFIGURED",
"message": "<string>",
"detail": {}
}
}Authorizations
API key as Bearer token
Headers
API version (YYYY-MM-DD)
2025-02-14 "2025-02-14"
Path Parameters
Unique company identifier
Body
How to start or continue the company application. The accepted method depends on the project KYB verification method. Omit method or send MANAGED_KYB with redirectUri for the hosted flow.
Response
Company application created or amended
Company application and the next action required
Unique company application identifier
Company this application belongs to
Application lifecycle status
INITIATED, IN_PROGRESS, APPROVED, REJECTED, REVIEW_REQUIRED, WORKFLOW_ERROR, EXPIRED "INITIATED"
URL for the corporate client to complete verification
When the verification session URL expires (ISO 8601)
When the application was created (ISO 8601)
When the application was last updated (ISO 8601)
Action the client must take next, or null if none remains
- DocumentUpload
- Submit
Show child attributes
Show child attributes