---
title: "List notes"
method: GET
path: "/notes"
tags: ["Notes"]
---

# List notes

`GET /notes`

Returns a list of notes. Uses cursor pagination.

## Query parameters

- `limit` integer
- `cursor` string
- `modifiedSince` string, date-time
- `modifiedUntil` string, date-time
- `candidateId` string
- `clientContactId` string
- `source` 'phone' | 'phoneInbound' | 'phoneOutbound' | 'inPerson' | 'onlineMeeting' | 'callAttempted'
- `labelIds` string[]

## Response `200`

Successfully retrieved notes. Returns items array with pagination info containing cursor for the next page.

- GetNotesResponseDto
  - `items` NoteDto[], required
    - `id` string, required
    - `title` string, nullable, required
    - `content` string, required
    - `createdAt` string, date-time, required
    - `lastEditedAt` string, date-time, required
    - `createdBy` UserBadgeDto, required
      - `id` string, required
      - `name` string, required
      - `avatarUrl` string, nullable, required
      - `deactivatedAt` string, date-time, required
    - `editors` NoteEditorDto[], required
      - `editedBy` UserBadgeDto, required
        - `id` string, required
        - `name` string, required
        - `avatarUrl` string, nullable, required
        - `deactivatedAt` string, date-time, required
      - `editedAt` string, date-time, required
    - `links` NoteLinkDto[], required
      - union
        - object
          - `id` string, required
          - `noteId` string, required
          - `entityType` 'candidate', required
          - `candidate` object, required
            - `id` string, required
            - `firstName` string, required
            - `lastName` string, required
            - `middleName` string, nullable, required
            - `secondLastName` string, nullable, required
            - `avatarUrl` string, nullable, required
        - object
          - `id` string, required
          - `noteId` string, required
          - `entityType` 'vacancy', required
          - `vacancy` object, required
            - `id` string, required
            - `name` string, required
          - `client` ClientBadgeDto, required
            - `id` string, required
            - `name` string, required
            - `logoUrl` string, nullable, required
        - object
          - `id` string, required
          - `noteId` string, required
          - `entityType` 'client', required
          - `client` ClientBadgeDto, required
            - `id` string, required
            - `name` string, required
            - `logoUrl` string, nullable, required
        - object
          - `id` string, required
          - `noteId` string, required
          - `entityType` 'application', required
          - `applicationId` string, required
        - object
          - `id` string, required
          - `noteId` string, required
          - `entityType` 'clientContact', required
          - `clientContact` object, required
            - `id` string, required
            - `firstName` string, required
            - `lastName` string, required
            - `middleName` string, nullable, required
            - `secondLastName` string, nullable, required
            - `avatarUrl` string, nullable, required
            - `candidateId` string, required
            - `companyId` string, required
            - `companyName` string, required
            - `companyLogoUrl` string, nullable, required
        - object
          - `id` string, required
          - `noteId` string, required
          - `entityType` 'interview', required
          - `interviewId` string, required
        - object
          - `id` string, required
          - `noteId` string, required
          - `entityType` 'opportunity', required
          - `opportunity` object, required
            - `id` string, required
            - `name` string, required
            - `company` CompanyBadgeDto, required
              - …
    - `meeting` NoteLinkedMeetingDto, required
      - `id` string, required
      - `meetingProvider` 'googleMeet' | 'zoom' | 'microsoftTeams' | 'audioFile' | 'null', nullable, required
      - `title` string, required
      - `startTime` string, date-time, required
      - `endTime` string, date-time, required
      - `hasTranscript` boolean, required
    - `call` NoteLinkedCallDto, required
      - `id` string, required
      - `provider` 'TELNYX' | 'AIRCALL' | 'RINGCENTRAL' | 'RINGOVER' | 'VOIPPLAY' | 'DIALPAD', required
      - `startTime` string, date-time, required
      - `endTime` string, date-time, required
      - `hasTranscript` boolean, required
    - `audioRecording` NoteLinkedAudioRecordingDto, required
      - `id` string, required
      - `startTime` string, date-time, required
      - `endTime` string, date-time, required
      - `hasTranscript` boolean, required
    - `type` 'manual' | 'aiSummary', required
    - `source` 'phone' | 'phoneInbound' | 'phoneOutbound' | 'inPerson' | 'onlineMeeting' | 'callAttempted' | 'null', nullable, required
    - `pinned` boolean, required
    - `shouldPoll` boolean, required
    - `labels` object[], required
      - `id` string, required
      - `name` string, required
      - `colorHex` string, required
  - `pageInfo` object, required
    - `nextCursor` string, nullable, required
    - `hasNextPage` boolean, required

## Other responses

- `400` — Bad request - invalid query parameters (e.g., limit out of range, invalid date format)
- `401` — Unauthorized - invalid or missing authentication
- `500` — Error response

---

[API](https://skmtc.net/spott/apis/spott-webhooks.md) · [All operations](https://skmtc.net/spott/apis/spott-webhooks/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/spott/spott-webhooks/revisions/ad1f8c51cf0a/schema)
