---
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}`

## Request

- Base URL: `https://gateway.stage.bill.com/connect`
- URL: `https://gateway.stage.bill.com/connect/v3/bill-approvals/policies/{policyId}`
- Auth: none declared

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.dev/bill/apis/bill-v3-api.md) - [All operations](https://skmtc.dev/bill/apis/bill-v3-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bill/apis/bill-v3-api/revisions/54edddceb0a5?raw)
