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

Create a new custom table: content

Request

Creates a new custom table: content record.

Security
X-Api-Key
Bodyapplication/jsonrequired
tableIdobjectrequired

ID of the custom table this row belongs to

Example: {"$oid":"507f1f77bcf86cd799439011"}
curl -i -X POST \
  https://docs.finalpos.com/_mock/openapi/v1/api/custom-table-row \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d '{
    "tableId": {
      "$oid": "507f1f77bcf86cd799439011"
    }
  }'

Responses

The custom table: content has been successfully created.

Bodyapplication/json
_idobjectrequired

Unique identifier for the custom table row

Example: {"$oid":"507f1f77bcf86cd799439011"}
companyIdobjectrequired

Company ID associated with the custom table row

Example: {"$oid":"507f1f77bcf86cd799439011"}
tableIdobjectrequired

ID of the custom table this row belongs to

Example: {"$oid":"507f1f77bcf86cd799439011"}
isDeletedboolean

Status flag to indicate if the custom table row is deleted

Example: false
createdAtstring(date-time)

Timestamp when the custom table row was created

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

Timestamp when the custom table row was last updated

Example: "2025-12-07T19:35:48.436+00:00"
Response
application/json
{ "_id": { "$oid": "507f1f77bcf86cd799439011" }, "companyId": { "$oid": "507f1f77bcf86cd799439011" }, "tableId": { "$oid": "507f1f77bcf86cd799439011" }, "isDeleted": false, "createdAt": "2025-12-07T19:31:48.436+00:00", "updatedAt": "2025-12-07T19:35:48.436+00:00" }

Get a custom table: content by ID

Request

Retrieves a single custom table: content by its unique identifier.

Security
X-Api-Key
Path
idstringrequired

Custom Table: content ID

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

Responses

The custom table: content has been successfully retrieved.

Bodyapplication/json
_idobjectrequired

Unique identifier for the custom table row

Example: {"$oid":"507f1f77bcf86cd799439011"}
companyIdobjectrequired

Company ID associated with the custom table row

Example: {"$oid":"507f1f77bcf86cd799439011"}
tableIdobjectrequired

ID of the custom table this row belongs to

Example: {"$oid":"507f1f77bcf86cd799439011"}
isDeletedboolean

Status flag to indicate if the custom table row is deleted

Example: false
createdAtstring(date-time)

Timestamp when the custom table row was created

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

Timestamp when the custom table row was last updated

Example: "2025-12-07T19:35:48.436+00:00"
Response
application/json
{ "_id": { "$oid": "507f1f77bcf86cd799439011" }, "companyId": { "$oid": "507f1f77bcf86cd799439011" }, "tableId": { "$oid": "507f1f77bcf86cd799439011" }, "isDeleted": false, "createdAt": "2025-12-07T19:31:48.436+00:00", "updatedAt": "2025-12-07T19:35:48.436+00:00" }

Update a custom table: content by ID

Request

Updates an existing custom table: content record.

Security
X-Api-Key
Path
idstringrequired

Custom Table: content ID

Bodyapplication/jsonrequired
tableIdobject

ID of the custom table this row belongs to

Example: {"$oid":"507f1f77bcf86cd799439011"}
curl -i -X PUT \
  'https://docs.finalpos.com/_mock/openapi/v1/api/custom-table-row/{id}' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d '{
    "tableId": {
      "$oid": "507f1f77bcf86cd799439011"
    }
  }'

Responses

The custom table: content has been successfully updated.

Bodyapplication/json
_idobjectrequired

Unique identifier for the custom table row

Example: {"$oid":"507f1f77bcf86cd799439011"}
companyIdobjectrequired

Company ID associated with the custom table row

Example: {"$oid":"507f1f77bcf86cd799439011"}
tableIdobjectrequired

ID of the custom table this row belongs to

Example: {"$oid":"507f1f77bcf86cd799439011"}
isDeletedboolean

Status flag to indicate if the custom table row is deleted

Example: false
createdAtstring(date-time)

Timestamp when the custom table row was created

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

Timestamp when the custom table row was last updated

Example: "2025-12-07T19:35:48.436+00:00"
Response
application/json
{ "_id": { "$oid": "507f1f77bcf86cd799439011" }, "companyId": { "$oid": "507f1f77bcf86cd799439011" }, "tableId": { "$oid": "507f1f77bcf86cd799439011" }, "isDeleted": false, "createdAt": "2025-12-07T19:31:48.436+00:00", "updatedAt": "2025-12-07T19:35:48.436+00:00" }

Delete a custom table: content by ID

Request

Deletes a custom table: content by its unique identifier.

Security
X-Api-Key
Path
idstringrequired

Custom Table: content ID

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

Responses

The custom table: content 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" }

Create a new custom table: content

Request

Creates a new custom table: content record.

Security
X-Api-Key
Bodyapplication/jsonrequired
valuestringrequired

Value for the field

Example: "field_value"
tableIdobjectrequired

ID of the custom table this value belongs to

Example: {"$oid":"507f1f77bcf86cd799439011"}
rowIdobjectrequired

ID of the custom table row this value belongs to

Example: {"$oid":"507f1f77bcf86cd799439011"}
fieldIdobjectrequired

ID of the custom table field this value belongs to

Example: {"$oid":"507f1f77bcf86cd799439011"}
curl -i -X POST \
  https://docs.finalpos.com/_mock/openapi/v1/api/custom-table-value \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d '{
    "value": "field_value",
    "tableId": {
      "$oid": "507f1f77bcf86cd799439011"
    },
    "rowId": {
      "$oid": "507f1f77bcf86cd799439011"
    },
    "fieldId": {
      "$oid": "507f1f77bcf86cd799439011"
    }
  }'

Responses

The custom table: content has been successfully created.

Bodyapplication/json
_idobjectrequired

Unique identifier for the custom table value

Example: {"$oid":"507f1f77bcf86cd799439011"}
companyIdobjectrequired

Company ID associated with the custom table value

Example: {"$oid":"507f1f77bcf86cd799439011"}
tableIdobjectrequired

ID of the custom table this value belongs to

Example: {"$oid":"507f1f77bcf86cd799439011"}
rowIdobjectrequired

ID of the custom table row this value belongs to

Example: {"$oid":"507f1f77bcf86cd799439011"}
fieldIdobjectrequired

ID of the custom table field this value belongs to

Example: {"$oid":"507f1f77bcf86cd799439011"}
valuestringrequired

Value for the field

Example: "field_value"
isDeletedboolean

Status flag to indicate if the custom table value is deleted

Example: false
createdAtstring(date-time)

Timestamp when the custom table value was created

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

Timestamp when the custom table value was last updated

Example: "2025-12-07T19:35:48.436+00:00"
Response
application/json
{ "_id": { "$oid": "507f1f77bcf86cd799439011" }, "companyId": { "$oid": "507f1f77bcf86cd799439011" }, "tableId": { "$oid": "507f1f77bcf86cd799439011" }, "rowId": { "$oid": "507f1f77bcf86cd799439011" }, "fieldId": { "$oid": "507f1f77bcf86cd799439011" }, "value": "field_value", "isDeleted": false, "createdAt": "2025-12-07T19:31:48.436+00:00", "updatedAt": "2025-12-07T19:35:48.436+00:00" }

Get a custom table: content by ID

Request

Retrieves a single custom table: content by its unique identifier.

Security
X-Api-Key
Path
idstringrequired

Custom Table: content ID

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

Responses

The custom table: content has been successfully retrieved.

Bodyapplication/json
_idobjectrequired

Unique identifier for the custom table value

Example: {"$oid":"507f1f77bcf86cd799439011"}
companyIdobjectrequired

Company ID associated with the custom table value

Example: {"$oid":"507f1f77bcf86cd799439011"}
tableIdobjectrequired

ID of the custom table this value belongs to

Example: {"$oid":"507f1f77bcf86cd799439011"}
rowIdobjectrequired

ID of the custom table row this value belongs to

Example: {"$oid":"507f1f77bcf86cd799439011"}
fieldIdobjectrequired

ID of the custom table field this value belongs to

Example: {"$oid":"507f1f77bcf86cd799439011"}
valuestringrequired

Value for the field

Example: "field_value"
isDeletedboolean

Status flag to indicate if the custom table value is deleted

Example: false
createdAtstring(date-time)

Timestamp when the custom table value was created

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

Timestamp when the custom table value was last updated

Example: "2025-12-07T19:35:48.436+00:00"
Response
application/json
{ "_id": { "$oid": "507f1f77bcf86cd799439011" }, "companyId": { "$oid": "507f1f77bcf86cd799439011" }, "tableId": { "$oid": "507f1f77bcf86cd799439011" }, "rowId": { "$oid": "507f1f77bcf86cd799439011" }, "fieldId": { "$oid": "507f1f77bcf86cd799439011" }, "value": "field_value", "isDeleted": false, "createdAt": "2025-12-07T19:31:48.436+00:00", "updatedAt": "2025-12-07T19:35:48.436+00:00" }

Update a custom table: content by ID

Request

Updates an existing custom table: content record.

Security
X-Api-Key
Path
idstringrequired

Custom Table: content ID

Bodyapplication/jsonrequired
tableIdobject

ID of the custom table this value belongs to

Example: {"$oid":"507f1f77bcf86cd799439011"}
rowIdobject

ID of the custom table row this value belongs to

Example: {"$oid":"507f1f77bcf86cd799439011"}
fieldIdobject

ID of the custom table field this value belongs to

Example: {"$oid":"507f1f77bcf86cd799439011"}
valuestring

Value for the field

Example: "field_value"
curl -i -X PUT \
  'https://docs.finalpos.com/_mock/openapi/v1/api/custom-table-value/{id}' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d '{
    "tableId": {
      "$oid": "507f1f77bcf86cd799439011"
    },
    "rowId": {
      "$oid": "507f1f77bcf86cd799439011"
    },
    "fieldId": {
      "$oid": "507f1f77bcf86cd799439011"
    },
    "value": "field_value"
  }'

Responses

The custom table: content has been successfully updated.

Bodyapplication/json
_idobjectrequired

Unique identifier for the custom table value

Example: {"$oid":"507f1f77bcf86cd799439011"}
companyIdobjectrequired

Company ID associated with the custom table value

Example: {"$oid":"507f1f77bcf86cd799439011"}
tableIdobjectrequired

ID of the custom table this value belongs to

Example: {"$oid":"507f1f77bcf86cd799439011"}
rowIdobjectrequired

ID of the custom table row this value belongs to

Example: {"$oid":"507f1f77bcf86cd799439011"}
fieldIdobjectrequired

ID of the custom table field this value belongs to

Example: {"$oid":"507f1f77bcf86cd799439011"}
valuestringrequired

Value for the field

Example: "field_value"
isDeletedboolean

Status flag to indicate if the custom table value is deleted

Example: false
createdAtstring(date-time)

Timestamp when the custom table value was created

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

Timestamp when the custom table value was last updated

Example: "2025-12-07T19:35:48.436+00:00"
Response
application/json
{ "_id": { "$oid": "507f1f77bcf86cd799439011" }, "companyId": { "$oid": "507f1f77bcf86cd799439011" }, "tableId": { "$oid": "507f1f77bcf86cd799439011" }, "rowId": { "$oid": "507f1f77bcf86cd799439011" }, "fieldId": { "$oid": "507f1f77bcf86cd799439011" }, "value": "field_value", "isDeleted": false, "createdAt": "2025-12-07T19:31:48.436+00:00", "updatedAt": "2025-12-07T19:35:48.436+00:00" }

Delete a custom table: content by ID

Request

Deletes a custom table: content by its unique identifier.

Security
X-Api-Key
Path
idstringrequired

Custom Table: content ID

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

Responses

The custom table: content 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" }

Create a new row in a custom table

Request

Security
X-Api-Key
Path
tableNamestringrequired

Table name (kebab-case)

Bodyapplication/jsonrequired
object(CreateCustomTableDataDto)
curl -i -X POST \
  'https://docs.finalpos.com/_mock/openapi/v1/api/custom-table-data/{tableName}' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d '{}'

Responses

Bodyapplication/json
rowIdobjectrequired

Row ID

Example: {"$oid":"507f1f77bcf86cd799439011"}
Response
application/json
{ "rowId": { "$oid": "507f1f77bcf86cd799439011" } }

Get a single row from a custom table

Request

Security
X-Api-Key
Path
tableNamestringrequired

Table name (kebab-case)

rowIdstringrequired

Row ID

curl -i -X GET \
  'https://docs.finalpos.com/_mock/openapi/v1/api/custom-table-data/{tableName}/{rowId}' \
  -H 'x-api-key: YOUR_API_KEY_HERE'

Responses

Bodyapplication/json
rowIdobjectrequired

Row ID

Example: {"$oid":"507f1f77bcf86cd799439011"}
Response
application/json
{ "rowId": { "$oid": "507f1f77bcf86cd799439011" } }

Update a row in a custom table

Request

Security
X-Api-Key
Path
tableNamestringrequired

Table name (kebab-case)

rowIdstringrequired

Row ID

Bodyapplication/jsonrequired
object(UpdateCustomTableDataDto)
curl -i -X PUT \
  'https://docs.finalpos.com/_mock/openapi/v1/api/custom-table-data/{tableName}/{rowId}' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d '{}'

Responses

Bodyapplication/json
rowIdobjectrequired

Row ID

Example: {"$oid":"507f1f77bcf86cd799439011"}
Response
application/json
{ "rowId": { "$oid": "507f1f77bcf86cd799439011" } }

Delete a row from a custom table

Request

Security
X-Api-Key
Path
tableNamestringrequired

Table name (kebab-case)

rowIdstringrequired

Row ID

curl -i -X DELETE \
  'https://docs.finalpos.com/_mock/openapi/v1/api/custom-table-data/{tableName}/{rowId}' \
  -H 'x-api-key: YOUR_API_KEY_HERE'

Responses

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

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

ZapierTriggers

Operations