Files
magnus919_agent-skills/fireflies/references/api-reference.md
T

69 lines
3.9 KiB
Markdown

# Fireflies API Reference
## Model and Auth
Fireflies exposes GraphQL at `https://api.fireflies.ai/graphql`. Send JSON with `query`, optional
`variables`, and optional `operationName`; authenticate with `Authorization: Bearer <API key>`.
Queries are read-only. Mutations create, update, or delete server-side state.
Use `scripts/fireflies query` and `scripts/fireflies mutation` as the compatibility escape hatch
for every documented current or future operation. The CLI rejects mutations on `query`, queries on
`mutation`, and requires `--confirm` for a non-dry-run generic mutation.
## Documented Families
| Family | Documented operation |
|---|---|
| Meetings | `transcripts`, `transcript`, `deleteTranscript`, `updateMeetingTitle`, `updateMeetingPrivacy`, `updateMeetingState`, `updateMeetingChannel`, `shareMeeting`, `revokeSharedMeetingAccess` |
| Workspace | `user`, `users`, `contacts`, `channels`, `channel`, `user_groups`, `setUserRole` |
| Content | `bites`, `bite`, `createBite`, `apps`, `analytics` |
| Live | `active_meetings`, `live_action_items`, `createLiveActionItem`, `addToLiveMeeting`, `createLiveSoundbite` |
| Automation | `auditEvents`, `rule_executions_by_meeting`, `uploadAudio`, `createUploadUrl`, `confirmUpload` |
| AskFred | `askfred_threads`, `askfred_thread`, `createAskFredThread`, `continueAskFredThread`, `deleteAskFredThread` |
The ergonomic CLI documents use conservative selections. `live add` calls
`createLiveActionItem(input: CreateLiveActionItemInput!)` with `meeting_id` and `prompt` only;
`live add-to` calls `addToLiveMeeting` with the documented flat arguments; `live soundbite` calls
`createLiveSoundbite`. Use the generic `mutation` escape hatch for any operation not represented
by an ergonomic command. Use introspection only through `schema introspect`; availability
depends on the deployment.
## Live-Schema Audit (2026-08-05)
CLI documents were re-validated against live GraphQL introspection on 2026-08-05. The published
docs at docs.fireflies.ai drifted from the live schema in the following ways, which the CLI now
follows (live schema wins):
- `TranscriptsQueryScope` is documented for the `transcripts` query but absent from the live
schema; `scope` is a plain `String` there.
- `transcripts` organizers/participants require non-null elements (`[String!]`), and the query
accepts `title`, `organizer_email`, and `participant_email` filters.
- `createBite` names its argument `transcript_Id` (capital I) and `privacies` takes
`[BitePrivacy!]` (enum: `public`, `team`, `participants`).
- `shareMeeting` input gained `expiry_days` (7, 14, or 30).
- `transcript` selection gained `video_url` and `audio_url` (meeting recording download links),
verified by live introspection on 2026-08-10.
- `updateMeetingChannel` (changelog 2.15.0), `addToLiveMeeting`, `createLiveSoundbite`,
`createUploadUrl`/`confirmUpload`, `setUserRole`, and `askfred_thread` were added as ergonomic
commands after the audit found them documented but uncovered.
## Pagination and Limits
`transcripts` uses `limit` plus `skip`, with a documented maximum limit of 50. The CLI rejects a
higher value. Bites also support `limit` and `skip`; their list query requires one of `mine`,
`transcript_id`, or `my_team`. Respect plan limits: Free is 50 requests/day, Pro 500/day, and
Business/Enterprise 60/minute. Add to Live is 3 per 20 minutes, meeting sharing is 10/hour, and
`deleteTranscript` is 10/minute.
## Errors and Access
GraphQL errors are returned in `errors` and can include `message`, `code`, `friendly`, and
`extensions.helpUrls`. The CLI preserves that response on stdout in JSON mode and exits 5.
`too_many_requests` can include `retryAfter`; delay before retrying. Audit events and rule execution
logs have Enterprise/admin restrictions. Do not infer the caller's plan or authorization locally.
AskFred mutations require AI credits.
## Primary Sources
See [source-index.md](source-index.md) for dated primary documentation URLs and claim scope.