These docs are for v2.0. Click to read the latest docs for v3.1.

A Transaction is an entry (in or out) on a bank account.

FieldDescription
uidUser id
bankAccountIdBank account to which the transaction is linked to
titleEditable field initially set by a machine
titleLatinisedNon writable field for search purposes in the Query endpoint's q parameter
transferPayinSenderNameOptional, Name of the bank transfer sender
descriptionCustom data passed along the transaction such as bank transfer label edited by a user
amountAmount of the transaction. Float
currencyISO_4217 ISO_4217 currency code, defaults to "EUR"
typeOne of "PAYIN" when money in coming in the user's wallet or "PAYOUT" when it's going outwards
categoryCategory of the transaction. Used to display an appropriate logo in the banking screen and to help users with their accounting.
one of (DEFAULT, BANKING, CASH, CONTRIBUTIONS, EQUIPMENT, FOOD, HOTEL, LEGAL, LOAN, MAINTENANCE, MISC, PERSONAL, RENT, SERVICES, TAX, TELECOM, TRANSPORTATION, UTILITIES, VEHICLE)
statusone of (PENDING, CANCELED, VALIDATED) -
isHiddenSet to true if this transaction needs to be taken out of accounting, i.e. a personal expanse, or a transfer to the user's personal bank account
receiptIdOptional, if this transaction is a purchase, the user is legally bound to keep a receipt and this field should match the primary key of the Receipts' table
bankTransferIdOptional, if this transaction is a wire transfer going out of the user's wallet, provide the primary key of the BankTransfers' table
directDebitMandateIdOptional, if this transaction is a SEPA direct debit on the user's wallet, this is the ID of the SEPA mandate
invoiceIdOptional, id of the invoice the payin is matched to (if applicable)
transactionAtTimestamp at which the transaction was initiated
This timestamp should only be used if you need to display PENDING transactions. In you only display VALIDATED transactions, use transactionSettledAt instead.
transactionSettledAtTimestamp at which the transaction has been settled.
This timestamp should be used to display VALIDATED transactions.
expectedReleaseDateOnly set for card payouts. The expected date at which the card authorization will be released. It's computed adding 11 days to the transactionAt.
paymentMethodOne of (CARD, TRANSFER, DIRECT_DEBIT): describes the means of the transaction
providerTransactionIdthe provider's identifier for this transaction in the form "payin{actualId}" or "payout{actualId}"
flagValue entered/updated by Shine (human operator or automated process), one of (SUSPICIOUS, WARNING, SAFE, )
feeShine transaction fee
feeTypeType of the fee. One of (FREE, CARD_PAYIN_EURO, CARD_PAYIN_NON_EURO, CARD_PAYIN_NON_EU), or the same with payout, or CARD_ATM_EURO, CARD_ATM_NON_EURO (to be expanded).
isRefundWhether the transaction is the refund of another transaction (e.g. a Mastercard payback)
hasBeenReleasedApplicable on card payouts. Is true if the transaction originally had a higher value, but has been released
statusTransaction status. One of VALIDATED, PENDING, CANCELED.
authorizationReleasedAtInternal timestamp. Should not be used.
executedAtInternal timestamp. Should not be used.