API

CardLimit

A card's spending limits.

Operations

Every route this entity exposes. Each route links to its own reference on this page.

Method Route SDK operation Returns
GET /spend/profiles/{profileId}/cards/{cardToken}/spend-limits load Card spend limits
PATCH /spend/profiles/{profileId}/cards/{cardToken}/spend-limits update Updated card spend limits. See Retrieve card limits

Examples

One example per SDK, generated from the API model. The argument names are the parameters and fields of this entity, and the values are placeholders. The examples are not compiled or executed.

Golang

Construct client as shown in the Golang setup, then call the operations:

card_limit, err := client.CardLimit(nil).Load(map[string]any{"card_token": "example", "profile_id": 1}, nil)
if err != nil {
    panic(err)
}
fmt.Println(card_limit)
updated, err := client.CardLimit(nil).Update(map[string]any{"card_token": "example", "profile_id": 1}, nil)
if err != nil {
    panic(err)
}
fmt.Println(updated)

Lua

Construct client as shown in the Lua setup, then call the operations:

local card_limit, err = client:CardLimit():load({ card_token = "example", profile_id = 1 })
local updated, err = client:CardLimit():update({ card_token = "example", profile_id = 1 })

PHP

Construct client as shown in the PHP setup, then call the operations:

$card_limit = $client->CardLimit()->load(["card_token" => "example", "profile_id" => 1]);
$updated = $client->CardLimit()->update(["card_token" => "example", "profile_id" => 1]);

Python

Construct client as shown in the Python setup, then call the operations:

card_limit = client.CardLimit().load({"card_token": "example", "profile_id": 1})
updated = client.CardLimit().update({"card_token": "example", "profile_id": 1})

Ruby

Construct client as shown in the Ruby setup, then call the operations:

card_limit = client.CardLimit.load({ "card_token" => "example", "profile_id" => 1 })
updated = client.CardLimit.update({ "card_token" => "example", "profile_id" => 1 })

TypeScript

Construct client as shown in the TypeScript setup, then call the operations:

const card_limit = await client.CardLimit().load({ card_token: "example", profile_id: 1 })
const updated = await client.CardLimit().update({ card_token: "example", profile_id: 1 })

Fields

Field Type Required Description
daily one,object,null No Daily
lifetime one,object,null No Lifetime
monthly one,object,null No Monthly
transaction one,object,null No Transaction

load

GET /spend/profiles/{profileId}/cards/{cardToken}/spend-limits

Operation ID: spendLimitsCardGet.

Authentication: bearer token (UserToken).

Parameters

Parameter In Type Required Description
profileId path integer (int64) Yes The profile ID.
cardToken path string Yes The card token.
X-External-Correlation-Id header string (uuid) No Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more.

Responses

200: Card spend limits

application/json

Property Type Required Description
daily object,null No
daily.resetAt string,null (date-time) No The time when the limit gets reset. ISO-8601 timestamp with timezone.
daily.usage object No The total authorised amount during the daily window.
daily.usage.amount number No
daily.usage.currency string No
daily.value object No Daily limit.
daily.value.amount number No
daily.value.currency string No
lifetime object,null No
lifetime.resetAt string,null (date-time) No The time when the limit gets reset. Null for lifetime limit.
lifetime.usage object No The total authorised amount over the lifetime of the card.
lifetime.usage.amount number No
lifetime.usage.currency string No
lifetime.value object No Lifetime limit.
lifetime.value.amount number No
lifetime.value.currency string No
monthly object,null No
monthly.resetAt string,null (date-time) No The time when the limit gets reset. ISO-8601 timestamp with timezone.
monthly.usage object No The total authorised amount during the monthly window.
monthly.usage.amount number No
monthly.usage.currency string No
monthly.value object No Monthly limit.
monthly.value.amount number No
monthly.value.currency string No
transaction object,null No
transaction.resetAt string,null (date-time) No The time when the limit gets reset. Null for transaction limit.
transaction.usage object No The total authorised amount. Always 0 for transaction limit.
transaction.usage.amount number No
transaction.usage.currency string No
transaction.value object No Transaction limit.
transaction.value.amount number No
transaction.value.currency string No
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header

application/json

The response is object.

update

PATCH /spend/profiles/{profileId}/cards/{cardToken}/spend-limits

Operation ID: spendLimitsCardUpdate.

Authentication: bearer token (UserToken).

Parameters

Parameter In Type Required Description
profileId path integer (int64) Yes The profile ID.
cardToken path string Yes The card token.
X-External-Correlation-Id header string (uuid) No Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more.

Request body

application/json

Property Type Required Description
daily object No
daily.value object No The amount allowed to be spent daily.
daily.value.amount number No
daily.value.currency string No
lifetime object No
lifetime.value object No The amount allowed to be spent over the lifetime of the card.
lifetime.value.amount number No
lifetime.value.currency string No
monthly object No
monthly.value object No The amount allowed to be spent monthly.
monthly.value.amount number No
monthly.value.currency string No
transaction object No
transaction.value object No The amount allowed per transaction.
transaction.value.amount number No
transaction.value.currency string No

Example request body:

{
  "daily": {
    "value": {
      "amount": 1000,
      "currency": "GBP"
    }
  },
  "monthly": {
    "value": {
      "amount": 1000,
      "currency": "GBP"
    }
  }
}

Responses

200: Updated card spend limits. See Retrieve card limits
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header

application/json

The response is object.