> ## Documentation Index
> Fetch the complete documentation index at: https://forest-chore-open-api.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# List notes

> Returns notes and their messages for a specific project and environment, sorted by `id` in descending order (most recent first).

<Warning>
  The token must be generated by a user with an **Admin** role on the project. Tokens generated by non-admin users will not have access to this endpoint.
</Warning>

<Warning>
  If your project uses SSO, the application token must be generated while logged in with SSO.
</Warning>

<Note>
  Results are paginated. When `hasMore` is `true`, fetch the next page by
  passing `createdAt.lt` set to the oldest `createdAt` in the current
  response.
</Note>


## OpenAPI

````yaml reference/api/openapi.json GET /v1/project/{projectName}/environment/{environmentName}/notes
openapi: 3.0.0
info:
  title: Forest Admin public API
  version: 1.38.0
servers:
  - url: https://public-api.forestadmin.com
security: []
tags: []
paths:
  /v1/project/{projectName}/environment/{environmentName}/notes:
    get:
      summary: List notes
      description: >-
        Returns notes and their messages for a specific project and environment,
        sorted by `id` in descending order (most recent first).
      operationId: listNotes
      parameters:
        - schema:
            type: string
            minLength: 1
            description: The **case sensitive** environment name
          required: true
          name: environmentName
          in: path
        - schema:
            type: string
            minLength: 1
            description: The **case sensitive** project name
          required: true
          name: projectName
          in: path
        - schema:
            type: integer
            minimum: 1
            exclusiveMinimum: true
            maximum: 100
            default: 10
            description: >-
              This specifies a limit on the number of objects to return, ranging
              between 1 and 100. Limit is set to 10 by default
          required: false
          name: limit
          in: query
        - schema:
            type: string
            format: email
            description: The user email
          required: false
          name: userEmail
          in: query
        - schema:
            type: integer
            minimum: 1
            description: The user id
          required: false
          name: userId
          in: query
        - schema:
            type: string
            minLength: 1
            description: The team name
          required: false
          name: teamName
          in: query
        - schema:
            type: string
            minLength: 1
            description: The collection name (same as in the schema).
          required: false
          name: collectionName
          in: query
        - schema:
            type: string
            minLength: 1
            description: The record id
          required: false
          name: recordId
          in: query
        - schema:
            type: string
            format: date-time
            description: Value to filter by
          required: false
          name: createdAt.eq
          in: query
        - schema:
            type: string
            format: date-time
            description: >-
              Maximum value to filter by (exclusive). This filter supports
              date-time values in ISO 8601 format (YYYY-MM-DDTHH:MM), e.g.,
              2024-06-04T09:21:26.159Z.
          required: false
          name: createdAt.lt
          in: query
        - schema:
            type: string
            format: date-time
            description: >-
              Minimum value to filter by (inclusive). This filter supports
              date-time values in ISO 8601 format (YYYY-MM-DDTHH:MM), e.g.,
              2024-06-04T09:21:26.159Z.
          required: false
          name: createdAt.lte
          in: query
        - schema:
            type: string
            format: date-time
            description: >-
              Minimum value to filter by (exclusive). This filter supports
              date-time values in ISO 8601 format (YYYY-MM-DDTHH:MM), e.g.,
              2024-06-04T09:21:26.159Z.
          required: false
          name: createdAt.gt
          in: query
        - schema:
            type: string
            format: date-time
            description: >-
              Maximum value to filter by (inclusive). This filter supports
              date-time values in ISO 8601 format (YYYY-MM-DDTHH:MM), e.g.,
              2024-06-04T09:21:26.159Z.
          required: false
          name: createdAt.gte
          in: query
        - schema:
            type: string
            format: date-time
            description: Value to filter by
          required: false
          name: updatedAt.eq
          in: query
        - schema:
            type: string
            format: date-time
            description: >-
              Maximum value to filter by (exclusive). This filter supports
              date-time values in ISO 8601 format (YYYY-MM-DDTHH:MM), e.g.,
              2024-06-04T09:21:26.159Z.
          required: false
          name: updatedAt.lt
          in: query
        - schema:
            type: string
            format: date-time
            description: >-
              Minimum value to filter by (inclusive). This filter supports
              date-time values in ISO 8601 format (YYYY-MM-DDTHH:MM), e.g.,
              2024-06-04T09:21:26.159Z.
          required: false
          name: updatedAt.lte
          in: query
        - schema:
            type: string
            format: date-time
            description: >-
              Minimum value to filter by (exclusive). This filter supports
              date-time values in ISO 8601 format (YYYY-MM-DDTHH:MM), e.g.,
              2024-06-04T09:21:26.159Z.
          required: false
          name: updatedAt.gt
          in: query
        - schema:
            type: string
            format: date-time
            description: >-
              Maximum value to filter by (inclusive). This filter supports
              date-time values in ISO 8601 format (YYYY-MM-DDTHH:MM), e.g.,
              2024-06-04T09:21:26.159Z.
          required: false
          name: updatedAt.gte
          in: query
        - schema:
            type: string
            format: date-time
            description: Value to filter by
          required: false
          name: archivedAt.eq
          in: query
        - schema:
            type: string
            format: date-time
            description: >-
              Maximum value to filter by (exclusive). This filter supports
              date-time values in ISO 8601 format (YYYY-MM-DDTHH:MM), e.g.,
              2024-06-04T09:21:26.159Z.
          required: false
          name: archivedAt.lt
          in: query
        - schema:
            type: string
            format: date-time
            description: >-
              Minimum value to filter by (inclusive). This filter supports
              date-time values in ISO 8601 format (YYYY-MM-DDTHH:MM), e.g.,
              2024-06-04T09:21:26.159Z.
          required: false
          name: archivedAt.lte
          in: query
        - schema:
            type: string
            format: date-time
            description: >-
              Minimum value to filter by (exclusive). This filter supports
              date-time values in ISO 8601 format (YYYY-MM-DDTHH:MM), e.g.,
              2024-06-04T09:21:26.159Z.
          required: false
          name: archivedAt.gt
          in: query
        - schema:
            type: string
            format: date-time
            description: >-
              Maximum value to filter by (inclusive). This filter supports
              date-time values in ISO 8601 format (YYYY-MM-DDTHH:MM), e.g.,
              2024-06-04T09:21:26.159Z.
          required: false
          name: archivedAt.gte
          in: query
      responses:
        '200':
          description: List of notes
          content:
            application/json:
              schema:
                type: object
                properties:
                  hasMore:
                    type: boolean
                    description: >-
                      Whether or not there are more elements available after
                      this set. If false, this set comprises the end of the
                      list.
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        object:
                          type: string
                          enum:
                            - note
                        id:
                          type: integer
                          description: ID of the note
                        title:
                          type: string
                          description: The title of the note
                        recordId:
                          type: string
                          minLength: 1
                          description: The record id the note is related to
                        createdAt:
                          type: string
                          format: date-time
                          description: The date and time the note was created
                        collection:
                          type: object
                          properties:
                            object:
                              type: string
                              enum:
                                - collection
                            name:
                              type: string
                              minLength: 1
                              description: The collection name (same as in the schema).
                          required:
                            - object
                            - name
                          description: >-
                            The collection the note is related to. Notes created
                            on a collection deleted before 2024-06-11 might be
                            missing this value.
                        messages:
                          type: array
                          items:
                            type: object
                            properties:
                              object:
                                type: string
                                enum:
                                  - note-message
                              content:
                                type: string
                                description: The content of the message
                              createdAt:
                                type: string
                                format: date-time
                                description: The date and time the message was created
                              user:
                                type: object
                                properties:
                                  object:
                                    type: string
                                    enum:
                                      - user
                                  email:
                                    type: string
                                    format: email
                                    description: The user email
                                  id:
                                    type: integer
                                    minimum: 0
                                  username:
                                    type: string
                                    minLength: 1
                                required:
                                  - object
                                  - email
                                  - id
                                  - username
                                additionalProperties: false
                                description: The user who created the message
                            required:
                              - object
                              - content
                              - createdAt
                              - user
                          description: The messages of the note
                        updatedAt:
                          type: string
                          format: date-time
                          description: >-
                            The date and time the note was updated, or a message
                            added to the note.
                        archivedAt:
                          type: string
                          format: date-time
                          description: The date and time the note was archived.
                        user:
                          type: object
                          properties:
                            object:
                              type: string
                              enum:
                                - user
                            email:
                              type: string
                              format: email
                              description: The user email
                            id:
                              type: integer
                              minimum: 0
                            username:
                              type: string
                              minLength: 1
                          required:
                            - object
                            - email
                            - id
                            - username
                          additionalProperties: false
                          description: The user who created the note
                        environment:
                          type: object
                          properties:
                            object:
                              type: string
                              enum:
                                - environment
                            name:
                              type: string
                              minLength: 1
                              description: The name of the environment
                          required:
                            - object
                            - name
                          additionalProperties: false
                          description: The environment the note is related to
                        team:
                          type: object
                          properties:
                            object:
                              type: string
                              enum:
                                - team
                            name:
                              type: string
                              minLength: 1
                              description: The name of the team
                          required:
                            - object
                            - name
                          additionalProperties: false
                          description: The team the note is related to
                      required:
                        - object
                        - id
                        - title
                        - recordId
                        - createdAt
                        - messages
                        - updatedAt
                        - user
                        - environment
                        - team
                      additionalProperties: false
                  parameters:
                    type: object
                    properties:
                      environmentName:
                        type: string
                        minLength: 1
                        description: The **case sensitive** environment name
                      projectName:
                        type: string
                        minLength: 1
                        description: The **case sensitive** project name
                      limit:
                        type: integer
                        minimum: 1
                        exclusiveMinimum: true
                        maximum: 100
                        default: 10
                        description: >-
                          This specifies a limit on the number of objects to
                          return, ranging between 1 and 100. Limit is set to 10
                          by default
                      userEmail:
                        type: string
                        format: email
                        description: The user email
                      userId:
                        type: integer
                        minimum: 1
                        description: The user id
                      teamName:
                        type: string
                        minLength: 1
                        description: The team name
                      collectionName:
                        type: string
                        minLength: 1
                        description: The collection name (same as in the schema).
                      recordId:
                        type: string
                        minLength: 1
                        description: The record id
                      createdAt.eq:
                        type: string
                        format: date-time
                        description: Value to filter by
                      createdAt.lt:
                        type: string
                        format: date-time
                        description: >-
                          Maximum value to filter by (exclusive). This filter
                          supports date-time values in ISO 8601 format
                          (YYYY-MM-DDTHH:MM), e.g., 2024-06-04T09:21:26.159Z.
                      createdAt.lte:
                        type: string
                        format: date-time
                        description: >-
                          Minimum value to filter by (inclusive). This filter
                          supports date-time values in ISO 8601 format
                          (YYYY-MM-DDTHH:MM), e.g., 2024-06-04T09:21:26.159Z.
                      createdAt.gt:
                        type: string
                        format: date-time
                        description: >-
                          Minimum value to filter by (exclusive). This filter
                          supports date-time values in ISO 8601 format
                          (YYYY-MM-DDTHH:MM), e.g., 2024-06-04T09:21:26.159Z.
                      createdAt.gte:
                        type: string
                        format: date-time
                        description: >-
                          Maximum value to filter by (inclusive). This filter
                          supports date-time values in ISO 8601 format
                          (YYYY-MM-DDTHH:MM), e.g., 2024-06-04T09:21:26.159Z.
                      updatedAt.eq:
                        type: string
                        format: date-time
                        description: Value to filter by
                      updatedAt.lt:
                        type: string
                        format: date-time
                        description: >-
                          Maximum value to filter by (exclusive). This filter
                          supports date-time values in ISO 8601 format
                          (YYYY-MM-DDTHH:MM), e.g., 2024-06-04T09:21:26.159Z.
                      updatedAt.lte:
                        type: string
                        format: date-time
                        description: >-
                          Minimum value to filter by (inclusive). This filter
                          supports date-time values in ISO 8601 format
                          (YYYY-MM-DDTHH:MM), e.g., 2024-06-04T09:21:26.159Z.
                      updatedAt.gt:
                        type: string
                        format: date-time
                        description: >-
                          Minimum value to filter by (exclusive). This filter
                          supports date-time values in ISO 8601 format
                          (YYYY-MM-DDTHH:MM), e.g., 2024-06-04T09:21:26.159Z.
                      updatedAt.gte:
                        type: string
                        format: date-time
                        description: >-
                          Maximum value to filter by (inclusive). This filter
                          supports date-time values in ISO 8601 format
                          (YYYY-MM-DDTHH:MM), e.g., 2024-06-04T09:21:26.159Z.
                      archivedAt.eq:
                        type: string
                        format: date-time
                        description: Value to filter by
                      archivedAt.lt:
                        type: string
                        format: date-time
                        description: >-
                          Maximum value to filter by (exclusive). This filter
                          supports date-time values in ISO 8601 format
                          (YYYY-MM-DDTHH:MM), e.g., 2024-06-04T09:21:26.159Z.
                      archivedAt.lte:
                        type: string
                        format: date-time
                        description: >-
                          Minimum value to filter by (inclusive). This filter
                          supports date-time values in ISO 8601 format
                          (YYYY-MM-DDTHH:MM), e.g., 2024-06-04T09:21:26.159Z.
                      archivedAt.gt:
                        type: string
                        format: date-time
                        description: >-
                          Minimum value to filter by (exclusive). This filter
                          supports date-time values in ISO 8601 format
                          (YYYY-MM-DDTHH:MM), e.g., 2024-06-04T09:21:26.159Z.
                      archivedAt.gte:
                        type: string
                        format: date-time
                        description: >-
                          Maximum value to filter by (inclusive). This filter
                          supports date-time values in ISO 8601 format
                          (YYYY-MM-DDTHH:MM), e.g., 2024-06-04T09:21:26.159Z.
                    required:
                      - environmentName
                      - projectName
                      - limit
                    additionalProperties: false
                    description: The parameters used to fetch the notes
                required:
                  - hasMore
                  - data
                  - parameters
              example:
                hasMore: false
                parameters:
                  projectName: Forest
                  environmentName: Production
                  limit: 10
                data:
                  - object: note
                    id: 42
                    title: THE TITLE
                    recordId: '10'
                    createdAt: '2024-02-20T10:35:54.685Z'
                    updatedAt: '2024-03-10T10:36:54.685Z'
                    archivedAt: '2024-05-22T14:01:23.015Z'
                    user:
                      object: user
                      id: 1
                      username: alice1
                      email: alice@somewhere.com
                    environment:
                      object: environment
                      name: aName
                    team:
                      object: team
                      name: aName
                    collection:
                      object: collection
                      name: client
                    messages:
                      - object: note-message
                        content: <p>Needs to be verified</p>
                        createdAt: '2024-02-20T10:35:54.685Z'
                        user:
                          object: user
                          email: alice@somewhere.com
                          id: 1
                          username: alice
                      - object: note-message
                        content: <p>Ok</p>
                        createdAt: '2024-02-20T11:15:32.461Z'
                        user:
                          object: user
                          email: bob@somewhere.com
                          id: 1
                          username: bob
        '429':
          description: Too many requests
          headers:
            Retry-After:
              schema:
                type: string
                description: >-
                  The time in seconds after which the client can retry the
                  request
              required: true
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - message
        4XX:
          description: Client error
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - message
        5XX:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - message
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http
      description: Bearer authentication

````