---
title: "Retrieve messages for the authenticated user"
method: GET
path: "/messages"
tags: ["Messages"]
---

# Retrieve messages for the authenticated user

`GET /messages`

## Query parameters

- `page` integer
- `fields` unknown

## Headers

- `X-HTTP-Method-Override` string

## Response `200`

A list of messages

- ResultsMessages
  - `total_results` integer, required
  - `page` integer, required
  - `per_page` integer, required
  - `results` Message[], required
    - `id` integer, required — Unique auto-increment integer identifier.
    - `user_id` integer
    - `thread_id` integer
    - `subject` string
    - `body` string
    - `read_at` string, date-time
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `comments_count` integer
    - `from_user` User, nullable
      - `id` integer, required — Unique auto-increment integer identifier.
      - `uuid` string, uuid
      - `created_at` string, date-time
      - `description` string, nullable
      - `faved_project_ids` number[] — Ordered list of IDs of projects the user has faved
      - `icon` string, nullable
      - `icon_url` string, nullable
      - `identifications_count` integer
      - `journal_posts_count` integer
      - `annotated_observations_count` integer
      - `last_active` string, date-time
      - `login` string
      - `monthly_supporter` boolean, nullable
      - `name` string, nullable
      - `observations_count` integer
      - `orcid` string, nullable
      - `preferences` object
        - `prefers_community_taxa` boolean — Whether the user allows the Community Taxon to be the taxon their observation is associated with
        - `prefers_observation_fields_by` 'anyone' | 'curators' | 'observer'
        - `prefers_project_addition_by` 'any' | 'joined' | 'none'
      - `roles` string[]
      - `site` Site, nullable
        - `id` integer, required — Unique auto-increment integer identifier.
        - `icon_url` string — URL of an icon image for the site
        - `locale` string, nullable — Default language code for users of this site
        - `name` string — Full name of the site
        - `place_id` integer, nullable — Integer ID of the default search place for this site
        - `site_name_short` string, nullable — Short name for this site
        - `url` string
      - `site_id` integer, nullable
      - `spam` boolean
      - `species_count` integer
      - `suspended` boolean
      - `updated_at` string, date-time
    - `to_user` User, nullable
      - `id` integer, required — Unique auto-increment integer identifier.
      - `uuid` string, uuid
      - `created_at` string, date-time
      - `description` string, nullable
      - `faved_project_ids` number[] — Ordered list of IDs of projects the user has faved
      - `icon` string, nullable
      - `icon_url` string, nullable
      - `identifications_count` integer
      - `journal_posts_count` integer
      - `annotated_observations_count` integer
      - `last_active` string, date-time
      - `login` string
      - `monthly_supporter` boolean, nullable
      - `name` string, nullable
      - `observations_count` integer
      - `orcid` string, nullable
      - `preferences` object
        - `prefers_community_taxa` boolean — Whether the user allows the Community Taxon to be the taxon their observation is associated with
        - `prefers_observation_fields_by` 'anyone' | 'curators' | 'observer'
        - `prefers_project_addition_by` 'any' | 'joined' | 'none'
      - `roles` string[]
      - `site` Site, nullable
        - `id` integer, required — Unique auto-increment integer identifier.
        - `icon_url` string — URL of an icon image for the site
        - `locale` string, nullable — Default language code for users of this site
        - `name` string — Full name of the site
        - `place_id` integer, nullable — Integer ID of the default search place for this site
        - `site_name_short` string, nullable — Short name for this site
        - `url` string
      - `site_id` integer, nullable
      - `spam` boolean
      - `species_count` integer
      - `suspended` boolean
      - `updated_at` string, date-time

## Other responses

- `default` — Unexpected error

---

[API](https://skmtc.net/inaturalist/apis/inaturalist-version-2-api.md) · [All operations](https://skmtc.net/inaturalist/apis/inaturalist-version-2-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/inaturalist/inaturalist-version-2-api/revisions/f739db716aaf/schema)
