> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gnosispay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Account daily spending limit

> Read and set an account's daily spending limit, for both Platform and Embedded Integration.

Every account has a daily spending limit that applies to all of its cards together. The default is \*\*$10,000**. The limit can be lowered, and it can only go above $10,000 if that was agreed with Gnosis Pay during partner onboarding.

> [!NOTE]
>
> See [Account Overview](https://docs.gnosispay.com/concepts/accounts/account.md#account-spending-limits) for how user-configured and partner-configured limits work together.

> [!WARNING]
>
> The limit is **cumulative across all cards on the account**. It's not a per-card cap: if the account has several cards, their combined spend for the day counts toward one limit.
>
> It's also not a per-transaction cap. A single authorization that takes the day's spend past the limit can still be approved. After that, further authorizations are declined for the rest of the day.

## Amounts

`amount` is in the minor units of the account's currency. For USD, that's cents:

| `amount` | Value |
| - | - |
| `1000` | \$10.00 |
| `500000` | \$5,000.00 |
| `1000000` | \$10,000.00 (the default maximum) |

`amount` must be greater than `0` and no more than your account's maximum. Only USD is accepted at the moment.

## Read and set the limit

> [tab] Platform Integration
>
> Your backend reads and sets the limit for a specific account through the Partner API.
>
> | Action | Endpoint |
> | - | - |
> | Read the limit | [`GET /accounts/{account_id}/limit`](https://docs.gnosispay.com/api-reference/partner-api/accounts/get-an-account-spending-limit) |
> | Set the limit | [`PUT /accounts/{account_id}/limit`](https://docs.gnosispay.com/api-reference/partner-api/accounts/set-an-account-spending-limit) |
>
> **Read the limit**
>
> ```bash cURL theme={null}
> curl --request GET "$PARTNER_API_BASE_URL/accounts/$ACCOUNT_ID/limit" \
>   --header "Authorization: Bearer $PARTNER_API_TOKEN"
> ```
>
> **Set the limit**
>
> ```bash cURL theme={null}
> curl --request PUT "$PARTNER_API_BASE_URL/accounts/$ACCOUNT_ID/limit" \
>   --header "Authorization: Bearer $PARTNER_API_TOKEN" \
>   --header 'Content-Type: application/json' \
>   --data '{
>     "amount": 500000,
>     "currency": "USD"
>   }'
> ```
>
> > [!NOTE]
> >
> > Before you read or change a limit, check that the `account_id` belongs to the user making the request.

## Wait for the update to apply

Limit updates are asynchronous. The response returns the new limit right away, with a sync status of `pending`. The field is `sync_status` in the Partner API and `syncStatus` in the User API.

| Sync status | What to do |
| - | - |
| `pending` | The change hasn't been applied yet. Read the limit again, with a short delay between attempts, until the status changes. Don't show the new limit as active. |
| `synced` | The new limit is active. Show it to the user. |
| `failed` | The change wasn't applied. Keep showing the previous limit and let the user try again. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.