Opening Final Frame
Verifying your credentialsEstablishing an encrypted sessionPreparing your workspace
Secured by WorkOS
This is taking longer than usual. Your connection may be slow.

Final Frame for agents.

An agent works in Final Frame through the same API, the same permissions and the same audit trail as a person in the app. This is what it can do today, and the controls an organisation holds over it.

01

What an agent can do, stage by stage

StageWhat it does
DiscoverReads who its key acts as and what it may do, the OpenAPI document, the rights vocabulary, llms.txt and agent.json
ProvisionApplies an organisation’s set-up as one document, mints keys, invites people, sets roles and builds the group tree
OperateCreates and edits deals, titles and placeholders, uploads files through signed links and raises work orders
RightsRecords rights held and restrictions, answers availability with reasons, searches avails and pencils them for a prospect
SpecsKeeps the delivery spec library and copies the platforms’ published specs into it
StorageImports from the organisation’s own buckets and delivers files out to them, with checksums and a receipt
MonitorFollows every background run, reads metered usage, the action log, close-outs and platform status
RecoverRetries or stops a run, tests and rotates a webhook, redelivers an event and restores an archived deal
DeprovisionRevokes keys, removes members and groups, archives deals and deletes them, files recoverable for 30 days
02

The surfaces

SurfaceWhat it is
REST APIEvery resource under /v1, with an OpenAPI 3.1 document generated from the running code
MCP server74 tools, four resources (llms.txt, OpenAPI, error codes, capabilities) and three workflow prompts over Streamable HTTP, for Claude, ChatGPT, Cursor or an agent of your own
ff command lineEvery command a call to the API, with --json for scripts. Publishing to npm as @finalframe/cli
TypeScript SDKA typed client with no dependencies. Publishing to npm as @finalframe/sdk
Python SDKStandard library only, call for call the same as TypeScript. Publishing to PyPI as finalframe
WebhooksSigned events for assets, QC, status, handoffs, buybacks, deliveries, deals and every run that ends, retried, with a delivery log
Config as codeDelivery specs, formats, metadata schema and taxonomies as one document: export it, keep it, apply it
03

Governance for agents

ControlWhat happens
Per-key permissionsA key carries only the permissions chosen for it, never more than the credential that minted it holds
ApprovalsWith approvals on, a write by an agent waits as a proposal until a person approves or declines it
No self-approvalA credential never decides its own proposal; an undecided one expires after seven days
AuditEvery action lands on the organisation’s append-only action log with the credential named
Pause and revokeAn administrator sees each connected app and its recent actions, and can pause or revoke it
Idempotent writesEvery write takes an idempotency key; a retry within a day returns the first answer
Rate limits600 requests a minute per key and 3,000 per organisation, with Retry-After beyond them
04

The Sandbox

What it is
Fictional dataA distributor with deals, titles, deliverables, specs, work orders and rights, none of it real
Its own keysKeys start ff_sbx_ and work nowhere else; every answer carries X-FF-Environment: sandbox
Safe to changeSame API and MCP server as every organisation, and the data is reset on a schedule
AccessAsk for a key; once approved, a one-time link shows it in your browser. It lasts ninety days
05

What we commit to

CommitmentWhat it means
MCP is first-classNew capabilities arrive as MCP tools beside the API, under the same permissions and audit trail
CLI and SDKs keep upEvery new feature ships in the API with its ff command and its calls in both SDKs
OAuth sign-in: comingAn agent will send a person to Final Frame to sign in and act with their access. Until then, keys
06