# Limits A limit is a constraint on the aggregated value of a subset of holdings. Limits live under a client and can be hierarchical via `parentLimit`. A `limit-group` limit imposes no constraint itself — it just groups child limits. `proportional` limits express bounds as a fraction of the parent limit's value (so they're only meaningful when `parentLimit` is set). `absolute` limits express bounds as a fixed amount in `ccyCode`. ## Endpoints POST /v2/limits Create a new limit. GET /v2/limits/:id Fetch one limit. DELETE /v2/limits/:id Delete the limit. Cascades to its children. GET /v2/limits/:id/status Current status of a single limit (date-parameterized). GET /v2/clients/:id/limits List all limits owned by a client. GET /v2/clients/:id/limits-status Current status of every limit on a client (date-parameterized). ## Path params (collection / by-id endpoints) id (required) — Limit identifier (UUID) on /v2/limits/:id endpoints, client identifier (Mongo ObjectID) on /v2/clients/:id endpoints. ## Limit data model (`type: limit`) name (string) — Human-readable name. ccyCode (string) — ISO 4217 currency for the limit's expressed value. startDate (string, ISO 8601) — Start date. limitFilter (object) — Recursive filter (and / or / condition). See below. limitType (object) — One of: { "type": "limit-group" } { "type": "proportional", "values": { "min": <0..1>?, "max": <0..1>? } } { "type": "absolute", "values": { "min": ?, "max": ? } } ## limitFilter shapes Logical: { "type": "and", "filters": [ , ... ] } { "type": "or", "filters": [ , ... ] } Condition: { "type": "condition", "condition": } ## Condition types Each condition has `type` plus a value field whose name depends on type. country-code-is / country-code-is-not → country-code (ISO 3166-1 alpha-2) instrument-class-is / instrument-class-is-not → instrument-class-id detailed-instrument-class-is / detailed-instrument-class-is-not → detailed-instrument-class-id currency-code-is / currency-code-is-not → currency-code (ISO 4217) security-identifier-is / security-identifier-is-not → security-identifier reporting-entity-is / reporting-entity-is-not → reporting-entity-id reporting-portfolio-is / reporting-portfolio-is-not → reporting-portfolio-id ## Relationships client — Owning client. parentLimit — Optional parent limit (forms a tree).