---
title: "PATCH /card/{cardId}/spending-constraint"
method: PATCH
path: "/card/{cardId}/spending-constraint"
---

# PATCH /card/{cardId}/spending-constraint

`PATCH /card/{cardId}/spending-constraint`

Apply a partial update to a card's spending constraint while preserving current properties applied. Properties set to "null" will be removed from the spending constraint.

## Request body

- PartialSpendingConstraint — A partial spending constraint update that can be applied to a CardGroupSpendingRule
  - `merchantCategoryRule` object, nullable
    - `merchantCategories` string[]
    - `restriction` 'allowlist' | 'blacklist'
  - `merchantRule` object, nullable
    - `merchants` string[]
    - `restriction` 'allowlist' | 'blacklist'
  - `spendingRule` object, nullable
    - `utilizationLimit` object
      - `timezone` string — IANA timezone string. Limits always reset at midnight of the timezone specified. If no timezone is specified, then UTC time is used.
      - `limitAmount` Money — Represents a monetary value
        - `amountCents` integer, required — The amount in cents
      - `preset` 'daily' | 'weekly' | 'monthly' | 'yearly' | 'collective'
      - `startDate` string — Format ISO-8601. A day that equals today or the past. This is optional.If the `preset` is "daily", this value is ignored. If the `preset` is "weekly", "monthly" or "yearly", then the this value is used to compute when the limit should start limit.
    - `utilizationLimitV2` object[]
      - `timezone` string — IANA timezone string. Limits always reset at midnight of the timezone specified. If no timezone is specified, then UTC time is used.
      - `limitAmount` Money — Represents a monetary value
        - `amountCents` integer, required — The amount in cents
      - `preset` 'daily' | 'weekly' | 'monthly' | 'yearly' | 'collective'
      - `startDate` string — Format ISO-8601. A day that equals today or the past. This is optional.If the `preset` is "daily", this value is ignored. If the `preset` is "weekly", "monthly" or "yearly", then the this value is used to compute when the limit should start limit.
    - `transactionSizeLimit` object
      - `minimum` Money — Represents a monetary value
        - `amountCents` integer, required — The amount in cents
      - `maximum` Money — Represents a monetary value
        - `amountCents` integer, required — The amount in cents
  - `countryRule` object, nullable
    - `countries` string[] — A 2 digit country code
    - `restriction` 'allowlist' | 'blacklist'
  - `merchantCategoryCodeRule` object, nullable
    - `merchantCategoryCodes` string[]
    - `restriction` 'allowlist' | 'blacklist'

## Response `200`

OK

- SpendingConstraint — A constraint that can be applied to a CardGroupSpendingRule
  - `merchantCategoryRule` object, nullable
    - `merchantCategories` string[], required
    - `restriction` 'allowlist' | 'blacklist', required
  - `merchantRule` object, nullable
    - `merchants` string[], required
    - `restriction` 'allowlist' | 'blacklist', required
  - `spendingRule` object, nullable
    - `utilizationLimit` object
      - `timezone` string — IANA timezone string. Limits always reset at midnight of the timezone specified. If no timezone is specified, then UTC time is used.
      - `limitAmount` Money, required — Represents a monetary value
        - `amountCents` integer, required — The amount in cents
      - `preset` 'daily' | 'weekly' | 'monthly' | 'yearly' | 'collective', required
      - `startDate` string — Format ISO-8601. A day that equals today or the past. This is optional.If the `preset` is "daily", this value is ignored. If the `preset` is "weekly", "monthly" or "yearly", then the this value is used to compute when the limit should start limit.
    - `utilizationLimitV2` object[]
      - `timezone` string — IANA timezone string. Limits always reset at midnight of the timezone specified. If no timezone is specified, then UTC time is used.
      - `limitAmount` Money, required — Represents a monetary value
        - `amountCents` integer, required — The amount in cents
      - `preset` 'daily' | 'weekly' | 'monthly' | 'yearly' | 'collective', required
      - `startDate` string — Format ISO-8601. A day that equals today or the past. This is optional.If the `preset` is "daily", this value is ignored. If the `preset` is "weekly", "monthly" or "yearly", then the this value is used to compute when the limit should start limit.
    - `transactionSizeLimit` object
      - `minimum` Money — Represents a monetary value
        - `amountCents` integer, required — The amount in cents
      - `maximum` Money — Represents a monetary value
        - `amountCents` integer, required — The amount in cents
  - `countryRule` object, nullable
    - `countries` string[], required — A 2 digit country code
    - `restriction` 'allowlist' | 'blacklist', required
  - `merchantCategoryCodeRule` object, nullable
    - `merchantCategoryCodes` string[], required
    - `restriction` 'allowlist' | 'blacklist', required

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `429` — TooManyRequests
- `500` — Internal Error

---

[API](https://skmtc.net/slashfi/apis/slash-public-api.md) · [All operations](https://skmtc.net/slashfi/apis/slash-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/slashfi/slash-public-api/versions/773c90f079c5/schema)
