Wallet Services Error Codes

Wallet Services error HTTP status codes and messages

General / Common Errors

These errors apply across all Wallet Services endpoints.

Error CodesHTTP Response CodeError Description
header.requestId.missing400 Bad RequestThe requestId header is missing. Provide a valid Unique Request identifier and resend the request.
header.merchantId.missing400 Bad RequestThe merchantId header is missing. Provide a Blackhawk issued unique identifier for the merchant who is making the call.
header.millisecondsToWait.invalid400 Bad RequestThe millisecondsToWait header value is invalid. Accepted range is 0–30000.
request.walletId.missing400 Bad RequestThe walletId field is missing from the request.
request.walletId.invalid400 Bad RequestThe walletId path parameter is not a valid UUID format. Provide a correctly formatted Unique identifier for the wallet.
request.walletId.invalidLength400 Bad RequestThe walletId value exceeds the maximum allowed length.
request.payLoad.invalid400 Bad RequestThe request body is malformed or cannot be parsed. Ensure the body is valid JSON.
request.url.path.invalid400 Bad RequestThe URL path parameter is invalid.
request.duplicate.url.mismatch409 ConflictA request with the same requestId was already received at a different endpoint. Use a new requestId for a different endpoint.

Create Wallet

Endpoint: POST /api/v2/wallet

Error CodesHTTP Response CodeError Description
request.userId.missing400 Bad RequestThe userId field is present but empty. Provide a valid non-empty UUID.
request.userId.invalid400 Bad RequestThe userId is not a valid UUID format. Provide a correctly formatted UUID.
request.partnerRefUserId.missing400 Bad RequestThe partnerRefUserId field is present but empty. Provide a valid non-empty value.
request.partnerRefUserId.invalid400 Bad RequestThe partnerRefUserId contains invalid characters. Provide an alphanumeric value without special characters.
request.description.invalidLength400 Bad RequestThe description field exceeds the maximum allowed length of 128 characters.
request.description.invalid400 Bad RequestThe description field contains invalid or unsupported characters.
request.walletIdentifier.missing400 Bad RequestNo wallet identifier was provided. Supply either a userId or partnerRefUserId.
request.walletIdentifiers.both.present400 Bad RequestBoth userId and partnerRefUserId were provided. Only one wallet identifier is allowed per request.
request.riskAttributes.invalid400 Bad RequestThe riskAttributes field must be a JSON object. Strings and arrays are not accepted.
request.partnerConsumerId.invalidLength400 Bad RequestThe partnerConsumerId field exceeds the maximum allowed length.
createWallet.failed.userId.notFound404 Not FoundThe userId provided could not be found in the BHN system. Provide a valid registered user ID.
createWallet.failed.serviceUnavailable503 Service UnavailableA downstream service (e.g., Person Service) is temporarily unavailable. This is a retryable error.

Add Balance

Endpoint: POST /api/v2/wallet/{walletId}/add

Error CodesHTTP Response CodeError Description
request.item.missing400 Bad RequestThe item object is missing from the request body.
request.item.type.missing400 Bad RequestThe item.type field is missing.
request.item.type.invalid400 Bad RequestThe item.type value is not recognized.
request.item.itemType.missing400 Bad RequestThe item.itemType field is missing. Provide a valid item type (e.g., STORE_VALUE_ACCOUNT, CLOSED_LOOP_PREPAID).
request.item.itemType.invalid400 Bad RequestThe item.itemType value is not recognized. Accepted values are STORE_VALUE_ACCOUNT and CLOSED_LOOP_PREPAID.
request.item.upc.missing400 Bad RequestThe item.upc field is required for STORE_VALUE_ACCOUNT items.
request.item.upc.invalid400 Bad RequestThe item.upc value is invalid. Provide valid identifier for the store value product.
request.item.amount.missing400 Bad RequestThe item.amount field is required for STORE_VALUE_ACCOUNT items.
request.item.amount.invalid400 Bad RequestThe item.amount value is invalid. Provide valid amount to be loaded to the wallet account.
request.item.cardNumber.missing400 Bad RequestThe item.isBhnVerified field is required for CLOSED_LOOP_PREPAID / OPEN_LOOP_PREPAID items.
request.item.cardNumber.invalid400 Bad RequestThe item.cardNumber value is invalid. Provide a closed Loop Gift Card number (16-20 digits).
request.item.pin.missing400 Bad RequestThe item.pin is required for CLOSED_LOOP_PREPAID items.
request.item.pin.invalid400 Bad RequestThe item.pin value is invalid. Provide a Personal Identification Number associated with the Closed Loop card (4 to 10 digits).
request.item.productLineId.missing400 Bad RequestThe item.productLineId is required for CLOSED_LOOP_PREPAID items.
request.item.productLineId.invalid400 Bad RequestThe item.productLineId value is invalid. Provide a Unique Product Line ID issued by BHN for the closed loop gift card program.
request.item.expiryMonth.missing400 Bad RequestThe item.expiryMonth value is missing.
request.item.expiryMonth.invalid400 Bad RequestThe item.expiryMonth value is invalid. Provide Expiration month of the Open Loop Gift Card in MM format.
request.item.expiryYear.missing400 Bad RequestThe item.expiryYear value is missing.
request.item.expiryYear.invalid400 Bad RequestThe item.expiryMonth value is invalid. Provide Expiration year of the Open Loop Gift Card in YYYY format
request.item.description.invalidLength400 Bad RequestThe item.description field exceeds the maximum allowed length.
request.securityCode.missing400 Bad RequestThe itemId field is missing from the request.
request.securityCode.invalid400 Bad RequestThe itemId value contains invalid or unsupported characters.
request.item.loyaltyId.missing400 Bad RequestloyaltyId is missing. Provide Unique loyalty account or card identifier issued by the loyalty program provider.
request.item.provider.missing400 Bad Requestprovider is missing. Provide name of the loyalty program provider.

Redeem / Spend Balance

Endpoint: POST /api/v2/wallet/{walletId}/redeem

Error CodesHTTP Response CodeError Description
request.totalAmount.value.missing400 Bad RequestThe totalAmount.value field is missing from the request.
request.totalAmount.value.invalid400 Bad RequestThe totalAmount.value is invalid (e.g., negative or zero).
request.totalAmount.currencyCode.missing400 Bad RequestThe totalAmount.currencyCode field is missing from the request.
request.totalAmount.currencyCode.invalid400 Bad RequestThe totalAmount.currencyCode value is invalid. Provide a valid ISO 4217 currency code (e.g., USD).
request.items.itemId.missing400 Bad RequestThe itemId is missing from one or more entries in the items array.
request.items.itemId.invalid400 Bad RequestOne or more itemId values are not valid. Provide Unique identifier of the wallet item from which to redeem
request.items.amount.value.missing400 Bad RequestThe items.amount.value field is missing from the request.
request.items.amount.value.invalid400 Bad RequestThe items.amount.value field is invalid. Provide valid amount.
request.items.amount.currencyCode.missing400 Bad RequestThe items.amount.currencyCode field is missing.
request.items.amount.currencyCode.invalid400 Bad RequestThe items.amount.currencyCode field is invalid. Provide Currency code in ISO 4217 format.
redeem.failed.internalError500 Internal Server ErrorAn internal error occurred during the redemption process. This is a retryable error.
redeem.items.failedToGetBalances500 Internal Server ErrorAn internal error occurred during the redemption process. This is a retryable error.

Get Balances

Endpoint: GET /api/v2/wallet/{walletId}/balanceSummary

Error CodesHTTP Response CodeError Description
getSummary.failed.walletId.notFound404 Not FoundThe specified wallet ID was not found.
getSummary.failed.serviceUnavailable503 Service UnavailableThe Balance Summary service is temporarily unavailable. This is a retryable error.

Get Wallet Activity

Endpoint: GET /api/v2/wallet/{walletId}/activity

Error CodesHTTP Response CodeError Description
getWalletActivity.failed.wallet.notFound404 Not FoundThe specified wallet could not be found.
getWalletActivity.failed.serviceUnavailable503 Service UnavailableThe Wallet Activity service is temporarily unavailable. This is a retryable error.

Get Wallet Items

Endpoint: GET /api/v2/wallet/{walletId}/item/lookup

Error CodesHTTP Response CodeError Description
getDetails.failed.walletId.notFound404 Not FoundThe specified wallet could not be found.
getItem.failed.serviceUnavailable503 Service UnavailableThe Get Items service is temporarily unavailable. This is a retryable error.

Get Wallet Item Activity

Endpoint: GET /api/v2/wallet/{walletId}/item/activity

Error CodesHTTP Response CodeError Description
getWalletTransaction.failed.wallet.notFound404 Not FoundThe specified wallet could not be found.
getWalletTransaction.failed.serviceUnavailable503 Service UnavailableThe Wallet Item Activity service is temporarily unavailable. This is a retryable error.

Remove Items

Endpoint: POST /api/v2/wallet/{walletId}/items/remove

Note: A successful HTTP 200 response may still contain per-item failures. Always check the status field for each item in the response body.

Error CodesHTTP Response CodeError Description
request.items.itemId.missing400 Bad RequestThe items.itemId field is missing from the request. Provide Wallet item identifier in the BHN system.
removeItem.failed.item.notFound200 (item-level)The specified item could not be found in the wallet. Returned as a per-item failure inside the response body.
removeItem.failed.item.hasBalance200 (item-level)The item cannot be removed because it still has a remaining balance. Drain the balance before removing.
removeItem.failed.serviceUnavailable503 Service UnavailableThe Remove Item service (BAG) is temporarily unavailable. This is a retryable error.

Delete Wallet

Endpoint: POST /api/v2/wallet/{walletId}/delete

Error CodesHTTP Response CodeError Description
wallet.notFound via BAG404 Not FoundThe specified wallet could not be found.
deleteWallet.failed.wallet.notEmpty409 ConflictThe wallet cannot be deleted because it still contains items. Remove all items before deleting the wallet.
deleteWallet.failed.serviceUnavailable503 Service UnavailableThe Delete Wallet service (BAG) is temporarily unavailable. This is a retryable error.

Did this page help you?