Skip to content

Final POS API (1.2.4)

Welcome to the Final POS Public API—your playground for crafting the checkout and kiosk flows you want. Create your API keys in Manage (Settings > API Keys) and send them as x-api-key on every request. Customer endpoints use dynamic DTO generation so they adapt to your custom tables in real time, while the rest of the controllers follow a stable, static contract for predictable integrations.

Download OpenAPI description
Overview
License
Languages
Servers
Mock server
https://docs.finalpos.com/_mock/openapi
Official API
https://api.finalpos.com

Data Transfer Objects (DTOs)

Schemas

Customer

Operations

Customers

Operations

Custom Tables: structure

Operations

Custom Table: content

Operations

Custom Tables: content

Operations

Product

Operations

Products

Operations

Outlet

Operations

Outlets

Operations

Category

Operations

Categories

Operations

Station

Operations

Stations

Operations

Variant

Operations

Variants

Operations

Order

Operations

Orders

Operations

Transactions

Operations

Create a new transaction

Request

Creates a new transaction record.

Security
X-Api-Key
Bodyapplication/jsonrequired
externalIdstring

External ID of the transaction.

Example: "ext_txn_123"
paymentMethodstringrequired

Payment method used for the transaction.

Example: "credit_card"
amountstringrequired

Amount of the transaction.

Example: "100.00"
currencystringrequired

Currency of the transaction.

Example: "USD"
typestringrequired

Type of the transaction.

Example: "sale"
notesstring

Notes for the transaction.

Example: "Customer paid in full"
employeestring

Employee ID who processed the transaction.

Example: "507f1f77bcf86cd799439011"
balancestringrequired

Balance after the transaction.

Example: "0.00"
sessionIdstringrequired

Session ID associated with the transaction.

Example: "507f1f77bcf86cd799439012"
paymentDataobject

Payment processor data for the transaction.

Example: {"processor":"stripe","processorTransactionId":"pi_123","device":"terminal_001"}
orderIdstring

Order ID associated with the transaction.

Example: "507f1f77bcf86cd799439013"
refundIdstring

Refund ID associated with the transaction.

Example: "507f1f77bcf86cd799439014"
outletIdstring

Outlet ID where the transaction occurred.

Example: "507f1f77bcf86cd799439015"
receiptIdstring

Receipt ID for the transaction.

Example: "RCP-2025-001"
curl -i -X POST \
  https://docs.finalpos.com/_mock/openapi/v1/api/transactions \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d '{
    "externalId": "ext_txn_123",
    "paymentMethod": "credit_card",
    "amount": "100.00",
    "currency": "USD",
    "type": "sale",
    "notes": "Customer paid in full",
    "employee": "507f1f77bcf86cd799439011",
    "balance": "0.00",
    "sessionId": "507f1f77bcf86cd799439012",
    "paymentData": {
      "processor": "stripe",
      "processorTransactionId": "pi_123",
      "device": "terminal_001"
    },
    "orderId": "507f1f77bcf86cd799439013",
    "refundId": "507f1f77bcf86cd799439014",
    "outletId": "507f1f77bcf86cd799439015",
    "receiptId": "RCP-2025-001"
  }'

Responses

The transaction has been successfully created.

Bodyapplication/json
idstring

Unique identifier for the Transactions.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
createdAtstring(date-time)

Timestamp when the Transactions was created.

Example: "2025-12-07T19:31:48.436+00:00"
updatedAtstring(date-time)

Timestamp when the Transactions was last updated.

Example: "2025-12-07T19:35:48.436+00:00"
companyIdstring

Company ID associated with the Transactions.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
externalIdstring

External ID of the transaction.

Example: "ext_txn_123"
paymentMethodstring

Payment method used for the transaction.

Example: "credit_card"
amountstring

Amount of the transaction.

Example: "100.00"
currencystring

Currency of the transaction.

Example: "USD"
typestring

Type of the transaction.

Example: "sale"
notesstring

Notes for the transaction.

Example: "Customer paid in full"
employeestring

Employee ID who processed the transaction.

Example: "507f1f77bcf86cd799439011"
balancestring

Balance after the transaction.

Example: "0.00"
sessionIdstring

Session ID associated with the transaction.

Example: "507f1f77bcf86cd799439012"
paymentDataobject

Payment processor data for the transaction.

Example: {"processor":"stripe","processorTransactionId":"pi_123","device":"terminal_001"}
orderIdstring

Order ID associated with the transaction.

Example: "507f1f77bcf86cd799439013"
refundIdstring

Refund ID associated with the transaction.

Example: "507f1f77bcf86cd799439014"
outletIdstring

Outlet ID where the transaction occurred.

Example: "507f1f77bcf86cd799439015"
receiptIdstring

Receipt ID for the transaction.

Example: "RCP-2025-001"
Response
application/json
{ "id": "o1p2q3r4s5t6u7v8w9x0y1z2", "createdAt": "2025-12-07T19:31:48.436+00:00", "updatedAt": "2025-12-07T19:35:48.436+00:00", "companyId": "o1p2q3r4s5t6u7v8w9x0y1z2", "externalId": "ext_txn_123", "paymentMethod": "credit_card", "amount": "100.00", "currency": "USD", "type": "sale", "notes": "Customer paid in full", "employee": "507f1f77bcf86cd799439011", "balance": "0.00", "sessionId": "507f1f77bcf86cd799439012", "paymentData": { "processor": "stripe", "processorTransactionId": "pi_123", "device": "terminal_001" }, "orderId": "507f1f77bcf86cd799439013", "refundId": "507f1f77bcf86cd799439014", "outletId": "507f1f77bcf86cd799439015", "receiptId": "RCP-2025-001" }

Get a transaction by ID

Request

Retrieves a single transaction by its unique identifier.

Security
X-Api-Key
Path
idstringrequired

Transactions ID

curl -i -X GET \
  'https://docs.finalpos.com/_mock/openapi/v1/api/transactions/{id}' \
  -H 'x-api-key: YOUR_API_KEY_HERE'

Responses

The transaction has been successfully retrieved.

Bodyapplication/json
idstring

Unique identifier for the Transactions.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
createdAtstring(date-time)

Timestamp when the Transactions was created.

Example: "2025-12-07T19:31:48.436+00:00"
updatedAtstring(date-time)

Timestamp when the Transactions was last updated.

Example: "2025-12-07T19:35:48.436+00:00"
companyIdstring

Company ID associated with the Transactions.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
externalIdstring

External ID of the transaction.

Example: "ext_txn_123"
paymentMethodstring

Payment method used for the transaction.

Example: "credit_card"
amountstring

Amount of the transaction.

Example: "100.00"
currencystring

Currency of the transaction.

Example: "USD"
typestring

Type of the transaction.

Example: "sale"
notesstring

Notes for the transaction.

Example: "Customer paid in full"
employeestring

Employee ID who processed the transaction.

Example: "507f1f77bcf86cd799439011"
balancestring

Balance after the transaction.

Example: "0.00"
sessionIdstring

Session ID associated with the transaction.

Example: "507f1f77bcf86cd799439012"
paymentDataobject

Payment processor data for the transaction.

Example: {"processor":"stripe","processorTransactionId":"pi_123","device":"terminal_001"}
orderIdstring

Order ID associated with the transaction.

Example: "507f1f77bcf86cd799439013"
refundIdstring

Refund ID associated with the transaction.

Example: "507f1f77bcf86cd799439014"
outletIdstring

Outlet ID where the transaction occurred.

Example: "507f1f77bcf86cd799439015"
receiptIdstring

Receipt ID for the transaction.

Example: "RCP-2025-001"
Response
application/json
{ "id": "o1p2q3r4s5t6u7v8w9x0y1z2", "createdAt": "2025-12-07T19:31:48.436+00:00", "updatedAt": "2025-12-07T19:35:48.436+00:00", "companyId": "o1p2q3r4s5t6u7v8w9x0y1z2", "externalId": "ext_txn_123", "paymentMethod": "credit_card", "amount": "100.00", "currency": "USD", "type": "sale", "notes": "Customer paid in full", "employee": "507f1f77bcf86cd799439011", "balance": "0.00", "sessionId": "507f1f77bcf86cd799439012", "paymentData": { "processor": "stripe", "processorTransactionId": "pi_123", "device": "terminal_001" }, "orderId": "507f1f77bcf86cd799439013", "refundId": "507f1f77bcf86cd799439014", "outletId": "507f1f77bcf86cd799439015", "receiptId": "RCP-2025-001" }

Update a transaction by ID

Request

Updates an existing transaction record.

Security
X-Api-Key
Path
idstringrequired

Transactions ID

Bodyapplication/jsonrequired
externalIdstring

External ID of the transaction.

Example: "ext_txn_123"
paymentMethodstring

Payment method used for the transaction.

Example: "credit_card"
amountstring

Amount of the transaction.

Example: "100.00"
currencystring

Currency of the transaction.

Example: "USD"
typestring

Type of the transaction.

Example: "sale"
notesstring

Notes for the transaction.

Example: "Customer paid in full"
employeestring

Employee ID who processed the transaction.

Example: "507f1f77bcf86cd799439011"
balancestring

Balance after the transaction.

Example: "0.00"
sessionIdstring

Session ID associated with the transaction.

Example: "507f1f77bcf86cd799439012"
paymentDataobject

Payment processor data for the transaction.

Example: {"processor":"stripe","processorTransactionId":"pi_123","device":"terminal_001"}
orderIdstring

Order ID associated with the transaction.

Example: "507f1f77bcf86cd799439013"
refundIdstring

Refund ID associated with the transaction.

Example: "507f1f77bcf86cd799439014"
outletIdstring

Outlet ID where the transaction occurred.

Example: "507f1f77bcf86cd799439015"
receiptIdstring

Receipt ID for the transaction.

Example: "RCP-2025-001"
curl -i -X PUT \
  'https://docs.finalpos.com/_mock/openapi/v1/api/transactions/{id}' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d '{
    "externalId": "ext_txn_123",
    "paymentMethod": "credit_card",
    "amount": "100.00",
    "currency": "USD",
    "type": "sale",
    "notes": "Customer paid in full",
    "employee": "507f1f77bcf86cd799439011",
    "balance": "0.00",
    "sessionId": "507f1f77bcf86cd799439012",
    "paymentData": {
      "processor": "stripe",
      "processorTransactionId": "pi_123",
      "device": "terminal_001"
    },
    "orderId": "507f1f77bcf86cd799439013",
    "refundId": "507f1f77bcf86cd799439014",
    "outletId": "507f1f77bcf86cd799439015",
    "receiptId": "RCP-2025-001"
  }'

Responses

The transaction has been successfully updated.

Bodyapplication/json
idstring

Unique identifier for the Transactions.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
createdAtstring(date-time)

Timestamp when the Transactions was created.

Example: "2025-12-07T19:31:48.436+00:00"
updatedAtstring(date-time)

Timestamp when the Transactions was last updated.

Example: "2025-12-07T19:35:48.436+00:00"
companyIdstring

Company ID associated with the Transactions.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
externalIdstring

External ID of the transaction.

Example: "ext_txn_123"
paymentMethodstring

Payment method used for the transaction.

Example: "credit_card"
amountstring

Amount of the transaction.

Example: "100.00"
currencystring

Currency of the transaction.

Example: "USD"
typestring

Type of the transaction.

Example: "sale"
notesstring

Notes for the transaction.

Example: "Customer paid in full"
employeestring

Employee ID who processed the transaction.

Example: "507f1f77bcf86cd799439011"
balancestring

Balance after the transaction.

Example: "0.00"
sessionIdstring

Session ID associated with the transaction.

Example: "507f1f77bcf86cd799439012"
paymentDataobject

Payment processor data for the transaction.

Example: {"processor":"stripe","processorTransactionId":"pi_123","device":"terminal_001"}
orderIdstring

Order ID associated with the transaction.

Example: "507f1f77bcf86cd799439013"
refundIdstring

Refund ID associated with the transaction.

Example: "507f1f77bcf86cd799439014"
outletIdstring

Outlet ID where the transaction occurred.

Example: "507f1f77bcf86cd799439015"
receiptIdstring

Receipt ID for the transaction.

Example: "RCP-2025-001"
Response
application/json
{ "id": "o1p2q3r4s5t6u7v8w9x0y1z2", "createdAt": "2025-12-07T19:31:48.436+00:00", "updatedAt": "2025-12-07T19:35:48.436+00:00", "companyId": "o1p2q3r4s5t6u7v8w9x0y1z2", "externalId": "ext_txn_123", "paymentMethod": "credit_card", "amount": "100.00", "currency": "USD", "type": "sale", "notes": "Customer paid in full", "employee": "507f1f77bcf86cd799439011", "balance": "0.00", "sessionId": "507f1f77bcf86cd799439012", "paymentData": { "processor": "stripe", "processorTransactionId": "pi_123", "device": "terminal_001" }, "orderId": "507f1f77bcf86cd799439013", "refundId": "507f1f77bcf86cd799439014", "outletId": "507f1f77bcf86cd799439015", "receiptId": "RCP-2025-001" }

Delete a transaction by ID

Request

Deletes a transaction by its unique identifier.

Security
X-Api-Key
Path
idstringrequired

Transactions ID

curl -i -X DELETE \
  'https://docs.finalpos.com/_mock/openapi/v1/api/transactions/{id}' \
  -H 'x-api-key: YOUR_API_KEY_HERE'

Responses

The transaction has been successfully deleted.

Bodyapplication/json
statusCodenumberrequired

HTTP status code

Example: 200
messagestringrequired

Message describing the result of the operation

Example: "Resource with Id 123 deleted successfully"
Response
application/json
{ "statusCode": 200, "message": "Resource with Id 123 deleted successfully" }

Roles

Operations

Attachment

Operations

Account

Operations

Refunds

Operations

Session

Operations

ZapierTriggers

Operations