---
title: "Get a metrics view"
method: GET
path: "/api/v1/metrics-views/{id}"
tags: ["Views"]
---

# Get a metrics view

`GET /api/v1/metrics-views/{id}`

## Request

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

Returns one view. A view that does not exist, belongs to another agency, or is not visible to you all return the same `404`, so the response never confirms that someone else's private view exists.

## Path parameters

- `id` string, uuid, required: Metrics view ID

## Response `200`

The metrics view

- object
  - `status` 'ok', required
  - `data` object, required
    - `id` string, uuid, required: Metrics view ID
    - `name` string, required: View name
    - `description` string, required: Free-text description
    - `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 — system views are read-only through the API
    - `position` integer, required: Order within the owner's own view list
    - `refreshRate` integer, required: Auto-refresh interval in seconds; `0` disables it
    - `sorting` object[], required: Saved sort order
      - `id` string, required
      - `direction` string, required: `ASC` or `DESC`
    - `timeFrame` string, nullable, required: Named relative period the dashboard defaults to
    - `from` string, date-time, nullable, required: Start of a fixed date range
    - `to` string, date-time, nullable, required: End of a fixed date range
    - `teamsToFilter` string[], required: Team IDs the dashboard is scoped to
    - `usersToFilter` string[], required: User IDs the dashboard is scoped to
    - `metricsCard` string[], required: Metrics registry row IDs shown as cards
    - `metricsColumn` object[], required: Metrics shown as table columns, left to right
      - `id` string, uuid, required
      - `visible` boolean, required
    - `teamId` string, uuid, nullable, required: Team the view belongs to
    - `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

## Other responses

- `401`: Unauthorized - missing or invalid API key
- `404`: The view does not exist, belongs to another agency, or is not visible to you
- `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-16** `2c0c6a89d8e7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/recruitwithatlas/apis/atlas-api/changes/api/v1/metrics-views/:id/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)
