API Documentation
Si Forte has a public API available that you can use to control your vaults. You can also use the Postman Documentation that we have published here: https://documenter.getpostman.com/view/2601538/2sB2x2JDhR
Authentication
The Si Forte API uses "Bearer tokens" for authentication ( https://siforte.com/knowledge/how-do-i-generate-an-api-token ). This is the same method and API used by our mobile apps but we have released these details for our "power users" that wish to control their vaults in more advanced ways (like unlocking a vault based on another service or activity)
It is expected that the API Token is passed as a header with the key "Authorization"
"Authorization": "Bearer { $API_TOKEN }"
Base URL
The base URL for the API can be found at
https://siforte.com/api
so our /user endpoint would be accessible at
https://siforte.com/api/user
Endpoints
GET /user
Get your user details. This endpoint can be used to verify your API token and Authorization header is setup correctly
{ "id": 1, "name": "Chris Winfield-Blum", "email": "[email protected]", "email_verified_at": "2025-04-07T05:10:23.000000Z", "created_at": "2025-04-07T05:09:55.000000Z", "updated_at": "2025-06-04T22:57:51.000000Z", "last_verification_email_sent_at": "2025-04-07T05:09:58.000000Z", "last_activity": "2025-06-04 23:33:58", "timezone": "UTC" }
GET /check-in
You can use this endpoint to check-in your account. Meaning that any vaults with activity based unlocks will have their unlock timer "reset"
{ "status": "success", "message": "Check-in successful", "timestamp": "2025-06-04T23:40:56+00:00" }
GET /vaults
Get a list of your vaults and their details.
Note that this does not contain asset or recipient details
{ "status": "success", "data": [ { "id": "0123xxxx-c03c-7285-b3c7-283814d19f7f", "name": "Test Vault", "unlock_period_type": "days", "unlock_period_value": 30, "unlocked_at": null, "is_active": true, "type": "persistent", "release_date": "2025-06-04T22:58:00.000000Z", "setup_completed_at": "2025-06-04T22:59:03.000000Z", "activated_at": "2025-06-04 22:59:03", "deactivated_at": null, "is_locked": true } ] }
POST /vaults/{ $VAULT_ID }/ lock
Lock a specific vault based on its id. No body/content is required
{ "status": "success", "message": "Vault locked successfully", "vault_id": "0123xxxx-c03c-7285-b3c7-283814d19f7f", "timestamp": "2025-06-04T23:42:47+00:00" }
POST /vaults/{ $VAULT_ID }/ unlock
Unlock a specific vault based on its id. No body/content is required
{ "status": "success", "message": "Vault unlocked successfully", "vault_id": "0123xxxx-c03c-7285-b3c7-283814d19f7f", "unlocked_at": "2025-06-04T23:42:16.000000Z", "timestamp": "2025-06-04T23:42:19+00:00" }
Related Articles
How do I generate an API token?
Learn how to generate an API key for use in the mobile app or a third party service