---
title: "Create Note Endpoint"
method: POST
path: "/notes"
tags: ["Notes"]
---

# Create Note Endpoint

`POST /notes`

Create a new note

## Request body

- NoteInput
  - `body` string, required — The text content of the note.
  - `model_type` 'automation' | 'comment' | 'conversation' | 'email' | 'external_feed' | 'invitation' | 'socialmention' | 'stripe_customer' | 'subscriber' | 'survey' | 'tag' | 'webmention', required — The type of object this note is attached to (e.g., 'email', 'subscriber').
  - `model_id` string, required — The UUID or TypeID of the object this note is attached to.
  - `metadata` object — A structured key-value blob that you can use to store arbitrary data on the object. Metadata can be nested — you can store objects and arrays within your metadata. (You can [read more about metadata.](https://docs.buttondown.com/metadata))

## Response `201`

Created

- Note
  - `id` string, required — A unique TypeID associated with the object.
  - `creation_date` string, date-time, required — The date and time at which the object was first created.
  - `body` string, required — The text content of the note.
  - `model_type` 'automation' | 'comment' | 'conversation' | 'email' | 'external_feed' | 'invitation' | 'socialmention' | 'stripe_customer' | 'subscriber' | 'survey' | 'tag' | 'webmention', required — The type of object this note is attached to (e.g., 'email', 'subscriber').
  - `model_id` string, required — The UUID or TypeID of the object this note is attached to.
  - `metadata` object, required
  - `source` 'admin' | 'user', required — The source of the note. If the note was created by a Buttondown admin, this will be 'admin'; otherwise, it will be 'user'.
  - `user_id` string, nullable
  - `user` User
    - `permissions` Permissions, required
      - `subscriber` 'none' | 'read' | 'write' — An enumeration.
      - `email` 'none' | 'read' | 'write' — An enumeration.
      - `sending` 'none' | 'read' | 'write' — An enumeration.
      - `styling` 'none' | 'read' | 'write' — An enumeration.
      - `administrivia` 'none' | 'read' | 'write' — An enumeration.
      - `automations` 'none' | 'read' | 'write' — An enumeration.
      - `surveys` 'none' | 'read' | 'write' — An enumeration.
      - `forms` 'none' | 'read' | 'write' — An enumeration.
    - `email_address` string, required — The email address of the user.
    - `id` string, required — A unique TypeID associated with the object.
    - `creation_date` string, date-time, required — The date and time at which the object was first created.
    - `status` 'pending' | 'accepted' | 'declined' | 'revoked' | 'owner', required — An enumeration.
    - `last_logged_in` string, date-time, nullable — When the user last logged in, or null if they haven't accepted the invitation.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `409` — Conflict
- `422` — Unprocessable Entity
- `429` — Too Many Requests

---

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