Skip to main content

Create or replace a mint limit

PUT 

/v1/mint-limits/:asset_id

Create the calling issuer's mint limit for a root asset, or replace it if one exists.

Who may call it. Only the issuer, for its own asset: the limit is always stored under the authenticated bank. A holder bank cannot set another bank's mint limit.

Upsert semantics. The request is a full replacement, not a partial update: the new amount replaces the previous one, and the first call for a root asset creates the limit. reason is recorded with the change but is not returned by GET.

Request identity checks (rejected synchronously with 400):

  • data.id must be exactly v1:{your_bank_id}:{asset_id}, where asset_id is the path parameter, for example v1:11111111-1111-7111-8111-111111111111:usd (RESOURCE_ID_MISMATCH). Note that GET returns an id built from the issued asset id (...:usd.bank-alpha); do not reuse that value here.
  • data.attributes.asset_id must equal the path asset_id.

Amount. amount.value is a non-negative integer string in the asset's minor units ("50000000" is 500,000.00 for a 2-decimal asset). amount.scale must be a non-negative integer; set it to the asset's decimals. The value is not rescaled by scale. Values above 9223372036854775807 are rejected with 400.

Asynchronous completion. Returns 202 Accepted with an operation. The platform records the new limit on the ledger and the operation reaches SUCCEEDED once the ledger confirms it; only then does the new limit apply, and GET shows it shortly after. If the ledger rejects the change the operation ends FAILED and the previous limit stays in force. Poll GET /v1/operations/{operation_id} for the outcome.

In-flight changes. Only one change per mint limit can be in progress. A new PUT for the same root asset while an earlier change has not finished is rejected with 400 and the title an earlier change to this resource is unresolved; retry after the earlier operation completes. Transfers are checked against the limit in force when they are processed; lowering the limit does not reverse value already issued.

Retries. Send an Idempotency-Key. Repeating the same key with the same body returns the original 202 document; the same key with a different body returns 409.

Request​

Responses​

Change accepted for asynchronous processing. data.id is the operation_id; data.relationships.resource identifies the mint limit being changed.