---
title: Post a waive-audit request
summary: Submit waive-audit items to a caller-selected Policy Audit API route.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Audit.ApiCalls
reference_type: package
operation_id: OP-003
trigger: A caller invokes `WaiveAPICall(auditCollection, method)`.
---

# Post a waive-audit request

Submit waive-audit items to a caller-selected Policy Audit API route.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-003 |
| **Trigger** | A caller invokes `WaiveAPICall(auditCollection, method)`. |
| **Inputs** | `WaveAuditCollection auditCollection`, `string method`. |
| **Outputs** | `string` wrapper representation. |
| **Primary components** | `ApiCall.WaiveAPICall` |
| **Entry point** | `Business\SAIF.Business.Policy.Audit.ApiCalls\ApiCall.cs` |

## Steps

1. Pass the caller-supplied `method` route and waive-audit payload directly to `_api.PostJson<bool>` ([BR-AAC-006](../business-rules.md#br-aac-006-callers-choose-the-policy-audit-api-route)).
2. Return `result.ToString()` instead of extracting a boolean from the response wrapper ([BR-AAC-008](../business-rules.md#br-aac-008-waive-audit-submission-returns-the-wrapper-string)).

## Process flow

The following diagram visualizes this operation's control flow.

```mermaid
flowchart TD
  Start([WaiveAPICall]) --> Post[POST waive-audit collection]
  Post --> Stringify[Convert wrapper to string]
  Stringify --> Done([Return string])
```

## Failure and edge-case behavior

- The method does not expose a boolean success flag even though it posts a `bool` response type.
- The method does not add its own exception handling.

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [Configuration](../configuration.md)

## Sources
- `Business\SAIF.Business.Policy.Audit.ApiCalls\ApiCall.cs`
