API Documentation

By Chris Winfield-Blum June 4, 2025

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