Submit Application via Payload

Submits a KYB application using complete structured parameters. This endpoint supports complex nested objects and strict data models, making it suitable for service-to-service calls or scenarios requiring full business models.

Request

https://openapi.advance.ai/v1/business/applications/structured
POST (application/json)

Request Header Parameters

Parameter

Description

Authorization

string Please use Token Authentication API to get your access token.
Format: Bearer {token}

Request Parameters

ParameterRequiredDescription
externalCompanyIdFalsestring The company ID defined by the user, used to link the company information in the user system.
kybLevelTruestring Indicating the specific KYB level that this request goes through. If empty, it goes by the default kybLevel (settings).
applicantEmailFalsestring Email of the applicant who submitted the application. Must be a valid email format.
qnreIdentifierVersionFalsestring The questionnaire identifier and version.
companyInfoTrueobject Company information provided by the applicant. See CompanyInfo object below.
declaredCompaniesFalsearray Company structure information provided by the applicant. List of declared company entities.
declaredIndividualsFalsearray Individual structure information provided by the applicant. List of declared individual entities.

CompanyInfo Object

FieldRequiredDescription
companyNameTruestring Name of the company.
registrationNumberTruestring Registration number of the company.
registeredCountryTrueString Country where the company is registered. ISO 3166-1 alpha-3 code (e.g., "SGP", "USA").
registeredStateFalsestring State where the company is registered (for US companies).
legalAddressFalseobject Address where the company is registered. See AddressInfo object.
registrationDateFalsestring Date when the company was registered (yyyy-MM-dd format).
legalTypeFalseenum Type of legal person for the company. See CompanyLegalTypeEnum.
emailFalsestring Email of the company.
phoneNumberFalseobject Contact phone number of the company. See PhoneNumber object.
taxIdFalsestring Taxpayer registration number/code.
leiCodeFalsestring Legal Entity Identifier code from the financial entities registry.
websiteUrlFalsestring Website of the company.
merchantCategoryCodeFalsestring Merchant Category Code (MCC) for card network checks.
dbaNameFalsestring Doing Business As name.
customFieldsFalsearray Custom fields provided by the applicant.
documentIdsFalsearray Company document IDs provided by the applicant.
modeFalse[enum]() Invocation Business Verification Mode (LIVE, CACHE, HYBRID).

AddressInfo Object

FieldRequiredDescription
streetFalsestring Street address.
cityFalsestring City name.
stateFalsestring State or province.
postalCodeFalsestring Postal or ZIP code.
countryFalsestring Country code.

PhoneNumber Object

FieldRequiredDescription
countryCodeFalsestring Country calling code (e.g., "+65").
numberFalsestring Phone number.

DeclaredCompanyInfo Object

FieldRequiredDescription
referencedExternalIdFalsestring Referenced external ID.
referencedProfileIdFalsestring Referenced profile ID.
shareRatioFalsenumber Share ratio of the company (0-1). Each company ownership share cannot exceed 100%.
roleTypeTrueenum Shareholder type. See CompanyRoleTypeEnum.
companyInfoTrueobject Company information. See CompanyInfo object.

DeclaredIndividualInfo Object

FieldRequiredDescription
referencedExternalIdFalsestring Referenced external ID.
referencedProfileIdFalsestring Referenced profile ID.
shareRatioFalsenumber Share ratio (0-1).
roleTypeTrueenum Role type. See CompanyRoleTypeEnum.
individualInfoTrueobject Individual information. See CompanyRelatedIndividual object.

CompanyRelatedIndividual Object

FieldRequiredDescription
firstNameTruestring First name of the individual.
middleNameFalsestring Middle name of the individual.
lastNameTruestring Last name of the individual.
legalNameFalsestring Legal name of the individual.
aliasNameFalsestring Alias name of the individual.
genderFalseenum Gender of the individual (MALE, FEMALE, OTHER).
dobFalsestring Date of birth (yyyy-MM-dd format).
placeOfBirthFalseobject Place of birth. See AddressInfo object.
countryOfResidenceFalsestring Country of residence.
placeOfResidenceFalseobject Place of residence. See AddressInfo object.
nationalityFalsestring Nationality of the individual.
tinFalsestring Tax identification number.
taxResidenceCountryFalsestring Country of tax residence.
emailFalsestring Email of the individual.
phoneNumberFalseobject Phone number. See PhoneNumber object.
nationalIdFalsestring National ID number.
customFieldsFalsearray Custom fields.
documentIdsFalsearray Document IDs.

Enumerations

CompanyRoleTypeEnum

ValueDescription
UBOUltimate Beneficial Owner
SHAREHOLDERShareholder
REPRESENTATIVERepresentative
DIRECTORDirector
AUTHORIZED_PERSONAuthorized Person
OTHEROther
ACCOUNTANTAccountant
COMMISSIONERCommissioner
AUDITORAuditor
SECRETARYSecretary

CompanyLegalTypeEnum

ValueDescription
PRIVATE_LIMITED_LIABILITY_COMPANYPrivate Limited Liability Company
PUBLIC_LIMITED_LIABILITY_COMPANYPublic Limited Liability Company
LIMITED_LIABILITY_COMPANYLimited Liability Company
FOUNDATIONFoundation
ASSOCIATIONAssociation
COOPERATIVECooperative
LIMITED_PARTNERSHIPLimited Partnership
SOLE_PROPRIETORSHIPSole Proprietorship
FEDERATION_OF_FIRMSFederation of Firms
CIVIL_PARTNERSHIPCivil Partnership
GENERAL_PARTNERSHIPGeneral Partnership
PUBLIC_UTILITY_COMPANYPublic Utility Company
STATE_OWNED_COMPANYState-owned Company
COMPANY_LIMITED_BY_GUARANTEECompany Limited by Guarantee
SOCIETYSociety
NON_PROFIT_ORGANIZATIONNon-Profit Organization
BRANCH_OFFICEBranch Office
LIMITED_LIABILITY_PARTNERSHIPLimited Liability Partnership
TRUSTTrust
GOVERNMENT_ENTITYGovernment Entity
OTHERSOthers

InvocationModeEnum

ValueDescription
LIVERetrieves the latest records directly from primary official sources.
CACHELeverages global databases for maximized search depth and global reach.
HYBRIDCombines LIVE and CACHE modes for optimal results.

Request Examples

curl -X POST "https://openapi.advance.ai/v1/business/applications/structured" \
-H "Authorization: Bearer {Your Access Token}" \
-H "Content-Type: application/json" \
-d '{
  "externalCompanyId": "EXT-12345",
  "kybLevel": "STANDARD",
  "applicantEmail": "[email protected]",
  "companyInfo": {
    "companyName": "Example Corp Ltd",
    "registrationNumber": "123456789",
    "registeredCountry": "SGP",
    "registrationDate": "2020-01-15",
    "legalType": "PRIVATE_LIMITED_LIABILITY_COMPANY",
    "legalAddress": {
      "street": "123 Business Street",
      "city": "Singapore",
      "postalCode": "123456",
      "country": "SGP"
    },
    "email": "[email protected]",
    "phoneNumber": {
      "countryCode": "+65",
      "number": "12345678"
    },
    "websiteUrl": "https://example.com",
    "mode": "LIVE"
  },
  "declaredIndividuals": [
    {
      "roleType": "SHAREHOLDER",
      "shareRatio": 0.255,
      "individualInfo": {
        "firstName": "John",
        "lastName": "Smith",
        "gender": "MALE",
        "dob": "1985-03-20",
        "nationality": "SGP",
        "email": "[email protected]"
      }
    }
  ]
}'

Success Response

Response Description

FieldDescription
applicationIdstring The unique identifier of the created KYB application.
statusenum The current status of the application.
subjectCompanyobject The subject company information.
declaredCompaniesarray List of declared company entities.
declaredIndividualsarray List of declared individual entities.

Response.status

ValueDescription
PENDING_REVIEWApplication requires manual review.
PENDING_RESUBMISSIONApplication requires resubmission with corrections.
APPROVEDApplication has been approved.
REJECTEDApplication has been rejected.

Response Examples

{
  "applicationId": "APP-2026052200001",
  "status": "PENDING_REVIEW",
  "subjectCompany": {
    "companyId": "COM-2026052200001",
    "externalId": "EXT-12345",
    "companyName": "Example Corp Ltd",
    "registrationNumber": "123456789",
    "registeredCountry": "SGP",
    "registrationDate": "2020-01-15",
    "legalType": "PRIVATE_LIMITED_LIABILITY_COMPANY",
    "legalAddress": "123 Business Street, Singapore 123456",
    "email": "[email protected]",
    "phone": "+65 12345678",
    "taxId": null,
    "leiCode": null,
    "websiteUrl": "https://example.com",
    "confirmed": false,
    "customFields": [],
    "attachedDocs": [],
    "createdAt": "2026-05-22T10:30:00Z",
    "updatedAt": "2026-05-22T10:30:00Z"
  },
  "declaredCompanies": [],
  "declaredIndividuals": [
    {
      "individualId": "IND-2026052200001",
      "externalId": null,
      "firstName": "John",
      "middleName": null,
      "lastName": "Smith",
      "legalName": "John Smith",
      "aliasName": null,
      "roleType": "SHAREHOLDER",
      "individualType": "SHAREHOLDER",
      "shareRatio": 25.5,
      "companyId": "COM-2026052200001",
      "gender": "MALE",
      "dob": "1985-03-20",
      "placeOfBirth": null,
      "countryOfResidence": null,
      "nationality": "SGP",
      "tin": null,
      "taxResidenceCountry": null,
      "email": "[email protected]",
      "confirmed": false,
      "customFields": [],
      "attachedDocs": [],
      "createdAt": "2026-05-22T10:30:00Z",
      "updatedAt": "2026-05-22T10:30:00Z"
    }
  ]
}

Error Response

Response Description

ParameterDescription
errorobject The error details.

ResponseError.error

FieldDescription
typestring Error code or type.
messagestring Human-readable error message.

ResponseError.error.type

ValueDescriptionHTTP Status Code
parameter_errorParameter validation failed (e.g., missing or invalid parameter).400 Bad Request
iam_failedAuthentication or authorization failed.401 Unauthorized
errorInternal server error or unknown error.500 Internal Server Error
not_foundRequested resource not found.404 Not Found
service_busyThe service is busy or rate limited.429 Too Many Requests

Response Examples

{
  "error": {
    "type": "parameter_error",
    "message": "companyInfo cannot be null"
  }
}