Skip to main content

API overview

FinalSay exposes an Agent API under /v1/* for automations (n8n, Zapier, scripts, MCP). It uses your Agent ID and workspace API key from the web dashboard or mobile app—not your personal login. The web dashboard and mobile app use a separate private API with your user session to show agents, approvals, and settings. You do not need that API for integrations; use only the Agent API (or MCP tools that proxy to it) documented here.

Other transports

ApproachNotes
RESTCall /v1/* directly—see Agent API.
MCPSame agent identity and backend; the FinalSay adapter exposes request_human_approval, create_approval (same create as the former), and get_approval_result. See MCP.

Who this is for

You want to…Use
Build workflows in n8n or ZapierAgent API with X-Agent-Id + X-Api-Key (or the Zapier integration)
Use MCP tools from a compatible clientMCP + same credentials
Use the product as a human approverWeb dashboard and/or Mobile app

Base URL

Use the HTTPS base URL provided by your deployment (for example https://api.example.com). All paths below are appended to that host.

Agent authentication

Every /v1 request must include:
HeaderDescription
X-Agent-IdUUID of the active agent (from the web dashboard or mobile app)
X-Api-KeyFull workspace API key (shown only once when generated)
Typical errors:
HTTPerrorMeaning
401missing_agent_authMissing headers
401invalid_agentWrong or inactive agent
401invalid_api_keyKey revoked or wrong team
403USAGE_APPROVAL_LIMITApproval create blocked by plan/subscription usage cap (when enabled)
429rate_limitedToo many creates in a short window
Details: Agent API.

Rate limits & quotas

  • Burst limit on POST /v1/approvals: default 60 creates per agent per 60 seconds (sliding window); deployments can change this. Exceeded → 429 rate_limited. See Rate limits.
  • Plan / billing caps (when enabled) → 403 USAGE_APPROVAL_LIMIT. See Automation limits & billing.

Callbacks & OpenAPI

Connectivity check

If your host exposes it, GET /health may return { "ok": true } to verify the service is up. Availability depends on your environment.