---
title: "Update Agreement"
method: PATCH
path: "/finalize/v2/agreements/{agreement_id}"
tags: ["Finalize Agreements"]
---

# Update Agreement

`PATCH /finalize/v2/agreements/{agreement_id}`

## Path parameters

- `agreement_id` string, required

## Request body

- object
  - `data` object, required
    - `upload_complete` boolean — For agreement creation flow, patch this field as `true` when all agreement files have been uploaded.
    - `status_id` string, uuid — The UUID of the Agreement Status record you want to transition to.
    - `questions` object[]
      - `id` string, uuid, required — The UUID of the Question record that you want to update.
      - `answer` union, required
        - object
          - `value` string, required — The answer value.
        - object
          - `selected` object[], required — List of the selected answer options.
            - `id` string, uuid, required — The UUID of the answer option record that you want to select.

## Response `200`

ok

- object
  - `data` object, required
    - `id` string, uuid, required — The UUID of the agreement record.
    - `name` string, required — The name of the agreement.
    - `created_at` string, date-time, required — The ISO 8601 datetime of when the agreement record was created.
    - `status_updated_at` string, date-time, nullable, required — The ISO 8601 datetime of when the agreement status was updated. Expected to be null if the agreement is not fully created.
    - `kind` 'draft' | 'intake' | 'request' | 'sign' | 'webform', required — The kind of the agreement.
    - `analyze_agreement_id` string, uuid, nullable, required — The UUID of the Analyze agreement that was created and referenced by a Fully Signed Finalize agreement.
    - `template_id` string, uuid, nullable, required — The UUID of the template the agreement was created from. Expected to be null if the agreement was not created from a template.
    - `author_id` string, uuid, required — The UUID of the user record that created the agreement.
    - `owner_id` string, uuid, nullable, required — The UUID of the user record that is currently the agreement owner. Expected to be null if the agreement does not have an owner.
    - `collaborator_ids` string[], required — Array of the agreement collaborator User UUIDs.
    - `status_id` string, uuid, nullable, required — The UUID of the current status record. Expected to be null if the agreement is not fully created.
    - `question_ids` string[], required — Array of the agreement question UUIDs.
    - `token_value_ids` string[], required — Array of the agreement token value UUIDs.
    - `pen` object
      - `assigned_to_counterparty` boolean — Indicates whether the pen is assigned to the counterparty.
      - `holder_ids` string[] — Array of the agreement pen holder User UUIDs.

## Other responses

- `404` — not_found
- `422` — unprocessable_entity

---

[API](https://skmtc.net/linksquares/apis/linksquares-api.md) · [All operations](https://skmtc.net/linksquares/apis/linksquares-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/linksquares/linksquares-api/revisions/4d597e83cd78/schema)
