---
title: "Get customer"
method: GET
path: "/customers/{customerId}"
tags: ["Customers"]
---

# Get customer

`GET /customers/{customerId}`

Get a customer who has authorized an agent

## Path parameters

- `customerId` string, required — Customer party ID (pty_*).

## Headers

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

## Response `200`

Successful Response

- object
  - `data` object, required — Customer connection, including revoked connections when requested.
    - `type` 'customer', required
    - `id` string, required — Customer party ID (pty_*).
    - `attributes` object, required
      - `name` string, required — Customer name.
      - `email` string, nullable, required — Email address.
      - `avatarUrl` string, uri, nullable, required — Public avatar URL, or null if none is set.
      - `createdAt` string, date-time, nullable, required — When the customer was created.
      - `delegation` object, required — Delegation details.
        - `id` string, required — Delegation ID (dlg_*).
        - `status` 'ACTIVE' | 'SUSPENDED' | 'REVOKED' | 'EXPIRED', required — Delegation status.
        - `permissions` string[], required — Granted permissions.
        - `createdAt` string, date-time, required — When the customer was connected.
        - `revokedAt` string, date-time, nullable, required — When access was revoked, or null if not revoked.
      - `agents` object[], required — Connected agents.
        - `id` string, required — Agent ID (agt_*).
        - `name` string, nullable, required — Agent name.
        - `handle` string, nullable, required — The agent's composed public handle (@namespace-slug), or null when it has none.
        - `status` string, required — Connection status.
        - `permissions` string[], required — Permissions this agent holds.
        - `limits` object, nullable, required — Spending limits in cents (per-transaction, daily, monthly) for this agent.
          - `perTransaction` integer, nullable — Per-transaction spending limit in cents, or null for no limit.
          - `perDay` integer, nullable — Daily spending limit in cents, or null for no limit.
          - `perMonth` integer, nullable — Monthly spending limit in cents, or null for no limit.

## 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.net/natural/apis/natural-api.md) · [All operations](https://skmtc.net/natural/apis/natural-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/natural/natural-api/versions/0bb9c54b1f61/schema)
