---
title: "Retrieve users"
method: GET
path: "/user"
tags: ["Users"]
---

# Retrieve users

`GET /user`

Retrieves users.

## Query parameters

- `active_in_season` string
- `confirmation` 'confirmed' | 'pending'
- `entries` 'current_season' | 'none_current_season' | 'archived_season' | 'none'
- `language` string
- `role` string
- `season_joined` string
- `deleted` 'only' | 'included' | 'none'
- `trashed` 'only' | 'all' | 'none'
- `page` number
- `per_page` number
- `order` 'confirmed_at' | 'created_at' | 'created_by' | 'email' | 'first_name' | 'last_name' | 'mobile' | 'name' | 'updated'
- `dir` 'asc' | 'desc'

## Headers

- `Accept` 'application/vnd.Creative Force.v2.3+json' | 'application/vnd.Creative Force.v2.3+xml', required
- `x-api-language` string[]

## Response `200`

Users retrieved.

- UserList — Pagination envelope returned by every list endpoint. Wraps the result set with positional fields (`current_page`, `from`, `to`, `total`) and navigation URLs (`first_page_url`, `last_page_url`, `next_page_url`, `prev_page_url`) for traversing the full list. The records themselves are returned in a sibling `data` array supplied by the wrapping schema.
  - `current_page` integer — Number of the page returned by this response. The first page is `1`.
  - `first_page_url` string — URL of the first page in the result set. Relative when the requested page is beyond the last page.
  - `from` integer, nullable — Position of the first record on this page within the full result set. The first record is at position `1`. `null` when the requested page is beyond the last page.
  - `last_page` integer — Number of the last page. Equals the total number of pages.
  - `last_page_url` string — URL of the last page in the result set. Relative when the requested page is beyond the last page.
  - `next_page_url` string — URL of the next page in the result set. Empty string when the current page is the last page.
  - `path` string — Canonical URL of the endpoint, without query parameters.
  - `per_page` integer — Maximum number of records returned per page.
  - `prev_page_url` string — URL of the previous page in the result set. Empty string when the current page is the first page.
  - `to` integer, nullable — Position of the last record on this page within the full result set. `null` when the requested page is beyond the last page.
  - `total` integer — Total number of records across all pages.
  - `data` UserSummary[]
    - `analytics_cookies` boolean — Specifies whether the user accepted analytics cookies.
    - `broadcast_emails` boolean — Specifies whether the user accepted broadcast emails.
    - `comments` string — Administrative notes recorded against the user, formatted for export.
    - `confirmation` string — Account confirmation status of the user, such as `Confirmed` or `Invited`.
    - `confirmed_at` string, date-time, nullable — Date and time when the user confirmed the account. Value is `null` for an invited user who has not yet confirmed.
    - `created_at` string, date-time — Date and time when the user account was created.
    - `created_by` string — Method by which the user account was created, such as `manual` or `registration`.
    - `email` string, email, nullable — Email address of the user. Value is `null` when no email address is recorded.
    - `first_name` string — First name of the user.
    - `language` object — Preferred language of the user.
      - `code` string — Locale code of the language, such as `en_GB`.
      - `language` string — Display name of the language, such as `English (United Kingdom)`.
    - `last_name` string — Last name of the user.
    - `marketing_cookies` boolean — Specifies whether the user accepted marketing cookies.
    - `mobile` string — Mobile phone number of the user.
    - `name` string — Full name of the user.
    - `necessary_cookies` boolean — Specifies whether the user accepted necessary cookies.
    - `notification_emails` boolean — Specifies whether the user accepted notification emails.
    - `notification_sms` boolean — Specifies whether the user accepted notification text messages.
    - `roles` object[] — Roles assigned to the user within the account.
      - `slug` string — URL-safe identifier of the role.
      - `link` string, uri — URL of the role resource.
      - `name` object — Name of the role. Map keyed by locale code (for example, `en_GB` or `fr_FR`). Keys are drawn from the languages enabled on the account. Values are the translated string.
    - `slug` string — URL-safe identifier of the user.
    - `updated` string, date-time — Date and time when the user account was last updated.

## Other responses

- `400` — Request was rejected before the endpoint could process it. Common causes: invalid `Accept` header, unsupported `x-api-language` code, empty request body on `POST` / `PUT`, invalid JSON in the request body, or an invalid slug format in a path parameter.
- `401` — Missing `x-api-key` header.
- `403` — Authenticated request denied. Common causes: invalid or unknown API key, suspended account, or `api` feature not enabled for the account.
- `429` — Rate limit of 60 requests per minute exceeded.
- `503` — Service is temporarily unavailable due to regional maintenance.

## Changes

- **2026-07-13** (v2) `e2511e46f9f2` — 2 breaking, 2 info
  - for the `query` request parameter `page`, the type/format was changed from `string`/`` to `number`/``
  - for the `query` request parameter `per_page`, the type/format was changed from `string`/`` to `number`/``
  - the `per_page` response's property default value `10` was added for the status `200` (media type: application/json)
  - the `per_page` response's property default value `10` was added for the status `200` (media type: application/xml)
- **2026-07-08** (v2) `a269ebb35abf` — 10 breaking
  - the response property `allOf[subschema #1: Pagination]/from` became nullable for the status `200` (media type: application/json)
  - the response property `allOf[subschema #1: Pagination]/from` became nullable for the status `200` (media type: application/xml)
  - the response property `allOf[subschema #1: Pagination]/to` became nullable for the status `200` (media type: application/json)
  - the response property `allOf[subschema #1: Pagination]/to` became nullable for the status `200` (media type: application/xml)
  - …6 more
- **2026-07-07** (v2) `9b9103538ceb` — 2 info
  - api tag `Users` added
  - api tag `User` removed
- …earlier changes not shown

[Full history](https://skmtc.dev/tectonic/apis/award-force-api/changes/user/get.md)

---

[API](https://skmtc.dev/tectonic/apis/award-force-api.md) · [All operations](https://skmtc.dev/tectonic/apis/award-force-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/tectonic/award-force-api/revisions/e2511e46f9f2/schema)
