API / Reference / Card Transactions
Reset card transaction
POST
https://api.light.inc/v1/card-transactions/{transactionId}/reset
Reverses a posted card transaction's ledger entries and returns it to an editable state
Only a POSTED transaction can be reset; anything else fails with CARD_TRANSACTION_CANNOT_BE_RESET. The ledger entries are reversed and status returns to CAPTURED (for a DEBIT) or REFUNDED (for a CREDIT), with editStatus back to ALL_EDITS_ALLOWED.
Authorization
Send one of these on every request. See Authentication for how to get credentials.
- API key
Basic authentication header of the form Basic <api_key>, where <api_key> is your api key.
- Bearer token
Path parameters
-
transactionIdstring · uuidrequired
Response
-
idstring · uuid -
companyIdstring · uuid -
companyEntityIdstring · uuid -
cardBalanceAccountIdstring · uuid -
cardIdstring · uuid -
providerIdstring -
originalAmountinteger · int64 -
originalCurrencystring -
amountinteger · int64Unsigned, in minor units. The sign is
direction:DEBITis money out,CREDITis a refund or incoming credit. -
currencystring -
directionstring⚠️ This enum is not exhaustive; new values may be added in the future.
One of
DEBITCREDIT -
transactionReasonstring⚠️ This enum is not exhaustive; new values may be added in the future.
One of
ACCOUNT_NOT_ACTIVEAMOUNT_LIMIT_EXCEEDEDAPPROVAL_EXPIREDAPPROVEDAUTHENTICATION_FAILEDAUTHENTICATION_REQUIREDBALANCE_ACCOUNT_BLOCKED_BY_RULECALL_REFERRALCANCELLEDCARD_BLOCKEDCARD_CAPTUREDCARD_EXPIREDCARD_LOST_OR_STOLENCARD_RESTRICTEDCARD_VERIFICATION_FAILEDCASHBACK_LIMIT_EXCEEDEDCONTACTLESS_FALLBACKCONTACTLESS_LIMIT_REACHEDCOUNTERPARTY_ACCOUNT_UNAVAILABLECOUNTERPARTY_ADDRESS_REQUIREDCOUNTERPARTY_BANK_UNAVAILABLECRYPTOGRAPHIC_FAILUREDECLINEDDECLINED_BY_BAP_VALIDATIONDECLINED_BY_TRANSACTION_RULEDECLINED_NON_GENERICDOMESTIC_DEBIT_NOT_ALLOWEDDO_NOT_HONORDUPLICATE_TRANSMISSIONFORMAT_ERRORFRAUDHONOR_WITH_IDINSUFFICIENT_FUNDSINTERNAL_TIMEOUTINVALID_ACCOUNTINVALID_AMOUNTINVALID_AUTHORIZATION_LIFECYCLEINVALID_CARDINVALID_ISSUERINVALID_MERCHANTINVALID_TRANSACTIONISSUER_SUSPECTED_FRAUDMOBILE_PIN_REQUIREDNOT_SUBMITTEDNO_ACCOUNT_OF_TYPEOTHERPARTIALLY_APPROVEDPENDINGPIN_INVALIDPIN_NOT_CHANGEDPIN_REQUIREDPIN_TRIES_EXCEEDEDPIN_VALIDATION_NOT_POSSIBLEPROVIDER_ERRORPURCHASE_AMOUNT_ONLY_NO_CASHBACKREFUSED_BY_COUNTERPARTY_BANKREFUSED_BY_CUSTOMERREVOCATION_OF_AUTHROUTE_NOT_FOUNDSCHEME_ADVICESECURITY_VIOLATIONTRANSACTION_NOT_PERMITTEDTRANSFER_INSTRUMENT_NOT_FOUNDTRANSFER_NOT_SUPPORTEDUNKNOWNWITHDRAWAL_AMOUNT_EXCEEDEDWITHDRAWAL_COUNT_EXCEEDED -
purchaseTypestring⚠️ This enum is not exhaustive; new values may be added in the future.
One of
ATMBALANCE_INQUIRYECOMMERCEPOSRECURRINGUNKNOWNOTHER -
statusstring⚠️ This enum is not exhaustive; new values may be added in the future.
Set by the card issuer, never by this API, apart from
POSTED.AUTHORIZEDmoves toCAPTURED,DECLINEDorVOIDED;CAPTUREDandREFUNDEDcan be posted. AREFUNDEDtransaction is its own record withdirection: CREDIT— the original capture keeps its status and nothing on the model links the two.One of
AUTHORIZEDDECLINEDCAPTUREDREFUNDEDVOIDEDPOSTED -
typestring⚠️ This enum is not exhaustive; new values may be added in the future.
One of
PAYMENTREFUNDOTHER -
merchantobject-
namestringMerchant name as reported by the card network.
-
cleanNamestringThe name cleaned up by Light, used for display and vendor matching.
-
countrystring⚠️ This enum is not exhaustive; new values may be added in the future.
One of
UNDEFINEDACADAEAFAGAIALAMANAOAQARASATAUAWAXAZBABBBDBEBFBGBHBIBJBLBMBNBOBQBRBSBTBUBVBWBYBZCACCCDCFCGCHCICKCLCMCNCOCPCRCSCUCVCWCXCYCZDEDGDJDKDMDODZEAECEEEGEHERESETEUEZFIFJFKFMFOFRFXGAGBGDGEGFGGGHGIGLGMGNGPGQGRGSGTGUGWGYHKHMHNHRHTHUICIDIEILIMINIOIQIRISITJEJMJOJPKEKGKHKIKMKNKPKRKWKYKZLALBLCLILKLRLSLTLULVLYMAMCMDMEMFMGMHMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZNANCNENFNGNINLNONPNRNTNUNZOMPAPEPFPGPHPKPLPMPNPRPSPTPWPYQARERORSRURWSASBSCSDSESFSGSHSISJSKSLSMSNSOSRSSSTSUSVSXSYSZTATCTDTFTGTHTJTKTLTMTNTOTPTRTTTVTWTZUAUGUKUMUSUYUZVAVCVEVGVIVNVUWFWSXIXUXKYEYTYUZAZMZRZW -
zipcodestringThe merchant's postal code.
-
idstringThe card network's merchant id.
-
mccstringMerchant category code.
-
acquirerIdstringId of the merchant's acquiring bank.
-
logoUrlstringLogo URL, when Light has one.
-
-
receiptDocumentKeystringFilled asynchronously after a receipt upload with the key of the converted PDF, which is not the
keythe upload endpoint returned. -
linesarray of object-
idstring · uuid -
transactionIdstring · uuid -
companyIdstring · uuid -
accountIdstring · uuid -
taxCodeIdstring · uuid -
costCenterIdstring · uuid -
amountinteger · int64 -
netAmountinteger · int64 -
taxAmountinteger · int64 -
descriptionstring -
createdAtstring · date-time -
updatedAtstring · date-time -
customPropertiesarray of object-
groupIdstring · uuidID of the custom property group
-
groupInternalNamestringInternal name of the custom property group
-
valuesarray of objectList of values. Note that this will be a single value unless the group input type supports multiple values
-
idstring · uuidUnique identifier for the object
-
groupIdstring · uuidID of the custom property group
-
groupInternalNamestringInternal name of the custom property group
-
companyIdstring · uuidID of the company
-
internalNamestringInternal name of the custom property value
-
labelstringLabel of the custom property value
-
contextstringContext/description of the custom property value
-
createdAtstring · date-timeTimestamp when the custom property value was created
-
updatedAtstring · date-timeTimestamp when the custom property value was last updated
-
-
-
amortizationTemplateIdstring · uuid -
amortizationStartDatestring · date -
amortizationEndDatestring · date
-
-
failureContextobjectFailure context when vendor onboarding fails.
Set when a batch update or a post fails validation, or when receipt conversion fails; cleared by the next successful post. The description about vendor onboarding is a copy-paste from another model.
-
namestringThe error name
-
typestringThe error type
⚠️ This enum is not exhaustive; new values may be added in the future.
One of
BAD_REQUESTUNAUTHORIZEDFORBIDDENNOT_FOUNDCONFLICTUNPROCESSABLE_CONTENT -
errorsarray of objectList of errors providing details about what went wrong
-
typestringA string code identifying the error type
-
messagestringA human-readable message providing more details about the error
-
patharray of stringOptional path of the error when the error is for a specific field. Used mostly on BAD_REQUEST errors, that path will match the field name on the request object
-
contextobjectOptional context providing additional information about the error. This can include any relevant data that might help in understanding or resolving the error
-
-
-
editStatusstring⚠️ This enum is not exhaustive; new values may be added in the future.
Derived from
statusand whether the transaction is posted:AUTHORIZEDgivesLINE_AMOUNT_EDITS_LOCKED, an unpostedCAPTUREDorREFUNDEDgivesALL_EDITS_ALLOWED, everything elseALL_EDITS_LOCKED. Not returned by the list or singleGET.One of
ALL_EDITS_ALLOWEDLINE_AMOUNT_EDITS_LOCKEDALL_EDITS_LOCKED -
descriptionstring -
performedAtstring · date-time -
createdAtstring · date-time -
updatedAtstring · date-time -
updatedBystring · uuid -
customPropertiesarray of object-
groupIdstring · uuidID of the custom property group
-
groupInternalNamestringInternal name of the custom property group
-
valuesarray of objectList of values. Note that this will be a single value unless the group input type supports multiple values
-
idstring · uuidUnique identifier for the object
-
groupIdstring · uuidID of the custom property group
-
groupInternalNamestringInternal name of the custom property group
-
companyIdstring · uuidID of the company
-
internalNamestringInternal name of the custom property value
-
labelstringLabel of the custom property value
-
contextstringContext/description of the custom property value
-
createdAtstring · date-timeTimestamp when the custom property value was created
-
updatedAtstring · date-timeTimestamp when the custom property value was last updated
-
-