Update provider limit policy
PATCH
/providers/{providerID}/limits
Update your provider’s default limit policy.
A body that changes no field returns 400. An explicit null on a dimension leaves that dimension unchanged, the same as omitting it.
Auth: API key or bearer token. Scoped to the calling provider.
Request
curl -X PATCH https://api.moov.money/providers/{providerID}/limits \
-u "$MOOV_API_KEY_ID:$MOOV_API_KEY_SECRET" \
-H "X-Moov-Version: v2026.10.00"Responses
The request completed successfully.
{
"policy": {
"createdOn": "2026-08-31T12:00:00Z",
"currency": "USD",
"dailyAmount": {
"currency": {
"code": "USD",
"decimalPlaces": 2
},
"value": "1000.00"
},
"dailySendCount": 10,
"monthlyAmount": {
"currency": {
"code": "USD",
"decimalPlaces": 2
},
"value": "10000.00"
},
"perTransactionAmount": {
"currency": {
"code": "USD",
"decimalPlaces": 2
},
"value": "500.00"
},
"versionID": "ver_01HF5J9ZKQT4RXP8M2VYBN3D",
"weeklyAmount": {
"currency": {
"code": "USD",
"decimalPlaces": 2
},
"value": "2500.00"
}
}
}Malformed request: the body or headers failed validation.
Response body application/problem+json
RFC 9457 Problem Details error body, served as
application/problem+json.
From v2026.10.00, every error response that has a body uses this schema.type
string
requiredURI that tells you which problem occurred. Branch on this value; it never
changes. Moov problem types look like
https://api.moov.money/errors#<code> (for
example invalid-request, idempotency-key-reused, or
idempotency-request-in-progress). Treat the value as
an opaque constant and do not fetch it. about:blank means the HTTP
status code says everything there is to know.title
string
requiredShort human-readable name of the problem type. Fixed per type; defaults to the HTTP status text.
status
integer<int32>
requiredThe HTTP status code of this response.
detail
stringHuman-readable explanation of this specific occurrence.
instance
stringURI reference that identifies this specific occurrence.
errors
array<object>The request-body fields that failed validation. Present on validation errors only.
Show child attributes
errors[]
pointer
string
requiredRFC 6901 JSON Pointer to the field, using the public JSON field names. If the field is missing, the pointer shows where it belongs.
detail
string
requiredWhat is wrong with the field.
Authentication missing, invalid, or insufficient.
Authentication present but the action is forbidden for this principal/claim.
Returned when a version-producing mutation’s
expectedVersionID is stale or
omitted while a version exists. You re-read the resource and retry with the
current version.Response body application/problem+json
RFC 9457 Problem Details body of the 409 returned when a version-producing
mutation’s
expectedVersionID is stale. currentVersion is an extension
member of the problem detail.detail
stringHuman-readable explanation of this specific occurrence.
type
string<enum>
requiredThe problem type URI, always
https://api.moov.money/errors#version-conflict.Possible values:
https://api.moov.money/errors#version-conflicttitle
string
requiredShort human-readable name of the problem type.
status
integer<int32>
requiredThe HTTP status code of this response, always 409.
currentVersion
string
requiredThe current latest version ID; re-read before retrying.
The request was well-formed but couldn’t be processed (e.g. card declined).
Response body application/problem+json
RFC 9457 Problem Details error body, served as
application/problem+json.
From v2026.10.00, every error response that has a body uses this schema.type
string
requiredURI that tells you which problem occurred. Branch on this value; it never
changes. Moov problem types look like
https://api.moov.money/errors#<code> (for
example invalid-request, idempotency-key-reused, or
idempotency-request-in-progress). Treat the value as
an opaque constant and do not fetch it. about:blank means the HTTP
status code says everything there is to know.title
string
requiredShort human-readable name of the problem type. Fixed per type; defaults to the HTTP status text.
status
integer<int32>
requiredThe HTTP status code of this response.
detail
stringHuman-readable explanation of this specific occurrence.
instance
stringURI reference that identifies this specific occurrence.
errors
array<object>The request-body fields that failed validation. Present on validation errors only.
Show child attributes
errors[]
pointer
string
requiredRFC 6901 JSON Pointer to the field, using the public JSON field names. If the field is missing, the pointer shows where it belongs.
detail
string
requiredWhat is wrong with the field.
Headers
X-Moov-Version
stringSet this header to the API version being targeted (e.g.
v2026.10.00). When omitted, the server applies its default version.Path parameters
providerID
string
requiredYour provider account ID.
Request
application/json
A partial update to the provider default policy: present dimensions change,
absent leave unchanged. Send
expectedVersionID from your latest read;
omit only on bootstrap (first write for a provider with no policy yet).expectedVersionID
stringThe
versionID from your latest read; omit only on bootstrap. A stale value returns a 409 version-conflict problem.perTransactionAmount
object | nullPer-send amount ceiling. Omit or send
null to leave unchanged.dailyAmount
object | nullTrailing 24h amount ceiling. Omit or send
null to leave unchanged.weeklyAmount
object | nullTrailing 7d amount ceiling. Omit or send
null to leave unchanged.monthlyAmount
object | nullTrailing 30d amount ceiling. Omit or send
null to leave unchanged.dailySendCount
integer<int64> | nullTrailing 24h send-count ceiling. Omit or send
null to leave unchanged.Response
Response envelope for the provider limit policy; the policy is nested under
policy.policy
object
requiredThe provider default limit policy.
Show child attributes
policy
currency
string
requiredThree-letter ISO 4217 currency the policy is denominated in (v1 USD-only).
perTransactionAmount
objectPer-send amount ceiling.
Show child attributes
policy.perTransactionAmount
value
string
requiredDecimal amount as a string.
currency
object
requiredISO 4217 currency descriptor.
Show child attributes
policy.perTransactionAmount.currency
code
string
requiredUppercase 3-letter ISO 4217 currency code.
decimalPlaces
integer<uint8>
requiredNumber of minor-unit decimal places for
code. Required.numericCode
stringISO 4217 numeric currency code, if known. Informational only.
name
stringHuman-readable currency name, if known. Informational only.
dailyAmount
objectTrailing 24h amount ceiling.
Show child attributes
policy.dailyAmount
value
string
requiredDecimal amount as a string.
currency
object
requiredISO 4217 currency descriptor.
Show child attributes
policy.dailyAmount.currency
code
string
requiredUppercase 3-letter ISO 4217 currency code.
decimalPlaces
integer<uint8>
requiredNumber of minor-unit decimal places for
code. Required.numericCode
stringISO 4217 numeric currency code, if known. Informational only.
name
stringHuman-readable currency name, if known. Informational only.
weeklyAmount
objectTrailing 7d amount ceiling.
Show child attributes
policy.weeklyAmount
value
string
requiredDecimal amount as a string.
currency
object
requiredISO 4217 currency descriptor.
Show child attributes
policy.weeklyAmount.currency
code
string
requiredUppercase 3-letter ISO 4217 currency code.
decimalPlaces
integer<uint8>
requiredNumber of minor-unit decimal places for
code. Required.numericCode
stringISO 4217 numeric currency code, if known. Informational only.
name
stringHuman-readable currency name, if known. Informational only.
monthlyAmount
objectTrailing 30d amount ceiling.
Show child attributes
policy.monthlyAmount
value
string
requiredDecimal amount as a string.
currency
object
requiredISO 4217 currency descriptor.
Show child attributes
policy.monthlyAmount.currency
code
string
requiredUppercase 3-letter ISO 4217 currency code.
decimalPlaces
integer<uint8>
requiredNumber of minor-unit decimal places for
code. Required.numericCode
stringISO 4217 numeric currency code, if known. Informational only.
name
stringHuman-readable currency name, if known. Informational only.
dailySendCount
integer<int64>Trailing 24h send-count ceiling.
versionID
string
requiredLatest version ID; send this back as
expectedVersionID on your next mutation.createdOn
string<date-time>
requiredWhen this version was created.