API Reference
The Daspire Control API is the public management API for automating Daspire setup and operations.
Base URL:
https://api.daspire.com/daspire/api/control/v1
OpenAPI:
https://docs.daspire.com/openapi/daspire-control-v1.yaml
Every successful response includes a request_id and a data object.
{
"request_id": "7a9d7e5f-0fd5-4a6f-92f2-f5f8d50f7f7b",
"data": {}
}
Errors use this shape:
{
"code": "403",
"message": "Permission denied",
"details": {},
"request_id": "7a9d7e5f-0fd5-4a6f-92f2-f5f8d50f7f7b"
}
Core Endpoints
| Area | Endpoints |
|---|---|
| Current user | GET /me |
| Workspaces | GET /workspaces, GET /workspaces/{workspace_id}/members, POST /workspaces/{workspace_id}/members/invitations, DELETE /workspaces/{workspace_id}/members/{member_id} |
| Connectors | GET /connectors, GET /connectors/{connector_id}, GET /connectors/{connector_id}/spec |
| Credentials | POST /credentials, GET /credentials/{credential_id}, POST /credentials/clickup/oauth/start, POST /credentials/clickup/oauth/callback, POST /credentials/source/oauth/start, POST /credentials/source/oauth/callback |
| Sources | POST /sources, PATCH /sources/{source_id}, DELETE /sources/{source_id} |
| Destinations | POST /destinations, PATCH /destinations/{destination_id} |
| Pipelines | POST /pipelines/prepare, POST /pipelines, PATCH /pipelines/{pipeline_id}, DELETE /connections/{connection_id}, POST /pipelines/{pipeline_id}/sync |
| Reverse ETL | POST /reverse-etl/prepare, GET /reverse-etl/models, POST /reverse-etl/models, PATCH /reverse-etl/models/{modelId}, DELETE /reverse-etl/models/{modelId}, GET /reverse-etl/destinations, POST /reverse-etl/destinations, PATCH /reverse-etl/destinations/{destinationId}, DELETE /reverse-etl/destinations/{destinationId}, GET /reverse-etl/activations, POST /reverse-etl/activations, PATCH /reverse-etl/activations/{activationId}, DELETE /reverse-etl/activations/{activationId}, POST /reverse-etl/activations/{activationId}/run, GET /reverse-etl/runs/{runId} |
| Jobs | GET /jobs/{job_id} |
| Approvals | GET /approvals, GET /approval-policies, PATCH /approval-policies/{category}, POST /approvals/{approval_id}/approve, POST /approvals/{approval_id}/reject |
| Audit | GET /audit-logs, GET /sessions, POST /sessions/{session_id}/revoke |
Source OAuth
Source connector OAuth flows use the Daspire Control API. The runtime OAuth exchange is handled internally, and the public callback response returns a Daspire credential_handle instead of provider tokens.
| Endpoint | Purpose |
|---|---|
POST /credentials/source/oauth/start | Return the provider authorization URL for a source connector. |
POST /credentials/source/oauth/callback | Store the OAuth result as a Daspire credential and return a credential_handle. |
MCP exposes these through daspire_get_source_oauth_consent_url and daspire_complete_source_oauth.
Safety Model
MCP clients return approval proposals for write operations by default. Workspace administrators can use GET /approval-policies and PATCH /approval-policies/{category} to choose which MCP categories require approval. Requests sent with X-Daspire-Execution-Mode: proposal always return an approval proposal.
Source deletion is guarded: delete associated connections first, then call DELETE /sources/{source_id}. Delete responses include a post-delete verification flag.
Secret values are accepted only through secure credential flows and are never returned by the API. API responses use credential_handle when a credential needs to be referenced.
Example
curl -H "Authorization: Bearer $DASPIRE_TOKEN" \
https://api.daspire.com/daspire/api/control/v1/connectors