---
title: "List table views"
method: GET
path: "/api/v1/table-views"
tags: ["Views"]
---

# List table views

`GET /api/v1/table-views`

## Request

- Base URL: `https://api.recruitwithatlas.com`
- URL: `https://api.recruitwithatlas.com/api/v1/table-views`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/recruitwithatlas/apis/atlas-api/docs/api/v1/table-views/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns the saved table views your API key can see for one `pageType`, in the order the app shows them. Visibility follows the app: your own views, company-wide views, and team views whose owner shares a team with you. The key acts as its user — it does **not** see every view in the agency. Integrations that need agency-wide reach want a public view or an admin owner.

## Query parameters

- `pageType` 'people' | 'companyContacts' | 'companies', required: Required — views are scoped to one page
- `page` integer: Page number (1-indexed)
- `pageSize` integer: Items per page (max 100)
- `perPage` integer: Alias for pageSize

## Response `200`

Paginated table views

- object
  - `status` 'ok', required
  - `data` object[], required
    - `id` string, uuid, required: Table view ID
    - `name` string, required: View name
    - `pageType` 'people' | 'companyContacts' | 'companies', required: Page the view belongs to
    - `filters` object, required: Saved filter state — opaque JSON defined by the page
    - `columns` object, required: Column layout keyed by the page's own column IDs
      - `visibility` object, required
      - `order` string[], required
    - `sorting` object[], required: Saved sort order
      - `id` string, required
      - `direction` string, required
    - `visibility` 'public' | 'team' | 'private', required: Who can see the view
    - `isCollaborative` boolean, required: Whether viewers of a shared view may change it
    - `isSystem` boolean, required: Whether Atlas ships the view (never true for API-created views)
    - `position` integer, required: Order within the owner's own view list
    - `owner` object, required: The user who owns the view
      - `id` string, uuid, required
      - `name` string, required: "Deleted user" when the owner has been deleted
      - `deleted` boolean, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
  - `pagination` object, required
    - `page` integer, required: Current page number (1-indexed)
    - `pageSize` integer, required: Items per page
    - `total` integer, required: Total matching rows, across all pages
    - `totalPages` integer, required: Total number of pages

## Other responses

- `401`: Unauthorized - missing or invalid API key
- `422`: Validation error - the request failed schema validation (`errors.fieldErrors`) or a business rule (`errors.formErrors`)
- `429`: Too many requests - the caller has exceeded the per-agency rate limit for the tier this endpoint counts against (default per minute: 1200 read / 400 write / 60 upload). Inspect the `RateLimit-*` headers — returned on every response, not only on 429s — and back off until the window resets. See the "Rate limits" section of the introduction for details.
- `500`: Internal server error
- `501`: Endpoint is disabled in this environment. Not a routing error — do not retry.

## Changes

- **2026-10-07** `0c873956b881`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/recruitwithatlas/apis/atlas-api/changes/api/v1/table-views/get.md)

---

[API](https://skmtc.dev/recruitwithatlas/apis/atlas-api.md) - [All operations](https://skmtc.dev/recruitwithatlas/apis/atlas-api/llms.txt) - [OpenAPI document](https://skmtc.dev/recruitwithatlas/apis/atlas-api/revisions/158ee454751c?raw)
