Adjustment
Adjustment APIs update a user’s balance instantaneously by crediting or debiting the account. They are also used to check the available balance on the account.
Adjustment API Endpoints
Debits/credits user account balances instantly and later settles with program funding account setup.
The following adjustment types must be specifically configured for a program code in order to be used by a partner.
- Referral and Promotional credits: promo and promoReversal
- Crediting or Debiting funds from an account: instructionCredit and instructionDebit
- Receiving funds into the account for a disbursement: disbursement, disbursementReversal
- Instant Debit card transfers: anyDebitOut, anyDebitOutReversal
- ACH transactions: achOut, achOutReversal
If an adjustmentType has not been configured for a program code, then the request will be rejected. New adjustment types can also be setup to meet partner requirements.
If you have any further questions, please contact your Green Dot Product liaisons.
Headers
Field | Required (Y/N) | Type | Description |
---|---|---|---|
X-GD-RequestId | Y | Header (string) | Request ID |
programCode | Y | Path (string) | Program code |
accountIdentifier | Y | Path (string) | Identifier for the account |
API Call Structure
/programs/{programCode}/accounts/{accountIdentifier}/adjustments
Request
Example Request Body
{
"adjustmentIdentifier": "string",
"amount": 0,
"currency": "string",
"adjustmentType": "string",
"adjustmentDescription": "string",
"fee": 0,
"debitToNegative": true
}
Request Body Parameters
Field | Type | Description |
---|---|---|
adjustmentIdentifier | string | Transfer identifier |
amount | number ($double) | Amount |
currency | string | Currency |
adjustmentType | string | Adjustment type |
adjustmentDescription | string | Adjustment description |
fee | number ($double) | Fee |
debitToNegative | boolean | Debit to negative |
Response
Example Response Body
{
"adjustmentStatus": "string",
"adjustmentStatusReason": "string",
"adjustmentIdentifier": "string",
"responseDetails": [
{
"code": 0,
"subCode": 0,
"description": "string",
"url": "string"
}
]
Response Body Parameters
Field | Type | Description |
---|---|---|
adjustmentStatus | string | Transfer status |
adjustmentStatusReason | string | Transfer status reason |
adjustmentIdentifier | string | Adjustment identifier |
responseDetails | container | Container for response details |
code | integer ($int32) | Code |
subCode | integer ($int32) | Sub code |
description | string | Description |
url | string | URL |
HTTP Response Codes
Code | Description |
---|---|
200 | Success |
401 | Unauthorized |
403 | Forbidden |
500 | Server error |
503 | Server error |
Asynchronous API Call Option
There is also an asynchronous option for the Adjust Balance API, in which the follow prequisites must be met:
- Partners must have a correctly configured Greendot PN (publish notification) subscription for the
AdjustmentFinalStatus
topic. - Partners must provide a valid webhook URL to receive the final adjustment result notifications via the
AdjustmentFinalStatus
PN.
You can call this API asynchronously by including the following header:
X-GD-CallMode: async
The API will then return an immediate response upon successful request submission, indicating that the adjustment request has been accepted for asynchronous processing.
Success Response
The API will return a new response code {code:0 subcode: 1000} with a unique identifier (adjustmentIdentifier) in the response body to track the asynchronous operation. There will be a subsequent delivery of the final result via the AdjustmentFinalStatus
PN.
Maximum Retry Duration
Partners can specify the maximum retry duration for an adjustment request by including the X-GD-MaxRetryDuration:<duration>
header in the request.
Behavior
If the X-GD-MaxRetryDuration
header is present, its value will override the default maximum retry duration defined at the partner level for that specific request.
The <duration>
value should be specified in ISO 8601 duration format (e.g., PT10M for 10 minutes, PT1H for 1 hour).
Impact
The maximum retry duration limits the total time allowed for retries on a failed adjustment request.
Checks the status of adjustments to BaaS account balances.
API Call Structure
/programs/{programCode}/accounts/{accountIdentifier}/adjustments/{adjustmentIdentifier}
Headers
Field | Required (Y/N) | Type | Description |
---|---|---|---|
X-GD-RequestId | Y | Header (string) | Request ID |
programCode | Y | Path (string) | Program code |
accountIdentifier | Y | Path (string) | Identifier for the account |
adjustmentIdentifier | Y | Path (string) | Identifier for the adjustment |
Response
Example Response Body
{
"adjustmentIdentifier": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"amount": 0,
"currency": "string",
"adjustmentType": "string",
"adjustmentDescription": "string",
"fee": 0,
"transactionDate": "string",
"adjustmentStatus": "string",
"adjustmentStatusReason": "string",
"debitToNegative": true,
"responseDetails": [
{
"code": 0,
"subCode": 0,
"description": "string",
"url": "string"
}
]
}
Response Parameters
Field | Type | Description |
---|---|---|
adjustmentIdentifier | string | Transfer identifier |
amount | number ($double) | Amount |
currency | string | Currency |
adjustmentType | string | Adjustment type |
adjustmentDescription | string | Adjustment description |
fee | number ($double) | Fee |
transactionDate | string | Date of transaction |
adjustmentStatus | string | Transfer status |
adjustmentStatusReason | string | Transfer status reason |
debitToNegative | boolean | Debit to negative |
responseDetails | container | Container for response details |
code | integer($int32) | Code |
subCode | integer($int32) | Sub code |
description | string | Description |
url | string | URL |
HTTP Response Codes
Code | Description |
---|---|
200 | Success |
401 | Unauthorized |
403 | Forbidden |
500 | Server error |
503 | Server error |
Updated 13 days ago