Docs
Developers

Quickstart

Transform recordings into text-only Clips or Memos with local audio.

A recording is an audio input. The app transforms it into one of two types:

  • Clip (clip) — a short burst, command, or quick note. Only text is kept; the audio is deleted once the text is saved.
  • Memo (memo) — a longer recording or note. Both text and audio are saved, with the audio kept locally.

Text syncs to the cloud. Memo audio stays on the client that holds it; the API can reference local file IDs without storing the audio. “Recording” is the shared input and API resource, not a third type or another name for Memo. The app's selected input mapping determines the result, not the firmware or a duration threshold.

Base URL: https://app.italic.com/api/v2.

API keys

Create a key in Settings → Developers → API keys and send it with each request:

Authorization: Bearer itk_…
Creating an API key in Settings → Developers. The secret is shown once; it's hidden in this recording.

The secret is shown once. Keep it on your server or in the client's secret storage, outside URLs, source control, analytics, and public client bundles.

PermissionAllows
recordings:createCreate recordings
recordings:readRead and search recordings
recordings:writeEdit recording text and pin state
recordings:deleteDelete recordings
settings:readRead devices, their settings and account preferences
settings:writeUpdate device settings and account preferences, and create custom devices
events:readRead recording notifications
workflows:readList workflows and connected apps
workflows:writeTurn workflows on or off
actions:reviewList what workflows drafted, and approve or discard it
agent:chatChat with Italic, answer its questions, and approve or discard what a chat drafted
workflows:manageCreate, edit and delete workflows
webhooks:manageAdd webhook steps to workflows, and manage notification webhooks (with events:read); each new webhook's signing secret is returned once
connectors:manageChange whether each connected app asks first, and disconnect accounts

These permissions apply to the account's recordings, workflows and connected apps. Create and edit permissions alone do not grant read access. Start with only what your integration needs. Chat, tasks and workflows covers the last six.

Keys created in Settings expire after 90 days. With POST /api-keys you can choose 1–365 days; the default is 90. An account can have up to 50 active keys. The limit is 120 requests per minute per key. A 429 response includes Retry-After; wait that many seconds before retrying. Revocation takes effect on subsequent requests.

Manage access

Use Settings, or use a signed-in account session with POST /api-keys, GET /api-keys, and DELETE /api-keys/{id}. Creation takes a name, scopes (the permissions above) and an optional expiresInDays. Italic assigns the integration identity automatically. The response contains key metadata and a one-time secret.

An API key cannot create or revoke keys, and cannot connect an app account: these need the account owner's session, and connecting is a sign-in with the provider in the Italic apps. A key with webhooks:manage and events:read can manage notification webhooks. Existing keys also work with v2; they do not need to be recreated.

Create your first recording

Create an API key in Settings → Developers → API keys. Select recordings:create and recordings:read to follow this example.

The Developers page in Settings: a Name field, the list of permissions with recordings:create selected, and the Create API key · 90 days button.
Settings → Developers. Choose a name and the permissions, then Create API key.
curl https://app.italic.com/api/v2/recordings \
  -H "Authorization: Bearer $ITALIC_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: meeting-123' \
  --data '{"type":"memo","title":"Planning","transcript":"Discuss the next release."}'

Only type is required in the body. Italic supplies an ID and timestamp. Reuse the same retry key and body if a request fails or its response is lost.

Read a recording with GET /recordings/{id}, edit selected fields with PATCH /recordings/{id}, or search Home with GET /recordings. Send the ETag from the GET as If-Match on PATCH and DELETE; without it the request answers 428. See Edit and delete.

Existing integrations

The public API uses https://app.italic.com/api/v2. Existing /api/v1 endpoints, API keys, MCP connections, webhooks, and app synchronization continue working. There is no recording-data migration for this version.

v1v2
content.kind: "memo"type: "memo"
content.kind: "clip"type: "clip"
content.title, content.transcript, content.summarytitle, transcript, summary
content.isPinnedpinned
Full-content PUTPartial-field PATCH
Required externalId and recordedAtOptional; retry key still required
Input mapping revision historyCurrent device settings
Token creation with caller-selected application IDAPI key creation with automatic identity
Processing and audio cleanup reportsKept in the existing app protocol

Existing callers should continue retrying original imports through the API version that created them. Do not replay the same import through both versions. Use v2 for new imports and for reading or editing existing recordings.

The v1 OpenAPI document remains available for existing integrations. Local transfer verification, audio cleanup, and processing reports are unchanged. See text delivery from workflows for the existing webhook extension, and MCP for agent connections.

Next steps

  • Recordings: the object, editing, search, and optional local audio references.
  • Device settings: choose what each recording input creates.
  • Webhooks: receive recording notifications.
  • Chat, tasks and workflows: ask Italic, decide its drafts, and build workflows.
  • MCP: connect an AI agent to your recordings.

Download the OpenAPI document to generate a client. Existing app clients and v1 integrations continue working; see Existing integrations above.

On this page