const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({amount: 1000000, currency: 'EUR'})
};
fetch('https://core.prod.gnosispay.com/user-api/cards/{cardId}/limit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request PUT \
--url https://core.prod.gnosispay.com/user-api/cards/{cardId}/limit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": 1000000,
"currency": "EUR"
}
'import requests
url = "https://core.prod.gnosispay.com/user-api/cards/{cardId}/limit"
payload = {
"amount": 1000000,
"currency": "EUR"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://core.prod.gnosispay.com/user-api/cards/{cardId}/limit"
payload := strings.NewReader("{\n \"amount\": 1000000,\n \"currency\": \"EUR\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://core.prod.gnosispay.com/user-api/cards/{cardId}/limit")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 1000000,\n \"currency\": \"EUR\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://core.prod.gnosispay.com/user-api/cards/{cardId}/limit")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 1000000,\n \"currency\": \"EUR\"\n}"
response = http.request(request)
puts response.read_body{
"amount": 123,
"currency": "<string>",
"decimals": 123,
"syncStatus": "pending",
"updatedAt": "2023-11-07T05:31:56Z",
"spentToday": 123,
"remaining": 123
}{
"kind": "validation",
"success": false,
"error": {
"name": "ValidationError",
"message": "<string>"
}
}{
"success": false,
"error": "<string>"
}{
"success": false,
"error": "<string>"
}{
"success": false,
"error": "<string>"
}{
"success": false,
"error": "<string>"
}Set Card Daily Spending Limit
Sets the daily spending limit for a card. currency must match the
card native currency (nativeCurrency on the card from GET /cards),
and amount is in minor units of that currency. USD, EUR, and GBP use
2 decimal places, so 1000000 is 10,000.00. The card must belong to the
authenticated user. The response returns the new limit immediately with
syncStatus: pending and transitions to synced once the change has
been applied. Once synced, this is a cumulative spending limit, not a
per-transaction cap: an authorization that meets or exceeds the limit
can be approved, after which subsequent eligible authorizations are
declined.
const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({amount: 1000000, currency: 'EUR'})
};
fetch('https://core.prod.gnosispay.com/user-api/cards/{cardId}/limit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request PUT \
--url https://core.prod.gnosispay.com/user-api/cards/{cardId}/limit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": 1000000,
"currency": "EUR"
}
'import requests
url = "https://core.prod.gnosispay.com/user-api/cards/{cardId}/limit"
payload = {
"amount": 1000000,
"currency": "EUR"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://core.prod.gnosispay.com/user-api/cards/{cardId}/limit"
payload := strings.NewReader("{\n \"amount\": 1000000,\n \"currency\": \"EUR\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://core.prod.gnosispay.com/user-api/cards/{cardId}/limit")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 1000000,\n \"currency\": \"EUR\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://core.prod.gnosispay.com/user-api/cards/{cardId}/limit")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 1000000,\n \"currency\": \"EUR\"\n}"
response = http.request(request)
puts response.read_body{
"amount": 123,
"currency": "<string>",
"decimals": 123,
"syncStatus": "pending",
"updatedAt": "2023-11-07T05:31:56Z",
"spentToday": 123,
"remaining": 123
}{
"kind": "validation",
"success": false,
"error": {
"name": "ValidationError",
"message": "<string>"
}
}{
"success": false,
"error": "<string>"
}{
"success": false,
"error": "<string>"
}{
"success": false,
"error": "<string>"
}{
"success": false,
"error": "<string>"
}Path Parameters
Body
Daily spending limit in minor units of currency.
USD, EUR, and GBP use 2 decimal places, so 1000000 is 10,000.00.
x >= 11000000
ISO-4217 currency code. Must match the card native currency
(nativeCurrency on the card from GET /cards).
"EUR"
Response
The request has succeeded.
Daily limit in minor units of currency. Divide by 10^decimals to get
the major-unit value. USD, EUR, and GBP use 2 decimal places.
ISO-4217 currency code — the card native currency (nativeCurrency on
the card from GET /cards).
Number of decimal places for this currency (2 for USD, EUR, and GBP).
Replication state of the limit. pending immediately after an update,
synced once the change has been applied, failed if the change could
not be applied after retries.
pending, synced, failed Last time this limit was modified.
Amount spent today against this card limit, in minor units of
currency. Resets at the start of each calendar day.
Remaining headroom today, in minor units of currency. Equals max(0,
amount - spentToday).