---
title: "POST /v1/task-outcomes"
method: POST
path: "/v1/task-outcomes"
---

# POST /v1/task-outcomes

`POST /v1/task-outcomes`

## Request

- Base URL: `https://thumbgate.ai`
- URL: `https://thumbgate.ai/v1/task-outcomes`
- Auth: HTTP bearer

## Request body

- TaskOutcomeReceipt
  - `taskId` string, required
  - `taskType` string
  - `goal` string, required
  - `expectedOutcome` string
  - `status` 'completed' | 'failed' | 'partial' | 'escalated', required
  - `verification` object, required
    - `performed` boolean, required
    - `passed` boolean, required
    - `verifier` string
    - `method` string
    - `evidence` string[], required
    - `unsupportedClaims` integer
  - `toolCalls` object[], required
    - `name` string, required
    - `contractValid` boolean, required
    - `allowed` boolean, required
    - `succeeded` boolean, required
    - `attempts` integer, required
    - `idempotencyKey` string
    - `duplicateSideEffect` boolean
  - `policy` object, required
    - `violations` integer, required
    - `unsafeEscapes` integer, required
    - `falseBlocks` integer, required
  - `efficiency` object, required
    - `latencyMs` number, required
    - `costUsd` number, required
    - `firstAttempt` boolean
  - `idempotencyKey` string

## Response `201`

Task outcome recorded

## Other responses

- `400`: Invalid or conflicting task outcome
- `401`: Unauthorized

---

[API](https://skmtc.dev/thumbgate/apis/thumbgate-api.md) · [All operations](https://skmtc.dev/thumbgate/apis/thumbgate-api/llms.txt) · [OpenAPI document](https://skmtc.dev/thumbgate/apis/thumbgate-api/revisions/7f57f2edcd23?raw)
