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

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

`GET /workflows/{localWorkflowId}`

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

## Parameters

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

## Response `200`

Workflow configuration retrieved!

- GetWorkflowResponse — Object containing information about a workflow.
  - `id` string — The ID that will be used for the created workflow. Passing an ID is OPTIONAL.
  - `initialStep` string — The step from the above set that the exchange starts on. Passing intialStep is REQUIRED.
  - `controller` string — The controller of the instance. Passing controller is OPTIONAL.
  - `authorization` object — Authorization scheme information (e.g., OAuth2 configuration). Passing authorization is OPTIONAL.
    - `oauth2` object — OAuth2 configuration.
      - `issuerConfigUrl` string — OAuth2 issuer config URL.
  - `credentialTemplates` object[] — One or more templates for credential issuance. The <code>template</code> string should render to an object containing a <code>credential</code> field, which holds the credential template, and (optionally) an <code>options</code> field, which holds important credential issuing parameters (this is the format of the request body that is sent to <code>POST /credentials/issue</code>). Passing <code>credentialTemplates</code> is OPTIONAL.
    - `type` string — The type of template.
    - `template` string — The template itself.
  - `steps` object — One or more steps required to complete an exchange on the workflow. The keys are one or more step names, where each STEP_NAME is replaced by the name of a step (such as <code>request-employee-id</code>), and the values are step configurations.
    - `STEP_NAME` WorkflowStep — unresolved $ref

## Other responses

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

## Changes

- **2026-08-11** `a64614f0016a` — 3 breaking, 9 info
  - added `subschema #1, subschema #2` to the `steps/STEP_NAME/oneOf[#/components/schemas/StepData]/issueRequests/items/` response property `oneOf` list for the response status `200`
  - added `subschema #1, subschema #2` to the `steps/STEP_NAME/oneOf[#/components/schemas/StepData]/openId/oneOf[#/components/schemas/OpenIDClientProfile]/` response property `oneOf` list for the response status `200`
  - added `subschema #1, subschema #2` to the `steps/STEP_NAME/oneOf[#/components/schemas/StepData]/openId/oneOf[subschema #2]/clientProfiles/additionalProperties/` response property `oneOf` list for the response status `200`
  - added the optional property `steps/STEP_NAME/oneOf[#/components/schemas/StepData]/issueRequests/items/credentialTemplateId` to the response with the `200` status
  - …8 more
- …earlier changes not shown

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