# Verify a 'Business' entity sub account Once you have created all Persons and satisfied all the verification requirements for them and the Business, you submit these details for verification. This endpoint cannot be accessed for Individual sub accounts as this process is done automatically after satisfying the verification requirements. Endpoint: POST /accounts/{id}/verify Version: 1.1.0 Security: secretApiKeyAuth ## Path parameters: - `id` (string, required) the account id of one of your sub accounts Example: "ac_b83f2653-06d7-44a9-a548-5825e8186004" ## Response 200 fields (application/json): - `id` (string) The ID of the account Example: "ac_b83f2653-06d7-44a9-a548-5825e8186004" - `type` (string) The type of account Enum: "Standard", "Sub" - `frozen` (boolean) A flag to determine whether or not the account is frozen. We may temporarily mark an account as frozen if we detect any potential fraudulent activity. Payments can still be taken however payouts will be disabled, contact us to resolve the issue. - `email` (string,null) The account's email address Example: "test@ryftpay.com" - `onboardingFlow` (any) The flow used to onboard the account. - `entityType` (any) The type of entity that this account is - either a registered business or an individual person (sole trader). - `business` (object,null) The details of the business - `individual` (object,null) The details of the individual - `verification` (object) - `verification.status` (any) For Individual entities, this is the verification status of the individual For Business entities, this is only the verification status of the business, it will not take persons into consideration. - `verification.requiredFields` (array,null) A list of fields that must be provided for verification. For Business entities this will detail the fields required for the business only, it will not list requirements for persons. - `verification.requiredFields.name` (string) The name of the field Example: "business.registrationDate" - `verification.requiredDocuments` (array,null) A list of documents that must be provided for verification. For Business entities this will detail the documents required for the business only, it will not list requirements for persons. - `verification.requiredDocuments.category` (string) The category of document, these are only applicable for certain entities: - Authorization is only applicable for Persons - ProofOfAddress is only applicable for Individuals or Persons - ProofOfBusiness is only applicable for Businesses - ProofOfIdentity is only applicable for Individuals or Persons Enum: "Authorization", "ProofOfAddress", "ProofOfBusiness", "ProofOfIdentity" - `verification.requiredDocuments.types` (array) The types of document available to upload in this category. The types will be as follows for each category: - Authorization: - LetterOfAuthorization - ProofOfAddress: - BankStatement - CreditCardStatement - OfficialGovernmentLetter - PropertyTaxAssessment - TaxReturn - UtilityBill - ProofOfBusiness: - BusinessRegistration - ProofOfIdentity: - DriversLicense - NationalId - Passport Enum: "BankStatement", "BusinessRegistration", "CreditCardStatement", "DriversLicense", "LetterOfAuthorization", "NationalId", "OfficialGovernmentLetter", "Passport", "PropertyTaxAssessment", "TaxReturn", "UtilityBill" - `verification.requiredDocuments.quantity` (integer) The minimum number of documents required of this category Example: 1 - `verification.errors` (array,null) Details the errors returned if verification was unsuccessful. This could contain documents and/or fields. - `verification.errors.code` (string) Enum: "InvalidDocument", "InvalidField" - `verification.errors.id` (string) For InvalidDocument this will be the file id of the document that is invalid For InvalidField this will be the name of the field that is invalid Example: "fl_01FCTS1XMKH9FF43CAFA4CXT3P" - `verification.errors.description` (string) A description of why this document/field was invalid Example: "File corrupted or unclear" - `verification.persons` (object,null) Details of the overall requirements for persons in the business. Only present if entityType is Business - `verification.persons.status` (any) This is the overall verification status of all persons in the business. - `verification.persons.required` (array) The minimum required persons that must be created for verification. Use the Persons API to create the person and provide the relevant details so we can verify them. - `verification.persons.required.role` (string) The role that a person has in the business: BusinessContact: An individual designated as the main contact for the business. When verifying, a letter of authorization may be required if this person is not also a director. Director: An individual who is listed as one of the company's directors. UltimateBeneficialOwner: An individual who owns at least 25% of the shares, voting rights or other interests. Enum: "BusinessContact", "Director", "UltimateBeneficialOwner" - `verification.persons.required.quantity` (integer) The minimum number of persons of this role that are required to be created Example: 1 - `metadata` (object,null) use this parameter to attach key-value data to the account. These will be sent with any associated account events on your webhooks. You can have a maximum of 5 pieces of metadata. Example: {"accountId":"1"} - `settings` (object) Settings for the account - `capabilities` (object) - `capabilities.visaPayments` (any) - `capabilities.mastercardPayments` (any) - `capabilities.amexPayments` (any) - `capabilities.inPersonPayments` (any) - `termsOfService` (object,null) - `termsOfService.acceptance` (object) - `termsOfService.acceptance.ipAddress` (string) The IP address of the user who accepted the terms & conditions Example: "127.0.0.1" - `termsOfService.acceptance.userAgent` (string,null) The User Agent of the user's browser who has accepted the terms & conditions Example: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36" - `termsOfService.acceptance.when` (number) The time (in epoch seconds) when the terms & conditions were accepted. Example: 1697557453 - `createdTimestamp` (integer) The epoch timestamp (seconds) when the account was created Example: 1470989538 - `status` (any) DEPRECATED - check the verification.status on this response - `actionsRequired` (array,null) A list of actions required by the user when the status is 'ActionRequired', each accompanied by a description. DEPRECATED - if you wish to determine if actions are required before payouts can be sent out, check: - if frozen is true on this response - if verification.status is Required on this response - if status is Invalid on any payout methods under /v1/accounts/{id}/payout-methods - `actionsRequired.action` (string) The possible actions required to take if an account is in the 'ActionRequired' status Enum: "PayoutDetailsRequired", "PayoutMethodRequired", "PayoutMethodInvalid", "VerificationRequired", "AccountLocked" - `actionsRequired.description` (string) The description of the action that is required by the user Example: "Complete sign up at the dashboard" ## Response 400 fields (application/json): - `requestId` (string) Example: "b83f2653-06d7-44a9-a548-5825e8186004" - `code` (string) Example: "400" - `errors` (array) - `errors.message` (string) Example: "Required property 'amount' not found in JSON" ## Response 404 fields (application/json): - `requestId` (string) Example: "b83f2653-06d7-44a9-a548-5825e8186004" - `code` (string) Example: "400" - `errors` (array) - `errors.message` (string) Example: "Required property 'amount' not found in JSON" ## Response 500 fields (application/json): - `requestId` (string) Example: "b83f2653-06d7-44a9-a548-5825e8186004" - `code` (string) Example: "400" - `errors` (array) - `errors.message` (string) Example: "Required property 'amount' not found in JSON"