---
title: "A callback that can be any capability URL (i.e., a URL that is infeasible to guess) that can be notified when an exchange step is performed. The URL SHOULD be a capability URL to ensure that it can only be used by parties with whom the URL is shared without a need for authorization tokens, periodic token refresh, nor client registration. If the suggested URL format with \"localCallbackId\" is used, then the \"localCallbackId\" value must express at least 128-bits of random information in order to ensure the full callback URL can be treated as a capability URL. It is also recommended that a new capability URL be created per exchange and only used by that exchange."
method: POST
path: "/callbacks/{localCallbackId}"
tags: ["Exchanges"]
---

# A callback that can be any capability URL (i.e., a URL that is infeasible to guess) that can be notified when an exchange step is performed. The URL SHOULD be a capability URL to ensure that it can only be used by parties with whom the URL is shared without a need for authorization tokens, periodic token refresh, nor client registration. If the suggested URL format with "localCallbackId" is used, then the "localCallbackId" value must express at least 128-bits of random information in order to ensure the full callback URL can be treated as a capability URL. It is also recommended that a new capability URL be created per exchange and only used by that exchange.

`POST /callbacks/{localCallbackId}`

A system can expose this endpoint to be notified when an exchange step is executed. A request that the server cannot understand results in an error.

## Parameters

- `./components/parameters/path/LocalCallbackId.yml` — unresolved $ref

## Request body

- CallbackData — Information received by a callback URL as a part of an exchange step being executed.
  - `event` object — The event information associated with the callback.
    - `data` object — The event data associated with the callback.
      - `exchangeId` string — A URL to the exchange state that can be used to retrieve the current state of the exchange.

## Response `200`

Callback data received.

## Other responses

- `400` — Callback data was not received.

## Changes

- **2025-11-18** `4eeec5906405` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/w3c/apis/verifiable-credential-api-for-lifecycle-management/changes/callbacks/:localCallbackId/post.md)

---

[API](https://skmtc.dev/w3c/apis/verifiable-credential-api-for-lifecycle-management.md) · [All operations](https://skmtc.dev/w3c/apis/verifiable-credential-api-for-lifecycle-management/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/w3c/verifiable-credential-api-for-lifecycle-management/revisions/3ba233461759/schema)
