DBmuse API reference
Every endpoint of the DBmuse REST API, generated from the API itself.
All endpoints are relative to https://api.dbmuse.com. Create an API key in your DBmuse dashboard, then authenticate every request with it.
apiKey — HTTP Basic auth carrying only the DBmuse API key secret: Authorization: Basic base64(<key secret>).
accessToken — Operator session token issued by the DBmuse dashboard: Authorization: Token <access token>.
Download the OpenAPI specification for use with your own tooling.
Databases
List database connections
Lists the database connection entries of your organization. A key is scoped to a single project and only ever sees that project's connections. OAuth and API-key responses are restricted to safe connection metadata and exclude credentials. Existing operator dashboard sessions retain the product's full saved-connection behavior. Requires the databases:read scope.
| Name | In | Type | Description |
|---|---|---|---|
| projectId | query | string | |
| limit | query | integer | |
| skip | query | integer | |
| sortField | query | string | |
| sortDirection | query | string (ASC | DESC) | |
| fields | query | string | Comma-separated projection of fields to return |
| Status | Meaning |
|---|---|
| 200 | Array of database connections |
| 401 | Missing or invalid credentials |
| 403 | API key is missing the databases:read scope |
| 429 | API key rate limit exceeded |
Create a database connection
Creates a database connection entry. A key writes into its own project only. Requires the databases:write scope.
| Status | Meaning |
|---|---|
| 200 | The created database connection |
| 403 | API key is missing the databases:write scope |
Get a database connection
Returns a single database connection by id. Connections belonging to another organization (or, for a key, another project) respond 404. Requires the databases:read scope.
| Name | In | Type | Description |
|---|---|---|---|
| databaseIdrequired | path | string |
| Status | Meaning |
|---|---|
| 200 | The database connection |
| 404 | Not found (or owned by another organization) |
Update a database connection
Requires the databases:write scope.
| Name | In | Type | Description |
|---|---|---|---|
| databaseIdrequired | path | string |
| Status | Meaning |
|---|---|
| 200 | The updated database connection |
Delete a database connection
Deleting a connection that belongs to another organization (or, for a key, another project) responds 404. Requires the databases:write scope.
| Name | In | Type | Description |
|---|---|---|---|
| databaseIdrequired | path | string |
| Status | Meaning |
|---|---|
| 200 | The deleted database connection |
| 404 | Not found (or owned by another organization) |
Projects
List projects
Lists the projects of your organization. A key is scoped to a single project and only ever sees that one. Requires the projects:read scope.
| Status | Meaning |
|---|---|
| 200 | Array of projects |
| 401 | Missing or invalid credentials |
| 403 | API key is missing the projects:read scope |
| 429 | API key rate limit exceeded |
Create a project
Requires the projects:write scope.
| Status | Meaning |
|---|---|
| 200 | The created project |
| 403 | API key is missing the projects:write scope |
Get a project
Returns a single project by id. Projects belonging to another organization (or, for a key, another project) respond 404. Requires the projects:read scope.
| Name | In | Type | Description |
|---|---|---|---|
| projectIdrequired | path | string |
| Status | Meaning |
|---|---|
| 200 | The project |
| 404 | Not found (or owned by another organization) |
Update a project
Updating a project that belongs to another tenant responds 404. Requires the projects:write scope.
| Name | In | Type | Description |
|---|---|---|---|
| projectIdrequired | path | string |
| Status | Meaning |
|---|---|
| 200 | The updated project |
| 404 | Not found (or owned by another organization) |
Delete a project
Deleting a project that belongs to another tenant responds 404. Requires the projects:write scope.
| Name | In | Type | Description |
|---|---|---|---|
| projectIdrequired | path | string |
| Status | Meaning |
|---|---|
| 200 | The deleted project |
| 404 | Not found (or owned by another organization) |
Webhook subscriptions
List webhook subscriptions
Webhook subscriptions deliver database.created, database.updated, database.deleted, project.created, project.updated and project.deleted events to your server as signed POST requests (X-Dbmuse-Signature: t=<timestamp>,v1=<hex HMAC-SHA256 of "timestamp.body">). An endpoint failing 20 times in a row is disabled automatically. Subscriptions are managed with an operator access token; the secret is only returned once, on create.
| Status | Meaning |
|---|---|
| 200 | Array of webhook subscriptions (without secrets) |
Create a webhook subscription
The response includes the signing secret exactly once — store it; it cannot be retrieved again.
| Field | Type | Description |
|---|---|---|
| projectIdrequired | string | |
| urlrequired | string | |
| events | array (database.created | database.updated | database.deleted | project.created | project.updated | project.deleted) | Empty array subscribes to all events |
| Status | Meaning |
|---|---|
| 200 | The created subscription, including its secret |
Update a webhook subscription
url, events and active are editable; the secret and project are immutable. Re-enabling an auto-disabled endpoint is done by setting active back to true.
| Name | In | Type | Description |
|---|---|---|---|
| webhookSubscriptionIdrequired | path | string |
| Status | Meaning |
|---|---|
| 200 | The updated subscription (without secret) |
Delete a webhook subscription
| Name | In | Type | Description |
|---|---|---|---|
| webhookSubscriptionIdrequired | path | string |
| Status | Meaning |
|---|---|
| 200 | Deleted |