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

Create a new variant

Request

Creates a new variant record.

Security
X-Api-Key
Bodyapplication/jsonrequired
productIdstringrequired

Product ID of the variant.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
manageStockbooleanrequired

Whether the variant manages stock.

Example: true
skustring

SKU of the variant.

Example: "1234567890"
isOnSaleboolean

Whether the variant is on sale.

Example: true
barcodestring

Barcode of the variant.

Example: "1234567890"
pricenumber

Regular price of the variant.

Example: 100
salePricenumber

Sale price of the variant.

Example: 90
externalIdstring

External ID of the variant.

Example: "1234567890"
allowBackorderboolean

Whether the variant allows backorder.

Example: true
costPricenumber

Cost price of the variant.

Example: 80
imagesArray of strings

Images of the variant.

Example: ["https://example.com/image1.jpg","https://example.com/image2.jpg"]
metadataArray of objects(MetadataDto)

Metadata associated with the Variant.

Example: [{"key":"key1","value":"value1"},{"key":"key2","value":"value2"}]
attributesArray of objects(AttributeEmbeddedDto)

Attributes associated with the Variant.

Example: [{"name":"color","value":"red"}]
inventoryArray of objects(VariantInventoryDto)

Inventory associated with the Variant.

Example: [{"stock":10,"outletId":"o1p2q3r4s5t6u7v8w9x0y1z2"}]
curl -i -X POST \
  https://docs.finalpos.com/_mock/openapi/v1/api/variant \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d '{
    "productId": "o1p2q3r4s5t6u7v8w9x0y1z2",
    "manageStock": true,
    "sku": "1234567890",
    "isOnSale": true,
    "barcode": "1234567890",
    "price": 100,
    "salePrice": 90,
    "externalId": "1234567890",
    "allowBackorder": true,
    "costPrice": 80,
    "images": [
      "https://example.com/image1.jpg",
      "https://example.com/image2.jpg"
    ],
    "metadata": [
      {
        "key": "key1",
        "value": "value1"
      },
      {
        "key": "key2",
        "value": "value2"
      }
    ],
    "attributes": [
      {
        "name": "color",
        "value": "red"
      }
    ],
    "inventory": [
      {
        "stock": 10,
        "outletId": "o1p2q3r4s5t6u7v8w9x0y1z2"
      }
    ]
  }'

Responses

The variant has been successfully created.

Bodyapplication/json
idstring

Unique identifier for the Variant.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
createdAtstring(date-time)

Timestamp when the Variant was created.

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

Timestamp when the Variant was last updated.

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

Company ID associated with the Variant.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
productIdstring

Product ID of the variant.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
manageStockboolean

Whether the variant manages stock.

Example: true
skustring

SKU of the variant.

Example: "1234567890"
isOnSaleboolean

Whether the variant is on sale.

Example: true
barcodestring

Barcode of the variant.

Example: "1234567890"
pricenumber

Regular price of the variant.

Example: 100
salePricenumber

Sale price of the variant.

Example: 90
externalIdstring

External ID of the variant.

Example: "1234567890"
allowBackorderboolean

Whether the variant allows backorder.

Example: true
costPricenumber

Cost price of the variant.

Example: 80
imagesArray of strings

Images of the variant.

Example: ["https://example.com/image1.jpg","https://example.com/image2.jpg"]
metadataArray of objects(MetadataDto)

Metadata associated with the Variant.

Example: [{"key":"key1","value":"value1"},{"key":"key2","value":"value2"}]
attributesArray of objects(AttributeEmbeddedDto)

Attributes associated with the Variant.

Example: [{"name":"color","value":"red"}]
inventoryArray of objects(VariantInventoryDto)

Inventory associated with the Variant.

Example: [{"stock":10,"outletId":"o1p2q3r4s5t6u7v8w9x0y1z2"}]
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", "productId": "o1p2q3r4s5t6u7v8w9x0y1z2", "manageStock": true, "sku": "1234567890", "isOnSale": true, "barcode": "1234567890", "price": 100, "salePrice": 90, "externalId": "1234567890", "allowBackorder": true, "costPrice": 80, "images": [ "https://example.com/image1.jpg", "https://example.com/image2.jpg" ], "metadata": [ { … }, { … } ], "attributes": [ { … } ], "inventory": [ { … } ] }

Get a variant by ID

Request

Retrieves a single variant by its unique identifier.

Security
X-Api-Key
Path
idstringrequired

Variant ID

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

Responses

The variant has been successfully retrieved.

Bodyapplication/json
idstring

Unique identifier for the Variant.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
createdAtstring(date-time)

Timestamp when the Variant was created.

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

Timestamp when the Variant was last updated.

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

Company ID associated with the Variant.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
productIdstring

Product ID of the variant.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
manageStockboolean

Whether the variant manages stock.

Example: true
skustring

SKU of the variant.

Example: "1234567890"
isOnSaleboolean

Whether the variant is on sale.

Example: true
barcodestring

Barcode of the variant.

Example: "1234567890"
pricenumber

Regular price of the variant.

Example: 100
salePricenumber

Sale price of the variant.

Example: 90
externalIdstring

External ID of the variant.

Example: "1234567890"
allowBackorderboolean

Whether the variant allows backorder.

Example: true
costPricenumber

Cost price of the variant.

Example: 80
imagesArray of strings

Images of the variant.

Example: ["https://example.com/image1.jpg","https://example.com/image2.jpg"]
metadataArray of objects(MetadataDto)

Metadata associated with the Variant.

Example: [{"key":"key1","value":"value1"},{"key":"key2","value":"value2"}]
attributesArray of objects(AttributeEmbeddedDto)

Attributes associated with the Variant.

Example: [{"name":"color","value":"red"}]
inventoryArray of objects(VariantInventoryDto)

Inventory associated with the Variant.

Example: [{"stock":10,"outletId":"o1p2q3r4s5t6u7v8w9x0y1z2"}]
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", "productId": "o1p2q3r4s5t6u7v8w9x0y1z2", "manageStock": true, "sku": "1234567890", "isOnSale": true, "barcode": "1234567890", "price": 100, "salePrice": 90, "externalId": "1234567890", "allowBackorder": true, "costPrice": 80, "images": [ "https://example.com/image1.jpg", "https://example.com/image2.jpg" ], "metadata": [ { … }, { … } ], "attributes": [ { … } ], "inventory": [ { … } ] }

Update a variant by ID

Request

Updates an existing variant record.

Security
X-Api-Key
Path
idstringrequired

Variant ID

Bodyapplication/jsonrequired
productIdstring

Product ID of the variant.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
manageStockboolean

Whether the variant manages stock.

Example: true
skustring

SKU of the variant.

Example: "1234567890"
isOnSaleboolean

Whether the variant is on sale.

Example: true
barcodestring

Barcode of the variant.

Example: "1234567890"
pricenumber

Regular price of the variant.

Example: 100
salePricenumber

Sale price of the variant.

Example: 90
externalIdstring

External ID of the variant.

Example: "1234567890"
allowBackorderboolean

Whether the variant allows backorder.

Example: true
costPricenumber

Cost price of the variant.

Example: 80
imagesArray of strings

Images of the variant.

Example: ["https://example.com/image1.jpg","https://example.com/image2.jpg"]
metadataArray of objects(MetadataDto)

Metadata associated with the Variant.

Example: [{"key":"key1","value":"value1"},{"key":"key2","value":"value2"}]
attributesArray of objects(AttributeEmbeddedDto)

Attributes associated with the Variant.

Example: [{"name":"color","value":"red"}]
inventoryArray of objects(VariantInventoryDto)

Inventory associated with the Variant.

Example: [{"stock":10,"outletId":"o1p2q3r4s5t6u7v8w9x0y1z2"}]
curl -i -X PUT \
  'https://docs.finalpos.com/_mock/openapi/v1/api/variant/{id}' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d '{
    "productId": "o1p2q3r4s5t6u7v8w9x0y1z2",
    "manageStock": true,
    "sku": "1234567890",
    "isOnSale": true,
    "barcode": "1234567890",
    "price": 100,
    "salePrice": 90,
    "externalId": "1234567890",
    "allowBackorder": true,
    "costPrice": 80,
    "images": [
      "https://example.com/image1.jpg",
      "https://example.com/image2.jpg"
    ],
    "metadata": [
      {
        "key": "key1",
        "value": "value1"
      },
      {
        "key": "key2",
        "value": "value2"
      }
    ],
    "attributes": [
      {
        "name": "color",
        "value": "red"
      }
    ],
    "inventory": [
      {
        "stock": 10,
        "outletId": "o1p2q3r4s5t6u7v8w9x0y1z2"
      }
    ]
  }'

Responses

The variant has been successfully updated.

Bodyapplication/json
idstring

Unique identifier for the Variant.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
createdAtstring(date-time)

Timestamp when the Variant was created.

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

Timestamp when the Variant was last updated.

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

Company ID associated with the Variant.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
productIdstring

Product ID of the variant.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
manageStockboolean

Whether the variant manages stock.

Example: true
skustring

SKU of the variant.

Example: "1234567890"
isOnSaleboolean

Whether the variant is on sale.

Example: true
barcodestring

Barcode of the variant.

Example: "1234567890"
pricenumber

Regular price of the variant.

Example: 100
salePricenumber

Sale price of the variant.

Example: 90
externalIdstring

External ID of the variant.

Example: "1234567890"
allowBackorderboolean

Whether the variant allows backorder.

Example: true
costPricenumber

Cost price of the variant.

Example: 80
imagesArray of strings

Images of the variant.

Example: ["https://example.com/image1.jpg","https://example.com/image2.jpg"]
metadataArray of objects(MetadataDto)

Metadata associated with the Variant.

Example: [{"key":"key1","value":"value1"},{"key":"key2","value":"value2"}]
attributesArray of objects(AttributeEmbeddedDto)

Attributes associated with the Variant.

Example: [{"name":"color","value":"red"}]
inventoryArray of objects(VariantInventoryDto)

Inventory associated with the Variant.

Example: [{"stock":10,"outletId":"o1p2q3r4s5t6u7v8w9x0y1z2"}]
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", "productId": "o1p2q3r4s5t6u7v8w9x0y1z2", "manageStock": true, "sku": "1234567890", "isOnSale": true, "barcode": "1234567890", "price": 100, "salePrice": 90, "externalId": "1234567890", "allowBackorder": true, "costPrice": 80, "images": [ "https://example.com/image1.jpg", "https://example.com/image2.jpg" ], "metadata": [ { … }, { … } ], "attributes": [ { … } ], "inventory": [ { … } ] }

Delete a variant by ID

Request

Deletes a variant by its unique identifier.

Security
X-Api-Key
Path
idstringrequired

Variant ID

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

Responses

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

Variants

Operations

Order

Operations

Orders

Operations

Transactions

Operations

Roles

Operations

Attachment

Operations

Account

Operations

Refunds

Operations

Session

Operations

ZapierTriggers

Operations