Key Server API
A documentation of the REST api for the Photon key server used for encrypted cloud backup of the user's wallet seed.
Create Key
POST
https://keys-dev.photonsdk.com/v2/key
Create a new encryption key e.g. when a new user registers to backup their data during app sign up.
Request Body
Name | Type | Description |
---|---|---|
pin | string | A PIN required for authentication (at least 4 digits) |
Get Key
GET
https://keys-dev.photonsdk.com/v2/key/:keyId
Fetch the encryption key from the api endpoint.
Path Parameters
Name | Type | Description |
---|---|---|
keyId | string | ID of the key |
Headers
Name | Type | Description |
---|---|---|
Authorization | string | Basic Authentication as a base64 encoded PIN in a user:pass pair |
Change PIN
PUT
https://keys-dev.photonsdk.com/v2/key/:keyId
Change the PIN used for authenticating encryption key operations.
Path Parameters
Name | Type | Description |
---|---|---|
keyId | string | ID of the key |
Headers
Name | Type | Description |
---|---|---|
Authorization | string | Basic Authentication as a base64 encoded PIN in a user:pass pair |
Request Body
Name | Type | Description |
---|---|---|
newPin | string | The new PIN (at least 4 digits) |
Create User
POST
https://keys-dev.photonsdk.com/v2/key/:keyId/user
Create a new user for the key. A user can be identified either by email address or phone number.
Path Parameters
Name | Type | Description |
---|---|---|
keyId | string | ID of the key |
Headers
Name | Type | Description |
---|---|---|
Authorization | string | Basic Authentication as a base64 encoded PIN in a user:pass pair |
Request Body
Name | Type | Description |
---|---|---|
userId | string | An email address or phone number |
Verify User
PUT
https://keys-dev.photonsdk.com/v2/key/:keyId/user/:userId
Verify a new user via the code sent via email or sms (op = "verify"). This api endpoint is also called to verify a PIN reset (op = "reset-pin"). In order to mitigate a SIM swap attack the PIN reset must be verified twice with a 30 day time delay in between.
Path Parameters
Name | Type | Description |
---|---|---|
keyId | string | ID of the key |
userId | string | Email address or phone number |
Request Body
Name | Type | Description |
---|---|---|
op | string | Verify operation: "verify" or "reset-pin" |
code | string | Verification code sent via email or sms |
newPin | string | The new PIN to be set after a PIN reset |
Reset PIN
GET
https://keys-dev.photonsdk.com/v2/key/:keyId/user/:userId/reset
Initiate a PIN reset for the key. A verification code will be sent to the provided email address or phone number.
Path Parameters
Name | Type | Description |
---|---|---|
keyId | string | ID of the key |
userId | string | Email address or phone number |
Remove User
DELETE
https://keys-dev.photonsdk.com/v2/key/:keyId/user/:userId
Delete an email address or phone number that is associated with a key.
Path Parameters
Name | Type | Description |
---|---|---|
keyId | string | ID of the key |
userId | string | Email address or phone number |
Headers
Name | Type | Description |
---|---|---|
Authorization | string | Basic Authentication as a base64 encoded PIN in a user:pass pair |
Last updated