Skip to main content

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

AreaEndpoints
Current userGET /me
WorkspacesGET /workspaces, GET /workspaces/{workspace_id}/members, POST /workspaces/{workspace_id}/members/invitations, DELETE /workspaces/{workspace_id}/members/{member_id}
ConnectorsGET /connectors, GET /connectors/{connector_id}, GET /connectors/{connector_id}/spec
CredentialsPOST /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
SourcesPOST /sources, PATCH /sources/{source_id}, DELETE /sources/{source_id}
DestinationsPOST /destinations, PATCH /destinations/{destination_id}
PipelinesPOST /pipelines/prepare, POST /pipelines, PATCH /pipelines/{pipeline_id}, DELETE /connections/{connection_id}, POST /pipelines/{pipeline_id}/sync
Reverse ETLPOST /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}
JobsGET /jobs/{job_id}
ApprovalsGET /approvals, GET /approval-policies, PATCH /approval-policies/{category}, POST /approvals/{approval_id}/approve, POST /approvals/{approval_id}/reject
AuditGET /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.

EndpointPurpose
POST /credentials/source/oauth/startReturn the provider authorization URL for a source connector.
POST /credentials/source/oauth/callbackStore 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