FOR DEVELOPERS

One request to connect.
Zero backend code.

REST API for API connections. No SDK, no backend server, no credential management. Globally distributed proxy. Claude and ChatGPT connected over MCP.

TERMINAL
$ curl api.liteio.dev/proxy/cn_a8f3/v1/models \ -H "Authorization: Bearer sk_..." {"data":[ {"id":"gpt-4o","object":"model"}, {"id":"gpt-4o-mini","object":"model"}, {"id":"o1-preview","object":"model"} ]}
QUICKSTART

Three steps to your first API call.

1

Get a token

Register with your Ed25519 public key. Verify to get a bearer token.

AUTH
POST /auth/register {"actor":"my-app","public_key":"..."} POST /auth/challenge {"actor":"my-app"} POST /auth/verify {"challenge_id":"ch_...","actor":"my-app", "signature":"..."}
2

Create a connection

Store credentials once. Encrypted with AES-GCM-256, never returned in responses.

CONNECT
POST /connections { "name": "OpenAI", "base_url": "https://api.openai.com", "auth_type": "bearer", "auth_config": {"token": "sk-proj-..."} } → {"id":"cn_a8f3e1b2","name":"OpenAI"}
3

Call via proxy

Use the connection ID. Auth headers injected automatically. Your code never touches a credential.

PROXY
GET /proxy/cn_a8f3e1b2/v1/models Authorization: Bearer sk_your_api_key → 200 OK (42ms) {"data":[{"id":"gpt-4o",...}]}
API SURFACE

Everything you need in three groups.

Register

Add APIs by name and URL. Upload OpenAPI specs to auto-extract every endpoint and schema.

POST /apis POST /apis/:id/spec GET /apis/:id/endpoints

Connect

Store credentials encrypted. Bearer, API key, basic auth, OAuth — all supported.

POST /connections POST /connections/:id/test GET /connections

Proxy

Route any request through the hub. Auth injected automatically, every call logged.

ALL /proxy/:connId/* POST /proxy/:connId/request
CODE EXAMPLES

Works with any language.

Plain HTTP. No SDK required.

CURL
# Create a connection curl -X POST https://api.liteio.dev/connections \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"name":"Stripe","base_url":"https://api.stripe.com", "auth_type":"bearer","auth_config":{"token":"sk_live_..."}}' # Call via proxy curl https://api.liteio.dev/proxy/cn_d5e6/v1/customers?limit=10 \ -H "Authorization: Bearer $TOKEN"
JAVASCRIPT
// Create connection const conn = await fetch("https://api.liteio.dev/connections", { method: "POST", headers: { "Authorization": `Bearer ${TOKEN}`, "Content-Type": "application/json", }, body: JSON.stringify({ name: "GitHub", base_url: "https://api.github.com", auth_type: "bearer", auth_config: { token: "ghp_..." }, }), }).then(r => r.json()); // Call via proxy const repos = await fetch( `https://api.liteio.dev/proxy/${conn.id}/user/repos`, { headers: { "Authorization": `Bearer ${TOKEN}` } }, ).then(r => r.json());
PYTHON
import requests # Create connection conn = requests.post("https://api.liteio.dev/connections", headers={"Authorization": f"Bearer {TOKEN}"}, json={ "name": "Slack", "base_url": "https://slack.com/api", "auth_type": "bearer", "auth_config": {"token": "xoxb-..."}, }).json() # Call via proxy channels = requests.get( f"https://api.liteio.dev/proxy/{conn['id']}/conversations.list", headers={"Authorization": f"Bearer {TOKEN}"}, ).json()
GO
// Create connection body := `{"name":"Twilio","base_url":"https://api.twilio.com", "auth_type":"basic", "auth_config":{"username":"AC...","password":"..."}}` req, _ := http.NewRequest("POST", "https://api.liteio.dev/connections", strings.NewReader(body)) req.Header.Set("Authorization", "Bearer "+token) req.Header.Set("Content-Type", "application/json") resp, _ := http.DefaultClient.Do(req) // Call via proxy req, _ = http.NewRequest("POST", "https://api.liteio.dev/proxy/"+connID+ "/2010-04-01/Accounts/AC.../Messages.json", msgBody) req.Header.Set("Authorization", "Bearer "+token) resp, _ = http.DefaultClient.Do(req)
MCP PROTOCOL

Your AI calls real APIs.

Connect Claude or ChatGPT via MCP. 6 tools, zero code.

api_list
List registered APIs
api_endpoints
List endpoints for an API
connection_list
List connections (masked)
api_call
Make authenticated API call
api_discover
Preview OpenAPI spec from URL
api_mock
Generate mock response

Claude.ai

Settings → Integrations → Add custom connector → https://api.liteio.dev/mcp

ChatGPT

Settings → Connected apps → Add by URL → https://api.liteio.dev/mcp

SECURITY

Credentials are never exposed.

AES-GCM-256

Per-actor derived keys via HKDF-SHA256. Decrypted only at proxy time.

Actor isolation

Every query scoped to the authenticated actor. No cross-tenant access.

Audit logging

Every proxied request logged with actor, method, status, and duration.

Scoped keys

Create keys for read, write, proxy, or admin. Set expiry and revoke.

Ed25519 auth

No passwords. Challenge-response with public-key cryptography.

Masked responses

Credentials shown as sk-p***. Full values never leave the server.

Start building with any API.

Connect your first API in 30 seconds. No SDK, no backend.

# API Developer Guide Base URL: https://api.liteio.dev API is a developer hub for connecting to any REST API. Create a connection with credentials, call it via proxy, and your client never touches an API key. No SDK required — every endpoint is plain HTTP with JSON. ## Quickstart Three steps from zero to your first proxied API call. ### 1. Get a token Register with your Ed25519 public key, then verify to get a bearer token.
bash # Register curl -X POST https://api.liteio.dev/auth/register \ -H "Content-Type: application/json" \ -d '{"actor":"my-app","public_key":"base64-ed25519-pubkey"}' # Challenge curl -X POST https://api.liteio.dev/auth/challenge \ -H "Content-Type: application/json" \ -d '{"actor":"my-app"}' # Verify (sign the challenge nonce with your private key) curl -X POST https://api.liteio.dev/auth/verify \ -H "Content-Type: application/json" \ -d '{"challenge_id":"ch_...","actor":"my-app","signature":"base64-sig"}'
### 2. Create a connection Store your API credentials once. They're encrypted with AES-GCM-256 and never returned in responses.
bash curl -X POST https://api.liteio.dev/connections \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "OpenAI", "base_url": "https://api.openai.com", "auth_type": "bearer", "auth_config": {"token": "sk-proj-..."} }' # Response: {"id":"cn_a8f3e1b2","name":"OpenAI","auth_config_masked":{"token":"sk-p***..."}}
### 3. Call via proxy Use the connection ID to call any upstream endpoint. Auth headers injected automatically.
bash curl https://api.liteio.dev/proxy/cn_a8f3e1b2/v1/models \ -H "Authorization: Bearer $TOKEN" # Response: upstream JSON (e.g., {"data":[{"id":"gpt-4o",...}]})
## API Surface ### Register Register any REST API by name and URL. Upload an OpenAPI spec to auto-extract endpoints.
MethodEndpointDescription
POST/apisRegister an API definition
GET/apisList APIs
GET/apis/{id}Get API details
PUT/apis/{id}Update API
DELETE/apis/{id}Delete API
POST/apis/{id}/specUpload OpenAPI spec
GET/apis/{id}/specDownload raw spec
GET/apis/{id}/endpointsList extracted endpoints
### Connect Store credentials encrypted. Supports bearer, API key, basic auth, and OAuth tokens.
MethodEndpointDescription
POST/connectionsCreate connection
GET/connectionsList connections (masked)
PUT/connections/{id}Update connection
DELETE/connections/{id}Delete connection
POST/connections/{id}/testTest connection
### Proxy Route any HTTP request through the hub. Credentials injected, never exposed to your client.
MethodEndpointDescription
ALL/proxy/{connId}/*Transparent proxy
POST/proxy/{connId}/requestExplicit proxy (structured JSON)
### Discover & Mock Import OpenAPI specs from URL. Generate mock responses without upstream calls.
MethodEndpointDescription
POST/discoverPreview spec from URL
POST/discover/importImport spec as API
POST/mock/{apiId}/requestGenerate mock response
### Auth & Keys
MethodEndpointDescription
POST/auth/registerRegister actor
POST/auth/challengeRequest challenge nonce
POST/auth/verifyVerify signature, get token
POST/keysCreate API key
GET/keysList keys
DELETE/keys/{id}Revoke key
## Code Examples ### JavaScript
javascript const TOKEN = "your-session-token"; const BASE = "https://api.liteio.dev"; // Create a connection const conn = await fetch(`${BASE}/connections`, { method: "POST", headers: { "Authorization": `Bearer ${TOKEN}`, "Content-Type": "application/json", }, body: JSON.stringify({ name: "Stripe", base_url: "https://api.stripe.com", auth_type: "bearer", auth_config: { token: "sk_live_..." }, }), }).then(r => r.json()); // Call via proxy const customers = await fetch( `${BASE}/proxy/${conn.id}/v1/customers?limit=10`, { headers: { "Authorization": `Bearer ${TOKEN}` } }, ).then(r => r.json());
### Python
python import requests TOKEN = "your-session-token" BASE = "https://api.liteio.dev" # Create connection conn = requests.post(f"{BASE}/connections", headers={"Authorization": f"Bearer {TOKEN}"}, json={ "name": "GitHub", "base_url": "https://api.github.com", "auth_type": "bearer", "auth_config": {"token": "ghp_..."}, }).json() # Call via proxy repos = requests.get( f"{BASE}/proxy/{conn['id']}/user/repos", headers={"Authorization": f"Bearer {TOKEN}"}, ).json()
### Go
go // Create connection body := `{"name":"Slack","base_url":"https://slack.com/api", "auth_type":"bearer","auth_config":{"token":"xoxb-..."}}` req, _ := http.NewRequest("POST", "https://api.liteio.dev/connections", strings.NewReader(body)) req.Header.Set("Authorization", "Bearer "+token) req.Header.Set("Content-Type", "application/json") resp, _ := http.DefaultClient.Do(req) // Call via proxy req, _ = http.NewRequest("GET", "https://api.liteio.dev/proxy/"+connID+"/conversations.list", nil) req.Header.Set("Authorization", "Bearer "+token) resp, _ = http.DefaultClient.Do(req)
## MCP Protocol Connect Claude or ChatGPT to call APIs directly from the conversation.
ToolDescription
api_listList registered APIs
api_endpointsList endpoints for an API
connection_listList connections (masked)
api_callMake authenticated request via connection
api_discoverPreview OpenAPI spec from URL
api_mockGenerate mock response from spec
### Connect Claude.ai 1. Open Settings > Integrations 2. Click Add custom connector 3. Enter URL: https://api.liteio.dev/mcp 4. Done ### Connect ChatGPT 1. Open Settings > Connected apps 2. Click Add app > Add by URL 3. Enter URL: https://api.liteio.dev/mcp 4. Done ## Security - AES-GCM-256 encryption with per-actor derived keys (HKDF-SHA256) - Actor isolation — every resource scoped to authenticated actor - Masked responses — credentials never returned in API responses - Scoped API keys — read, write, proxy, or admin with expiry - Audit logging — every proxied request logged with actor and duration - Ed25519 auth — no passwords, public-key cryptography only ## Links - API Reference — Swagger UI - OpenAPI Spec — Machine-readable - MCP Tools — AI agent integration - Marketplace — Browse popular APIs - Architecture — System design