Skip to main content

REST API Reference

Base URL

https://integration-hub.rezolve.ai/api/v1

Authentication

All requests require an API key from Settings → API Access, passed as a Bearer token:

Authorization: Bearer YOUR_API_KEY

Executing a tool

POST /tools/{tool_key}/execute
Content-Type: application/json

Request body

FieldTypeRequiredDescription
inputobjectYesTool input matching the tool's input schema
connection_idstringNoSpecific connection to route to. If omitted, uses domain default
idempotency_keystringNoReplay-safe identifier for write/destructive calls
dry_runbooleanNoIf true, validate input but don't execute

Response envelope

{
"success": true,
"data": { /* tool-specific output */ },
"connection_id": "conn_abc123",
"duration_ms": 412,
"request_id": "req_..."
}

On error:

{
"success": false,
"error": {
"code": "CONNECTION_NOT_FOUND",
"message": "No active connection for domain 'itsm'",
"details": {}
},
"request_id": "req_..."
}

Common error codes

CodeMeaning
UNAUTHORIZEDMissing or invalid API key
FORBIDDENAPI key lacks permission for this tool
TOOL_NOT_FOUNDUnknown tool_key
CONNECTION_NOT_FOUNDNo active connection for the tool's domain
INVALID_INPUTInput failed schema validation
APPROVAL_REQUIREDWrite/destructive tool requires human approval
UPSTREAM_ERRORVendor API returned an error (see details)
RATE_LIMITEDThrottled by Integration Hub or the upstream vendor

Listing tools

GET /tools
GET /tools?domain=itsm

Getting a tool definition

GET /tools/{tool_key}

Returns the tool's input/output JSON Schemas, risk level, and the connectors that implement it.

Approval workflow

When you call a write or destructive tool that's policy-gated, Integration Hub returns APPROVAL_REQUIRED and creates an entry in Approvals. Once an approver acts, replay the call with the original idempotency_key.

Rate limits

Per-workspace and per-API-key limits are enforced. Limits are returned in standard X-RateLimit-* headers. Exceeded calls return 429 with code RATE_LIMITED.