Create Key
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.
Body Parameters
A PIN required for authentication (at least 4 digits)
Returns the key ID which the client needs to store.
{
"id": "36e6b967-eeeb-4b54-818b-13331416c9f4"
}
If the PIN was invalid or too short.
{
"message": "Invalid request"
}
Get Key
https://keys-dev.photonsdk.com/v2/key/:keyId
Fetch the encryption key from the api endpoint.
Headers
Basic Authentication as a base64 encoded PIN in a user:pass pair
Key successfully retrieved.
{
"id": "36e6b967-eeeb-4b54-818b-13331416c9f4",
"encryptionKey": "kjXCstWMW3ed3zBTU3sDg/XyPxPkbaz3yVfB9bP+w7A="
}
Could not find a key matching this query.
{
"message": "Invalid request"
}
Change PIN
https://keys-dev.photonsdk.com/v2/key/:keyId
Change the PIN used for authenticating encryption key operations.
Headers
Basic Authentication as a base64 encoded PIN in a user:pass pair
Body Parameters
The new PIN (at least 4 digits)
PIN successfully changed.
Create User
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.
Headers
Basic Authentication as a base64 encoded PIN in a user:pass pair
Body Parameters
An email address or phone number
Verify User
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
Email address or phone number
Body Parameters
Verify operation: "verify" or "reset-pin"
Verification code sent via email or sms
The new PIN to be set after a PIN reset
User verification was successful
The code or user ID was invalid.
{
"message": "Invalid params"
}
PIN reset was successfully verified with the correct code. A second PIN reset can now be done once the security time delay is over to mitigate a SIM swap attack.
{
"message": "Time locked until",
"delay": "2020-12-16T13:56:45.848Z"
}
Reset PIN
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
Email address or phone number
Remove User
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
Email address or phone number
Headers
Basic Authentication as a base64 encoded PIN in a user:pass pair
The user ID was deleted from the server
The PIN or path params were incorrect
{
"message": "Invalid request"
}