---
title: "Update a bill approval policy"
method: PUT
path: "/v3/bill-approvals/policies/{policyId}"
tags: ["bill-approvals"]
---

# Update a bill approval policy

`PUT /v3/bill-approvals/policies/{policyId}`

Update an existing bill approval policy.

## Path parameters

- `policyId` string, required — BILL-generated ID of the approval policy. The value is in the `{organization_id}-{unique_id}` format.

## Headers

- `sessionId` string, nullable — API session ID generated with `/v3/login`
- `devKey` string, nullable — Developer key generated with your BILL developer account

## Request body

- BillApprovalPolicyRequestDto — Create a bill approval policy
  - `policyName` string, required — Bill approval policy name
  - `rules` BillApprovalPolicyCreateRuleDto[], required — Bill approval policy rules. You can set multiple rules for a policy. **Note**: Policy rules are applied in the specified order.
    - `key` 'BILL_AMOUNT' | 'BILL_LINE_ITEM_AMOUNT' | 'CHART_OF_ACCOUNT_ID' | 'VENDOR_ID' — Rule key. **Note**: Currently, only `BILL_AMOUNT` is supported with the API.
    - `op` 'lt' | 'gte' | 'in' — Rule operator. * `lt`: Less than * `gte`: Greater than or equal to * `in`: Any value in a list
    - `values` string[] — Rule values
  - `approvers` string[], required — List of approvers. For each approver, set the BILL-generated ID of the user. The value begins with `006`. **Note**: BILL requests approvals in the specified order.

## Response `200`

Update a bill approval policy response

- BillApprovalPolicyResponseDto — Response DTO for bill approval policy.
  - `id` string — BILL-generated ID of the approval policy. The value is in the `{organization_id}-{unique_id}` format.
  - `policyName` string — Bill approval policy name
  - `status` string — Bill approval policy status
  - `rules` BillApprovalPolicyRuleResponseDto[] — Bill approval policy rules
    - `key` 'BILL_AMOUNT' | 'BILL_LINE_ITEM_AMOUNT' | 'ACCOUNTING_CLASS_ID' | 'CHART_OF_ACCOUNT_ID' | 'CUSTOMER_ID' | 'DEPARTMENT_ID' | 'EMPLOYEE_ID' | 'JOB_ID' | 'LOCATION_ID' | 'VENDOR_ID' | 'UNDEFINED' — Rule key
    - `op` 'lt' | 'gte' | 'in' | 'nin' | 'UNDEFINED' — Rule operator
    - `values` RuleValueDto[] — Rule values
      - `value` string — Value
      - `displayName` string — Display name
  - `approvers` object — List of approvers
    - `users` ApproverUserDto[] — List of approver users
      - `userId` string — BILL-generated ID of the user. The value begins with `006`.
      - `fullName` string — User full name
    - `groups` ApproverGroupDto[] — List of approval groups
      - `groupName` string — Approval group name
      - `groupId` string — BILL-generated ID of the approval group. The value begins with `agp`.
      - `users` GroupUsers[] — Approval group user information
        - `id` string — BILL-generated ID of the user. The value begins with `006`.
        - `fullName` string — User full name

## Other responses

- `4XX` — List of errors.
- `5XX` — List of errors.

---

[API](https://skmtc.net/bill/apis/bill-v3-api.md) · [All operations](https://skmtc.net/bill/apis/bill-v3-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bill/bill-v3-api/versions/0483350c434e/schema)
