---
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 VC templates for issuance. Passing credentialTemplates 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` union — Object containing information about a workflow step.
      - object — Step data to be included if a template is not used.
        - `createChallenge` boolean — An optional step directive that tells the exchange to handle challenge management via a VCALM verifier service it has a zcap for.
        - `verifiablePresentationRequest` VerifiablePresentationRequest — unresolved $ref
        - `issueRequests` union
          - object[]
            - `credentialTemplateId` string — The ID of the item in workflow.credentialTemplates that captures the schema of a credential that should be issued in a step.
            - `credentialTemplateIndex` number — The index of the item in workflow.credentialTemplates that captures the schema of a credential that should be issued in a step.
            - `variables` union
              - …
          - object[]
            - `credentialTemplateId` string — The ID of the item in workflow.credentialTemplates that captures the schema of a credential that should be issued in a step.
            - `credentialTemplateIndex` number — The index of the item in workflow.credentialTemplates that captures the schema of a credential that should be issued in a step.
            - `variables` union
              - …
        - `presentationSchema` union
          - object — A JSON Schema describing the validation to be performed on the presentation.
            - `type` string — The value MUST be <code>JsonSchema</code>.
            - `jsonSchema` object — The JSON Schema object to use when validating the presentation.
          - object — An alternate presentation schema format to use when validating a presentation in the current step. Additional properties are expected for a specific presentation schema type, but are beyond the scope of this specification.
            - `type` string — The type of presentation schema mechanism to use when validating the presentation.
        - `verifyPresentationResponseSchema` union
          - object — A JSON Schema describing the validation to be performed on the result of verifying the presentation.
            - `type` string — The value MUST be <code>JsonSchema</code>.
            - `jsonSchema` object — The JSON Schema object to use when validating the result of verifying the presentation.
          - object — An alternate presentation schema format to use on the result of verifying a presentation in the current step. Additional properties are expected for a specific presentation schema type, but are beyond the scope of this specification.
            - `type` string — The type of presentation schema mechanism to use when validating the result of verifying the presentation.
        - `nextStep` string — The name of the next step in the sequence. Passing nextStep is OPTIONAL. This field MUST NOT be present on the final step configuration.
        - `openId` object — Optional information to trigger OID4VP
          - `createAuthorizationRequest` string — If present, identifies the name of the template variable (in <code>variables</code> for an <a href="#create-exchange">exchange</a>) that the auto-generated OID4VP Authorization Request will be stored in for subsequent use in the exchange. Either this or <code>authorizationRequest</code> MUST be present, but not both. The value of the named variable can be lazily generated when the Authorization Request is required, i.e., after the client of the exchange chooses to use the OID4VP protocol. This feature allows the Authorization Request to be generated by reusing values, e.g., a Verifiable Presentation Request, that only need to be specified once across multiple protocol offerings.
          - `authorizationRequest` object — If present, an OID4VP Authorization Request for subsequent use in the exchange. Either this or <code>createAuthorizationRequest</code> MUST be present, but not both.
      - object
        - `stepTemplate` StepTemplate — A template for a workflow step. Either this must be present or the other step data must be present, but not both sets.
          - `type` string — The type of template.
          - `template` string — The step template.

## Other responses

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

## Changes

- **2025-09-23** `f263eee4bf23` — 1 breaking, 3 warning
  - the `steps/STEP_NAME/oneOf[#/components/schemas/StepData]/issueRequests` response's property type changed from `object` to `array` for status `200`
  - removed the optional property `steps/STEP_NAME/oneOf[#/components/schemas/StepData]/issueRequests/credentialTemplateId` from the response with the `200` status
  - removed the optional property `steps/STEP_NAME/oneOf[#/components/schemas/StepData]/issueRequests/credentialTemplateIndex` from the response with the `200` status
  - removed the optional property `steps/STEP_NAME/oneOf[#/components/schemas/StepData]/issueRequests/variables` from the response with the `200` status
- **2025-09-23** `f6d582cb8c21` — 1 breaking, 1 info
  - added `#/components/schemas/ExchangeVariables` to the `steps/STEP_NAME/oneOf[#/components/schemas/StepData]/issueRequests/variables` response property `oneOf` list for the response status `200`
  - removed `subschema #2` from the `steps/STEP_NAME/oneOf[#/components/schemas/StepData]/issueRequests/variables` response property `oneOf` list for the response status `200`
- **2025-09-23** `b389c0efc239` — 1 info
  - added the optional property `steps/STEP_NAME/oneOf[#/components/schemas/StepData]/issueRequests` to the response with the `200` status
- **2025-09-23** `6ea21199b726` — 1 warning
  - removed the optional property `steps/STEP_NAME/oneOf[#/components/schemas/StepData]/issueRequests` from the response with the `200` status
- …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/f263eee4bf23/schema)
