Skip to main content
POST
/
v1
/
groups
/
{id}
/
balances
/
adjust
Adjust group balance
curl --request POST \
  --url https://api.scrip.dev/v1/groups/{id}/balances/adjust \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "amount": "100.00",
  "asset_id": "550e8400-e29b-41d4-a716-446655440001",
  "description": "Team bonus allocation",
  "program_id": "550e8400-e29b-41d4-a716-446655440000",
  "type": "CREDIT",
  "allow_negative": false,
  "bucket": "AVAILABLE"
}
'
{
  "amount": "100.00",
  "asset_id": "550e8400-e29b-41d4-a716-446655440001",
  "bucket": "AVAILABLE",
  "journal_entry_id": "550e8400-e29b-41d4-a716-446655440000",
  "message": "Group balance adjusted successfully",
  "program_id": "550e8400-e29b-41d4-a716-446655440000",
  "type": "CREDIT"
}
Credits or debits a group’s balance for a specific asset within a program. Set type to CREDIT or DEBIT and provide a positive amount. A DEBIT fails if the group does not have sufficient balance in the target bucket. You must specify program_id and asset_id to identify which balance to adjust. Each group maintains separate balances per program-asset pair. The adjustment is atomic and creates a journal entry for auditability.
For usage patterns and examples, see the Balance Operations guide.

Authorizations

X-API-Key
string
header
required

API key passed in the X-API-Key header.

Path Parameters

id
string<uuid>
required

Group ID

Body

application/json

Adjustment details

amount
string
required

Adjustment amount (must be positive, decimal string)

Minimum string length: 1
Example:

"100.00"

asset_id
string<uuid>
required

The asset to adjust

Example:

"550e8400-e29b-41d4-a716-446655440001"

description
string
required

Reason for this adjustment (1-500 chars)

Required string length: 1 - 500
Example:

"Team bonus allocation"

program_id
string<uuid>
required

The program this adjustment belongs to

Example:

"550e8400-e29b-41d4-a716-446655440000"

type
enum<string>
required

Whether to CREDIT or DEBIT the balance

Available options:
CREDIT,
DEBIT
Example:

"CREDIT"

allow_negative
boolean

DEBIT only. When true, allows this adjustment to overdraw and set a negative balance.

Example:

false

bucket
enum<string>

Balance bucket to adjust: AVAILABLE or HELD (defaults to AVAILABLE)

Available options:
AVAILABLE,
HELD
Example:

"AVAILABLE"

Response

Adjustment applied

amount
string

Amount adjusted

Example:

"100.00"

asset_id
string<uuid>

Asset that was adjusted

Example:

"550e8400-e29b-41d4-a716-446655440001"

bucket
string

Balance bucket that was adjusted

Example:

"AVAILABLE"

journal_entry_id
string<uuid>

Ledger journal entry created by this adjustment

Example:

"550e8400-e29b-41d4-a716-446655440000"

message
string

Confirmation message

Example:

"Group balance adjusted successfully"

program_id
string<uuid>

Program the balance belongs to

Example:

"550e8400-e29b-41d4-a716-446655440000"

type
string

Whether the adjustment was a credit or debit

Example:

"CREDIT"