API / Reference / Card Transactions
Update card transaction
PATCH
https://api.light.inc/v1/card-transactions/{transactionId}
Updates an existing card transaction
Only description and customProperties are applied. postingDate is not accepted here — the batch endpoint is the only place it can be set. description follows the usual rule (omit to keep, null to clear). Required custom properties are enforced when the transaction is posted, not here. The response is the base shape, which includes editStatus.
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
Request body
application/json;charset=UTF-8
-
customPropertiesarray of object-
groupIdstring · uuidID of the custom property group.
-
valueIdsarray of string · uuidIDs of the selected custom property values. It behaves as a PUT operation, so if empty the existing ones will be effectively deleted.
Catalogue value ids for this group. Required; send
[](with an emptyinlineValues) to clear the group.SINGLE_SELECTandMULTI_SELECTgroups accept nothing else. See Custom properties on writes. -
inlineValuesarray of stringInline custom property values (used for TEXT/NUMERIC/DATE/etc. groups). It behaves as a PUT operation, so if empty or null the existing ones will be effectively deleted.
Literal values for
TEXT,NUMERIC,BOOLEANandDATEgroups, as strings (yyyy-MM-ddfor dates). Rejected on select groups withCUSTOM_PROPERTY_VALUE_TYPE_MISMATCH. See Custom properties on writes.
-
-
descriptionstring
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
-
-