---
title: "Gets the state of an existing exchange and returns it in the response body."
method: GET
path: "/workflows/{localWorkflowId}/exchanges/{localExchangeId}"
tags: ["Credentials"]
---

# Gets the state of an existing exchange and returns it in the response body.

`GET /workflows/{localWorkflowId}/exchanges/{localExchangeId}`

Gets the configuration of an existing exchange and returns it in the response body.

## Parameters

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

## Response `200`

Exchange configuration retrieved!

- GetExchangeResponse — Object containing information about an active exchange. This can be an empty object when a given exchange has no VP and no redirectUrl to send.
  - `id` string — The local exchange ID that identifies the exchange.
  - `sequence` integer — A sequence number for the exchange. Set to 0 on creation.
  - `expires` string — The date and time (expressed as an XML Schema dateTimeStamp) that the exchange expires.
  - `step` string — The current step in the exchange.
  - `state` string — The status ("pending" | "active" | "complete" | "invalid") of the exchange, set to "pending" on creation.
  - `lastError` ProblemDetails — unresolved $ref
  - `variables` GetExchangeVariables — Variables needed for an exchange.
    - `results` object — Results from each step of an exchange.
      - `STEP_NAME` ExchangeStepResults — Results from a step of an exchange.
        - `verifiablePresentation` VerifiablePresentation — unresolved $ref
        - `openId` object — Results from OID4VCI/OID4VP holder interaction.
          - `clientProfileId` object — The identifier for the particular profile of OID4VCI/OID4VP chosen to be used from the openId.clientProfiles object in the exchange step configuration. A single exchange can offer multiple profiles for an exchange client (e.g., a digital wallet) to use; this identifier signals to the coordinator which was selected.
          - `authorizationResponse` object — A credential bearing response that the holder sends to the issuer or verifier.
          - `presentationSubmission` object — A mapping between input descriptors and credentials that a holder submits.
        - `inviteRequest` object — Results from an invite request.
          - `inviteResponse` object — Response to invite request indicating where to redirect holder.
            - `url` string — URL where exchange should proceed.
            - `purpose` string — Description of interaction.
            - `referenceId` string — Unique ID of invite request.

## Other responses

- `400` — Invalid input
- `401` — Not Authorized
- `500` — Internal Error

## Changes

- **2025-10-12** `abce40efa701` — 2 info
  - added the optional property `lastError` to the response with the `200` status
  - added the optional property `variables/results` to the response with the `200` status
- **2025-09-25** `9088b70544d4` — 2 warning
  - removed the optional property `lastError` from the response with the `200` status
  - removed the optional property `variables/results` from the response with the `200` status
- **2025-09-23** `b389c0efc239` — 2 info
  - added the optional property `lastError` to the response with the `200` status
  - added the optional property `variables/results` to the response with the `200` status
- **2025-09-23** `6ea21199b726` — 2 warning
  - removed the optional property `lastError` from the response with the `200` status
  - removed the optional property `variables/results` from the response with the `200` status
- **2025-09-23** `6915d62b393a` — 1 breaking, 2 warning, 2 info
  - the `lastError` response's property type changed from `object` to no type for status `200`
  - removed the optional property `lastError/message` from the response with the `200` status
  - removed the optional property `lastError/status` from the response with the `200` status
  - added the optional property `variables/results/STEP_NAME/inviteRequest` to the response with the `200` status
  - …1 more

[Full history](https://skmtc.dev/w3c/apis/verifiable-credential-api-for-lifecycle-management/changes/workflows/:localWorkflowId/exchanges/:localExchangeId/get.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)
