Documentation

Everything you need to get started with Callio.

Quick Start

1. Create an account

Sign up at callio.dev to get access to the dashboard and API key management.

Create account

2. Generate an API key

Go to your dashboard and generate a Callio API key. This single key works across all APIs.

callio_a1b2c3d4e5f6...

3. Make your first API call

Use your key to call any API through the Callio proxy:

curl -X GET "https://callio.dev/api/proxy/jsonplaceholder/posts/1" \
  -H "Authorization: Bearer callio_your_key_here"

Authentication

All API requests through Callio are authenticated using your Callio API key. Pass it as a Bearer token in the Authorization header:

Authorization: Bearer callio_your_key_here

For APIs that require provider authentication (e.g., OpenAI, SendGrid), save your provider API key in the API detail page. Callio will automatically attach it when proxying your requests.

API Proxy

Callio acts as a proxy between your application and upstream APIs. The proxy URL pattern is:

https://callio.dev/api/proxy/<api-slug>/<path>

For APIs with custom base URLs, you can also use the forwarding mode:

https://callio.dev/api/proxy/<api-slug>/forward?target=<encoded-url>

Supported methods

GETPOSTPUTPATCHDELETE

Response headers

Callio proxy responses include these headers:

  • x-callio-proxy: true
  • x-callio-api: <slug>
  • x-callio-upstream-status: <status>

MCP (Cursor, Antigravity, Claude Code)

MCP (Model Context Protocol) lets an AI client talk to external tools over a standard channel. Callio ships an MCP server so your agent can use the marketplace without a separate integration per API. Product overview: callio.dev/mcp.

What runs where

  • Your machine: the Callio MCP process (usually via npx … callio-mcp or node on the server file). Cursor / Antigravity start it and list its tools.
  • Callio's servers: catalog (/api/browse) and the authenticated proxy (/api/proxy/…) when a tool needs to execute a request.

The three tools (and what they map to)

MCP toolPurposeCallio key?
search_apisSearch the catalog (like Browse). Optional query / category.No
get_api_infoFull detail for one API: endpoints, params, auth notes. Pass slug.No
call_apiHTTP call through the proxy: slug, path, method, optional body / query.Yes — set CALLIO_API_KEY in MCP env.

Configure Cursor

Project file: .cursor/mcp.json. Set CALLIO_API_KEY and restart MCP (or restart Cursor). Settings → Tools & MCP should show callio connected with three tools.

Configure Antigravity / Claude Code

Same JSON shape: mcpServers.callio with command, args, and env.CALLIO_API_KEY. Paths differ by app (Antigravity: MCP settings; Claude Code: ~/.claude/claude_desktop_config.json).

Optional: custom base URL

Advanced/self-hosted: set CALLIO_BASE_URL (default https://callio.dev).

If something fails

  • 401 on call_api: Key missing, revoked, or no workspace — generate a new key on the dashboard and update MCP env, then restart.
  • Provider errors (OpenAI, etc.): Add your provider key on that API's page on Callio (BYOK).
  • Tools missing: Restart MCP; confirm the process path in config matches your install (npx vs local node).

Agent Integration

For Cursor, Antigravity, and Claude Code, use the MCP section above — that is the supported way to give agents catalog + proxy access with one config.

For custom agents or apps that call HTTP directly, use your Callio API key with the proxy URL:

{
  "callio": {
    "api_key": "callio_your_key_here",
    "proxy_url": "https://callio.dev/api/proxy"
  }
}

You can also use the "Add to Agent" flow on individual API pages where available.

Official SDK

For Node.js and TypeScript environments, we provide an official SDK to make interacting with the Callio proxy even easier.

Installation

npm install callio-sdk

Usage

import { CallioClient } from 'callio-sdk';

// Initialize with your single Callio API Key
const callio = new CallioClient('callio_your_api_key');

// Make a request to any supported API
const response = await callio.post('openai', 'v1/chat/completions', {
  model: 'gpt-4',
  messages: [{ role: 'user', content: 'Hello!' }]
});

console.log(response);

Code Examples

Python

import requests

headers = {"Authorization": "Bearer callio_your_key"}
response = requests.get(
    "https://callio.dev/api/proxy/jsonplaceholder/posts/1",
    headers=headers
)
print(response.json())

JavaScript

const response = await fetch(
  "https://callio.dev/api/proxy/jsonplaceholder/posts/1",
  { headers: { Authorization: "Bearer callio_your_key" } }
);
const data = await response.json();
console.log(data);

Need help? Contact us