/update/<registration-data>

Update an existing email, phone number, street address, identity, or entity (name, birthdate, or business data).

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

The following are valid /update paths:

  • /update/email: Update an email address registered to your user entity.
  • /update/phone: Update a phone number registered to your user entity.
  • /update/identity: Update 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.
  • /update/address: Update a street address registered to your user entity.
  • /update/entity: Update an entity's name (first/last/full), birthdate/incorporation date, or business-related data (doing-business-as, website, business type, NAICS code, state of incorporation). Note: This cannot be done after an identity verification has passed or while verification is still pending.

All of these endpoints except for /update/entity require a uuid key. This can be found in the response to the /get_entity endpoint; simply find the address, email, identity, or phone in the list that needs updating and pass the same "uuid" to this endpoint along with the new values to update it.

/update/email

Requests

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

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 authentication section for more details on how to generate this signature.

You must pass in both uuid and email keys. The UUID can be obtained from the response to a request to the /get_entity endpoint.

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/update/email HTTP/1.1 Host: sandbox.silamoney.com authsignature: [GENERATED AUTHSIGNATURE HEX STRING HERE] usersignature: [GENERATED USERSIGNATURE HEX STRING HERE] Content-Type: application/json { "header": { "created": 1234567890, "app_handle": "your_app_handle", "user_handle": "your_individual_end_user", "reference": "<your unique id>" }, "uuid": "7f83044b-63c8-4d56-b107-d52fa7ae2d7a", "email": "new.email@yournewemail.com" } *** HTTP/1.1 200 OK { "success": true, "message": "Successfully updated email with UUID 7f83044b-63c8-4d56-b107-d52fa7ae2d7a.", "email": { "added_epoch": 1599090039, "modified_epoch": 1599092327, "uuid": "7f83044b-63c8-4d56-b107-d52fa7ae2d7a", "email": "new.email@yournewemail.com" }, "status": "SUCCESS", "response_time_ms": "123", "reference": "<your unique id>" }
const email = { uuid: 'some-uuid-code', email: 'new.email@yournewemail.com', }; const res = await sila.updateEmail(userHandle, userPrivateKey, email); // 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 updated email console.log(res.data.email.added_epoch); console.log(res.data.email.modified_epoch); console.log(res.data.email.uuid); console.log(res.data.email.email);
payload = { "user_handle": user_handle, "email": email, "uuid": uuid } response = silasdk.User.updateRegistrationData(app, RegistrationFields.EMAIL, payload, eth_private_key) # Email { "status_code": 200, "success": true, "message": "Successfully Updated email to user your_individual_end_user.", "email": { "added_epoch": 1599006972, "modified_epoch": 1599006972, "uuid": "30c41951-1f2b-445b-8604-fa748316881d", "email": "new.email@yournewemail.com" }, "status": "SUCCESS" }
UserHandleMessage user = UserHandleMessage.builder() .userHandle("user_handle") .userPrivateKey("user_private_key") .build(); EmailMessage message = EmailMessage.builder() .uuid("some-uuid-code") .email("some_new_email@domain.sila") .build(); ApiResponse response = api.updateEmail(user, message); // Success response System.out.println(response.getStatusCode()); // 200 Response parsedResponse = (Response) response.getData(); System.out.println(parsedResponse.getSuccess()); // true System.out.println(parsedResponse.getStatus()); // SUCCESS System.out.println(parsedResponse.getMessage()); // Successfully updated [data] System.out.println(parsedResponse.getEmail().getAddedEpoch()); System.out.println(parsedResponse.getEmail().getModifiedEpoch()); System.out.println(parsedResponse.getEmail().getUuid()); System.out.println(parsedResponse.getEmail().getEmail());
// Email $userHandle = 'user.silamoney.eth'; $privateKey = 'some private key'; $email = 'your.updated.email@domain.com'; $uuid = 'some-uuid-code'; $response = $client->updateEmail($userHandle, $privateKey, $uuid, $email); echo $response->getStatusCode(); // 200 echo $response->getData()->success; // TRUE echo $response->getData()->status; // SUCCESS echo $response->getData()->message; // Successfully updated [data] with UUID some-uuid-code. echo $response->getData()->email->added_epoch; echo $response->getData()->email->modified_epoch; echo $response->getData()->email->uuid; // some-uuid-code echo $response->getData()->email->email; // your.updated.email@domain.
var response = api.UpdateEmail(userHandle, privateKey, uuid, email); // Success Object Response Console.WriteLine(response.StatusCode); // 200 var parsedResponse = (EmailResponse)response.Data; Console.WriteLine(parsedResponse.Success); // true Console.WriteLine(parsedResponse.Status); // SUCCESS Console.WriteLine(parsedResponse.Message); // Successfully updated email Console.WriteLine(parsedResponse.Email.AddedEpoch); Console.WriteLine(parsedResponse.Email.ModifiedEpoch); Console.WriteLine(parsedResponse.Email.Uuid); Console.WriteLine(parsedResponse.Email.Email);

Responses

Status Codesuccess AttributeDescription
200trueEmail was successfully updated.
400falseBad request format - check validation_details for more information.
404falseUUID is not assigned to an email registered to the current user.
403falseauthsignature or usersignature header was absent or incorrect.

/update/phone

Requests

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

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 authentication section for more details on how to generate this signature.

You must pass in both uuid, phone, and sms_opt_in keys. The UUID can be obtained from the response to a request to the /get_entity endpoint.

sms_opt_in is an optional boolean field. If true, and if app is configured to send SMS messages, sends a confirmation SMS to the passed-in phone number.

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/update/phone HTTP/1.1 Host: sandbox.silamoney.com authsignature: [GENERATED AUTHSIGNATURE HEX STRING HERE] usersignature: [GENERATED USERSIGNATURE HEX STRING HERE] Content-Type: application/json { "header": { "created": 1234567890, "auth_handle": "your_app_handle", "user_handle": "your_individual_end_user", "reference": "<your unique id>" }, "uuid": "51fb4167-83d4-467b-8f08-eb03dbd6facf", "phone": "9871237654", "sms_opt_in": true } *** HTTP/1.1 200 OK { "success": true, "message": "Successfully updated phone with UUID 51fb4167-83d4-467b-8f08-eb03dbd6facf.", "phone": { "added_epoch": 1599090039, "modified_epoch": 1599092327, "uuid": "51fb4167-83d4-467b-8f08-eb03dbd6facf", "phone": "9871237654", "sms_confirmation_requested": false, "sms_confirmed": false, "primary": false }, "status": "SUCCESS", "reference": "<your unique id>" }
const phone = { phone: '9871237654', uuid: '51fb4167-83d4-467b-8f08-eb03dbd6facf', smsOptIn: true, } const res = await sila.updatePhone(handle, key, phone); // 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 added phone console.log(res.data.phone.added_epoch); console.log(res.data.phone.modified_epoch); console.log(res.data.phone.uuid); console.log(res.data.phone.phone); console.log(res.data.phone.sms_confirmation_requested); console.log(res.data.phone.sms_confirmed); console.log(res.data.phone.primary);
payload = { "user_handle": user_handle, "phone": phone, "uuid": uuid, "sms_opt_in": sms_opt_in } response = silasdk.User.updateRegistrationData(app, silasdk.RegistrationFields.PHONE, payload, eth_private_key) { "status_code": 200, "success": true, "message": "Successfully Updated phone to user your_individual_end_user.", "phone": { "added_epoch": 1599007660, "modified_epoch": 1599007660, "uuid": "ac6435a7-d960-4b0a-9c04-adf99102ba57", "phone": "3189250987" }, "status": "SUCCESS" }
UserHandleMessage user = UserHandleMessage.builder() .userHandle("user_handle") .userPrivateKey("user_private_key") .smsOptIn(true) .build(); PhoneMessage message = PhoneMessage.builder() .uuid("some-uuid-code") .phone("1234567890") .build(); ApiResponse response = api.updatePhone(user, message); // Success response System.out.println(response.getStatusCode()); // 200 PhoneResponse parsedResponse = (PhoneResponse) response.getData(); System.out.println(parsedResponse.getSuccess()); // true System.out.println(parsedResponse.getStatus()); // SUCCESS System.out.println(parsedResponse.getMessage()); // Successfully updated phone System.out.println(parsedResponse.getPhone().getAddedEpoch()); System.out.println(parsedResponse.getPhone().getModifiedEpoch()); System.out.println(parsedResponse.getPhone().getUuid()); System.out.println(parsedResponse.getPhone().getPhone());
$userHandle = 'user.silamoney.eth'; $privateKey = 'some private key'; $phone = '1234567890'; $uuid = 'some-uuid-code'; $smsOptIn = true; $response = $client->updatePhone($userHandle, $privateKey, $uuid, $phone, $smsOptIn); echo $response->getStatusCode(); // 200 echo $response->getData()->success; // TRUE echo $response->getData()->status; // SUCCESS echo $response->getData()->message; // Successfully updated phone with UUID some-uuid-code. echo $response->getData()->phone->added_epoch; echo $response->getData()->phone->modified_epoch; echo $response->getData()->phone->uuid; // some-uuid-code echo $response->getData()->phone->phone; // 1234567890 echo $response->getData()->phone->sms_confirmation_requested; //false echo $response->getData()->phone->sms_confirmed; //false echo $response->getData()->phone->primary; //false
var response = api.UpdatePhone(userHandle, privateKey, uuid, phone, smsOptIn); // Success Object Response Console.WriteLine(response.StatusCode); // 200 var parsedResponse = (PhoneResponse)response.Data; Console.WriteLine(parsedResponse.Success); // true Console.WriteLine(parsedResponse.Status); // SUCCESS Console.WriteLine(parsedResponse.Message); // Successfully updated phone Console.WriteLine(parsedResponse.Phone.AddedEpoch); Console.WriteLine(parsedResponse.Phone.ModifiedEpoch); Console.WriteLine(parsedResponse.Phone.Uuid); Console.WriteLine(parsedResponse.Phone.Phone); Console.WriteLine(parsedResponse.Phone.SmsConfirmationRequested); Console.WriteLine(parsedResponse.Phone.SmsConfirmed); Console.WriteLine(parsedResponse.Phone.Primary);

Responses

Status Codesuccess AttributeDescription
200truePhone was successfully updated.
400falseBad request format - check validation_details for more information.
404falseUUID is not associated with a phone number registered to the current user.
403falseauthsignature or usersignature header was absent or incorrect.

OR

SMS is not configured for the current app.

/update/identity

Requests

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

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 authentication section for more details on how to generate this signature.

You must pass in the uuid, identity_alias, and identity_value keys. The UUID can be obtained from the response to a request to the /get_entity endpoint.

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/update/identity HTTP/1.1 Host: sandbox.silamoney.com authsignature: [GENERATED AUTHSIGNATURE HEX STRING HERE] usersignature: [GENERATED USERSIGNATURE HEX STRING HERE] Content-Type: application/json { "header": { "created": 1234567890, "auth_handle": "your_app_handle", "user_handle": "your_individual_end_user", "reference": "<your unique id>" }, "uuid": "15aaf8fd-f3ca-4355-a72c-ecebd54984dd", "identity_alias": "SSN", "identity_value": "123452233" } *** HTTP/1.1 200 OK { "success": true, "message": "Successfully updated identity with UUID 15aaf8fd-f3ca-4355-a72c-ecebd54984dd.", "identity": { "added_epoch": 1599090039, "modified_epoch": 1599091288, "uuid": "15aaf8fd-f3ca-4355-a72c-ecebd54984dd", "identity_type": "SSN", "identity": "*2233", "document_id": null, "document_name": null }, "status": "SUCCESS", "reference": "<your unique id>" }
const identity = { uuid: '51fb4167-83d4-467b-8f08-eb03dbd6facf', identity_alias: 'SSN', identity_value: '123455898' } const res = await sila.updateIdentity(handle, key, identity); // 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 added identity console.log(res.data.identity.added_epoch); console.log(res.data.identity.modified_epoch); console.log(res.data.identity.uuid); console.log(res.data.identity.identity_type); console.log(res.data.identity.identity);
# Update Identity payload = { "user_handle": business_handle, "identity_alias": identityAlias, "identity_value": identityValue, "uuid": uuid } response = silasdk.User.updateRegistrationData(app, silasdk.RegistrationFields.IDENTITY, payload, eth_private_key) { "success": true, "message": "Successfully Updated identity to user your_individual_end_user.", "phone": { "Updated_epoch": 1599007660, "modified_epoch": 1599007660, "uuid": "ac6435a7-d960-4b0a-9c04-adf99102ba57", "identity_alias": "SSN", "identity_value": "*2222" }, "status": "SUCCESS" }
UserHandleMessage user = UserHandleMessage.builder() .userHandle("user_handle") .userPrivateKey("user_private_key") .build(); IdentityMessage message = IdentityMessage.builder() .uuid("some-uuid-code") .identityAlias("SSN") .identityValue("123452222") .build(); ApiResponse response = api.updateIdentity(user, message); // Success response System.out.println(response.getStatusCode()); // 200 IdentityResponse parsedResponse = (IdentityResponse) response.getData(); System.out.println(parsedResponse.getSuccess()); // true System.out.println(parsedResponse.getStatus()); // SUCCESS System.out.println(parsedResponse.getMessage()); // Successfully updated identity System.out.println(parsedResponse.getIdentity().getAddedEpoch()); System.out.println(parsedResponse.getIdentity().getModifiedEpoch()); System.out.println(parsedResponse.getIdentity().getUuid()); System.out.println(parsedResponse.getIdentity().getIdentityType()); System.out.println(parsedResponse.getIdentity().getIdentity());
use Silamoney\Client\Domain\IdentityAlias; $userHandle = 'user.silamoney.eth'; $privateKey = 'some private key'; $identityAlias = IdentityAlias::SSN(); $identityValue = '654322222'; $uuid = 'some-uuid-code'; $response = $client->updateIdentity($userHandle, $privateKey, $uuid, $identityAlias, $identityValue); echo $response->getStatusCode(); // 200 echo $response->getData()->success; // TRUE echo $response->getData()->status; // SUCCESS echo $response->getData()->message; // Successfully updated identity with UUID some-uuid-code. echo $response->getData()->identity->added_epoch; echo $response->getData()->identity->modified_epoch; echo $response->getData()->identity->uuid; // some-uuid-code echo $response->getData()->identity->identity_type; // SSN echo $response->getData()->identity->identity; // 654322222
var identity = new IdentityMessage { Uuid = "some-uuid-code", IdentityAlias = "SSN", IdentityValue = "543212222" }; var response = api.UpdateIdentity(user.UserHandle, user.PrivateKey, identity); // Success Object Response Console.WriteLine(response.StatusCode); // 200 var parsedResponse = (IdentityResponse)response.Data; Console.WriteLine(parsedResponse.Success); // true Console.WriteLine(parsedResponse.Status); // SUCCESS Console.WriteLine(parsedResponse.Message); // Successfully updated identity Console.WriteLine(parsedResponse.Identity.AddedEpoch); Console.WriteLine(parsedResponse.Identity.ModifiedEpoch); Console.WriteLine(parsedResponse.Identity.Uuid); Console.WriteLine(parsedResponse.Identity.IdentityType); Console.WriteLine(parsedResponse.Identity.Identity);

Responses

Status Codesuccess AttributeDescription
200trueIdentity was successfully updated.
400falseBad request format - check validation_details for more information.
404falseUUID is not associated with an identity linked to the current user.
403falseauthsignature or usersignature header was absent or incorrect.

/update/address

Requests

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

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 authentication section for more details on how to generate this signature.

You must pass in the uuid key. All other address keys are optional:

  • address_alias
  • street_address_1
  • street_address_2
  • city
  • state
  • country
  • postal_code

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/update/address HTTP/1.1 Host: sandbox.silamoney.com authsignature: [GENERATED AUTHSIGNATURE HEX STRING HERE] usersignature: [GENERATED USERSIGNATURE HEX STRING HERE] Content-Type: application/json { "header": { "created": 1234567890, "app_handle": "your_app_handle", "user_handle": "your_individual_end_user", "reference": "<your unique id>" }, "uuid": "5de836eb-9234-42bc-b7da-5e9991ab2d4b", "address_alias": "New nickname" } *** HTTP/1.1 200 OK { "success": true, "message": "Successfully updated address with UUID 5de836eb-9234-42bc-b7da-5e9991ab2d4b.", "address": { "added_epoch": 1599090039, "modified_epoch": 1599093463, "uuid": "5de836eb-9234-42bc-b7da-5e9991ab2d4b", "nickname": "New nickname", "street_address_1": "123 NW 1st Ave.", "street_address_2": "", "city": "Portland", "state": "OR", "country": "US", "postal_code": "12345" }, "status": "SUCCESS", "reference": "<your unique id>" }
const address = { alias: "Home Number Two", street_address_1: "324 Songbird Avenue", street_address_2: "Apt. 132", city: "Portland", state: "VA", postal_code: "12345", country: "US", uuid: "5de836eb-9234-42bc-b7da-5e9991ab2d4b", }; const res = await sila.updateAddress(handle, key, address); console.log(res.statusCode); console.log(res.data.success); console.log(res.data.status); console.log(res.data.message); console.log(res.data.address.added_epoch); console.log(res.data.address.modified_epoch); console.log(res.data.address.uuid); console.log(res.data.address.nickname); console.log(res.data.address.street_address_1); console.log(res.data.address.street_address_2); console.log(res.data.address.city); console.log(res.data.address.state); console.log(res.data.address.country); console.log(res.data.address.postal_code);
payload = { "user_handle": user_handle, "address_alias": address_alias, "street_address_1": street_address_1, "street_address_2": street_address_2, "city": city, "state": state, "postal_code": postal_code, "country": country, "uuid": uuid } response = silasdk.User.updateRegistrationData(app, silasdk.RegistrationFields.ADDRESS, payload, eth_private_key) { "status_code": 200, "success": true, "message": "Successfully updated address to user your_individual_end_user.", "address": { "added_epoch": 1599008272, "modified_epoch": 1599008272, "uuid": "2966e38f-e713-4994-a22f-56e076963d01", "nickname": "Home Number Two", "street_address_1": "324 Songbird Avenue", "street_address_2": "Apt 132", "city": "Portland", "state": "VA", "country": "US", "postal_code": "12345" }, "status": "SUCCESS" }
UserHandleMessage user = UserHandleMessage.builder() .userHandle("user_handle") .userPrivateKey("user_private_key") .build(); AddressMessage message = AddressMessage.builder() .uuid("some-uuid-code") .addressAlias("new address") .streetAddress1("324 Songbird Avenue") .streetAddress2("Apt. 132") // Optional. .city("Portland") .state("VA") .country("US") .postalCode("12345") .build(); ApiResponse response = api.updateAddress(user, message); // Success response System.out.println(response.getStatusCode()); // 200 AddressResponse parsedResponse = (AddressResponse) response.getData(); System.out.println(parsedResponse.getSuccess()); // true System.out.println(parsedResponse.getStatus()); // SUCCESS System.out.println(parsedResponse.getMessage()); // Successfully updated address System.out.println(parsedResponse.getAddress().getAddedEpoch()); System.out.println(parsedResponse.getAddress().getModifiedEpoch()); System.out.println(parsedResponse.getAddress().getUuid()); System.out.println(parsedResponse.getAddress().getNickname()); System.out.println(parsedResponse.getAddress().getStreetAddress1()); System.out.println(parsedResponse.getAddress().getStreetAddress2()); System.out.println(parsedResponse.getAddress().getCity()); System.out.println(parsedResponse.getAddress().getState()); System.out.println(parsedResponse.getAddress().getCountry()); System.out.println(parsedResponse.getAddress().getPostalCode());
use Silamoney\Client\Domain\Country; $userHandle = 'user.silamoney.eth'; $privateKey = 'some private key'; $nickname = 'update_address'; // Optional. This is a nickname that can be attached to the address object. While a required field, it can be left blank if desired. $streetAddress1 = '124 Main St'; // Optional. This is line 1 of a street address. Post office boxes are not accepted in this field. $city = 'Sometown'; // Optional. Name of the city where the person being verified is a current resident. $state = 'CA'; // Optional. Name of state where verified person is a current resident. $country = Country::US(); // Optional. Two-letter country code. $postalCode = '54321'; // Optional. In the US, this can be the 5-digit ZIP code or ZIP+4 code. $streetAddress2 = '' // Optional. This is line 2 of a street address. This may include suite or apartment numbers. $uuid = 'some-uuid-code'; $response = $client->updateAddress($userHandle, $privateKey, $uuid, $nickname, $streetAddress1, $city, $state, $country, $postalCode, $streetAddress2); echo $response->getStatusCode(); // 200 echo $response->getData()->success; // TRUE echo $response->getData()->status; // SUCCESS echo $response->getData()->message; // Successfully added identity to user user.silamoney.eth. echo $response->getData()->address->added_epoch; echo $response->getData()->address->modified_epoch; echo $response->getData()->address->uuid; // some-uuid-code echo $response->getData()->address->nickname; // update_address echo $response->getData()->address->street_address_1; // 124 Main St echo $response->getData()->address->street_address_2; // echo $response->getData()->address->city; // Sometown echo $response->getData()->address->state; // CA echo $response->getData()->address->country; // US echo $response->getData()->address->postal_code; // 54321
var address = new AddressMessage { Uuid = "some-uuid-code", // Required AddressAlias = "new_address", StreetAddress1 = "324 Songbird Avenue", StreetAddress2 = "Apt. 132", City = "Portland", State = "VA", PostalCode = "12345", Country = "US" }; var response = api.UpdateAddress(user.UserHandle, user.PrivateKey, address); // Success Object Response Console.WriteLine(response.StatusCode); // 200 var parsedResponse = (AddressResponse)response.Data; Console.WriteLine(parsedResponse.Success); // true Console.WriteLine(parsedResponse.Status); // SUCCESS Console.WriteLine(parsedResponse.Message); // Successfully updated address Console.WriteLine(parsedResponse.Address.AddedEpoch); Console.WriteLine(parsedResponse.Address.ModifiedEpoch); Console.WriteLine(parsedResponse.Address.Uuid); Console.WriteLine(parsedResponse.Address.Nickname); Console.WriteLine(parsedResponse.Address.StreetAddress1); Console.WriteLine(parsedResponse.Address.StreetAddress2); Console.WriteLine(parsedResponse.Address.City); Console.WriteLine(parsedResponse.Address.State); Console.WriteLine(parsedResponse.Address.Country); Console.WriteLine(parsedResponse.Address.PostalCode);

Responses

Status Codesuccess AttributeDescription
200trueAddress was successfully updated.
400falseBad request format - check validation_details for more information.
404falseUUID is not associated with an address registered to the given user.
403falseauthsignature or usersignature header was absent or incorrect.

/update/entity

Requests

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

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 authentication section for more details on how to generate this signature.

For individual entities, you can pass any of the following keys:

  • first_name
  • last_name
  • entity_name
  • birthdate

For business entities, you can pass any of the following keys:

  • entity_name
  • birthdate
  • business_type
  • naics_code
  • doing_business_as
  • business_website
  • registration_state

Note that you cannot convert an individual user to a business or a business to an individual.

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/update/entity HTTP/1.1 Host: sandbox.silamoney.com authsignature: [GENERATED AUTHSIGNATURE HEX STRING HERE] usersignature: [GENERATED USERSIGNATURE HEX STRING HERE] Content-Type: application/json { "header": { "created": 1234567890, "app_handle": "your_app_handle", "user_handle": "your_individual_end_user", "reference": "<your unique id>" }, "first_name": "Newfirst", "last_name": "Newlast", "entity_name": "New Full Name", "birthdate": "1990-02-28" } *** HTTP/1.1 200 OK { "success": true, "message": "Successfully updated entity with handle \"your_individual_end_user\".", "user_handle": "your_individual_end_user", "entity_type": "individual", "entity": { "created_epoch": 1599090039, "entity_name": "New Full Name", "birthdate": "1990-02-28", "first_name": "Newfirst", "last_name": "Newlast" }, "status": "SUCCESS", "reference": "<your unique id>" }
// Individual const entity = { first_name: "NewFirst", last_name: "NewLast", entity_name: "NewFirst NewLast", birthdate: "1994-01-08", }; const res = await sila.updateEntity(handle, key, entity); console.log(res.statusCode); console.log(res.data.success); console.log(res.data.status); console.log(res.data.message); console.log(res.data.entity_type); console.log(res.data.user_handle); console.log(res.data.entity.created_epoch); console.log(res.data.entity.entity_name); console.log(res.data.entity.birthdate); console.log(res.data.entity.first_name); console.log(res.data.entity.last_name); // Business const business = { entity_name: "New Company", business_type: "corporation", naics_code: 721, doing_business_as: "NC Ltc.", business_website: "https://newdomain.go", registration_state: "OR", }; const res = await sila.updateEntity(handle, key, business); console.log(res.statusCode); console.log(res.data.success); console.log(res.data.status); console.log(res.data.message); console.log(res.data.entity_type); console.log(res.data.user_handle); console.log(res.data.entity.created_epoch); console.log(res.data.entity.entity_name); console.log(res.data.entity.business_type); console.log(res.data.entity.naics_code); console.log(res.data.entity.doing_business_as); console.log(res.data.entity.business_website); console.log(res.data.entity.registration_state);
# Update Business Entity payload = { "user_handle": business_handle, "entity_name": entity_name, "birthdate": birthdate, "business_type": business_type, "naics_code": naics_code, "doing_business_as": doing_business_as, "business_website": business_website, "registration_state":"NY" } response = silasdk.User.updateRegistrationData(app, silasdk.RegistrationFields.ENTITY, payload, eth_private_key) # Success Response { "status_code": 200, "success": true, "message": "Successfully updated entity with handle your_business_end_user.", "user_handle": "your_business_end_user", "entity_type": "business", "entity": { "created_epoch": 1599090039, "entity_name": "New Company", "birthdate": "1990-02-28", "business_type": "corporation", "naics_code": 721, "doing_business_as": "NC Limited", "business_website": "https://yourwebsite.domain", "business_uuid": "2966e38f-e713-4994-a22f-56e076963d01", "naics_category": "Accommodation and Food Services", "naics_subcategory": "Accommodation", "registration_state":"NY" }, "status": "SUCCESS" }
// Individual entity UserHandleMessage user = UserHandleMessage.builder() .userHandle("user_handle") .userPrivateKey("user_private_key") .build(); IndividualEntityMessage message = IndividualEntityMessage.builder() .firstName("NewFirst") .lastName("NewLast") .entityName("NewFirst NewLast") .birthdate(LocalDate.of(1994, 1, 8)) .build(); ApiResponse response = api.updateEntity(user, message); // Success response System.out.println(response.getStatusCode()); // 200 IndividualEntityResponse parsedResponse = (IndividualEntityResponse) response.getData(); System.out.println(parsedResponse.getSuccess()); // true System.out.println(parsedResponse.getStatus()); // SUCCESS System.out.println(parsedResponse.getMessage()); // Successfully updated entity System.out.println(parsedResponse.getUserHandle()); // user_handle System.out.println(parsedResponse.getEntityType()); // individual System.out.println(parsedResponse.getEntity().getCreatedEpoch()); System.out.println(parsedResponse.getEntity().getEntityName()); System.out.println(parsedResponse.getEntity().getBirthdate()); System.out.println(parsedResponse.getEntity().getFirstName()); System.out.println(parsedResponse.getEntity().getLastName()); // Business entity UserHandleMessage user = UserHandleMessage.builder() .userHandle("user_handle") .userPrivateKey("user_private_key") .build(); BusinessEntityMessage message = BusinessEntityMessage.builder() .entityName("New Company") .birthdate(LocalDate.now()) .businessType("corporation") .naicsCode(721) .doingBusinessAs("NC") .businessWebsite("https://somedomain.go") .registrationState("registration state") // Optional for KYB flow .build(); ApiResponse response = api.updateEntity(user, message); // Success response System.out.println(response.getStatusCode()); // 200 BusinessEntityMessage parsedResponse = (BusinessEntityMessage) response.getData(); System.out.println(parsedResponse.getSuccess()); // true System.out.println(parsedResponse.getStatus()); // SUCCESS System.out.println(parsedResponse.getMessage()); // Successfully updated entity System.out.println(parsedResponse.getUserHandle()); // user_handle System.out.println(parsedResponse.getEntityType()); // business System.out.println(parsedResponse.getEntity().getCreatedEpoch()); System.out.println(parsedResponse.getEntity().getEntityName()); System.out.println(parsedResponse.getEntity().getBirthdate()); System.out.println(parsedResponse.getEntity().getBusinessType()); System.out.println(parsedResponse.getEntity().getNaicsCode()); System.out.println(parsedResponse.getEntity().getNaicsCategory()); System.out.println(parsedResponse.getEntity().getNaicsSubcategory()); System.out.println(parsedResponse.getEntity().getBusinessUuid()); System.out.println(parsedResponse.getEntity().getDoingBusinessAs()); System.out.println(parsedResponse.getEntity().getBusinessWebsite()); System.out.println(parsedResponse.getEntity().getRegistrationState());
// Request - Individual use DateTime; $userHandle = 'user.silamoney.eth'; $privateKey = 'some private key'; $entityName = 'Full Name'; // Optional. The individual full name $birthdate = new DateTime::createFromFormat('m/d/Y', '1/8/1960'); // Optional. Only date part will be taken when sent to api $firstName = 'First'; // Optional. The individual first name $lastName = 'Last'; // Optional. The individual last name $response = $client->updateEntity($userHandle, $privateKey, $firstName, $lastName, $entityName, $birthdate); // Response 200 - Individual echo $response->getStatusCode(); // 200 echo $response->getData()->success; // TRUE echo $response->getData()->status; // SUCCESS echo $response->getData()->message; // Successfully added identity to user user.silamoney.eth. echo $response->getData()->user_handle; echo $response->getData()->entity_type; // individual echo $response->getData()->entity->created_epoch; echo $response->getData()->entity->entity_name; // Full Name echo $response->getData()->entity->birthdate; // 1960-01-08 echo $response->getData()->entity->first_name; // First echo $response->getData()->entity->last_name; // Last // Request - Business use DateTime; $userHandle = 'user.silamoney.eth'; $privateKey = 'some private key'; $entityName = 'Company Name'; // Optional. The individual full name $birthdate = new DateTime::createFromFormat('m/d/Y', '1/8/2009'); // Optional. Only date part will be taken when sent to api $businessType = 'corporation'; // Optional. You can get this values from getBusinessTypes $naicsCode = 721; // Optional. You can get this codes from getNaicsCategories $doingBusinessAs = 'Public Company Name'; // Optional. $businessWebsite = 'https://yourcompony.domain'; // Optional. Must be a valid URL $registrationState = "LA"; // Optional $response = $client->updateBusinessEntity($userHandle, $privateKey, $entityName, $birthdate, $businessType, $naicsCode, $doingBusinessAs, $businessWebsite, $registrationState); // Response 200 - Business echo $response->getStatusCode(); // 200 echo $response->getData()->success; // TRUE echo $response->getData()->status; // SUCCESS echo $response->getData()->message; // Successfully added identity to user user.silamoney.eth. echo $response->getData()->entity_type; // business echo $response->getData()->entity->created_epoch; echo $response->getData()->entity->entity_name; // Company Name echo $response->getData()->entity->birthdate; // 2009-01-08 echo $response->getData()->entity->business_type; // corporation echo $response->getData()->entity->naics_code; // 721 echo $response->getData()->entity->business_uuid; // The business uuid echo $response->getData()->entity->naics_category; // The NAICS category echo $response->getData()->entity->naics_subcategory; // The NAICS subcategory echo $response->getData()->entity->doing_business_as; // Publick Company Name echo $response->getData()->entity->business_website; // https://yourcompany.domain
// Request - Individual var entity = new IndividualEntityMessage { FirstName = "NewFirst", LastName = "NewLast", EntityName = "NewFirst NewLast", BirthDate = new DateTime(1994, 1, 8) }; var response = api.UpdateEntity(user.UserHandle, user.PrivateKey, entity); // Success Object Response - Individual Console.WriteLine(response.StatusCode); // 200 var parsedResponse = (IndividualEntityResponse)response.Data; Console.WriteLine(parsedResponse.Success); // true Console.WriteLine(parsedResponse.Status); // SUCCESS Console.WriteLine(parsedResponse.Message); // Successfully updated entity Console.WriteLine(parsedResponse.UserHandle); // youruserhandle Console.WriteLine(parsedResponse.EntityType); // individual Console.WriteLine(parsedResponse.Entity.CreatedEpoch); Console.WriteLine(parsedResponse.Entity.EntityName); Console.WriteLine(parsedResponse.Entity.Birthdate); Console.WriteLine(parsedResponse.Entity.FirstName); Console.WriteLine(parsedResponse.Entity.LastName);
POST /0.2/update/entity HTTP/1.1 Host: sandbox.silamoney.com authsignature: [GENERATED AUTHSIGNATURE HEX STRING HERE] usersignature: [GENERATED USERSIGNATURE HEX STRING HERE] Content-Type: application/json { "header": { "created": 1234567890, "app_handle": "your_app_handle", "user_handle": "your_business_end_user", "reference": "<your unique id>" }, "business_type": "corporation", "entity_name": "Your Business Customer, Inc.", "birthdate": "1975-01-15", "naics_code": 721, "doing_business_as": "Your Business Customer Alias Co." "registration_state": "OR", "business_website": "http://www.yourbusinesscustomer.com" } *** HTTP/1.1 200 OK { "success": true, "message": "Successfully updated entity with handle \"your_business_end_user\".", "user_handle": "your_business_end_user", "entity_type": "business", "entity": { "created_epoch": 1599090039, "business_type": "corporation", "entity_name": "Your Business Customer, Inc.", "birthdate": "1975-01-15", "naics_code": 721, "doing_business_as": "Your Business Customer Alias Co." "registration_state": "OR", "business_website": "http://www.yourbusinesscustomer.com" }, "status": "SUCCESS", "reference": "<your unique id>" }
// Request - Business var entity = new BusinessEntityMessage { EntityName = "New Company", BusinessType = "type", NaicsCode = 123, DoingBusinessAs = "NC Ltd.", BusinessWebsite = "https://domain.go", RegistrationState="DC" }; var response = api.UpdateEntity(user.UserHandle, user.PrivateKey, entity); // Success Object Response - Business Console.WriteLine(response.StatusCode); // 200 var parsedResponse = (BusinessEntityResponse)response.Data; Console.WriteLine(parsedResponse.Success); // true Console.WriteLine(parsedResponse.Status); // SUCCESS Console.WriteLine(parsedResponse.Message); // Successfully updated entity Console.WriteLine(parsedResponse.UserHandle); // youruserhandle Console.WriteLine(parsedResponse.EntityType); // business Console.WriteLine(parsedResponse.Entity.CreatedEpoch); Console.WriteLine(parsedResponse.Entity.EntityName); Console.WriteLine(parsedResponse.Entity.BusinessType); Console.WriteLine(parsedResponse.Entity.NaicsCode); Console.WriteLine(parsedResponse.Entity.BusinessUuid); Console.WriteLine(parsedResponse.Entity.NaicsCategory); Console.WriteLine(parsedResponse.Entity.NaicsSubcategory); Console.WriteLine(parsedResponse.Entity.DoingBusinessAs); Console.WriteLine(parsedResponse.Entity.BusinessWebsite); Console.WriteLine(parsedResponse.Entity.RegistrationState); // DC

Responses

Status Codesuccess AttributeDescription
200trueEntity was successfully updated.
400falseBad request format - check validation_details for more information.
403falseauthsignature or usersignature header was absent or incorrect.

Did this page help you?