# POS Transactions

POS (point of sales) transactions represent payment transactions that are initiated and driven directly on a physical terminal device.
This is in contrast to transactions created purely through an API, such as a card-not-present charge.
A POS transaction is the record of a payment flow that runs through a physical terminal.
The point of service, such as a diner's table, creates it and enters at the terminal what to charge.
The transaction can then be polled or listed to see the resulting status and the core transaction.
The typical lifecycle that includes a POS transaction:
**Creating one**
Use POST /v2/pos/transactions.
This initiates a transaction on a specific terminal device with predefined details.
These include the amount, transaction type, such as sale or authorization, currency, customer, pricing type, and whether to wait for the terminal to accept it.
The terminal handles the actual card read (readingMethod) and cardholder interaction.
**Tracking status**
A POS transaction has its own lifecycle status (posTransactionStatus).
This is such as TransactionProcessing or Completed and is separate from the underlying core transactionId it eventually links to once processed.
**Listing them**
Use GET /v2/pos/transactions.
This returns a paginated list of POS transactions, filterable by terminalId, showing fields like processedAmount, transactionType, and the linked transactionId.

 - [GET /v2/pos/transactions](https://developer.flute.com/api-reference/v2/flute-v2/pos-transactions/flute-v2-get-pos-transactions.md): GET {{baseURL}}/v2/pos/transactions This endpoint lists POS transactions. Each item in the response contains a reduced transaction object. Fields are limited to the most relevant transaction informati
 - [POST /v2/pos/transactions](https://developer.flute.com/api-reference/v2/flute-v2/pos-transactions/flute-v2-post-pos-transactions.md): POST {{baseURL}}/v2/pos/transactions This endpoint creates a new card present payment transaction on a semi-Integrated terminal. A semi-integrated terminal is one that is connected to a POS system, ty
 - [GET /v2/pos/transactions/{posTransactionId}](https://developer.flute.com/api-reference/v2/flute-v2/pos-transactions/flute-v2-get-pos-transactions-postransactionid.md): GET {{baseURL}}/v2/pos/transactions/{{posTransactionId}} This endpoint retrieves a POS transaction by ID. See Also: To list POS transactions, see GET /v2/pos/transactions. To create a new POS transact
 - [POST /v2/pos/transactions/{posTransactionId}/cancel](https://developer.flute.com/api-reference/v2/flute-v2/pos-transactions/flute-v2-post-pos-transactions-postransactionid-cancel.md): POST {{baseURL}}/v2/pos/transactions/{{posTransactionId}}/cancel This endpoint cancels a POS transaction by ID. This sends a cancellation signal to the gateway to abort an in-progress POS transaction.
 - [POST /v2/pos/transactions/{posTransactionId}/print-receipt](https://developer.flute.com/api-reference/v2/flute-v2/pos-transactions/flute-v2-post-pos-transactions-postransactionid-print-receipt.md): POST {{baseURL}}/v2/pos/transactions/{{posTransactionId}}/print-receipt This endpoint prints a POS transaction receipt. The terminal must be in semi-integrated mode and available (online and ready). A
 - [POST /v2/pos/transactions/reversal](https://developer.flute.com/api-reference/v2/flute-v2/pos-transactions/flute-v2-post-pos-transactions-reversal.md): POST {{baseURL}}/v2/pos/transactions/reversal This endpoint reverses a POS transaction. Provide the `originalTransactionId` to reverse a specific transaction. Only card transactions can be reversed th
