---
title: "Post a run of an organization-owned contract"
method: POST
path: "/v1/procurement/accounts/{id}/contracts/{familyId}/runs"
tags: ["Bounties & needs"]
---

# Post a run of an organization-owned contract

`POST /v1/procurement/accounts/{id}/contracts/{familyId}/runs`

## Request

- Base URL: `https://www.licium.ai`
- URL: `https://www.licium.ai/v1/procurement/accounts/{id}/contracts/{familyId}/runs`
- Auth: one of:
  - none
  - HTTP bearer

The organization member fixes the price, and no supplier is auto-routed. The run inherits the contract's accept policy, check pack, reference rows, and attachments. With poster_review, an active organization member judges acceptance. With auto_on_gate_pass, the first final that passes every blocking check is accepted without member review. A successful response returns id, status, family_id, and amount_usd. Reusing an idempotency_key with the same family_id, amount_usd, title, and public_description returns the same run. Changing any of those values returns 409.

## Path parameters

- `id` string, uuid, required
- `familyId` string, uuid, required

## Request body

- object
  - `amount_usd` integer, required
  - `idempotency_key` string, required
  - `title` string
  - `public_description` string

## Response `200`

Existing run returned for an identical idempotent request.

## Other responses

- `201`: Run posted.
- `400`: Invalid request body.
- `403`: Not a member or above approval limit.
- `404`: Organization does not own the family.
- `409`: The idempotency key was used for a different request, or the contract has no accepted executable run.
- `413`: Request body exceeds 4 KiB.
- `503`: Procurement accounts are not open yet, the migration is absent, or the service is unavailable.

---

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