/delete/<registration-data>

Delete an existing email, phone number, street address, or identity.

After registering a user, sometimes the user will have mistyped information and will then fail verification. Removing incorrect registered verification data is now possible with the /delete endpoint.

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.

/delete/email

Requests

header.user_handle should have the registered handle to be verified.
uuid is a required field. The UUID can be obtained from the response to a request to the /get_entity endpoint.

Authorization / Authentication

header.user_handle should have the registered handle to be verified.

Apps using Access Token Authorization

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

See Authenticating with an Access Token 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 the section on ECDSA Authentication for more detail about ECDSA signature generation.

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/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>"
}
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.silamoney.eth';
$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

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

Requests

header.user_handle should have the registered handle to be verified.
uuid is a required field. The UUID can be obtained from the response to a request to the /get_entity endpoint.

Authorization / Authentication

header.user_handle should have the registered handle to be verified.

Apps using Access Token Authorization

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

See Authenticating with an Access Token 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 the section on ECDSA Authentication for more detail about ECDSA signature generation.

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/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",
    "reference": "<your unique 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.silamoney.eth';
$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

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

Requests

header.user_handle should have the registered handle to be verified.
uuid is a required field. The UUID can be obtained from the response to a request to the /get_entity endpoint.

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

Authorization / Authentication

header.user_handle should have the registered handle to be verified.

Apps using Access Token Authorization

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

See Authenticating with an Access Token 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 the section on ECDSA Authentication for more detail about ECDSA signature generation.

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/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",
    "reference": "<your unique 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.silamoney.eth';
$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

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

Requests

header.user_handle should have the registered handle to be verified.
uuid is a required field. The UUID can be obtained from the response to a request to the /get_entity endpoint.

Authorization / Authentication

header.user_handle should have the registered handle to be verified.

Apps using Access Token Authorization

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

See Authenticating with an Access Token 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 the section on ECDSA Authentication for more detail about ECDSA signature generation.

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/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",
    "session_identifier": "Sardine session key", //required for Stearns
}

***

HTTP/1.1 200 OK

{
    "success": true,
    "message": "Successfully deleted address with UUID dcc7afe8-b8bd-4b59-acd0-59097427485b.",
    "status": "SUCCESS",
    "reference": "<your unique 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.silamoney.eth';
$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

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.