---
title: "Read one identity"
method: GET
path: "/api/v1/identities/{identity}"
tags: ["identities"]
---

# Read one identity

`GET /api/v1/identities/{identity}`

## Request

- Base URL: `https://api.past.dev`
- URL: `https://api.past.dev/api/v1/identities/{identity}`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer

Return one identity with traits, origin, timestamps, and the audience slugs it currently reaches.

## Path parameters

- `identity` string, required

## Query parameters

- `project` string

## Response `200`

The requested identity.

- Identity
  - `identity` string, required
  - `traits` object, required
  - `origin` 'api' | 'ingest' | 'csv' | 'audience' | 'connector' | 'console' | 'login' | 'link', required
  - `lastSeenAt` string, date-time, nullable, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `audiences` string[], nullable: The audience slugs the identity reaches, on the single-record read; null elsewhere.

## Other responses

- `400`: The request is malformed or violates a field constraint. Match behavior on the response code field.
- `401`: missing-api-key: no bearer. malformed-api-key: the header or the key has the wrong shape, or an agent token was sent to a route that accepts keys only. unauthorized: the key is unknown, expired, revoked, or of the kind this route refuses, or the agent token is invalid or expired.
- `403`: project-archived: the project of the key, or the project an agent token names, is archived. Unarchive it in the console to resume. insufficient-scope: the agent token does not carry the scope of the route.
- `404`: No matching identity exists in the selected project.
- `default`: Any other failure uses the same JSON error envelope.

---

[API](https://skmtc.dev/past/apis/past-dev-memory-api.md) · [All operations](https://skmtc.dev/past/apis/past-dev-memory-api/llms.txt) · [OpenAPI document](https://skmtc.dev/past/apis/past-dev-memory-api/revisions/3ddccc19f0eb?raw)
