---
title: "Create note"
method: POST
path: "/v1/notes"
tags: ["Notes"]
---

# Create note

`POST /v1/notes`

Create a new data entry (note) within a Dovetail project. Data entries capture raw research data — interview transcripts, survey responses, or session recordings. They must be associated with a project via `project_id`.

**Note:** The notes resource has been renamed to **data** in Dovetail. New integrations should use **Create data** (`POST /v1/data`) instead.

You can provide the initial content as plain text or HTML via the `content` field, and attach custom field data via the `fields` array.

Returns the note object without the content body.

> 🚧 Permissions
>
> Please check you have the relevant permissions required to access this resource. This may include specific permissions on the object itself or its parent, or having the correct user role if you're making updates.

## Request body

- object
  - `title` string — The note's title.
  - `fields` object[] — The note's fields.
    - `label` string, required — The field's label (name). Must match an existing field label when updating, or will create a new field when creating.
    - `value` union, required — The field's value. Type depends on the field type: string for TEXT/EMAIL/URL/PHONE, boolean for BOOLEAN, number for NUMBER/NPS, string (ISO 8601) for DATETIME, string array for SELECT, or string (contact name) for PERSON. Null to clear the value.
      - string
      - boolean
      - number
      - string[]
    - `type` 'BOOLEAN' | 'DATETIME' | 'EMAIL' | 'NPS' | 'NUMBER' | 'PERSON' | 'PHONE' | 'SELECT' | 'TEXT' | 'URL' — Include the desired type when creating a new field. If omitted or left empty, the field type defaults to TEXT. Do not include this property when referencing an existing field.
  - `content` string — The initial content of the note, which may include plain text or HTML content.
  - `project_id` string, required — Unique identifier of the project that the note is associated with.

## Response `201`

201

- object
  - `data` object, required
    - `id` string, required
    - `url` string — The URL of this resource in the Dovetail web app. This field is experimental and may change without notice.
    - `type` 'note', required
    - `title` string, required
    - `project` object, required
      - `id` string, required
      - `title` string, required
    - `fields` object[], required
      - `label` string, required — The field's label (name). Must match an existing field label when updating, or will create a new field when creating.
      - `value` union, required — The field's value. Type depends on the field type: string for TEXT/EMAIL/URL/PHONE, boolean for BOOLEAN, number for NUMBER/NPS, string (ISO 8601) for DATETIME, string array for SELECT, or string (contact name) for PERSON. Null to clear the value.
        - string
        - boolean
        - number
        - string[]
      - `type` 'BOOLEAN' | 'DATETIME' | 'EMAIL' | 'NPS' | 'NUMBER' | 'PERSON' | 'PHONE' | 'SELECT' | 'TEXT' | 'URL' — Include the desired type when creating a new field. If omitted or left empty, the field type defaults to TEXT. Do not include this property when referencing an existing field.
    - `files` object[], required
      - `id` string, required — Unique identifier of the file.
      - `name` string, required — The file's original name.
      - `type` string, nullable, required — The file's MIME type (e.g. 'image/png', 'video/mp4'). Null if unknown.
      - `size` number, nullable, required — Size of the file in bytes. Null if unknown.
      - `status` 'completed' | 'pending' | 'failed', required — Processing status of the file. 'pending' while being processed, 'completed' when ready, or 'failed' if processing encountered an error.
      - `author` union, required — The user who uploaded the file, or null if the author is unknown.
        - object
          - `id` string, required
          - `name` string
        - string, null, nullable
      - `created_at` union, required — ISO 8601 timestamp when the file was created.
        - string
        - string, null, nullable
      - `url` string, nullable, required — Permanent URL pointing at the **Download a file** endpoint. Safe to cache and store — the URL itself never expires, but calling it requires the same authentication as other API endpoints and returns a short-lived presigned URL each time. The endpoint performs its own readiness and access checks.
    - `created_at` string, required
    - `deleted` boolean, required
    - `folder` object, nullable, required
      - `id` string, required

## Other responses

- `400` — 400
- `401` — 401
- `403` — 403
- `404` — 404
- `422` — 422
- `429` — 429
- `500` — 500

---

[API](https://skmtc.net/dovetail/apis/dovetail-public-api.md) · [All operations](https://skmtc.net/dovetail/apis/dovetail-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/dovetail/dovetail-public-api/versions/4107f5fdf8b2/schema)
