Databunker Pro supports multi-tenancy, allowing you to manage multiple tenants within a single instance. This document outlines the API endpoints for creating, managing, and interacting with tenants.
Create Tenant
Creates a new tenant in the Databunker Pro system.
curl -H 'X-Bunker-Token: ROOT-ACCESS-TOKEN' -X POST /v1/tenant \
--data '{"org":"testorg","name":"testname"}'
Request Body
Field | Type | Description |
---|---|---|
name | string | The name of the tenant. Must match the format: [a-z0-9]+ |
org | string | The organization slug associated with the tenant |
Response
Field | Type | Description |
---|---|---|
status | string | Operation status (“ok” if successful) |
xtoken | string | Tenant access token in UUID format |
Example Response
{
"status": "ok",
"xtoken": "TENANT-ACCESS-TOKEN"
}
Notes
- The
TENANT-ACCESS-TOKEN
is a special token to authenticate all tenant related commands. For example create user records.
Create a Tenant User Account
You have two methods to specify the tenant name: you can either use the X-Bunker-Tenant
HTTP header or include the tenant name in the hostname. If the X-Bunker-Tenant
header is missing, Databunker Pro will attempt to retrieve the tenant name from the subdomain in the hostname. If neither option is available, a default tenant is used.
Example commands:
curl -H 'X-Bunker-Token: XXXXXXX' \
-H 'X-Bunker-Tenant: TENANT-NAME' \
-H 'Content-Type: application/json' \
-X POST 'http://localhost:3000/v1/user' \
--data '{"firstname":"John","lastname":"Doe","email":"user@email.com","login":"john"}'
curl -H 'X-Bunker-Token: XXXXXXX' \
-X POST https://TENANT-NAME.databunker-domain.com/v1/user \
--data '{"firstname":"John","lastname":"Doe","email":"user@email.com","login":"john"}'
Notes
- Replace
TENANT-NAME
in the URL with the actual name of the tenant. - The request body and response format for this endpoint are not provided in the given information. Typically, they would include user details such as name, email, etc., and return a user ID or status.
Rename Tenant
Renames an existing tenant.
curl -H 'X-Bunker-Token: TENANT-ACCESS-TOKEN' \
-X PUT https://old-tenant.databunker-domain.com/v1/tenant \
--data '{"name":"new-name"}'
Request Body
Field | Type | Description |
---|---|---|
name | string | The new name for the tenant. Must match the format: [a-z0-9]+ |
Example Request
{
"name": "new-name"
}
Response
Field | Type | Description |
---|---|---|
status | string | Operation status (“ok” if successful) |
Example Response
{
"status": "ok"
}
Other commands:
For a full list of API requests, check out the API document.
General Notes
-
Tenant Name Format: Tenant names must follow the format
[a-z0-9]+
. This means they can only contain lowercase letters and numbers. -
Tenant-Specific URLs: After creating a tenant, you’ll interact with tenant-specific endpoints using URLs in the format
https://tenant-name.databunker-domain.com/...
. -
Authentication: Most endpoints will require the
TENANT-ACCESS-TOKEN
for authentication. Include this token in theX-Bunker-Token
header or as specified in the Databunker Pro documentation. -
SSL/TLS: Always use HTTPS for secure communication with the API endpoints.
For more detailed information on request/response formats, additional endpoints, or error handling, please refer to the complete Databunker Pro API documentation.
Introducing a Free Takeaway
Databunker Pro is available with a free 14-day trial. You can try the cloud version, deploy it using Helm Chart or Docker Compose, and access everything completely free for the first 14 days. No credit card is required.