/delete/<registration-data>

Delete existing end user PII.

👍

This doc has been updated with Priority specifications

Use this endpoint to delete existing PII from a registered entity.

The following are valid /delete paths:

  • /delete/email: Delete an existing email address.
    • Cannot be done while the verification status is pending.
  • /delete/phone: Delete an existing phone number.
    • Cannot be done while the verification status is pending.
  • /delete/identity: Delete an existing SSN or EIN.
    • For both individual and business entities: cannot be done after KYC has been passed or while the verification status is pending.
    • For business entities: cannot be done while the verification status is member_unverified, member_pending, member_review, or member_failed.
  • /delete/address: Delete a street address registered to your user entity.
    • For both individual and business entities: cannot be done after KYC has been passed or while the verification status is pending.
    • For business entities: cannot be done while the verification status is member_unverified, member_pending, member_review, or member_failed.
  • /delete/id_document: Delete existing id_document data.
    • For both individual and business entities: cannot be done after KYC has been passed or while the verification status is pending.
    • For business entities: cannot be done while the verification status is member_unverified, member_pending, member_review, or member_failed.

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.

/delete/email

Request

POST /0.2/delete/email HTTP/1.1
sandbox.silamoney.com
Content-Type: application/json
// 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_individual_end_user",
        "reference": "<your unique id>"
    },
    "uuid": "dcc7afe8-b8bd-4b59-acd0-59097427485b"
}

***

HTTP/1.1 200 OK

{
    "success": true,
    "message": "Successfully deleted email with UUID dcc7afe8-b8bd-4b59-acd0-59097427485b.",
    "status": "SUCCESS",
    "response_time_ms": "171",
    "reference": "<your unique id>",
    "sila_reference_id": "sila_assigned_id"
}
const res = await sila.deleteEmail(userHandle, userPrivatekey, uuid);

// Success Response Object

console.log(res.statusCode); // 200
console.log(res.data.success); // true
console.log(res.data.status); // SUCCESS
console.log(res.data.message); // Successfully deleted email
payload = {
    "user_handle": user_handle,
    "uuid": uuid
}

response = silasdk.User.deleteRegistrationData(
    app, RegistrationFields.EMAIL, payload, eth_private_key)
    
# Success response
{
    "status_code": 200,
    "success": true,
    "message": "Successfully deleted email with UUID dcc7afe8-b8bd-4b59-acd0-59097427485b.",
    "status": "SUCCESS"
}
DeleteRegistrationMessage message = DeleteRegistrationMessage.builder()
        .userHandle("user_handle")
        .userPrivateKey("user_private_key")
        .uuid("some-uuid-code")
        .build();
response = api.deleteRegistrationData(RegistrationDataEnum.EMAIL, message);

// Success response
System.out.println(response.getStatusCode()); // 200
BaseResponse parsedResponse = (BaseResponse) response.getData();
System.out.println(parsedResponse.getSuccess());// Random reference number
System.out.println(parsedResponse.getStatus()); // SUCCESS
System.out.println(parsedResponse.getMessage()); // Successfully deleted email
use Silamoney\Client\Domain\RegistrationDataType;

$userHandle = 'user_handle';
$privateKey = 'some private key';
$dataType = RegistrationDataType::EMAIL(); // Enum with the valid data types for the endpoint (address, email, identity and phone)
$uuid = 'some-uuid-code'; // You can obtain the id's through the getEntity method.
$response = $client->deleteRegistrationData($userHandle, $privateKey, $dataType, $uuid);

echo $response->getStatusCode(); // 200
echo $response->getData()->success; // TRUE
echo $response->getData()->status; // SUCCESS
echo $response->getData()->message; // Successfully deleted email with UUID some-uuid-code.
var response = api.DeleteRegistrationData(userHandle, privateKey, RegistrationData.Email, uuid);

// Success Object Response
Console.WriteLine(response.StatusCode); // 200
var parsedResponse = (BaseResponseWithoutReference)response.Data;
Console.WriteLine(parsedResponse.Success); // true
Console.WriteLine(parsedResponse.Status); // SUCCESS
Console.WriteLine(parsedResponse.Message); // Successfully deleted email with UUID some-uuid-code

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 - registered entity handle

Optional key:

reference - Can be any string value for your own reference. If not provided, one will be assigned.
uuidStringRequired.

UUID for email object. Can be obtained from /get_entity

Responses

Status CodeSuccess AttributeDescription
200trueEmail was successfully deleted (or UUID already did not exist).
400falseBad request format - check validation_details for more information.
403falseauthsignature or usersignature header was absent or incorrect.

/delete/phone

Request

POST /0.2/delete/phone HTTP/1.1
sandbox.silamoney.com
Content-Type: application/json
// 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_individual_end_user",
        "reference": "<your unique id>"
    },
    "uuid": "a180ad8d-02d4-4677-8b87-20a204f07c68"
}

***

HTTP/1.1 200 OK

{
    "success": true,
    "message": "Successfully deleted phone with UUID a180ad8d-02d4-4677-8b87-20a204f07c68.",
    "status": "SUCCESS",
    "customer_reference_id": "<your unique id>",
    "sila_reference_id": "sila_assigned_id"
}
const res = await sila.deletePhone(userHandle, userPrivatekey, uuid);

// Success Response Object

console.log(res.statusCode); // 200
console.log(res.data.success); // true
console.log(res.data.status); // SUCCESS
console.log(res.data.message); // Successfully deleted phone
payload = {
    "user_handle": user_handle,
    "uuid": uuid
}

response = silasdk.User.deleteRegistrationData(
    app, silasdk.RegistrationFields.PHONE, payload, eth_private_key)

# Success response 
{
    "status_code": 200,
    "success": true,
    "message": "Successfully deleted phone with UUID a180ad8d-02d4-4677-8b87-20a204f07c68.",
    "status": "SUCCESS"
}
DeleteRegistrationMessage message = DeleteRegistrationMessage.builder()
        .userHandle("user_handle")
        .userPrivateKey("user_private_key")
        .uuid("some-uuid-code")
        .build();
response = api.deleteRegistrationData(RegistrationDataEnum.PHONE, message);

// Success response
System.out.println(response.getStatusCode()); // 200
BaseResponse parsedResponse = (BaseResponse) response.getData();
System.out.println(parsedResponse.getSuccess());// Random reference number
System.out.println(parsedResponse.getStatus()); // SUCCESS
System.out.println(parsedResponse.getMessage()); // Successfully deleted phone
use Silamoney\Client\Domain\RegistrationDataType;

$userHandle = 'user_handle';
$privateKey = 'some private key';
$dataType = RegistrationDataType::PHONE(); // Enum with the valid data types for the endpoint (address, email, identity and phone)
$uuid = 'some-uuid-code'; // You can obtain the id's through the getEntity method.
$response = $client->deleteRegistrationData($userHandle, $privateKey, $dataType, $uuid);

echo $response->getStatusCode(); // 200
echo $response->getData()->success; // TRUE
echo $response->getData()->status; // SUCCESS
echo $response->getData()->message; // Successfully deleted phone with UUID some-uuid-code.
var response = api.DeleteRegistrationData(userHandle, privateKey, RegistrationData.Phone, uuid);

// Success Object Response
Console.WriteLine(response.StatusCode); // 200
var parsedResponse = (BaseResponseWithoutReference)response.Data;
Console.WriteLine(parsedResponse.Success); // true
Console.WriteLine(parsedResponse.Status); // SUCCESS
Console.WriteLine(parsedResponse.Message); // Successfully deleted phone with UUID some-uuid-code

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 - registered entity handle

Optional key:

reference - Can be any string value for your own reference. If not provided, one will be assigned.
uuidStringRequired.

UUID for phone object. Can be obtained from /get_entity

Responses

Status CodeSuccess AttributeDescription
200truePhone was successfully deleted (or UUID already did not exist).
400falseBad request format - check validation_details for more information.
403falseauthsignature or usersignature header was absent or incorrect.

/delete/identity

Request

NOTE: this operation cannot be performed on an entity that has passed or is currently pending identity verification.

POST /0.2/delete/identity HTTP/1.1
sandbox.silamoney.com
Content-Type: application/json
// 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_individual_end_user",
        "reference": "<your unique id>"
    },
    "uuid": "a180ad8d-02d4-4677-8b87-20a204f07c68"
}

***

HTTP/1.1 200 OK

{
    "success": true,
    "message": "Successfully deleted identity with UUID dcc7afe8-b8bd-4b59-acd0-59097427485b.",
    "status": "SUCCESS",
    "customer_reference_id": "<your unique id>",
    "sila_reference_id": "sila_assigned_id"
}
const res = await sila.deleteIdentity(userHandle, userPrivatekey, uuid);

// Success Response Object

console.log(res.statusCode); // 200
console.log(res.data.success); // true
console.log(res.data.status); // SUCCESS
console.log(res.data.message); // Successfully deleted identity
payload = {
    "user_handle": business_handle,
    "uuid": uuid
}

response = silasdk.User.deleteRegistrationData(app, silasdk.RegistrationFields.IDENTITY, payload, eth_private_key)

# Success response
{
    "status_code": 200,
    "success": true,
    "message": "Successfully deleted identity with UUID dcc7afe8-b8bd-4b59-acd0-59097427485b.",
    "status": "SUCCESS"
}
DeleteRegistrationMessage message = DeleteRegistrationMessage.builder()
        .userHandle("user_handle")
        .userPrivateKey("user_private_key")
        .uuid("some-uuid-code")
        .build();
response = api.deleteRegistrationData(RegistrationDataEnum.IDENTITY, message);

// Success response
System.out.println(response.getStatusCode()); // 200
BaseResponse parsedResponse = (BaseResponse) response.getData();
System.out.println(parsedResponse.getSuccess());// Random reference number
System.out.println(parsedResponse.getStatus()); // SUCCESS
System.out.println(parsedResponse.getMessage()); // Successfully deleted identity
use Silamoney\Client\Domain\RegistrationDataType;

$userHandle = 'user_handle';
$privateKey = 'some private key';
$dataType = RegistrationDataType::IDENTITY(); // Enum with the valid data types for the endpoint (address, email, identity and phone)
$uuid = 'some-uuid-code'; // You can obtain the id's through the getEntity method.
$response = $client->deleteRegistrationData($userHandle, $privateKey, $dataType, $uuid);

echo $response->getStatusCode(); // 200
echo $response->getData()->success; // TRUE
echo $response->getData()->status; // SUCCESS
echo $response->getData()->message; // Successfully deleted identity with UUID some-uuid-code.
var response = api.DeleteRegistrationData(userHandle, privateKey, RegistrationData.Identity, uuid);

// Success Object Response
Console.WriteLine(response.StatusCode); // 200
var parsedResponse = (BaseResponseWithoutReference)response.Data;
Console.WriteLine(parsedResponse.Success); // true
Console.WriteLine(parsedResponse.Status); // SUCCESS
Console.WriteLine(parsedResponse.Message); // Successfully deleted identity with UUID some-uuid-code

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 - registered entity handle

Optional key:

reference - Can be any string value for your own reference. If not provided, one will be assigned.
uuidStringRequired.

UUID for identity object. Can be obtained from /get_entity

Responses

Status CodeSuccess AttributeDescription
200trueIdentity was successfully deleted (or already did not exist).
400falseBad request format - check validation_details for more information.
403falseauthsignature or usersignature header was absent or incorrect.

/delete/address

Request

POST /0.2/delete/address HTTP/1.1
sandbox.silamoney.com
Content-Type: application/json
// 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_individual_end_user",
        "reference": "<your unique id>"
    },
    "uuid": "dcc7afe8-b8bd-4b59-acd0-59097427485b"
}

***

HTTP/1.1 200 OK

{
    "success": true,
    "message": "Successfully deleted address with UUID dcc7afe8-b8bd-4b59-acd0-59097427485b.",
    "status": "SUCCESS",
    "customer_reference_id": "<your unique id>",
    "sila_reference_id": "sila_assigned_id"
}
const res = await sila.deleteAddress(userHandle, userPrivatekey, uuid);

// Success Response Object

console.log(res.statusCode); // 200
console.log(res.data.success); // true
console.log(res.data.status); // SUCCESS
console.log(res.data.message); // Successfully deleted address
payload = {
    "user_handle": user_handle,
    "uuid": uuid
}

response = silasdk.User.deleteRegistrationData(
    app, silasdk.RegistrationFields.ADDRESS, payload, eth_private_key)

# Success response
{
    "status_code": 200,
    "success": true,
    "message": "Successfully deleted address with UUID dcc7afe8-b8bd-4b59-acd0-59097427485b.",
    "status": "SUCCESS"
}
DeleteRegistrationMessage message = DeleteRegistrationMessage.builder()
        .userHandle("user_handle")
        .userPrivateKey("user_private_key")
        .uuid("some-uuid-code")
        .build();
response = api.deleteRegistrationData(RegistrationDataEnum.ADDRESS, message);

// Success response
System.out.println(response.getStatusCode()); // 200
BaseResponse parsedResponse = (BaseResponse) response.getData();
System.out.println(parsedResponse.getSuccess());// Random reference number
System.out.println(parsedResponse.getStatus()); // SUCCESS
System.out.println(parsedResponse.getMessage()); // Successfully deleted address
use Silamoney\Client\Domain\RegistrationDataType;

$userHandle = 'user_handle';
$privateKey = 'some private key';
$dataType = RegistrationDataType::ADDRESS(); // Enum with the valid data types for the endpoint (address, email, identity and phone)
$uuid = 'some-uuid-code'; // You can obtain the id's through the getEntity method.
$response = $client->deleteRegistrationData($userHandle, $privateKey, $dataType, $uuid);

echo $response->getStatusCode(); // 200
echo $response->getData()->success; // TRUE
echo $response->getData()->status; // SUCCESS
echo $response->getData()->message; // Successfully deleted address with UUID some-uuid-code.
var response = api.DeleteRegistrationData(userHandle, privateKey, RegistrationData.Address, uuid);

// Success Object Response
Console.WriteLine(response.StatusCode); // 200
var parsedResponse = (BaseResponseWithoutReference)response.Data;
Console.WriteLine(parsedResponse.Success); // true
Console.WriteLine(parsedResponse.Status); // SUCCESS
Console.WriteLine(parsedResponse.Message); // Successfully deleted address with UUID some-uuid-code

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 - registered entity handle

Optional key:

reference - Can be any string value for your own reference. If not provided, one will be assigned.
uuidStringRequired.

UUID for address object. Can be obtained from /get_entity

Responses

Status CodeSuccess AttributeDescription
200trueAddress was successfully deleted.
400falseBad request format - check validation_details for more information.
403falseauthsignature or usersignature header was absent or incorrect.

/delete/id_document

Request

POST /0.2/delete/id_document HTTP/1.1
sandbox.silamoney.com
Content-Type: application/json
// 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": "app_handle",
      "user_handle": "user_handle",
      "reference": "<your_unique_uuid>"
  },
    "uuid": "<id_document_uuid>"
}

***

HTTP/1.1 200 OK

{
  "success": true,
  "message": "Successfully deleted id_document with UUID <id_document_uuid>.",
  "status": "SUCCESS",
  "customer_reference_id": "<your_unique_id>",
  "sila_reference_id": "sila_assigned_id"
}

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 - registered entity handle

Optional key:

reference - Can be any string value for your own reference. If not provided, one will be assigned.
uuidStringRequired.

UUID for id_document object. Can be obtained from /get_entity