---
title: "Propose a new draft receipt (governed learning loop)"
method: POST
path: "/api/agent-receipts/propose"
tags: ["Agent Receipts"]
---

# Propose a new draft receipt (governed learning loop)

`POST /api/agent-receipts/propose`

## Request

- Base URL: `https://api.cernion.de`
- URL: `https://api.cernion.de/api/agent-receipts/propose`
- Auth: none declared

Creates a receipt in draft status only. Chat and automated flows must use this path instead of create. The receipt is pending review and must be explicitly promoted before becoming active.

## Query parameters

- `token` string

## Request body

- object
  - `receiptId` string, required
  - `title` string, required
  - `description` string, required
  - `domain` string, required
  - `tags` string[]
  - `matching` object, required
  - `requiredInputs` string[]
  - `toolPlan` object, required
  - `creatorId` string, nullable: Identity of the creator (user id, agent name, etc).
  - `creatorSource` 'chat' | 'admin' | 'api' | 'seed': Origin of the proposal. Chat-originated proposals must use chat.
  - `changeReason` string: Optional human-readable reason for this proposal.
  - `supersedes` string: Optional receiptId of an active receipt this draft intends to supersede upon promotion.
  - `token` string: Optional Cernion MCP token for this request. Overrides CERNION_TOKEN when provided.

## Response `200`

Successful response

- object

---

[API](https://skmtc.dev/cernion/apis/cernion-energy-tools-api.md) · [All operations](https://skmtc.dev/cernion/apis/cernion-energy-tools-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cernion/apis/cernion-energy-tools-api/revisions/cdb94473b538?raw)
