---
title: "Append a member-attested pipeline outcome"
method: POST
path: "/api/v2/buyer-outcomes"
tags: ["Buyer Agent"]
---

# Append a member-attested pipeline outcome

`POST /api/v2/buyer-outcomes`

## Request

- Base URL: `https://www.hireeli.io`
- URL: `https://www.hireeli.io/api/v2/buyer-outcomes`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Requires write:own-site. REST assertions are member-attested and can never become CRM-verified; signed CRM ingestion is the only CRM evidence path.

## Headers

- `x-eli-tenant` string, uuid

## Request body

- object
  - `context_id` string, uuid, required
  - `stage` 'lead' | 'qualified' | 'meeting_booked' | 'meeting_held' | 'opportunity_created' | 'closed_won' | 'closed_lost' | 'disqualified', required
  - `occurred_at` string, date-time, required
  - `idempotency_key` string, required
  - `value_cents` integer
  - `currency` string

## Response `200`

Append-only member-attested outcome receipt.

## Other responses

- `400`: Invalid outcome; nothing changed.
- `403`: Workspace, role, scope, plan or feature does not permit this operation.
- `429`: Request or durable protocol cap reached.
- `503`: A required security, billing, cap, audit, evidence or storage check is unavailable. Writes fail closed.

---

[API](https://skmtc.dev/hireeli/apis/eli-api.md) · [All operations](https://skmtc.dev/hireeli/apis/eli-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hireeli/apis/eli-api/revisions/3272729fecd2?raw)
