Creating new vaults
2 min read
A standalone vault is a user vault you create through the API for a user who did not go through a KYC or IDV onboarding with a Footprint SDK. Reach for it when you backfill existing users into Footprint and need to vault their PII directly.
Create the vault with POST /users.
bash
json1{ 2 "id": "fp_id_K0q6Eh6Rr3WOOfFBLPiHsr" 3}
Save the returned id and associate it with the user in your database.
Initial data
To seed the vault at creation, pass the fields in the request body.
bash1curl https://api.onefootprint.com/users \ 2 -X POST \ 3 -d '{ 4 "id.first_name": "Jane", 5 "id.last_name": "Joe", 6 "id.dob": "1988-12-30", 7 "id.ssn9": "12-121-1212", 8 "custom.ach_account": "111122224444" 9 }' \ 10 -u sk_test_CXUsbCR8j2kH6e5GeEl8eSBnQTIPCUaKpv:
json1{ 2 "id": "fp_id_K0q6Eh6Rr3WOOfFBLPiHsr" 3}
Idempotency ID
To retry POST /users without creating a second user, send an x-idempotency-id header. A repeat request with the same x-idempotency-id value is a no-op and returns the same fp_id.
When you create a vault for a user record you already hold, we recommend using that record's unique ID as the x-idempotency-id, so only one Footprint vault is ever created per user.
A request that carries x-idempotency-id cannot include initial data in the body.
bash1curl https://api.onefootprint.com/users \ 2 -X POST \ 3 -H 'x-idempotency-id: my_user_id_1234' 4 -u sk_test_CXUsbCR8j2kH6e5GeEl8eSBnQTIPCUaKpv:
json1{ 2 "id": "fp_id_K0q6Eh6Rr3WOOfFBLPiHsr" 3}
fp_id is safe to store in plaintext.Update a standalone user vault
Use the id from the create call to add or update fields at any time with PATCH /users/<fp_id>/vault.
bash1curl https://api.onefootprint.com/users/fp_id_GSxJr68GAf5jUT3pdL9ndjf7TLkA3GCX/vault \ 2 -X PATCH \ 3 -u sk_test_CXUsbCR8j2kH6e5GeEl8eSBnQTIPCUaKpv: \ 4 -d '{ 5 "id.email": "jane@acmebank.com", 6 "custom.ach_account": "111122224444" 7 }'
Listing, decrypting, and updating work the same for a standalone vault as for any other user vault; the vault introduction shows each call.