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

# ApprovalProcesses.update

`PATCH /entities/ApprovalProcesses/{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/ApprovalProcesses/{id}`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/coevera/apis/coevera-crm-api/docs/entities/ApprovalProcesses/:id/patch.ts> (a function with typed inputs; its response is checked against the schema)

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

## Path parameters

- `id` string, uuid, required

## Query parameters

- `validation-level` integer

## Request body

- UpdateApprovalProcessInput: Field values to change on an ApprovalProcess record; fields left out keep their values.
  - `description` string: Free-text description shown alongside the approval process.
  - `is_enabled` boolean: When true, the approval process actively raises approvals on matching record events; when false, the process is paused.
  - `last_schema_change` string, date-time: Timestamp of the most recent change to settings.
  - `last_status_change` string, date-time: Timestamp of the most recent change to is_enabled.
  - `name` string: Name of the entity and its default text representation.
  - `owner_id` string, uuid: Id of the owning user.
  - `settings` object: Approval process schema as a JSON object conforming to the ApprovalProcessSchema type — trigger, filter, approver settings, and approve/reject nodes. Validated on write. Full structure: https://developers.coevera.com/reference/graphql/types/a/#ApprovalProcessSchema This payload conforms to the `ApprovalProcessSchema` JSON Schema (see the linked schema).
  - `documents` object[]: Files attached to the approval process (e.g. process documentation).
    - `id` string, uuid: Id of the related CloudObjectRelation record.

## Response `200`

The changed ApprovalProcess record.

- object
  - `success` boolean: True when the request succeeded; false on error.
  - `data` ApprovalProcess: Approval rule that raises approval requests for records of an entity when its trigger conditions are met, and defines who approves them.
    - `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.
    - `owner` string, uri, required: User who owns the approval process. 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.
    - `description` string: Free-text description shown alongside the approval process.
    - `entity_type` 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12: Entity whose records the approval process is raised for, taken from the trigger in settings. Read-only. Integer enum value: 1 - Lead, 2 - Account, 3 - Contact, 4 - Opportunity, 5 - Task, 6 - Appointment, 7 - OpptyProductRelation, 8 - Project, 9 - Quote, 10 - OnlineForm, 11 - CustomEntity, 12 - Product
    - `is_enabled` boolean, required: When true, the approval process actively raises approvals on matching record events; when false, the process is paused.
    - `last_schema_change` string, date-time: Timestamp of the most recent change to settings.
    - `last_status_change` string, date-time: Timestamp of the most recent change to is_enabled.
    - `name` string, required: Name of the entity and its default text representation.
    - `owner_id` string, uuid, required: Id of the owning user.
    - `priority` integer: Position of this process among approval processes for the same record-trigger entity type; lower values are evaluated first. Read-only; managed via update_priority. Null for manual-trigger approval processes.
    - `settings` object: Approval process schema as a JSON object conforming to the ApprovalProcessSchema type — trigger, filter, approver settings, and approve/reject nodes. Validated on write. Full structure: https://developers.coevera.com/reference/graphql/types/a/#ApprovalProcessSchema This payload conforms to the `ApprovalProcessSchema` JSON Schema (see the linked schema).
    - `documents` string[]: Files attached to the approval process (e.g. process documentation).
    - `activity_logs` string[]: Approvals (one per process run) raised by this approval process.

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