---
title: "Retrieve a Workflow Schema"
method: GET
path: "/workflow-schemas/{id}"
tags: ["Workflows"]
---

# Retrieve a Workflow Schema

`GET /workflow-schemas/{id}`

Returns the fields used in the workflow's launch form. 

**OAuth Scope required:** `public.workflows.readSchemas`

## Path parameters

- `id` string, required

## Query parameters

- `form` string

## Headers

- `x-as-user-email` string
- `x-as-user-id` string

## Response `200`

200

- object
  - `id` string
  - `name` string
  - `schema` object
    - `counterpartyName` object
      - `type` string
      - `displayName` string
      - `required` 'always' | 'never' | 'conditional' — Indicates whether the field is required. Possible values are 'always', 'never', or 'conditional'. Conditional properties are either gated by a condition on the workflow template, or appear multiple times in the workflow and are only sometimes required.
      - `options` WorkflowSchemasResponseOptionsField — Defines the options for a field, including dropdown choices and whether free text input is allowed.
        - `values` string[], required — An array of choices for dropdowns or multiple-choice questions. Each item represents a valid option. If there are multiple instances of the same property, the options will be combined.
        - `freeTextAllowed` boolean, required — Indicates if a free text input is allowed in addition to the dropdown choices.
      - `default` union — Defines the available default value for a field. In the case of multiple instances of the same property, the last evaluated default will be used.
        - string — A string value from fields such as text inputs, dropdowns, emails, or dates.
        - boolean — A boolean value.
        - number — A numeric value.
        - object — An object value from fields such as monetary fields, addresses, or durations.
        - object[] — An array value from fields such as tables.
    - `amount` object
      - `type` string
      - `displayName` string
      - `required` 'always' | 'never' | 'conditional' — Indicates whether the field is required. Possible values are 'always', 'never', or 'conditional'. Conditional properties are either gated by a condition on the workflow template, or appear multiple times in the workflow and are only sometimes required.
      - `options` WorkflowSchemasResponseOptionsField — Defines the options for a field, including dropdown choices and whether free text input is allowed.
        - `values` string[], required — An array of choices for dropdowns or multiple-choice questions. Each item represents a valid option. If there are multiple instances of the same property, the options will be combined.
        - `freeTextAllowed` boolean, required — Indicates if a free text input is allowed in addition to the dropdown choices.
      - `default` union — Defines the available default value for a field. In the case of multiple instances of the same property, the last evaluated default will be used.
        - string — A string value from fields such as text inputs, dropdowns, emails, or dates.
        - boolean — A boolean value.
        - number — A numeric value.
        - object — An object value from fields such as monetary fields, addresses, or durations.
        - object[] — An array value from fields such as tables.
    - `fee` object
      - `type` string
      - `displayName` string
      - `required` 'always' | 'never' | 'conditional' — Indicates whether the field is required. Possible values are 'always', 'never', or 'conditional'. Conditional properties are either gated by a condition on the workflow template, or appear multiple times in the workflow and are only sometimes required.
      - `options` WorkflowSchemasResponseOptionsField — Defines the options for a field, including dropdown choices and whether free text input is allowed.
        - `values` string[], required — An array of choices for dropdowns or multiple-choice questions. Each item represents a valid option. If there are multiple instances of the same property, the options will be combined.
        - `freeTextAllowed` boolean, required — Indicates if a free text input is allowed in addition to the dropdown choices.
      - `default` union — Defines the available default value for a field. In the case of multiple instances of the same property, the last evaluated default will be used.
        - string — A string value from fields such as text inputs, dropdowns, emails, or dates.
        - boolean — A boolean value.
        - number — A numeric value.
        - object — An object value from fields such as monetary fields, addresses, or durations.
        - object[] — An array value from fields such as tables.
    - `draft` object
      - `type` string
      - `elementType` object
        - `type` string
        - `displayName` string
        - `required` 'always' | 'never' | 'conditional' — Indicates whether the field is required. Possible values are 'always', 'never', or 'conditional'. Conditional properties are either gated by a condition on the workflow template, or appear multiple times in the workflow and are only sometimes required.
        - `options` WorkflowSchemasResponseOptionsField — Defines the options for a field, including dropdown choices and whether free text input is allowed.
          - `values` string[], required — An array of choices for dropdowns or multiple-choice questions. Each item represents a valid option. If there are multiple instances of the same property, the options will be combined.
          - `freeTextAllowed` boolean, required — Indicates if a free text input is allowed in addition to the dropdown choices.
        - `default` union — Defines the available default value for a field. In the case of multiple instances of the same property, the last evaluated default will be used.
          - string — A string value from fields such as text inputs, dropdowns, emails, or dates.
          - boolean — A boolean value.
          - number — A numeric value.
          - object — An object value from fields such as monetary fields, addresses, or durations.
          - object[] — An array value from fields such as tables.
    - `lineItems` object
      - `type` string
      - `elementType` object
        - `type` string
        - `displayName` string
        - `required` 'always' | 'never' | 'conditional' — Indicates whether the field is required. Possible values are 'always', 'never', or 'conditional'. Conditional properties are either gated by a condition on the workflow template, or appear multiple times in the workflow and are only sometimes required.
        - `options` WorkflowSchemasResponseOptionsField — Defines the options for a field, including dropdown choices and whether free text input is allowed.
          - `values` string[], required — An array of choices for dropdowns or multiple-choice questions. Each item represents a valid option. If there are multiple instances of the same property, the options will be combined.
          - `freeTextAllowed` boolean, required — Indicates if a free text input is allowed in addition to the dropdown choices.
        - `default` union — Defines the available default value for a field. In the case of multiple instances of the same property, the last evaluated default will be used.
          - string — A string value from fields such as text inputs, dropdowns, emails, or dates.
          - boolean — A boolean value.
          - number — A numeric value.
          - object — An object value from fields such as monetary fields, addresses, or durations.
          - object[] — An array value from fields such as tables.
        - `schema` object
          - `childAttribute` object
            - `type` string
            - `displayName` string
            - `required` 'always' | 'never' | 'conditional' — Indicates whether the field is required. Possible values are 'always', 'never', or 'conditional'. Conditional properties are either gated by a condition on the workflow template, or appear multiple times in the workflow and are only sometimes required.
            - `options` WorkflowSchemasResponseOptionsField — Defines the options for a field, including dropdown choices and whether free text input is allowed.
              - …
            - `default` union — Defines the available default value for a field. In the case of multiple instances of the same property, the last evaluated default will be used.
              - …
          - `anotherChildAttribute` object
            - `type` string
            - `displayName` string
            - `required` 'always' | 'never' | 'conditional' — Indicates whether the field is required. Possible values are 'always', 'never', or 'conditional'. Conditional properties are either gated by a condition on the workflow template, or appear multiple times in the workflow and are only sometimes required.
            - `options` WorkflowSchemasResponseOptionsField — Defines the options for a field, including dropdown choices and whether free text input is allowed.
              - …
            - `default` union — Defines the available default value for a field. In the case of multiple instances of the same property, the last evaluated default will be used.
              - …
    - `exampleLinkedRecord` WorkflowSchemasLinkedRecordAttribute — A linked record schema attribute.
      - `type` string
      - `displayName` string
      - `required` 'always' | 'never' | 'conditional' — Indicates whether the field is required. Possible values are 'always', 'never', or 'conditional'. Conditional properties are either gated by a condition on the workflow template, or appear multiple times in the workflow and are only sometimes required.
      - `schema` object — Reserved for record property metadata. Currently returned as { properties: { type: 'object', displayName: 'properties', schema: {} } }.
    - `exampleParentRecord` WorkflowSchemasParentRecordAttribute — A parent record schema attribute.
      - `type` string
      - `displayName` string
      - `required` 'always' | 'never' | 'conditional' — Indicates whether the field is required. Possible values are 'always', 'never', or 'conditional'. Conditional properties are either gated by a condition on the workflow template, or appear multiple times in the workflow and are only sometimes required.
      - `schema` object — Reserved for record property metadata. Currently returned as { properties: { type: 'object', displayName: 'properties', schema: {} } }.
    - `exampleChildRecord` WorkflowSchemasChildRecordAttribute — A child record schema attribute. The referenced record must not already have a parent.
      - `type` string
      - `displayName` string
      - `required` 'always' | 'never' | 'conditional' — Indicates whether the field is required. Possible values are 'always', 'never', or 'conditional'. Conditional properties are either gated by a condition on the workflow template, or appear multiple times in the workflow and are only sometimes required.
      - `schema` object — Reserved for record property metadata. Currently returned as { properties: { type: 'object', displayName: 'properties', schema: {} } }.
  - `permissions` string[]

## Other responses

- `400` — 400

---

[API](https://skmtc.net/ironcladapp/apis/ironclad-public-api.md) · [All operations](https://skmtc.net/ironcladapp/apis/ironclad-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ironcladapp/ironclad-public-api/versions/9459b4cfc1e0/schema)
