---
title: "Update Workflow Metadata"
method: PATCH
path: "/workflows/{id}/attributes"
tags: ["Workflows"]
---

# Update Workflow Metadata

`PATCH /workflows/{id}/attributes`

The workflow must be in the Review step in order for its data to be updated. Use the `remove` action to clear field values and the `set` action to add or modify values. Form validation is enforced; required fields cannot be removed and any required fields triggered by conditions must be populated.

**Note:** This endpoint does not support updating document/file type attributes. To manage documents, use the [Create a Document on a Workflow](https://developer.ironcladapp.com/reference/create-a-workflow-document) and [Update Signature Packet on a Workflow](https://developer.ironcladapp.com/reference/update-workflow-signature-packet) endpoints.

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

## Path parameters

- `id` string, required

## Headers

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

## Request body

- object
  - `updates` object[], required
    - `action` 'set' | 'remove', required — The type of action you'd like to take on an existing attribute (read-only fields cannot be updated). Use the remove action to clear values. If using the remove action, the attribute cannot be required by the workflow.
    - `path` string, required — The workflow attribute id that you'd like to make a change to. Workflow attribute IDs and values can be retrieved using the [Retrieve a Workflow](https://developer.ironcladapp.com/reference/retrieve-a-workflow) endpoint.
    - `value` string — The value to change the attribute to. Only required when the `action` property is `set` and not `remove`. The value's format must conform to the field type (e.g., `"someString"` for strings, `true` or `false` for booleans, etc.
  - `comment` string — A comment that explains the updates you are making to the workflow.

## Response `200`

200

- object
  - `id` string
  - `ironcladId` string
  - `title` string
  - `template` string
  - `step` string
  - `schema` object
    - `counterpartyName` object
      - `type` string
      - `displayName` string
      - `propertyKey` string — The unique identifier for the property.
      - `readOnly` boolean — Determines whether the property's value can be updated.
    - `amount` object
      - `type` string
      - `displayName` string
      - `propertyKey` string — The unique identifier for the property.
      - `readOnly` boolean — Determines whether the property's value can be updated.
    - `fee` object
      - `type` string
      - `displayName` string
      - `propertyKey` string — The unique identifier for the property.
      - `readOnly` boolean — Determines whether the property's value can be updated.
    - `draft` object
      - `type` string
      - `elementType` object
        - `type` string
        - `displayName` string
    - `lineItems` object
      - `type` string
      - `elementType` object
        - `type` string
        - `displayName` string
        - `schema` object
          - `childAttribute` object
            - `type` string
            - `displayName` string
          - `anotherChildAttribute` object
            - `type` string
            - `displayName` string
  - `attributes` object
    - `counterpartyName` string
    - `amount` integer
    - `fee` object
      - `currency` string
      - `amount` integer
    - `draft` object[]
      - `version` string
      - `filename` string
      - `download` string
  - `isCancelled` boolean
  - `isComplete` boolean
  - `status` string
  - `creator` object
    - `displayName` string
    - `email` string
    - `id` string
  - `created` string
  - `lastUpdated` string
  - `roles` object[]
    - `id` string
    - `displayName` string
    - `assignees` object[]
      - `userName` string
      - `userId` string
      - `email` string
  - `approvals` object
    - `state` string
    - `url` string
  - `signatures` object
    - `state` string
    - `url` string
  - `recordIds` string[]
  - `isRevertibleToReview` boolean

## Other responses

- `400` — 400
- `403` — 403
- `404` — 404

---

[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)
