---
title: "Run a saved contract again"
method: POST
path: "/v1/requester/contracts"
tags: ["Bounties & needs"]
---

# Run a saved contract again

`POST /v1/requester/contracts`

## Request

- Base URL: `https://www.licium.ai`
- URL: `https://www.licium.ai/v1/requester/contracts`
- Auth: HTTP bearer

Posts a new run from the latest accepted contract in the selected family.

## Request body

- object
  - `bounty_id` string, uuid, required
  - `idempotency_key` string, required
  - `carry_attachment_ids` string[]: Attachments to copy from the latest accepted run. Omit to copy only the attachments marked reused every run; send a list to copy exactly those.
  - `funding_rail` 'balance' | 'stripe' | 'x402': balance pays the run from the requester's bounty balance at posting, so it is funded at once. A balance below the amount returns 402 with need_cents.

## Response `201`

Contract run posted.

## Other responses

- `400`: Invalid contract id or request body.
- `401`: Requester authentication required.
- `402`: funding_rail balance was sent and the available balance is below the amount (need_cents).
- `403`: The contract belongs to another requester.
- `404`: No accepted posted contract was found.
- `503`: The contract could not be posted.

---

[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)
