Skip to main content

Danube API

The Danube API provides programmatic access to tool discovery, execution, workflows, skills, and more. Use these endpoints to integrate Danube capabilities into your own applications. All endpoints use the base URL https://api.danubeai.com/v1.

Authentication

Include your API key in the request headers:
Some endpoints are fully public and require no authentication. Each endpoint page notes which auth is required.

Rate Limits

API requests are rate limited based on your plan: The retired Starter plan keeps 300 requests a minute for accounts that still hold it.

Endpoints Overview

Tools (API Key)

List Tools

Get all available tools

Search Tools

Find tools using natural language

Get Tool

Get tool details by ID

Get Tool by Name

Look up a tool by exact name

Call Tool

Execute a tool with parameters

Services (Public)

List Services

Browse available service providers

Get Service

Get service details

Get Service Tools

Get all tools for a service

Skills (Public)

List Skills

Browse the skills marketplace

Search Skills

Find skills using natural language

Get Skill

Get skill content and scripts

Workflows (Public + API Key)

List Public Workflows

Browse public multi-tool workflows

Get Workflow

Get workflow details and steps

Execute Workflow

Run a workflow with inputs

Get Execution

Check workflow execution results

Ratings (Public)

Get Tool Ratings

Get aggregated ratings for a tool

Credentials (API Key)

Store Credential

Store an API key or bearer token

Context (API Key or JWT)

Get Context

Organization and personal context, merged for an agent

Upsert Personal Context

Write a personal context document by name

Webhooks (JWT)

List Webhooks

Get all your webhooks

Create Webhook

Register a new webhook endpoint

Update Webhook

Change URL, events, or active status

Get Deliveries

View delivery history

Device Auth (Public)

Create Device Code

Start device auth flow

Poll Device Token

Poll for API key

Response Format

All responses are JSON. Every error, whatever raised it, uses one envelope: an error object with a machine-readable code, a human-readable message, and details when the server has more to say.
code is derived from the status when the endpoint does not set one: validation_error (400, 422), unauthorized (401), payment_required (402), forbidden (403), not_found (404), conflict (409), rate_limited (429), internal_error (5xx and any other status). A consent handshake answers 409 with code: "confirmation_required" and the confirm_token in details. Common HTTP status codes: A monthly-limit 429 from /v1/tools/call/{tool_id} carries usage and upgrade_url in details, which tells it apart from per-minute rate limiting. Retrying will not help until the 1st of the next month or after an upgrade:
The daily cap on Danube’s own hosted AI tools answers 402 with code: "payment_required" and the same details shape.

SDKs and Libraries

  • Python SDK: pip install danube — see Python SDK docs
  • TypeScript SDK: npm install danube — see TypeScript SDK docs
  • CLI: npm install -g danube-cli — see CLI docs
  • MCP Protocol: Connect AI assistants directly — see Quickstart
  • REST API: Use the endpoints documented here with any HTTP client