Meetily
Automation API

Authentication & scopes

The four scopes, how they combine, who a token belongs to, and how a caller resolves one.

Authenticated calls to the Meetily API, whether from the meetily-pro CLI, an MCP client, or a script hitting HTTP directly, carry a bearer token. Each token is scoped to specific permissions and belongs to exactly one consumer.

Scopes

ScopeAllows
readView full meeting content, including transcripts, summaries, search results, and exports, plus recording and job status, config, devices, models, and webhook subscriptions and delivery history.
recordStart, stop, pause, and resume recording. Implies read; starting from another computer also requires the host to pre-arm remote recording.
writeRename a meeting, edit speaker labels, set or regenerate a summary, control jobs (retry, pause, resume, cancel), and change several global settings. Implies read.
deleteDelete meetings. Removing their stored audio/video files is a separate opt-in. Available only to computer-reach credentials; never to paired devices or network-reach keys, and never as an MCP tool.

No admin scope

There is no admin scope, and no admin HTTP route. Administration, meaning managing tokens, reviewing pairings, and revoking access, happens only in the desktop app, at Settings > Integrations. See Governance & administration.

How scopes combine

Scopes aren't independent switches you check one at a time. Three rules decide what a token can actually do:

  • write implies read. A token with write can do everything read can.
  • record implies read, the same way.
  • delete is independent: it does not imply read. The Create key dialog always includes read for new keys. Deleting a webhook you own requires read and ownership, not delete.

What you grant when you issue a token

read is always on in Create key and cannot be turned off. Because it exposes full meeting content, not just titles or notifications, grant it only to a client you trust with that content. record, write, and delete are off by default; each needs your deliberate choice.

A new key is not live until you Allow it

Creating a key is not enough. Under Apps & scripts, an app key or newly paired device starts "Not allowed yet" and connects only after you turn on its Allow control; until then calls return consumer_disabled. The built-in CLI uses the separate Allow the CLI on this computer strip. A key or device can be revoked from its row.

write is broader than "edit the summary." Granting it lets a token change a meeting's title and speaker labels, regenerate a summary (which, on a hosted provider, spends that provider's credits), retry or otherwise control a job, and change several of the app's global settings. Treat write as "can change things," not "can edit text."

Who a token belongs to

Every token belongs to exactly one consumer, identified by a (kind, id) pair. Four kinds exist today:

  • first_party - the app itself, including the built-in CLI key.
  • assistant - an MCP client, such as an AI assistant connected through meetily-pro mcp.
  • app_key - a key you create yourself from Create key.
  • device - a remote client that paired over the network.

Connecting a new assistant grants read only by default. Record, Write, and Delete are opt-in permissions in the AI Assistants (MCP) connection sheet. See MCP server.

Revoking a token

Revoking a token is atomic and final. A revoked token is tombstoned, not merely deactivated - it does not come back on its own. Restarting the app, restarting a pairing, or downgrading out of Pro and back in does not re-mint or resurrect it. If you need access again after revoking, issue a new key or pair again.

Token expiry

ConsumerDefault expiryNotes
App keyNeverChoose 30 days, 90 days, or Never at creation. Expiry is an absolute timestamp, not a rolling window - renewing is a manual action, with no silent renewal.
Paired device90 daysFixed from the moment the pairing is approved.
Built-in CLI keyNeverExempt from the expiry that applies to other tokens.

Resolving a token

The meetily-pro CLI and its MCP process resolve a token in this order:

  1. An explicit --token-file <path> flag.
  2. The MEETILY_PRO_TOKEN environment variable.
  3. The loopback token file Meetily writes for the built-in CLI key.

The legacy --token <value> flag is recognized only to reject it with exit code 1. Direct HTTP callers manage their own Authorization: Bearer ... value; this resolution order does not apply to them.

PlatformLoopback token file
macOS~/Library/Application Support/pro.meetily.ai/gateway-token
Windows%APPDATA%\pro.meetily.ai\gateway-token
Linux$XDG_DATA_HOME/pro.meetily.ai/gateway-token

The loopback file only authenticates requests from this computer and is never used implicitly for a non-loopback server. Network access needs an explicit network-reach credential: a paired-device token or an app key created with network reach. See Pairing & remote access.

The built-in CLI key

Meetily ships a built-in credential for the meetily-pro CLI. Its underlying name is loopback, its reach is computer, its consumer kind is first_party, and it has Read-only access. It is inert until you use Allow the CLI on this computer below the collapsed Apps & scripts header. It never expires. See Enable & connect.

Last updated on

On this page