---
title: "Query notes"
method: POST
path: "/v1/notes/query"
tags: ["Notes"]
---

# Query notes

`POST /v1/notes/query`

## Request

- Base URL: `https://api.relaticle.com`
- URL: `https://api.relaticle.com/v1/notes/query`
- Auth: HTTP bearer

Returns the same records as the list endpoint, with filter, sort, include and pagination sent as a JSON body, so a filter too large for a URL still fits. To fetch the next page, re-send the same body with the next `page`, or with `cursor` set to `meta.next_cursor` after a first request with `"cursor": true`. A GET to `links.next` is not a valid request. A body larger than 256 KB returns 413.

## Request body

- object
  - `per_page` integer: Number of results per page (1-100). Default: 15.
  - `cursor` string: Switches to cursor pagination. Send `true` for the first page, then the `meta.next_cursor` value of the previous page. Sorts by a custom field need `page`.
  - `page` integer: Page number for offset pagination (1-1,000,000, when cursor is not used). Default: 1.
  - `include` string: Include related resources (comma-separated). Allowed: creator, companies, people, opportunities, companiesCount, peopleCount, opportunitiesCount.
  - `sort` string: Sort results. Prefix with `-` for descending. Allowed: title, -title, created_at, -created_at, updated_at, -updated_at.
  - `fields` string
  - `filter` object: An object of conditions. Keys starting with $ are keywords: operators ($eq, $contains, $is_empty, $gt, $gte, $lt, $lte, $has_any, $has_none, $in, $not_in) and logic ($and and $or take a list of condition objects, $not takes one and also returns records where the inner fields are empty). Other keys are names. A filter holds at most 20 conditions, 3 levels of $and, $or and $not, and 2 levels of relations. A list holds at most 100 values. Email values match in any letter case. Phone values match in any format, and the operand needs a country code such as +1 415 555 0100. Link values match in any letter case, with or without the scheme. Domain values match as a bare host or a full URL, with or without www. Tags-input values match the exact stored value. Date-time values match a date without a time, such as 2026-10-01, as that whole day. Email and link fields also take a domain sub-field with $in or $not_in, such as {"domain":{"$in":["acme.com"]}}, which matches the host of each value. $not_in and $has_none also match records where the field is empty. $is_empty takes true or false. Native fields: title, created_at, updated_at, creation_source. Relations take $in, $not_in or $is_empty on record ids, or conditions on the related record that use that record type's own filter names, including custom_fields. Prefer conditions over listing the related records first and passing their ids: companies (company), people (people), opportunities (opportunity). Member relations take $in, $not_in or $is_empty on workspace member ids only, with no nested conditions: creator. custom_fields takes an object keyed by custom field code, each value an operator object.

## Response `200`

- object
  - `data` object[]
    - `id` string
    - `type` string
    - `attributes` object
      - `title` string
      - `creation_source` string
      - `created_at` string
      - `updated_at` string
      - `custom_fields` object
  - `links` object
    - `first` string
    - `last` string
    - `prev` string, nullable
    - `next` string, nullable
  - `meta` object
    - `current_page` integer
    - `from` integer
    - `last_page` integer
    - `links` object[]
      - `url` string, nullable
      - `label` string
      - `page` string, nullable
      - `active` boolean
    - `path` string
    - `per_page` integer
    - `to` integer
    - `total` integer

## Other responses

- `401`: Missing or invalid access token.
- `402`: Relaticle Cloud only: the workspace is paused until it has an active subscription. The body carries an `upgrade_url`.
- `403`: The token lacks the `create` ability, or its user no longer belongs to the token's workspace.
- `422`: Validation failed.
- `429`: Rate limit exceeded. Back off for the number of seconds in `Retry-After`.

---

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