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"
}
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="
}
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"
}
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"
}
Last updated
Was this helpful?