---
title: "Approvals.update"
method: PATCH
path: "/entities/Approvals/{id}"
tags: ["Approval"]
---

# Approvals.update

`PATCH /entities/Approvals/{id}`

## Request

- Base URL: `https://us-east.api.coevera.com/api/v100/rest/spaces/your_space_id`
- URL: `https://us-east.api.coevera.com/api/v100/rest/spaces/your_space_id/entities/Approvals/{id}`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/coevera/apis/coevera-crm-api/docs/entities/Approvals/:id/patch.ts> (a function with typed inputs; its response is checked against the schema)

Changes fields of the Approval record with the given id; fields left out keep their values.

## Path parameters

- `id` string, uuid, required

## Query parameters

- `validation-level` integer

## Request body

- UpdateApprovalInput: Field values to change on an Approval record; fields left out keep their values.
  - `account_id` string, uuid: Id of the linked account.
  - `actor_id` string, uuid: Id of the triggering user.
  - `application_id` string, uuid: Id of the application (e.g. browser, automation, third-party integration) the approval was triggered in.
  - `approval_process_id` string, uuid: Id of the approval process this approval was raised from.
  - `approval_status` 0 | 1 | 2: Decision state of the approval: Pending while waiting for the approvers, then Approved or Rejected. end_time is set once the decision is made. Integer enum value: 0 - Pending, 1 - Approved, 2 - Rejected
  - `comment` string: Comment the requester attached when raising the approval.
  - `contact_id` string, uuid: Id of the linked contact.
  - `lead_oppty_id` string, uuid: Id of the linked lead or opportunity, or empty when not linked.
  - `quote_id` string, uuid: Id of the linked quote.
  - `status` 1 | 2 | 3 | 4 | 5: Result of the approval process run: the most severe status among its activity log lines, Error when a step of the run failed. The decision itself is in approval_status. Integer enum value: 1 - Ok, 2 - Warning, 3 - Error, 4 - Scheduled, 5 - Expired
  - `revision` integer: Revision when entity was lastly changed.
  - `approvers` object[]: Users who must respond to the approval, with their individual responses.
    - `id` string, uuid: Id of the related ApprovalApprover record.

## Response `200`

The changed Approval record.

- object
  - `success` boolean: True when the request succeeded; false on error.
  - `data` Approval: Approval request that an approval process raised for a record, such as a quote or an opportunity, waiting for the decision of its approvers.
    - `is_delete_protected` boolean, required: True when the record is protected against deletion because it must always exist in the space. Deleting a record that is not protected can still fail on other checks. Read-only.
    - `id` string, uuid, required: Unique identifier of entity.
    - `is_deleted` boolean: Specifies if the entity is considered deleted.
    - `modified` string, date-time: Last modification time.
    - `created` string, date-time: Creation time.
    - `account` string, uri: Account the approval is requested on, when the trigger record is an Account. Related Account record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'Account' for its fields.
    - `actor` string, uri: User who triggered the approval, or empty when triggered automatically. Related Client record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'Client' for its fields.
    - `application` string, uri, required: Application context the approval was triggered in. Related Application record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'Application' for its fields.
    - `approval_process` string, uri, required: Approval process this approval was raised from. Related ApprovalProcess record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'ApprovalProcess' for its fields.
    - `contact` string, uri: Contact the approval is requested on, when the trigger record is a Contact. Related Contact record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'Contact' for its fields.
    - `lead` string, uri: Lead the approval is requested on. Set when lead_oppty_id resolves to a Lead. Related Lead record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'Lead' for its fields.
    - `oppty` string, uri: Opportunity the approval is requested on. Set when lead_oppty_id resolves to an Opportunity. Related Opportunity record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'Opportunity' for its fields.
    - `quote` string, uri: Quote the approval is requested on, when the trigger record is a Quote. Related Quote record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'Quote' for its fields.
    - `account_id` string, uuid: Id of the linked account.
    - `actor_id` string, uuid: Id of the triggering user.
    - `application_id` string, uuid, required: Id of the application (e.g. browser, automation, third-party integration) the approval was triggered in.
    - `approval_process_id` string, uuid, required: Id of the approval process this approval was raised from.
    - `approval_status` 0 | 1 | 2: Decision state of the approval: Pending while waiting for the approvers, then Approved or Rejected. end_time is set once the decision is made. Integer enum value: 0 - Pending, 1 - Approved, 2 - Rejected
    - `comment` string: Comment the requester attached when raising the approval.
    - `contact_id` string, uuid: Id of the linked contact.
    - `end_time` string, date-time: Timestamp the approval reached a final status (Approved/Rejected/Cancelled). Empty while the approval is still pending.
    - `lead_oppty_id` string, uuid: Id of the linked lead or opportunity, or empty when not linked.
    - `quote_id` string, uuid: Id of the linked quote.
    - `settings` object, required: Snapshot of the approval process schema at the time the approval was raised. Frozen so subsequent changes to the parent approval process do not affect this run.
    - `status` 1 | 2 | 3 | 4 | 5: Result of the approval process run: the most severe status among its activity log lines, Error when a step of the run failed. The decision itself is in approval_status. Integer enum value: 1 - Ok, 2 - Warning, 3 - Error, 4 - Scheduled, 5 - Expired
    - `revision` integer: Revision when entity was lastly changed.
    - `approvers` string[]: Users who must respond to the approval, with their individual responses.
    - `lines` string[]: Activity log lines describing the steps taken on this approval (visible only).
    - `start_time` string, date-time: Timestamp the approval was raised (alias of created).

## Other responses

- `400`: Bad request: a bad or unknown parameter (codes 117, 118), a missing permission (code 50), conflicting data (code 2002) or any other API error. The REST API answers 400 where others answer 403 or 409; check `code`.
- `401`: Not authenticated: missing or wrong credentials, a credential of another space, or an expired token (code 401, ERROR_UNAUTHORIZED).
- `404`: No such record or entity (code 143 ERROR_NO_ENTITY, or 2006 ERROR_UNKNOWN_TYPE).
- `422`: Validation failed (code 40000, with the failing fields) or a required parameter is missing (code 119). By default one failed item fails a whole batch and nothing is written.
- `429`: Too many requests (code 182). Wait for the seconds in Retry-After, then retry.
- `500`: Unexpected server error (code 1000, ERROR_UNKNOWN).

---

[API](https://skmtc.dev/coevera/apis/coevera-crm-api.md) - [All operations](https://skmtc.dev/coevera/apis/coevera-crm-api/llms.txt) - [OpenAPI document](https://skmtc.dev/coevera/apis/coevera-crm-api/revisions/40ebbc83f179?raw)
