---
title: "Update API client"
method: PUT
path: "/api/user/api-clients/{id}"
tags: ["User"]
---

# Update API client

`PUT /api/user/api-clients/{id}`

## Request

- Base URL: `https://demo.hitkeep.com`
- URL: `https://demo.hitkeep.com/api/user/api-clients/{id}`
- Auth: API key in cookie `hk_token`

Updates delegated API client.

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `description` string
  - `expires_at` string, date-time
  - `instance_role` string, required
  - `name` string, required
  - `revoked` boolean
  - `site_roles` APIClientSiteRole[]
    - `role` string
    - `site_id` string, uuid

## Response `200`

Updated API client

- APIClient
  - `created_at` string, date-time
  - `description` string
  - `expires_at` string, date-time
  - `id` string, uuid
  - `instance_role` string
  - `last_used_at` string, date-time
  - `name` string
  - `owner_type` 'personal' | 'team'
  - `revoked_at` string, date-time
  - `site_roles` APIClientSiteRole[]: Explicit site grants. Empty means the API client has no site-scoped analytics, MCP, or ingest access.
    - `role` string
    - `site_id` string, uuid
  - `tenant_id` string, uuid
  - `updated_at` string, date-time
  - `user_id` string, uuid

---

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