---
title: "Get the caller's identity"
method: GET
path: "/identity/me"
tags: ["Identity"]
---

# Get the caller's identity

`GET /identity/me`

Get the caller's own identity: home party card with handle, acting-for party, acting agent, and credential permissions.

## Headers

- `X-Agent-ID` string, nullable
- `X-Instance-ID` string, nullable

## Response `200`

Successful Response

- object
  - `data` object, required
    - `id` string, required — The caller's actor ID
    - `type` 'identity', required — Resource type
    - `attributes` object, required — Identity attributes
      - `actor` object, required — How the caller's credential was resolved
        - `actorType` string, required — Resolved actor type (e.g., USER, API, AGENT)
        - `credentialKind` string, nullable, required — Credential class behind the request ("api_key", "agent_key", or "oauth_grant"), or null for a session token
        - `agentIdSource` string, nullable, required — How the agent identity was established ("credential", "oauth_grant", or "header"), or null when the caller carries no agent identity
      - `party` object, required — The caller's home party card
        - `partyId` string, required — The caller's home party
        - `displayName` string, nullable, required — Display name for the caller's home party
        - `handle` string, nullable, required — Party handle (e.g. "@acme"), or null when the party has not claimed one
      - `actingFor` object, required — The effective party for this request
        - `partyId` string, required — The party the caller is acting for: the delegation target when delegated, otherwise the home party
      - `agent` object, nullable, required — The acting agent, or null when the credential resolves no agent
        - `agentId` string, required — Unique agent identifier
        - `name` string, required — Agent name
        - `handle` string, nullable, required — Agent handle composed from the owning party's handle and the agent slug (e.g. "@acme-support"), or null when the agent has no slug or the party has no handle
      - `permissions` string[], required — Permissions granted to the credential

## Other responses

- `400` — Validation Error
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found — returned when the resource does not exist, or when it exists but is not accessible to your account. The two cases are intentionally indistinguishable, so that resource IDs cannot be enumerated by probing.
- `409` — Conflict
- `422` — Validation Error
- `428` — Precondition Required
- `429` — Too Many Requests
- `500` — Internal Server Error
- `501` — Not Implemented
- `502` — Bad Gateway
- `503` — Service Unavailable

---

[API](https://skmtc.dev/natural/apis/natural-api.md) · [All operations](https://skmtc.dev/natural/apis/natural-api/llms.txt) · [OpenAPI document](https://skmtc.dev/natural/apis/natural-api/revisions/8cc2aed45847?raw)
