/delete/<registration-data>

Delete existing end user PII.

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

The following are valid /delete paths:

  • /delete/email: Delete an email address registered to your user entity.
  • /delete/phone: Delete a phone number registered to your user entity.
  • /delete/identity: Delete an identity (social security number or employer identification number) registered to your user entity.
    • Note: This cannot be done after an identity verification has passed or while verification is still pending.
  • /delete/address: Delete a street address registered to your user entity.

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.