`PUT /api/admin/marketplace/fee-settings` — update the platform fee settings.
const url = 'https://example.com/api/admin/marketplace/fee-settings';const options = { method: 'PUT', headers: {'Content-Type': 'application/json'}, body: '{"currency":"example","kind_fee_overrides":"example","min_payout_cents":1,"package_fee_percent":1,"runner_fee_percent":1,"subscription_grace_days":1}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://example.com/api/admin/marketplace/fee-settings \ --header 'Content-Type: application/json' \ --data '{ "currency": "example", "kind_fee_overrides": "example", "min_payout_cents": 1, "package_fee_percent": 1, "runner_fee_percent": 1, "subscription_grace_days": 1 }'Request Bodyrequired
Section titled “Request Bodyrequired”object
ADR 0034 P4 — per-kind platform fee overrides ({kind: percent}). Absent
kinds fall back to package_fee_percent.
#1111 — the marketplace subscription dunning window, in days (0-90). Omitted leaves the stored value untouched, so an admin editing only the fee percentages never silently resets a window they never saw.
Examplegenerated
{ "currency": "example", "kind_fee_overrides": "example", "min_payout_cents": 1, "package_fee_percent": 1, "runner_fee_percent": 1, "subscription_grace_days": 1}Responses
Section titled “Responses”Singleton platform fee configuration (id = ‘active’). Fee percentages are
stored as NUMERIC(5,2) in Postgres and cast to float8 in queries so
the Rust side receives f64 without requiring a decimal crate.
object
ADR 0034 P4 — per-kind platform fee overrides ({kind: percent}); a kind
absent here falls back to package_fee_percent.
#1111 (ADR 0027 subscription slice) — the dunning window, in days,
between a subscription period ending and its license actually lapsing.
It absorbs BOTH the renewal-webhook flight time and Stripe’s payment
retries, so a paying buyer is never locked out mid-retry. Operator-owned
because ADR 0027 puts the Marketplace commercial policy in the Admin
Pricing section; 0 means “lapse the instant the period ends”.
Examplegenerated
{ "created_at": "2026-04-15T12:00:00Z", "currency": "example", "effective_from": "2026-04-15T12:00:00Z", "id": "example", "kind_fee_overrides": "example", "min_payout_cents": 1, "package_fee_percent": 1, "runner_fee_percent": 1, "subscription_grace_days": 1, "updated_at": "2026-04-15T12:00:00Z", "updated_by": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"}