Create limit group

POST
/providers/{providerID}/limit-groups

Create a limit group: a named set of ceilings that applies to its member participants, between your provider default and a participant override.

Auth: API key or bearer token. Scoped to the calling provider.

Request
cURL
curl -X POST https://api.moov.money/providers/{providerID}/limit-groups \
  -u "$MOOV_API_KEY_ID:$MOOV_API_KEY_SECRET" \
  -H "X-Moov-Version: v2026.10.00" \
  -H "Content-Type: application/json" \
  -d '{
  "dailyAmount": {
    "currency": {
      "code": "USD",
      "decimalPlaces": 2
    },
    "value": "1000.00"
  },
  "dailySendCount": 10,
  "description": "Higher limits for premium customers",
  "monthlyAmount": {
    "currency": {
      "code": "USD",
      "decimalPlaces": 2
    },
    "value": "10000.00"
  },
  "name": "Premium",
  "perTransactionAmount": {
    "currency": {
      "code": "USD",
      "decimalPlaces": 2
    },
    "value": "500.00"
  },
  "weeklyAmount": {
    "currency": {
      "code": "USD",
      "decimalPlaces": 2
    },
    "value": "2500.00"
  }
}'
Responses
201 400 401 403 422
The resource was successfully created.
{
  "group": {
    "createdOn": "2026-08-31T12:00:00Z",
    "currency": "USD",
    "dailyAmount": {
      "currency": {
        "code": "USD",
        "decimalPlaces": 2
      },
      "value": "2500.00"
    },
    "dailySendCount": 25,
    "description": "Higher limits for premium customers",
    "groupID": "grp_01HF5J9ZKQT4RXP8M2VYBN3D",
    "monthlyAmount": {
      "currency": {
        "code": "USD",
        "decimalPlaces": 2
      },
      "value": "25000.00"
    },
    "name": "Premium",
    "perTransactionAmount": {
      "currency": {
        "code": "USD",
        "decimalPlaces": 2
      },
      "value": "1000.00"
    },
    "versionID": "ver_01HF5J9ZKQT4RXP8M2VYBN3D",
    "weeklyAmount": {
      "currency": {
        "code": "USD",
        "decimalPlaces": 2
      },
      "value": "5000.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 required
URI 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 required
Short human-readable name of the problem type. Fixed per type; defaults to the HTTP status text.

status

integer<int32> required
The HTTP status code of this response.

detail

string
Human-readable explanation of this specific occurrence.

instance

string
URI 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 required
RFC 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 required
What is wrong with the field.
Authentication missing, invalid, or insufficient.
Authentication present but the action is forbidden for this principal/claim.
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 required
URI 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 required
Short human-readable name of the problem type. Fixed per type; defaults to the HTTP status text.

status

integer<int32> required
The HTTP status code of this response.

detail

string
Human-readable explanation of this specific occurrence.

instance

string
URI 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 required
RFC 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 required
What is wrong with the field.

Headers

X-Moov-Version

string
Set 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 required
Your provider account ID.

Request

application/json
A limit group to create.

name

string [1 to 128] characters required
Display name. Must be 1–128 characters.

description

string
Optional description. At most 512 characters.

perTransactionAmount

object
Per-send amount ceiling.
Show child attributes

perTransactionAmount

value

string required
Decimal amount as a string.

currency

object required
ISO 4217 currency descriptor.
Show child attributes

perTransactionAmount.currency

code

string required
Uppercase 3-letter ISO 4217 currency code.

decimalPlaces

integer<uint8> required
Number of minor-unit decimal places for code. Required.

numericCode

string
ISO 4217 numeric currency code, if known. Informational only.

name

string
Human-readable currency name, if known. Informational only.

dailyAmount

object
Trailing 24h amount ceiling.
Show child attributes

dailyAmount

value

string required
Decimal amount as a string.

currency

object required
ISO 4217 currency descriptor.
Show child attributes

dailyAmount.currency

code

string required
Uppercase 3-letter ISO 4217 currency code.

decimalPlaces

integer<uint8> required
Number of minor-unit decimal places for code. Required.

numericCode

string
ISO 4217 numeric currency code, if known. Informational only.

name

string
Human-readable currency name, if known. Informational only.

weeklyAmount

object
Trailing 7d amount ceiling.
Show child attributes

weeklyAmount

value

string required
Decimal amount as a string.

currency

object required
ISO 4217 currency descriptor.
Show child attributes

weeklyAmount.currency

code

string required
Uppercase 3-letter ISO 4217 currency code.

decimalPlaces

integer<uint8> required
Number of minor-unit decimal places for code. Required.

numericCode

string
ISO 4217 numeric currency code, if known. Informational only.

name

string
Human-readable currency name, if known. Informational only.

monthlyAmount

object
Trailing 30d amount ceiling.
Show child attributes

monthlyAmount

value

string required
Decimal amount as a string.

currency

object required
ISO 4217 currency descriptor.
Show child attributes

monthlyAmount.currency

code

string required
Uppercase 3-letter ISO 4217 currency code.

decimalPlaces

integer<uint8> required
Number of minor-unit decimal places for code. Required.

numericCode

string
ISO 4217 numeric currency code, if known. Informational only.

name

string
Human-readable currency name, if known. Informational only.

dailySendCount

integer<int64>
Trailing 24h send-count ceiling.

Response

Response envelope for a single limit group; the group is nested under group.

group

object required
The limit group.
Show child attributes

group

groupID

string required
System-assigned group identifier.

name

string [1 to 128] characters required
Display name. Must be 1–128 characters.

description

string
Optional description. At most 512 characters.

currency

string required
Three-letter ISO 4217 currency the group is denominated in (v1 USD-only).

perTransactionAmount

object
Per-send amount ceiling.
Show child attributes

group.perTransactionAmount

value

string required
Decimal amount as a string.

currency

object required
ISO 4217 currency descriptor.
Show child attributes

group.perTransactionAmount.currency

code

string required
Uppercase 3-letter ISO 4217 currency code.

decimalPlaces

integer<uint8> required
Number of minor-unit decimal places for code. Required.

numericCode

string
ISO 4217 numeric currency code, if known. Informational only.

name

string
Human-readable currency name, if known. Informational only.

dailyAmount

object
Trailing 24h amount ceiling.
Show child attributes

group.dailyAmount

value

string required
Decimal amount as a string.

currency

object required
ISO 4217 currency descriptor.
Show child attributes

group.dailyAmount.currency

code

string required
Uppercase 3-letter ISO 4217 currency code.

decimalPlaces

integer<uint8> required
Number of minor-unit decimal places for code. Required.

numericCode

string
ISO 4217 numeric currency code, if known. Informational only.

name

string
Human-readable currency name, if known. Informational only.

weeklyAmount

object
Trailing 7d amount ceiling.
Show child attributes

group.weeklyAmount

value

string required
Decimal amount as a string.

currency

object required
ISO 4217 currency descriptor.
Show child attributes

group.weeklyAmount.currency

code

string required
Uppercase 3-letter ISO 4217 currency code.

decimalPlaces

integer<uint8> required
Number of minor-unit decimal places for code. Required.

numericCode

string
ISO 4217 numeric currency code, if known. Informational only.

name

string
Human-readable currency name, if known. Informational only.

monthlyAmount

object
Trailing 30d amount ceiling.
Show child attributes

group.monthlyAmount

value

string required
Decimal amount as a string.

currency

object required
ISO 4217 currency descriptor.
Show child attributes

group.monthlyAmount.currency

code

string required
Uppercase 3-letter ISO 4217 currency code.

decimalPlaces

integer<uint8> required
Number of minor-unit decimal places for code. Required.

numericCode

string
ISO 4217 numeric currency code, if known. Informational only.

name

string
Human-readable currency name, if known. Informational only.

dailySendCount

integer<int64>
Trailing 24h send-count ceiling.

versionID

string required
Latest version ID; send this back as expectedVersionID on your next mutation.

createdOn

string<date-time> required
When this version was created.