---
title: "Get a workflow specification"
method: GET
path: "/workflow-specs/{workflowSpecId}"
tags: ["WorkflowSpecs"]
---

# Get a workflow specification

`GET /workflow-specs/{workflowSpecId}`

Get a workflow specification.

## Path parameters

- `workflowSpecId` string, required

## Query parameters

- `version` integer

## Headers

- `slb-data-partition-id` string, required

## Response `200`

Retrieved workflow specification successfully.

- WorkflowSpec — An evaluation workflow specification.
  - `id` string, required — The ID of the specification.
  - `name` string, required — The name of the specification.
  - `version` integer, required — The version of the specification definition.
  - `latest` boolean, required — Whether this is the latest version of the given specification.
  - `archived` boolean, required — Whether this specification has been marked as archived.
  - `description` string, required — The description of the specification.
  - `createdBy` string, required — The ID of the user who created the specification.
  - `createdAt` string, date-time, required — The date the specification was created.
  - `computationSpecs` WorkflowComputationSpec[], required — The computation specifications which make up the workflow specification.
    - `id` string, required — The ID of the specification.
    - `name` string, required — The name of the specification.
    - `version` integer, required — The version of the specification definition.
    - `latest` boolean, required — Whether this is the latest version of the given specification.
    - `archived` boolean, required — Whether this specification has been marked as archived.
    - `description` string, required — The description of the specification.
    - `createdBy` string, required — The ID of the user who created the specification.
    - `createdAt` string, date-time, required — The date the specification was created.
    - `address` SpecAddress — An address used to describe the location of a Spec within a WorkflowSpec. Used to enrich the spec model with additional attributes such as specifying the location of a data container or providing annotations.
      - `type` 'Invalid' | 'Computation' | 'DataTypeInput' | 'DataTypeOutput', required — Whether the address refers to a data-type input, a data-type output or a computation specification.
      - `computationIndex` integer — The zero based index of the Computation Spec.
      - `dataTypeIndex` integer — The zero based index of a data-type with respect to a computation specification. Inputs and outputs are treated as separate ordered lists.
    - `inputDataTypeIds` WorkflowDataType[] — The input data-types for the computation.
      - `id` string, required — The specification ID.
      - `version` integer, required — The version of the specification of the given ID.
      - `address` SpecAddress — An address used to describe the location of a Spec within a WorkflowSpec. Used to enrich the spec model with additional attributes such as specifying the location of a data container or providing annotations.
        - `type` 'Invalid' | 'Computation' | 'DataTypeInput' | 'DataTypeOutput', required — Whether the address refers to a data-type input, a data-type output or a computation specification.
        - `computationIndex` integer — The zero based index of the Computation Spec.
        - `dataTypeIndex` integer — The zero based index of a data-type with respect to a computation specification. Inputs and outputs are treated as separate ordered lists.
    - `outputDataTypeIds` WorkflowDataType[] — The output data-types for the computation.
      - `id` string, required — The specification ID.
      - `version` integer, required — The version of the specification of the given ID.
      - `address` SpecAddress — An address used to describe the location of a Spec within a WorkflowSpec. Used to enrich the spec model with additional attributes such as specifying the location of a data container or providing annotations.
        - `type` 'Invalid' | 'Computation' | 'DataTypeInput' | 'DataTypeOutput', required — Whether the address refers to a data-type input, a data-type output or a computation specification.
        - `computationIndex` integer — The zero based index of the Computation Spec.
        - `dataTypeIndex` integer — The zero based index of a data-type with respect to a computation specification. Inputs and outputs are treated as separate ordered lists.
  - `edges` Edge[] — A list of graph edges which describe the data flow from one computation specifications output data-type to the next computation specifications input data-type.
    - `fromAddressType` 'DataTypeInput' | 'DataTypeOutput' — Whether the address refers to a data-type input or data-type output (defaults to output).
    - `fromComputationIndex` integer — The zero based index of the computation specification which generates the data-type in the workflow specification.
    - `fromDataTypeIndex` integer — The zero based index of the data-type as listed as an output data-type in computation specification referred to in the 'fromComputationIndex' above.
    - `toComputationIndex` integer — The zero based index of the computation specification which consumes the data-type in the workflow specification.
    - `toDataTypeIndex` integer — The zero based index of the data-type as listed as an input data-type in the computation specification referred to in the 'toComputationIndex' above.
  - `annotations` Annotation[]
    - `address` SpecAddress — An address used to describe the location of a Spec within a WorkflowSpec. Used to enrich the spec model with additional attributes such as specifying the location of a data container or providing annotations.
      - `type` 'Invalid' | 'Computation' | 'DataTypeInput' | 'DataTypeOutput', required — Whether the address refers to a data-type input, a data-type output or a computation specification.
      - `computationIndex` integer — The zero based index of the Computation Spec.
      - `dataTypeIndex` integer — The zero based index of a data-type with respect to a computation specification. Inputs and outputs are treated as separate ordered lists.
    - `key` string — Free form content with relevant information for the given address.
    - `value` string — Free form content with relevant information for the given address.
    - `createdBy` string — The user who created this annotation.

## Other responses

- `401` — Unauthorized.
- `404` — The workflow specification was not found.
- `default` — Unexpected error.

---

[API](https://skmtc.net/slb/apis/evaluation.md) · [All operations](https://skmtc.net/slb/apis/evaluation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/slb/evaluation/versions/b563a2fae7de/schema)
