/unlink_business_member

Unlinks individuals as having roles for a registered business.

If an individual is erroneously linked to a business, this endpoint allows the individual to be unlinked. Note that the only controlling officer linked to a business cannot be unlinked; another individual must first be linked as a controlling officer.

Unlinking beneficial owners also sets an expiration on a business certification (30 days are allotted to re-certify).

  

Requests

header.user_handle should have either the registered individual entity to be unlinked or the administrator performing the unlinking. (If an administrator is performing this action, specify the registered individual to be unlinked in the member_handle key.)
header.business_handle should have the registered business entity to be unlinked.

Headers authsignature, usersignature, and businesssignature are required for this request. The usersignature header should be generated with a keypair registered to the individual user identified by the header.user_handle key (either registered from the /register endpoint or the /register_wallet endpoint). The businesssignature header should be generated with a keypair registered to the business user (either registered from the /register endpoint or the /register_wallet endpoint). See authentication section for more details on how to generate this signature.

Either key role or role_uuid may be specified in the request body to identify a role to be unassigned from a business member. The role_uuid comes from the response to /get_business_roles.

If you would prefer to have an applicant unlink business members, you can have an “administrator” member authenticate with the usersignature and assign other users to business roles using the optional member_handle key. Otherwise, the authenticated user is unassigned the specified business role if no member_handle is sent in the request.

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/unlink_business_member HTTP/1.1
Host: sandbox.silamoney.com
authsignature: [GENERATED AUTHSIGNATURE HEX STRING HERE]
usersignature: [GENERATED USERSIGNATURE HEX STRING HERE]
businesssignature: [GENERATED BUSINESSSIGNATURE HEX STRING HERE]
Content-Type: application/json

{
    "header": {
        "created": 1234567890,
        "app_handle": "your_app_handle",
        "user_handle": "your_individual_user_handle",
        "business_handle": "your_business_handle",
        "reference": "<your unique id>"
    },
    "role": "administrator"
}

***

HTTP/1.1 200 OK

{
    "success": true,
    "status": "SUCCESS",
    "response_time_ms": "171",
    "message": "User \"your_individual_user_handle\" has been unlinked as a Administrator for business Your Business Co.",
    "role": "administrator",
    "reference": "<your unique id>"
}
const res = await sila.unlinkBusinessMember(
  user_handle,
  user_private_key,
  business_handle,
  business_private_key,
  role
);

//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);
console.log(res.data.role);
payload = {
    "user_handle": "user_handle",
    "business_handle": "business_handle",
    "role": "administrator",
}
response = BusinessOperations.unlinkBusinessMember(app, payload, user_private_key, business_private_key)

# Success response

{
    "status_code": 200,
    "status": "SUCCESS",
    "success": true,
    "message": "User \"another_user_handle\" has been unlinked as a Controlling Officer for business Sila, Inc.",
    "role": "controlling_officer"
}
BusinessRole businessRole = ((GetBusinessRolesResponse)api.getBusinessRoles().getData()).get(0);
float ownershipStake = 0.30;
ApiResponse response = api.unlinkBusinessMember("user handle", "user private key",   "business handle", "business private key", businessRole);

// Success Object Response
  
System.out.println(response.getStatusCode()); // 200
System.out.println(((LinkBusinessOperationResponse) response.getData()).getMessage())// user has been unliked
System.out.println(((LinkBusinessOperationResponse) response.getData()).getRole());// business role
System.out.println(((LinkBusinessOperationResponse) response.getData()).isSuccess());// true
System.out.println(((LinkBusinessMemberResponse) response.getData()).getStatus());// SUCCESS
var responseRole = api.GetBusinessRoles();
Console.WriteLine(responseRole.StatusCode); // 200
var ResponseRole = (BusinessRolesResponse)responseRole.Data;
BusinessRole businessRole = new BusinessRole();
businessRole.Name = ResponseRole.BusinessRoles[0].Name;  // 0 index for "controlling_officer", 1 index for "beneficial_owner", 2 index for "administrator"
businessRole.Label = ResponseRole.BusinessRoles[0].Label; // 0 index for "Controlling Officer", 1 index for "Beneficial Owner", 2 index for "Administrator"
businessRole.Uuid = ResponseRole.BusinessRoles[0].Uuid; // 0 index for "9a350e54-0ce9-48fc-b437-9c7b7cfdd1ac", 1 index for "0adb5421-3395-4f81-9e26-dd8d5abae590", 2 index for "977bc3be-8f79-4e83-9df1-29525c06f23e"

ApiResponse<object> response = api.UnlinkBusinessMember(userHandle, userPrivateKey, businessHandle, businessPrivateKey, businessRole);

// Success object response

Console.WriteLine(response.StatusCode); // 200
var parsedData = (LinkOperationResponse)response.Data;
Console.WriteLine(parsedData.Message); // Response message
Console.WriteLine(parsedData.Status); // Response status
// For business roles see [Get Business Roles](#get-business-roles)

$businessHandle = 'business.silamoney.eth';
$businessPrivateKey = 'some private key';
$userHandle = 'user.silamoney.eth'; // The user handle to apply the role to
$userPrivateKey = 'some other private key';
$businessRole = 'administrator'; // Required if $businessRoleUuid is not set. The business role to set
$businessRoleUuid = null; // Required if $businessRole is not set. The business role uuid to set

$response = $client->unlinkBusinessMember($businessHandle, $businessPrivateKey, $userHandle, $userPrivateKey, $businessRole, $businessRoleUuid);

// Response 200

echo $response->getStatusCode(); // 200
echo $response->getData()->success;
echo $response->getData()->status;
echo $response->getData()->message; // User has been unlinked as a... for business...
echo $response->getData()->role; // The role name unliked
const res = await sila.unlinkBusinessMember(user_handle, user_private_key, business_handle, business_private_key, role);

// Success response object

console.log(res.statusCode); // 200
console.log(res.data.success); // TRUE
console.log(res.data.message); // Response message
  

Responses

Status Code

success Attribute

Description

200

true

The business and specified individual have been successfully unlinked.

400

false

Bad request format - check validation_details for more information.

403

false

authsignature, businesssignature, or usersignature header was absent or incorrect.


Did this page help you?