Response Codes

Response Codes - Retail APIs

All Retail API responses include a responseCode field. This page is the authoritative reference for all codes returned across all endpoints.

A responseCode of 0 always indicates success. Non-zero codes indicate either a partial success (code 1) or an error condition. The responseDescription field provides additional context specific to the individual request — treat it as a sub-message, not a substitute for the numeric responseCode.

No subcodes: The Retail API does not use numeric subcodes. The responseCode is the primary classification; responseDescription is the free-text detail.


HTTP Status Codes

The Retail API uses HTTP 200 OK for all responses — including application-level errors. The responseCode field inside the response body is the authoritative indicator of success or failure, not the HTTP status code.

The one exception is authentication:

HTTP StatusWhen It OccursResolution
401 UnauthorizedBearer token is missing, expired, or issued for a different application. No response body is returned.Regenerate your access token and retry the request. See Getting Started.

Any other HTTP-level failure (e.g., 404, 503) indicates a network or configuration issue (wrong base URL, allowlist not configured, environment outage) rather than an application error.


Application Response Codes

CodeCode TextDescriptionResolution
0SuccessRequest processed successfully.No action needed.
1SuccessFundingDelayTransaction succeeded but funds will not be available until the funding delay window (fundingDelaySeconds) elapses. Applicable to Reload and Barcode Payment.No action needed. Display receiptText to the customer and advise them funds will be available shortly. The transaction may be voided within the fundingDelaySeconds window if needed.
100InvalidParameterA required parameter is missing or a parameter value failed validation. The responseDescription specifies which parameter failed.Inspect responseDescription to identify the failing field. Correct the value and retry.
110InvalidAccountThe card account was not found, account status is not valid (e.g., Closed, Pending, Blocked), or the account is not reloadable for the current partner.Ask the customer to verify the card number. If the number is correct, the customer should contact their card provider to check account status.
130InvalidMerchantThe merchantId in the request was not found or has not been enabled in the system.Verify the merchantId value matches the credential provisioned by Green Dot. If correct, contact your Green Dot account manager — the merchant may not be enabled.
140InvalidBarcodeBarcode not found, or barcode status is not valid. Possible statuses: Pending Consumption, Already Consumed, Declined, Voided, Expired.Ask the customer to verify the barcode. If expired or already used, the customer should generate a new barcode from their app or provider.
150InvalidPinPIN not found or PIN status is not valid.Verify the PIN. If the issue persists, contact your Green Dot account manager.
451SoftDeclineVerifyPendingIdentity verification is pending for this account.Contact your Green Dot account manager for details on this account's verification status.
453CustomerHasSsnAccount has an SSN on file that conflicts with this operation.Contact your Green Dot account manager to determine the appropriate next step.
460OperationNotAllowedThe requested operation is not permitted for this card or request type. For Point of Banking Payment, this may indicate an invalid initial load attempt.Verify the transaction type is supported for this card. For Point of Banking, confirm the card is eligible and the flow is correct. Contact your Green Dot account manager if the issue persists.
500CIPFailedCustomer Identification Program (CIP) verification failed for this transaction.The customer must contact their card provider to resolve their identity verification status before this transaction can be processed.
600UnableToProcessRequestUnable to process the request. Common causes: fee split not configured, duplicate transaction detected, or a downstream service error. Duplicate transactions are declined; the original transaction remains valid.Inspect responseDescription. If the cause is a duplicate transaction, do not retry — the original transaction is still valid. For fee split errors, contact your Green Dot account manager. For other causes, retry with a new unique X-GD-RequestId.
700LoadLimitValidationFailedThe transaction amount does not pass load limit validation. May be a per-transaction limit, account balance limit, or daily reload limit. The responseDescription specifies the applicable limit range.Inspect responseDescription for the allowed amount range. Reduce the transaction amount to within the stated limits and retry, or advise the customer to try again tomorrow if a daily limit has been reached.
800InvalidStoreThe store was not found, is not associated with this partner, or does not support this operation.Verify the storeId value is correct. If correct, contact your Green Dot account manager to confirm the store is enrolled and enabled for this transaction type.
801StoreBlockedThe store has been blocked by Green Dot store blocker rules.Contact your Green Dot account manager to investigate the block and determine resolution.
815AccountNotFoundThe specified account could not be found.Verify the account identifier in the request. If the identifier is correct, advise the customer to contact their card provider.
823CardStatusInvalidThe card's current status does not permit this operation.Advise the customer to contact their card provider to check and resolve the card status.
840TransactionNotFoundNo matching transaction found for the provided originalTransactionId, or the original transaction belongs to a different store or partner.Verify the originalTransactionId value matches the X-GD-RequestId used in the original transaction, and that the void is being submitted from the same store and merchant.
841NotVoidableTransactionTypeThe transaction type cannot be voided. Only Reload and Sale transaction types support voids.No void is possible for this transaction type. If the customer needs a refund, direct them to their card provider.
842TransactionAlreadyVoidedThe transaction has already been voided.No action needed — the void was already processed.
843TransactionAlreadyPostedThe transaction has been posted (committed) and can no longer be voided. The funding delay window has elapsed.Void is no longer possible. If the customer needs a refund, direct them to their card provider.
844NotVoidableTransactionStatusThe transaction's current status does not permit a void.Void is not possible in the transaction's current state. Contact your Green Dot account manager if further action is needed.
848TransactionAlreadyReturnedThe transaction has been returned and cannot be voided.No action needed — the transaction was already returned.
860ErrorUpdateTellerAn error occurred updating the teller record for this transaction.Retry the request. If the error persists, contact your Green Dot account manager.
861RetailChainUserNotFoundThe specified retail chain user was not found.Verify the userId value in the request. Contact your Green Dot account manager if the issue persists.
862RetailChainUserNotActiveThe retail chain user exists but is not active.Contact your Green Dot account manager to activate the user account.
863UserNameNotMatchThe provided username does not match the record on file.Verify the userId value. Contact your Green Dot account manager if the issue persists.
868SameCardIsNotAllowedThe same card was used in a context where it is not permitted (e.g., source and destination card are identical).Advise the customer to use a different card for this transaction.
870ChangeFeePlanFailedUpdating the fee plan for this account failed.Contact your Green Dot account manager to investigate the fee plan configuration.
871RetailChainUserCreatedA retail chain user record was created as part of this transaction.Informational — no action required.
872RetailChainUserUpdatedA retail chain user record was updated as part of this transaction.Informational — no action required.
999RequestTimeoutThe request expired or no response was received from a downstream service within the allowed time period.Retry the request with a new unique X-GD-RequestId. Do not reuse the original ID — it may still be in flight. If timeouts persist, contact your Green Dot account manager.
1000GeneralFailureAn unspecified service failure occurred.Retry the request with a new unique X-GD-RequestId. If the error persists across multiple attempts, contact your Green Dot account manager.

Notes on Error Handling

HTTP vs. application errors: Always check the HTTP status code first. A 401 means your token needs to be regenerated before making any further requests. For all other responses (HTTP 200), evaluate responseCode to determine outcome.

Duplicate transaction detection: If a request is retried with the same X-GD-RequestId, the system may return 600 UnableToProcessRequest with a duplicate indication in responseDescription. Always generate a new unique X-GD-RequestId for each attempt.

Token expiry: A 401 Unauthorized with no response body means the Bearer token is invalid, expired, or mismatched. Regenerate the token and retry — do not retry with the same token.

Retry guidance: 999 RequestTimeout and 1000 GeneralFailure are safe to retry with a new X-GD-RequestId. For all other non-zero codes, inspect responseDescription, correct the underlying issue, and only then retry.

Informational codes: Codes 871 (RetailChainUserCreated) and 872 (RetailChainUserUpdated) are informational status codes that may be returned alongside a successful transaction. No partner action is required.


Did this page help you?