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
pin
string
A PIN required for authentication (at least 4 digits)
{
"id": "36e6b967-eeeb-4b54-818b-13331416c9f4"
}{
"message": "Invalid request"
}Get Key
GET https://keys-dev.photonsdk.com/v2/key/:keyId
Fetch the encryption key from the api endpoint.
Path Parameters
keyId
string
ID of the key
Headers
Authorization
string
Basic Authentication as a base64 encoded PIN in a user:pass pair
{
"id": "36e6b967-eeeb-4b54-818b-13331416c9f4",
"encryptionKey": "kjXCstWMW3ed3zBTU3sDg/XyPxPkbaz3yVfB9bP+w7A="
}{
"message": "Invalid request"
}Change PIN
PUT https://keys-dev.photonsdk.com/v2/key/:keyId
Change the PIN used for authenticating encryption key operations.
Path Parameters
keyId
string
ID of the key
Headers
Authorization
string
Basic Authentication as a base64 encoded PIN in a user:pass pair
Request Body
newPin
string
The new PIN (at least 4 digits)
{
"message": "Success"
}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
keyId
string
ID of the key
Headers
Authorization
string
Basic Authentication as a base64 encoded PIN in a user:pass pair
Request Body
userId
string
An email address or phone number
{
"message": "Success"
}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
keyId
string
ID of the key
userId
string
Email address or phone number
Request Body
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
{
"message": "Success"
}{
"message": "Invalid params"
}{
"message": "Time locked until",
"delay": "2020-12-16T13:56:45.848Z"
}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
keyId
string
ID of the key
userId
string
Email address or phone number
{
"message": "Success"
}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
keyId
string
ID of the key
userId
string
Email address or phone number
Headers
Authorization
string
Basic Authentication as a base64 encoded PIN in a user:pass pair
{
"message": "Success"
}{
"message": "Invalid request"
}Last updated
Was this helpful?