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

Roles

Operations

Attachment

Operations

Account

Operations

Refunds

Operations

Session

Operations

Create a new session

Request

Creates a new session record.

Security
X-Api-Key
Bodyapplication/jsonrequired
stationIdstringrequired

Station ID where the session was opened.

Example: "507f1f77bcf86cd799439011"
sessionNumberstringrequired

Session number identifier.

Example: "S-2025-001"
openedBystringrequired

Name of the user who opened the session.

Example: "John Doe"
closedBystring

Name of the user who closed the session.

Example: "Jane Smith"
openTimestringrequired

Time when the session was opened.

Example: "2025-01-29T09:00:00.000Z"
closeTimestring

Time when the session was closed.

Example: "2025-01-29T17:00:00.000Z"
openingAmountstringrequired

Opening cash amount.

Example: "200.00"
closingAmountstring

Closing cash amount.

Example: "2500.00"
closingReportDatastring

Closing report data in JSON format.

Example: "{}"
notesArray of stringsrequired

Notes for the session.

Example: ["Opened on time","Register balanced"]
closingAmountsobjectrequired

Closing amounts by payment method.

Example: {"cash":"500.00","card":"1500.00","oliverPay":"200.00"}
closingAmounts.​cashstring

Cash closing amount.

Example: "500.00"
closingAmounts.​cardstring

Card closing amount.

Example: "1500.00"
closingAmounts.​oliverPaystring

Oliver Pay closing amount.

Example: "200.00"
closingNotestring

Note when closing the session.

Example: "All transactions verified"
openingNotestringrequired

Note when opening the session.

Example: "Starting new shift"
curl -i -X POST \
  https://docs.finalpos.com/_mock/openapi/v1/api/session \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d '{
    "stationId": "507f1f77bcf86cd799439011",
    "sessionNumber": "S-2025-001",
    "openedBy": "John Doe",
    "closedBy": "Jane Smith",
    "openTime": "2025-01-29T09:00:00.000Z",
    "closeTime": "2025-01-29T17:00:00.000Z",
    "openingAmount": "200.00",
    "closingAmount": "2500.00",
    "closingReportData": "{}",
    "notes": [
      "Opened on time",
      "Register balanced"
    ],
    "closingAmounts": {
      "cash": "500.00",
      "card": "1500.00",
      "oliverPay": "200.00"
    },
    "closingNote": "All transactions verified",
    "openingNote": "Starting new shift"
  }'

Responses

The session has been successfully created.

Bodyapplication/json
idstring

Unique identifier for the Session.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
createdAtstring(date-time)

Timestamp when the Session was created.

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

Timestamp when the Session was last updated.

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

Company ID associated with the Session.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
stationIdstring

Station ID where the session was opened.

Example: "507f1f77bcf86cd799439011"
sessionNumberstring

Session number identifier.

Example: "S-2025-001"
openedBystring

Name of the user who opened the session.

Example: "John Doe"
closedBystring

Name of the user who closed the session.

Example: "Jane Smith"
openTimestring(date-time)

Time when the session was opened.

Example: "2025-01-29T09:00:00.000Z"
closeTimestring(date-time)

Time when the session was closed.

Example: "2025-01-29T17:00:00.000Z"
openingAmountstring

Opening cash amount.

Example: "200.00"
closingAmountstring

Closing cash amount.

Example: "2500.00"
closingReportDatastring

Closing report data in JSON format.

Example: "{}"
notesArray of strings

Notes for the session.

Example: ["Opened on time","Register balanced"]
closingAmountsobject

Closing amounts by payment method.

Example: {"cash":"500.00","card":"1500.00","oliverPay":"200.00"}
closingNotestring

Note when closing the session.

Example: "All transactions verified"
openingNotestring

Note when opening the session.

Example: "Starting new shift"
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", "stationId": "507f1f77bcf86cd799439011", "sessionNumber": "S-2025-001", "openedBy": "John Doe", "closedBy": "Jane Smith", "openTime": "2025-01-29T09:00:00.000Z", "closeTime": "2025-01-29T17:00:00.000Z", "openingAmount": "200.00", "closingAmount": "2500.00", "closingReportData": "{}", "notes": [ "Opened on time", "Register balanced" ], "closingAmounts": { "cash": "500.00", "card": "1500.00", "oliverPay": "200.00" }, "closingNote": "All transactions verified", "openingNote": "Starting new shift" }

Get a session by ID

Request

Retrieves a single session by its unique identifier.

Security
X-Api-Key
Path
idstringrequired

Session ID

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

Responses

The session has been successfully retrieved.

Bodyapplication/json
idstring

Unique identifier for the Session.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
createdAtstring(date-time)

Timestamp when the Session was created.

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

Timestamp when the Session was last updated.

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

Company ID associated with the Session.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
stationIdstring

Station ID where the session was opened.

Example: "507f1f77bcf86cd799439011"
sessionNumberstring

Session number identifier.

Example: "S-2025-001"
openedBystring

Name of the user who opened the session.

Example: "John Doe"
closedBystring

Name of the user who closed the session.

Example: "Jane Smith"
openTimestring(date-time)

Time when the session was opened.

Example: "2025-01-29T09:00:00.000Z"
closeTimestring(date-time)

Time when the session was closed.

Example: "2025-01-29T17:00:00.000Z"
openingAmountstring

Opening cash amount.

Example: "200.00"
closingAmountstring

Closing cash amount.

Example: "2500.00"
closingReportDatastring

Closing report data in JSON format.

Example: "{}"
notesArray of strings

Notes for the session.

Example: ["Opened on time","Register balanced"]
closingAmountsobject

Closing amounts by payment method.

Example: {"cash":"500.00","card":"1500.00","oliverPay":"200.00"}
closingNotestring

Note when closing the session.

Example: "All transactions verified"
openingNotestring

Note when opening the session.

Example: "Starting new shift"
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", "stationId": "507f1f77bcf86cd799439011", "sessionNumber": "S-2025-001", "openedBy": "John Doe", "closedBy": "Jane Smith", "openTime": "2025-01-29T09:00:00.000Z", "closeTime": "2025-01-29T17:00:00.000Z", "openingAmount": "200.00", "closingAmount": "2500.00", "closingReportData": "{}", "notes": [ "Opened on time", "Register balanced" ], "closingAmounts": { "cash": "500.00", "card": "1500.00", "oliverPay": "200.00" }, "closingNote": "All transactions verified", "openingNote": "Starting new shift" }

Update a session by ID

Request

Updates an existing session record.

Security
X-Api-Key
Path
idstringrequired

Session ID

Bodyapplication/jsonrequired
stationIdstring

Station ID where the session was opened.

Example: "507f1f77bcf86cd799439011"
sessionNumberstring

Session number identifier.

Example: "S-2025-001"
openedBystring

Name of the user who opened the session.

Example: "John Doe"
closedBystring

Name of the user who closed the session.

Example: "Jane Smith"
openTimestring

Time when the session was opened.

Example: "2025-01-29T09:00:00.000Z"
closeTimestring

Time when the session was closed.

Example: "2025-01-29T17:00:00.000Z"
openingAmountstring

Opening cash amount.

Example: "200.00"
closingAmountstring

Closing cash amount.

Example: "2500.00"
closingReportDatastring

Closing report data in JSON format.

Example: "{}"
notesArray of strings

Notes for the session.

Example: ["Opened on time","Register balanced"]
closingAmountsobject

Closing amounts by payment method.

Example: {"cash":"500.00","card":"1500.00","oliverPay":"200.00"}
closingNotestring

Note when closing the session.

Example: "All transactions verified"
openingNotestring

Note when opening the session.

Example: "Starting new shift"
curl -i -X PUT \
  'https://docs.finalpos.com/_mock/openapi/v1/api/session/{id}' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d '{
    "stationId": "507f1f77bcf86cd799439011",
    "sessionNumber": "S-2025-001",
    "openedBy": "John Doe",
    "closedBy": "Jane Smith",
    "openTime": "2025-01-29T09:00:00.000Z",
    "closeTime": "2025-01-29T17:00:00.000Z",
    "openingAmount": "200.00",
    "closingAmount": "2500.00",
    "closingReportData": "{}",
    "notes": [
      "Opened on time",
      "Register balanced"
    ],
    "closingAmounts": {
      "cash": "500.00",
      "card": "1500.00",
      "oliverPay": "200.00"
    },
    "closingNote": "All transactions verified",
    "openingNote": "Starting new shift"
  }'

Responses

The session has been successfully updated.

Bodyapplication/json
idstring

Unique identifier for the Session.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
createdAtstring(date-time)

Timestamp when the Session was created.

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

Timestamp when the Session was last updated.

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

Company ID associated with the Session.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
stationIdstring

Station ID where the session was opened.

Example: "507f1f77bcf86cd799439011"
sessionNumberstring

Session number identifier.

Example: "S-2025-001"
openedBystring

Name of the user who opened the session.

Example: "John Doe"
closedBystring

Name of the user who closed the session.

Example: "Jane Smith"
openTimestring(date-time)

Time when the session was opened.

Example: "2025-01-29T09:00:00.000Z"
closeTimestring(date-time)

Time when the session was closed.

Example: "2025-01-29T17:00:00.000Z"
openingAmountstring

Opening cash amount.

Example: "200.00"
closingAmountstring

Closing cash amount.

Example: "2500.00"
closingReportDatastring

Closing report data in JSON format.

Example: "{}"
notesArray of strings

Notes for the session.

Example: ["Opened on time","Register balanced"]
closingAmountsobject

Closing amounts by payment method.

Example: {"cash":"500.00","card":"1500.00","oliverPay":"200.00"}
closingNotestring

Note when closing the session.

Example: "All transactions verified"
openingNotestring

Note when opening the session.

Example: "Starting new shift"
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", "stationId": "507f1f77bcf86cd799439011", "sessionNumber": "S-2025-001", "openedBy": "John Doe", "closedBy": "Jane Smith", "openTime": "2025-01-29T09:00:00.000Z", "closeTime": "2025-01-29T17:00:00.000Z", "openingAmount": "200.00", "closingAmount": "2500.00", "closingReportData": "{}", "notes": [ "Opened on time", "Register balanced" ], "closingAmounts": { "cash": "500.00", "card": "1500.00", "oliverPay": "200.00" }, "closingNote": "All transactions verified", "openingNote": "Starting new shift" }

Delete a session by ID

Request

Deletes a session by its unique identifier.

Security
X-Api-Key
Path
idstringrequired

Session ID

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

Responses

The session 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" }

ZapierTriggers

Operations