---
title: "Create a recording"
method: POST
path: "/recordings"
tags: ["Recordings"]
---

# Create a recording

`POST /recordings`

## Request

- Base URL: `https://app.italic.com/api/v2`
- URL: `https://app.italic.com/api/v2/recordings`
- Auth: HTTP bearer

Required permission: recordings:create.

## Headers

- `Idempotency-Key` string, required

## Request body

- CreateRecording
  - `type` 'clip' | 'memo', required
  - `title` string
  - `transcript` string
  - `summary` string
  - `recordedAt` integer
  - `externalId` string
  - `audio` object[]
    - `clientId` string, required
    - `fileId` string, required
  - `deviceId` string: A custom device of the account (POST /devices) that made the recording. The apps then show its name on the recording, as they do for a device Italic connects to. Omit it for a recording that came from no device.

## Response `200`

Success. Writes without read permission return an ID and revision only.

- RecordingResult
  - `recording` union, required
    - Recording
      - `id` string, required
      - `type` 'clip' | 'memo', required
      - `title` string, required
      - `transcript` string, required
      - `summary` string, required
      - `recordedAt` integer, required
      - `updatedAt` integer, required
      - `revision` integer, required
      - `status` 'pending' | 'transcribing' | 'ready' | 'no_speech' | 'failed', required
      - `pinned` boolean, required
      - `audio` object[], required
        - `clientId` string, required
        - `fileId` string, required
      - `deviceId` string
      - `externalId` string
    - object
      - `id` string, required
      - `revision` integer, required
  - `replayed` boolean

## Other responses

- `default`: Request failed. Errors include a stable code and a readable message.

---

[API](https://skmtc.dev/italic/apis/italic-api.md) - [All operations](https://skmtc.dev/italic/apis/italic-api/llms.txt) - [OpenAPI document](https://skmtc.dev/italic/apis/italic-api/revisions/2fbe2cf16fe3?raw)
