> ## Documentation Index
> Fetch the complete documentation index at: https://docs.humanos.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> What changed in each dated API version, newest first. Pin a version with the API-Version header; upgrade on your own schedule.

The API is versioned by date — see [Versioning](/essentials/versioning) for how pinning works. Each entry below describes what changed relative to the previous version. Your integration keeps its pinned behaviour until you change the `API-Version` header, so you can upgrade on your own schedule.

## 2026-07-06 — Latest

**Richer catalog and audit surfaces; leaner verification shapes.**

* **Actions**: `GET /actions` and `GET /actions/version/{id}` now return the full catalog shape — action `name`/`description`, version list, per-version `content`, `published` flag and a `digestSRI` integrity hash, with standard pagination (`data` + `totalPages`).
* **Credentials**: `CredentialEntity` gains `name`, `description`, `tags` and `decisions`.
* **Verifiable presentations** (breaking): the issue/verify shapes were simplified — `PresentationResponseEntity` no longer nests `presentationEncoded`/`receipt`, and `VerifyPresentationDto` takes the presentation in its new form. `CreatePresentationDto.targetVerifier` semantics were tightened.
* **Requests** (breaking): the `iframe` object was removed from `POST /request` — iframe embedding is configured as described in the [iframe integration guide](/essentials/iframe-integration).
* **Subjects**: `extraContacts` and `identity` handling refined on `POST /user`.

## 2026-06-18

**Multi-user requests and a structured identity webhook.**

* **Multi-user requests** (breaking): `POST /request` now takes a `users[]` array — each entry with its own `contact`, `secondaryContact`, `docId`, `language` and `signerQuality` — replacing the former top-level `contacts`, `expectedDocIds` and `language` fields.
* **Embedding** (breaking): iframe configuration moved into the request body (`iframe` with `pubKey`), and the top-level `pubKey` and `redirectUrl` fields were removed.
* **Identity webhook** (breaking): the flat `IdentityPayload` became the structured `IdentityWebhook` — document data is now organised into fields such as `addresses`, `birth`, `nationality`, `documentType`, `fullDocId`, `issueDate`, `placeOfIssue`, `placeOfBirth`, `expiresAt`, `gender`, `height` and `weight`. Pin your webhook version before upgrading.
* **Filtering**: `dateFrom`/`dateTo` range filters normalised on `GET /request` and `GET /activity` (`dateTo` requires `dateFrom`).

## 2026-05-17

**The platform surface: credentials, actions, DIDs, approvals, activity, webhooks.**

* **New endpoint groups**:
  * Credentials — `GET /credential/evidence/{evidenceId}`, `POST /credential/vp/{vcId}` (issue VP), `POST /credential/verify`, `DELETE /credential/revoke/{credentialId}`
  * Actions — `GET /actions`, `GET /actions/version/{id}`
  * DIDs — `GET /did/resolve/{did}`
  * Approvals — `GET /approvals`, `GET /approvals/workflow` (replacing `GET /resource` and `GET /resource/group`)
  * Activity — `GET /activity`
  * Webhook event schemas — `credential`, `identity`, `otp-failed` and `test` events documented as first-class payloads
* **Idempotency**: `Idempotency-Key` header support on `POST /request`, `POST /user` and `PATCH /request/resend/{requestId}` — safe retries without duplicate side effects.
* **Lookups** (breaking): users are addressed by `id` (previously `did`); request listing filters by `subject`; `GET /credential/{credentialId}` dropped the `includePdf` parameter.

## 2026-03-20

**Initial public version.**

* Requests: create, list, fetch, delete, and OTP resend (`/request`, `/request/{requestId}`, `/request/resend/{requestId}`)
* Users: create and look up (`/user`)
* Credentials: fetch by id (`/credential/{credentialId}`)
* Resources: `GET /resource`, `GET /resource/group` (renamed to Approvals in 2026-05-17)
