---
title: "Validate policy approvers"
method: POST
path: "/approval-policies/validate-approvers"
tags: ["approvalPolicies"]
---

# Validate policy approvers

`POST /approval-policies/validate-approvers`

Validates that the proposed approver set can satisfy the minimum approval threshold across all locations in the policy scope. Call before create/update to surface missing-approver warnings. One scope field is required.

## Headers

- `Authorization` string, required
- `X-Api-Key` string, required
- `X-API-Version` string
- `Idempotency-Key` string

## Request body

- object
  - `minimum_approvers` integer — Required approver count (default 1)
  - `use_buyer_approver` boolean — Treat buyer as implicit approver (default false)
  - `ottimate_location_id` integer — Validate for a single location
  - `ottimate_company_id` integer — Validate for all locations in company
  - `group` string — Validate for all locations in group
  - `account` string — Validate for all locations in account
  - `users` integer[] — User IDs to validate
  - `roles` string[] — Role IDs to validate

## Response `200`

Validation ran; `valid` reports whether the proposed approver set covers every location in scope. Always 200 -- a validation result, even a negative one, is not an error condition.

- ApprovalPoliciesPostApprovalPoliciesValidateApproversResponse200 — Empty response body

## Other responses

- `400` — No scope field supplied -- exactly one of ottimate_location_id, ottimate_company_id, group, or account is required
- `401` — Unauthorized - Authentication required or invalid credentials
- `403` — Forbidden - Access denied or insufficient permissions

## Changes

- **2026-08-22** `75aab60eedc9` — 2 breaking, 1 warning
  - for the `header` request parameter `Idempotency-Key`, the minLength was increased from `0` to `1`
  - added the pattern `^[A-Za-z0-9._\-+=/]{1,128}$` to the `header` request parameter `Idempotency-Key`
  - for the `header` request parameter `Idempotency-Key`, the maxLength was set to `128`
- **2026-08-19** `c0b5cf6c7a72` — 1 info
  - endpoint added
- **2026-08-17** `c231509a03cf` — 1 breaking
  - api path removed without deprecation
- **2026-08-13** `1f089f3e34d9` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/ottimate/apis/api-reference/changes/approval-policies/validate-approvers/post.md)

---

[API](https://skmtc.dev/ottimate/apis/api-reference.md) · [All operations](https://skmtc.dev/ottimate/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ottimate/api-reference/revisions/ba91ff4c6969/schema)
