Skip to main content
POST
Create a spending pool

Authorizations

Authorization
string
header
required

API token authentication using format <api token id>:<api client secret>

Body

application/json

Request body for POST /spending-pools. period is required with limitType: RECURRING and rejected with TOTAL.

customerId
string
required

The customer whose agents will spend under the pool.

Example:

"Customer:019542f5-b3e7-1d02-0000-000000000001"

name
string
required
Required string length: 1 - 255
Example:

"Marketing"

limitType
enum<string>
required

How a spending pool's limitAmount applies.

Available options:
RECURRING,
TOTAL
Example:

"RECURRING"

limitAmount
integer<int64>
required
Required range: x >= 1
Example:

500000

allowedPaymentTypes
enum<string>[]
required

A kind of agent payment a spending pool may allow.

Available options:
CARDS,
CRYPTO_SENDS,
BANK_PAYOUTS
Example:
currency
string

ISO 4217 currency code of the pool's amounts. Defaults to USD.

Example:

"USD"

period
enum<string>

The UTC calendar period a RECURRING pool's limit resets on: a calendar month, or a week starting Monday 00:00 UTC.

Available options:
MONTH,
WEEK
Example:

"MONTH"

perTransactionLimit
integer<int64>
Required range: x >= 1
Example:

50000

dailyLimit
integer<int64>
Required range: x >= 1
Example:

100000

monthlyLimit
integer<int64>
Required range: x >= 1
Example:

400000

requiresAdminApproval
boolean
default:false
Example:

false

Response

Spending pool created

A spending limit shared by the agents assigned to it, on their customer's balance. A pool holds no money and no money moves between pools: it only limits what its agents may spend, in addition to each agent's own policy. Limits of different pools may add up to more than the balance. Each agent belongs to at most one pool.

id
string
required

System-generated unique identifier for the pool.

Example:

"SpendingPool:019542f5-b3e7-1d02-0000-000000000007"

customerId
string
required

The customer whose agents spend under the pool.

Example:

"Customer:019542f5-b3e7-1d02-0000-000000000001"

name
string
required

Human-readable name for the pool.

Example:

"Marketing"

currency
string
required

ISO 4217 currency code all of the pool's amounts are in. Only agents whose policy is in the same currency may be assigned to it. Immutable.

Example:

"USD"

limitType
enum<string>
required

How a spending pool's limitAmount applies.

Available options:
RECURRING,
TOTAL
Example:

"RECURRING"

limitAmount
integer<int64>
required

The most the pool's agents may spend together: per period for a RECURRING pool, in total for a TOTAL one.

Required range: x >= 1
Example:

500000

allowedPaymentTypes
enum<string>[]
required

The kinds of payment the pool's agents may make. Any other is refused with policyDenialReason POOL_PAYMENT_TYPE_NOT_ALLOWED.

A kind of agent payment a spending pool may allow.

Available options:
CARDS,
CRYPTO_SENDS,
BANK_PAYOUTS
Example:
requiresAdminApproval
boolean
required

Whether the platform requires an administrator to approve the pool's agents' payments that need approval. Grid stores it for the platform and does not act on it.

Example:

false

isArchived
boolean
required

Whether the pool was archived. An archived pool takes no agents and cannot be changed.

Example:

false

usage
object
required

What the pool's agents have spent, counting payments still in flight, as of the request. Amounts are in the smallest unit of the pool's currency.

createdAt
string<date-time>
required

Creation timestamp.

Example:

"2026-11-02T17:32:28Z"

updatedAt
string<date-time>
required

Last update timestamp.

Example:

"2026-11-02T17:32:28Z"

period
enum<string>

The period a RECURRING pool resets on. Absent for TOTAL.

Available options:
MONTH,
WEEK
Example:

"MONTH"

perTransactionLimit
integer<int64>

The most a single payment may be. Absent for no cap.

Required range: x >= 1
Example:

50000

dailyLimit
integer<int64>

The most the pool's agents may spend together per UTC day. Absent for no cap.

Required range: x >= 1
Example:

100000

monthlyLimit
integer<int64>

The most the pool's agents may spend together per UTC calendar month. Absent for no cap.

Required range: x >= 1
Example:

400000