---
title: "Create a Fee Rule"
method: POST
path: "/admin/fees"
tags: ["Admin"]
---

# Create a Fee Rule

`POST /admin/fees`

Creates a new fee rule or override.

## Request body

- object
  - `agents` string[] — Agents the rule targets. Empty for 'global', exactly one for 'agent', exactly two (ordered sender, recipient) for 'pair'.
  - `effectiveFrom` string, date-time — When the rule becomes effective (RFC 3339). Defaults to now when omitted.
  - `effectiveUntil` string, date-time — Optional expiry after which the rule no longer applies (RFC 3339).
  - `feeId` string — Identifier for the fee rule. Optional on create; the server generates one when omitted.
  - `rate` string, required — Fee rate as a non-negative decimal fraction (e.g. '0.0005'). Must not exceed the configured maximum (default '0.05').
  - `reason` string — Free-text justification recorded in the audit trail.
  - `scope` 'global' | 'agent' | 'pair', required — Match scope of the rule. 'global' applies to all agents, 'agent' to one agent, 'pair' to a specific sender/recipient pair.
  - `transactionType` 'sale' | 'payment' | 'subscription' | 'group_fee' | 'revenue_share', required — Fee-bearing ledger transaction type the rule applies to.

## Response `200`

OK

- object

---

[API](https://skmtc.net/tiny/apis/tiny-place-network-api.md) · [All operations](https://skmtc.net/tiny/apis/tiny-place-network-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tiny/tiny-place-network-api/revisions/fb85a82845ac/schema)
