---
title: "Create a draft provider-funded action offer"
method: POST
path: "/provider/offers"
---

# Create a draft provider-funded action offer

`POST /provider/offers`

Terms-only launch pilot. Drafts cannot appear beside organic results until the provider authenticates the exact capped CPA terms, the owner verifies that acceptance, and NHS activates the offer.

## Request body

- object
  - `claim_id` string, uuid, required
  - `name` string, required
  - `summary` string, required
  - `action_type` 'lead' | 'demo' | 'trial' | 'signup' | 'purchase' | 'quote' | 'application' | 'booking', required
  - `action_url` string, uri, required — HTTPS URL on the verified provider domain
  - `charge_event` 'accepted' | 'activated' | 'converted', required
  - `bounty_cents` integer, required
  - `currency` 'usd', required
  - `principal_price_mode` 'free' | 'fixed' | 'quote' | 'provider_pricing', required
  - `principal_price_cents` integer
  - `principal_currency` 'usd', required
  - `billing_mode` 'terms', required — The bounded launch pilot supports provider-authenticated exact capped CPA terms only; prepaid collection is not launched
  - `terms_credit_limit_cents` integer
  - `terms_period_days` integer

## Response `201`

Draft offer created

## Other responses

- `409` — Offer inventory limit reached

---

[API](https://skmtc.net/nothumansearch/apis/not-human-search-api.md) · [All operations](https://skmtc.net/nothumansearch/apis/not-human-search-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/nothumansearch/not-human-search-api/revisions/bdae4e208ce7/schema)
