/certify_business - DEPRECATED

Certifies that all major beneficial owners (25% stake and higher) have been registered, linked, and individually certified for this business.

❗️

This endpoint will be deprecated as part of the simplification of our KYB workflow. Date TBD.

If you are a new customer starting to build your integration, please keep in mind this step is currently necessary, but you may need to remove from your workflow in the long-term.

If you already have this built into your workflow, please prepare to remove them from your workflow. Once deprecated, the certification step will simply no longer be necessary after KYB has been passed in order to transact.

Most business types require certification after verification to transact, meaning that a business administrator must ascertain and certify that all beneficial owners (there could be 0) have accurate personal information and ownership stakes registered.

To certify a business at this endpoint, the business and all members must have passed verification first, and all beneficial owners must be certified.

Request

Authorization / Authentication

Apps using Access Token Authorization

Use a valid access token in a Authorization: Bearer request header.

See Auth Token Overview for more details.

Apps using ECDSA Authentication

Both authsignature and usersignature headers are required for this request. The usersignature header should be generated with a keypair registered to the user (either registered from the /register endpoint or the /register_wallet endpoint).

See our ECDSA overview for more.

Note - We recently renamed the field auth_handle to app_handle. For backward compatibility, auth_handle is still valid but has been removed from our documentation.

POST /0.2/certify_business HTTP/1.1
sandbox.silamoney.com
Content-Type: application/json
businesssignature: [GENERATED BUSINESSSIGNATURE HEX STRING HERE]
// if using OAuth2
Authorization: Bearer [GENERATED JWT TOKEN HERE]
// if using ECDSA
authsignature: [GENERATED AUTHSIGNATURE HEX STRING HERE]
usersignature: [GENERATED USERSIGNATURE HEX STRING HERE]

{
    "header": {
        "created": 1234567890,
        "app_handle": "your_app_handle",
        "user_handle": "your_admin_user",
        "business_handle": "your_business_user",
        "reference": "<your unique id>",
      	"version": "0.2"
    }
}

***

HTTP/1.1 200 OK

{
    "success": true,
    "status": "SUCCESS",
    "message": "Business successfully certified.",
    "response_time_ms": "171",
    "reference": "<your unique id>",
    "sila_reference_id": "sila_assigned_id"
}
const res = await sila.certifyBusiness(
  user_handle,
  user_private_key,
  business_handle,
  business_private_key
);

// Success response object

console.log(res.statusCode); // 200
console.log(res.data.success); // TRUE
console.log(res.data.message); // Response message
console.log(res.data.status);
payload = {
    "user_handle": user_handle,
    "business_handle": business_handle
}

response = BusinessOperations.certifyBusiness(app, payload, user_private_key, business_private_key)

# Success Response

{
    "status": 'SUCCESS',
    "status_code": 200,
    "success": true,
    "message": "Business successfully certified."
}
ApiResponse response = api.certifyBusiness("user handle", "user private key", "business handle", "business private key");

// Success Object Response
  
System.out.println(response.getStatusCode()); // 200
System.out.println(((BaseResponse) response.getData()).getMessage()); // Business successfully certified
System.out.println(((BaseResponse) response.getData()).getSuccess()); // true
System.out.println(((BaseResponse) response.getData()).getStatus()); // SUCCESS
$businessHandle = 'business_handle';
$businessPrivateKey = 'some private key';
$userHandle = 'user_handle'; // Must be a registered administrator in the business
$userPrivateKey = 'some other private key';

$response = $client->certifyBusiness($businessHandle, $businessPrivateKey, $userHandle, $userPrivateKey);

// Response 200 

echo $response->getStatusCode(); // 200
echo $response->getData()->status;
echo $response->getData()->success; // TRUE
echo $response->getData()->message; // Business successfully certified
Console.WriteLine(response.Success);
Console.WriteLine(response.Status);
ApiResponse<object> response = api.CertifyBusiness(userHandle, privateKey, businessHandle, businessPrivateKey);

// Success object response

Console.WriteLine(response.StatusCode); // 200
var parsedData = (BaseResponse)response.Data;
Console.WriteLine(response.Message); // Business successfully certified

Request Attributes

KeyTypeDescription
headerJSON objectRequired.

Required keys:

created - Unix epoch timestamp in seconds. Must not be future-dated and must not be dated more than 5 minutes in the past.
app_handle - your app handle
user_handle - the business's administrator user_handle, doing the certifying
business_handle - the user_handle for the business entity

Optional keys:

reference: Can be any value for your own reference. If not provided, one will be assigned.
version: Cannot be null if key is present. Valid values: 0.2, v0.2, V0.2

Responses

Status Codesuccess AttributeDescription
200trueThe business has been successfully certified.
400falseBad request format - check validation_details for more information.
403falseauthsignature, businesssignature, or usersignature header was absent or incorrect or the certification token was invalid.

Did this page help you?