---
title: "Trigger an AI audit for a completed AI call."
method: POST
path: "/aiaudits"
tags: ["AI"]
---

# Trigger an AI audit for a completed AI call.

`POST /aiaudits`

Evaluates each AI participant in the specified call asynchronously using Gemini. Returns 202 Accepted immediately; poll GET /aiaudits/{id} for completion.

## Request body

- object
  - `aicall_id` string, uuid, required — The ID of the AI call to audit.
  - `language` string — BCP47 language code for audit output (e.g. "en-US", "ko-KR"). Defaults to the call's stt_language or "en-US".

## Response `202`

Audit jobs accepted and running in background.

- object
  - `result` AIManagerAIAudit[]
    - `id` string, uuid — The unique identifier of the audit.
    - `customer_id` string, uuid — The customer who owns this audit.
    - `aicall_id` string, uuid — The AI call that was audited. Returned from the `GET /aicalls` response.
    - `ai_id` string, uuid — The AI participant that was evaluated. Returned from the `GET /ais` response.
    - `prompt_history_id` string, uuid — The prompt version active during the call.
    - `status` 'progressing' | 'completed' | 'failed' — Status of the AI audit.
    - `overall_score` integer, nullable — Overall score (1-5) independently assessed by the LLM. Null until completed.
    - `evaluation` object, nullable — Full structured evaluation output. Null until completed.
    - `message_ids` string[], nullable — Ordered list of message IDs (newest-first) that were evaluated by Gemini. Null while progressing, on failure, or for audits completed before this feature. Present and non-empty on successful completion for calls with messages.
    - `language` string — BCP47 language code used for audit output.
    - `error` string — Failure reason if status is failed.
    - `tm_create` string, date-time — Timestamp when the audit was created.
    - `tm_update` string, date-time, nullable — Timestamp when the audit was last updated.
    - `tm_delete` string, date-time, nullable — Timestamp when the audit was deleted.

## Other responses

- `400` — Invalid request (INVALID_ARGUMENT).
- `401` — Authentication required (UNAUTHENTICATED).
- `404` — Resource not found (NOT_FOUND).
- `409` — State conflict (ALREADY_EXISTS or FAILED_PRECONDITION).
- `429` — Rate or quota exceeded (RESOURCE_EXHAUSTED).
- `500` — Internal error (INTERNAL).

---

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