Skip to main content
POST
/
v1
/
credentials
/
store
curl -X POST "https://api.danubeai.com/v1/credentials/store" \
  -H "danube-api-key: YOUR_DANUBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "service_id": "svc_openai_001",
    "credential_type": "bearer",
    "credential_value": "sk-proj-abc123..."
  }'
{
  "success": true,
  "service_id": "svc_openai_001",
  "service_name": "OpenAI",
  "credential_type": "bearer"
}

Overview

Stores a credential (API key or bearer token) for a service so that Danube can authenticate tool executions on your behalf. This is the agent-friendly credential storage endpoint — designed for programmatic use from SDKs and MCP clients. For OAuth credentials, use the dashboard OAuth flow instead. Auth: Requires API key (danube-api-key header).

Body Parameters

service_id
string
required
UUID of the service to store credentials for
credential_type
string
required
Type of credential: bearer or api_key
credential_value
string
required
The actual credential value (API key or bearer token)

Response

success
boolean
Whether the credential was stored successfully
service_id
string
The service the credential is for
service_name
string
Human-readable service name
credential_type
string
The type that was stored

Example

curl -X POST "https://api.danubeai.com/v1/credentials/store" \
  -H "danube-api-key: YOUR_DANUBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "service_id": "svc_openai_001",
    "credential_type": "bearer",
    "credential_value": "sk-proj-abc123..."
  }'
{
  "success": true,
  "service_id": "svc_openai_001",
  "service_name": "OpenAI",
  "credential_type": "bearer"
}

MCP Tool

This endpoint is also available as the store_credential MCP tool:
result = await mcp.call_tool("store_credential", {
    "service_id": "svc_openai_001",
    "credential_type": "bearer",
    "credential_value": "sk-proj-abc123..."
})

Notes

  • Credentials are encrypted at rest using AES-256
  • Only bearer and api_key types are supported via this endpoint
  • For OAuth, use the dashboard credential flow at /dashboard/tools/:serviceId
  • Storing a new credential for the same service replaces the existing one