---
title: "document_contract_updated"
method: POST
path: "document_contract_updated"
tags: ["Webhook Payloads"]
---

# document_contract_updated

`POST document_contract_updated` (webhook)

A user created or changed the contract terms of the document. Read them with `GET /v1/accounts/{accountId}/documents/{documentId}/contract`. Also sent by the hourly run when it hands the contract of an owner who left the workspace to another owner. Also sent whenever the terms change by other means (see the `by_system` example: subject Account, no `user_name`) — right after `document_contract_amended`, `document_contract_renewed`, `document_contract_expired` or `document_contract_terminated` — with the subject of that event (Account on the hourly or queued run, without `user_name`). **Subject:** User, or Account · **Object:** Document · **Payload:** `user_name` (User subject only), `end_date` (the end date after the change; null when none), `changed` (the fields of the contract resource that changed, such as `["value", "end_date", "term"]`; for terms just created, every field that differs from a contract with no terms).

## Headers

- `User-Agent` string, required
- `webhook-id` string, required
- `webhook-timestamp` string, required
- `webhook-signature` string

## Payload

- WebhookEvent: Body of every webhook delivery. Timestamps in the body (`created_at`, and the `*_at` fields of `subject`/`object`) are Unix timestamps in seconds, not the ISO strings the REST responses use. `subject` and `object` are serialized from their current state when the delivery is sent.
  - `id` integer, required: ID of the activity that produced the event.
  - `event` string, required: Event type. See **List webhook event types**.
  - `message` string, nullable: Reserved; currently always `null`.
  - `payload` object, nullable: Event-specific parameters; keys vary per event.
  - `origin` object, nullable: Where the action came from, when it was triggered by a request.
    - `ip` string
    - `user-agent` string
  - `created_at` integer, required: When the event was recorded (Unix timestamp, seconds).
  - `subject` object, required: Who performed the action: a `User`, `Signer` or `Account`, plus a `type` property naming it.
  - `object` object, required: What the action was performed on: a `Document`, `Signer` or `Template` with its relations expanded, plus a `type` property naming it.
  - `account_id` string, required: ID of the account that owns the event.

## Acknowledgement `2XX`

Any `2xx` response acknowledges the delivery. Any other status, a connection error or a timeout counts as a failed attempt.

---

[API](https://skmtc.dev/assinafy/apis/assinafy-api-reference.md) - [All operations](https://skmtc.dev/assinafy/apis/assinafy-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/assinafy/apis/assinafy-api-reference/revisions/3672991376b6?raw)
