> ## Documentation Index
> Fetch the complete documentation index at: https://trysalty.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Notes

> Free-form text attached to a person, company, or deal.

## Endpoints

| Method   | Path         | Purpose                                                                        |
| -------- | ------------ | ------------------------------------------------------------------------------ |
| `GET`    | `/notes`     | List, paginated                                                                |
| `POST`   | `/notes`     | Create (parent required)                                                       |
| `GET`    | `/notes/:id` | Fetch one                                                                      |
| `PATCH`  | `/notes/:id` | Update body                                                                    |
| `DELETE` | `/notes/:id` | Soft-delete (moves to 30-day trash; restore via POST /trash/notes/:id/restore) |

## Fields

| Field                | Type                            | Notes                                     |
| -------------------- | ------------------------------- | ----------------------------------------- |
| `id`                 | uuid                            |                                           |
| `parent_object_type` | `person` \| `company` \| `deal` | Required. Custom objects as parents: v1.1 |
| `parent_object_id`   | uuid                            | Must exist in the same workspace          |
| `body`               | string                          | Required, non-empty                       |
| `created_at`         | datetime                        |                                           |

## Create

```bash theme={null}
curl -X POST $SALTY_API/notes \
  -H "Authorization: Bearer $SALTY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "parent_object_type": "person",
    "parent_object_id": "<person-uuid>",
    "body": "first call: good fit"
  }'
```

If the parent doesn't exist in this workspace, you get `400 parent_not_found`. If `parent_object_type` is anything other than `person` / `company` / `deal`, you get `400 invalid_parent_type`.
