Fini’s public API lets you move data and agent calls between Fini and your own systems, backends, dashboards, analytics pipelines, QA tooling, and support operations workflows. There are two ways to call it, and both authenticate the same way:Documentation Index
Fetch the complete documentation index at: https://docs.usefini.com/llms.txt
Use this file to discover all available pages before exploring further.
REST API
Call endpoints directly from your backend over HTTPS with a Bearer token. Language-agnostic, full control.
Claude skill pack
Every Fini API exposed as a Claude skill. Drive the same operations from a Claude workflow without writing the HTTP layer.
Authentication
Every endpoint authenticates with a workspace API key sent as a Bearer token.Create a key in Deploy → API Keys
Go to Deploy → API Keys. Create, reveal, and revoke credentials there. Keys are workspace-scoped, each workspace needs its own.
Choose the right scope
Read routes require the
read scope. Routes that create, update, or queue work require write. The reference page for each endpoint documents which scope it needs.Base URL
Using the Claude skill pack
The skill pack is the easiest way to call Fini from a Claude workflow, fetching interactions, running the agent, and updating knowledge become skill calls instead of HTTP requests.Provide your workspace API key
The skill pack authenticates with the same
fini_... key created in Deploy → API Keys. Paste the key when prompted on first use.Knowledge written through the API, REST or skill pack, is an input, not a direct write to the source of truth. It lands in Review and Approvals (or publishes directly if explicitly chosen), exactly like Sources or Magic Articles. The API does not bypass the consolidation layer.
Why credentials live in Deploy
You create and revoke credentials from Deploy → API Keys because that workflow belongs in the product UI. The endpoint reference lives here so developer docs stay in one place.Why the API isn’t working
401 Unauthorized
401 Unauthorized
403 Forbidden
403 Forbidden
The key is valid but missing the scope the endpoint requires (
read for reads, write for document registration and ingestion), or it’s scoped to a different workspace than the data you’re calling. Use the key that belongs to the workspace you’re targeting.The skill pack can't authenticate
The skill pack can't authenticate
The skill pack uses the same workspace API key as REST. If skill calls fail with an auth error, re-provide the key, it’s the same
fini_... credential, not a separate token.Knowledge written via the API doesn't show up in agent answers
Knowledge written via the API doesn't show up in agent answers
Expected. API-written knowledge enters Review as a draft. It only affects answers once approved and published, and only for bots the article is attached to.
The key works on your server but not from a browser
The key works on your server but not from a browser
Keys are server-side credentials. Proxies and client-side
fetch wrappers commonly strip the Authorization header, confirm it’s actually being sent from that environment, and don’t ship the key to a browser even if you can get it to work.A read endpoint returns an empty response
A read endpoint returns an empty response
Usually means the workspace has no matching data in the requested window or filter set. This is expected, not an error.

