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

Create a new outlet

Request

Creates a new outlet record.

Security
X-Api-Key
Bodyapplication/jsonrequired
namestringrequired

Name of the Outlet.

Example: "Main Store"
addressstringrequired

Primary address of the Outlet.

Example: "26 Federal Plaza, New York, NY 10278, USA"
citystringrequired

City where the Outlet is located.

Example: "New York"
statestringrequired

State or province where the Outlet is located.

Example: "NY"
countrystringrequired

Country where the Outlet is located.

Example: "US"
postCodestringrequired

Post code or ZIP code of the Outlet.

Example: "10278"
phonestringrequired

Phone number of the Outlet.

Example: "+12323232323"
address2string

Secondary address line of the Outlet.

Example: "Suite 100"
aliasstring

Alias or alternate name for the Outlet.

Example: "HQ"
stationsArray of strings

List of station IDs associated with the Outlet.

Example: ["o1p2q3r4s5t6u7v8w9x0y1z2"]
stripeAccountIdstring

Stripe Connect account ID associated with the Outlet.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
stripeobject

Stripe Terminal configuration for the Outlet.

Example: {"locationId":"tml_XXXXXXXXXX"}
taxIdstring

Tax ID associated with the Outlet.

Example: "23"
curl -i -X POST \
  https://docs.finalpos.com/_mock/openapi/v1/api/outlet \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d '{
    "name": "Main Store",
    "address": "26 Federal Plaza, New York, NY 10278, USA",
    "city": "New York",
    "state": "NY",
    "country": "US",
    "postCode": "10278",
    "phone": "+12323232323",
    "address2": "Suite 100",
    "alias": "HQ",
    "stations": [
      "o1p2q3r4s5t6u7v8w9x0y1z2"
    ],
    "stripeAccountId": "o1p2q3r4s5t6u7v8w9x0y1z2",
    "stripe": {
      "locationId": "tml_XXXXXXXXXX"
    },
    "taxId": "23"
  }'

Responses

The outlet has been successfully created.

Bodyapplication/json
idstring

Unique identifier for the Outlet.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
createdAtstring(date-time)

Timestamp when the Outlet was created.

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

Timestamp when the Outlet was last updated.

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

Company ID associated with the Outlet.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
namestring

Name of the Outlet.

Example: "Main Store"
addressstring

Primary address of the Outlet.

Example: "26 Federal Plaza, New York, NY 10278, USA"
citystring

City where the Outlet is located.

Example: "New York"
statestring

State or province where the Outlet is located.

Example: "NY"
countrystring

Country where the Outlet is located.

Example: "US"
postCodestring

Post code or ZIP code of the Outlet.

Example: "10278"
phonestring

Phone number of the Outlet.

Example: "+12323232323"
address2string

Secondary address line of the Outlet.

Example: "Suite 100"
aliasstring

Alias or alternate name for the Outlet.

Example: "HQ"
sequenceNumbernumber

Sequence number for the Outlet (auto-generated).

Example: 45
stationsArray of strings

List of station IDs associated with the Outlet.

Example: ["o1p2q3r4s5t6u7v8w9x0y1z2"]
stripeAccountIdstring

Stripe Connect account ID associated with the Outlet.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
stripeobject

Stripe Terminal configuration for the Outlet.

Example: {"locationId":"tml_XXXXXXXXXX"}
taxIdstring

Tax ID associated with the Outlet.

Example: "23"
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", "name": "Main Store", "address": "26 Federal Plaza, New York, NY 10278, USA", "city": "New York", "state": "NY", "country": "US", "postCode": "10278", "phone": "+12323232323", "address2": "Suite 100", "alias": "HQ", "sequenceNumber": 45, "stations": [ "o1p2q3r4s5t6u7v8w9x0y1z2" ], "stripeAccountId": "o1p2q3r4s5t6u7v8w9x0y1z2", "stripe": { "locationId": "tml_XXXXXXXXXX" }, "taxId": "23" }

Get a outlet by ID

Request

Retrieves a single outlet by its unique identifier.

Security
X-Api-Key
Path
idstringrequired

Outlet ID

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

Responses

The outlet has been successfully retrieved.

Bodyapplication/json
idstring

Unique identifier for the Outlet.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
createdAtstring(date-time)

Timestamp when the Outlet was created.

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

Timestamp when the Outlet was last updated.

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

Company ID associated with the Outlet.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
namestring

Name of the Outlet.

Example: "Main Store"
addressstring

Primary address of the Outlet.

Example: "26 Federal Plaza, New York, NY 10278, USA"
citystring

City where the Outlet is located.

Example: "New York"
statestring

State or province where the Outlet is located.

Example: "NY"
countrystring

Country where the Outlet is located.

Example: "US"
postCodestring

Post code or ZIP code of the Outlet.

Example: "10278"
phonestring

Phone number of the Outlet.

Example: "+12323232323"
address2string

Secondary address line of the Outlet.

Example: "Suite 100"
aliasstring

Alias or alternate name for the Outlet.

Example: "HQ"
sequenceNumbernumber

Sequence number for the Outlet (auto-generated).

Example: 45
stationsArray of strings

List of station IDs associated with the Outlet.

Example: ["o1p2q3r4s5t6u7v8w9x0y1z2"]
stripeAccountIdstring

Stripe Connect account ID associated with the Outlet.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
stripeobject

Stripe Terminal configuration for the Outlet.

Example: {"locationId":"tml_XXXXXXXXXX"}
taxIdstring

Tax ID associated with the Outlet.

Example: "23"
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", "name": "Main Store", "address": "26 Federal Plaza, New York, NY 10278, USA", "city": "New York", "state": "NY", "country": "US", "postCode": "10278", "phone": "+12323232323", "address2": "Suite 100", "alias": "HQ", "sequenceNumber": 45, "stations": [ "o1p2q3r4s5t6u7v8w9x0y1z2" ], "stripeAccountId": "o1p2q3r4s5t6u7v8w9x0y1z2", "stripe": { "locationId": "tml_XXXXXXXXXX" }, "taxId": "23" }

Update a outlet by ID

Request

Updates an existing outlet record.

Security
X-Api-Key
Path
idstringrequired

Outlet ID

Bodyapplication/jsonrequired
namestring

Name of the Outlet.

Example: "Main Store"
addressstring

Primary address of the Outlet.

Example: "26 Federal Plaza, New York, NY 10278, USA"
citystring

City where the Outlet is located.

Example: "New York"
statestring

State or province where the Outlet is located.

Example: "NY"
countrystring

Country where the Outlet is located.

Example: "US"
postCodestring

Post code or ZIP code of the Outlet.

Example: "10278"
phonestring

Phone number of the Outlet.

Example: "+12323232323"
address2string

Secondary address line of the Outlet.

Example: "Suite 100"
aliasstring

Alias or alternate name for the Outlet.

Example: "HQ"
stationsArray of strings

List of station IDs associated with the Outlet.

Example: ["o1p2q3r4s5t6u7v8w9x0y1z2"]
stripeAccountIdstring

Stripe Connect account ID associated with the Outlet.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
stripeobject

Stripe Terminal configuration for the Outlet.

Example: {"locationId":"tml_XXXXXXXXXX"}
taxIdstring

Tax ID associated with the Outlet.

Example: "23"
curl -i -X PUT \
  'https://docs.finalpos.com/_mock/openapi/v1/api/outlet/{id}' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d '{
    "name": "Main Store",
    "address": "26 Federal Plaza, New York, NY 10278, USA",
    "city": "New York",
    "state": "NY",
    "country": "US",
    "postCode": "10278",
    "phone": "+12323232323",
    "address2": "Suite 100",
    "alias": "HQ",
    "stations": [
      "o1p2q3r4s5t6u7v8w9x0y1z2"
    ],
    "stripeAccountId": "o1p2q3r4s5t6u7v8w9x0y1z2",
    "stripe": {
      "locationId": "tml_XXXXXXXXXX"
    },
    "taxId": "23"
  }'

Responses

The outlet has been successfully updated.

Bodyapplication/json
idstring

Unique identifier for the Outlet.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
createdAtstring(date-time)

Timestamp when the Outlet was created.

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

Timestamp when the Outlet was last updated.

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

Company ID associated with the Outlet.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
namestring

Name of the Outlet.

Example: "Main Store"
addressstring

Primary address of the Outlet.

Example: "26 Federal Plaza, New York, NY 10278, USA"
citystring

City where the Outlet is located.

Example: "New York"
statestring

State or province where the Outlet is located.

Example: "NY"
countrystring

Country where the Outlet is located.

Example: "US"
postCodestring

Post code or ZIP code of the Outlet.

Example: "10278"
phonestring

Phone number of the Outlet.

Example: "+12323232323"
address2string

Secondary address line of the Outlet.

Example: "Suite 100"
aliasstring

Alias or alternate name for the Outlet.

Example: "HQ"
sequenceNumbernumber

Sequence number for the Outlet (auto-generated).

Example: 45
stationsArray of strings

List of station IDs associated with the Outlet.

Example: ["o1p2q3r4s5t6u7v8w9x0y1z2"]
stripeAccountIdstring

Stripe Connect account ID associated with the Outlet.

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
stripeobject

Stripe Terminal configuration for the Outlet.

Example: {"locationId":"tml_XXXXXXXXXX"}
taxIdstring

Tax ID associated with the Outlet.

Example: "23"
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", "name": "Main Store", "address": "26 Federal Plaza, New York, NY 10278, USA", "city": "New York", "state": "NY", "country": "US", "postCode": "10278", "phone": "+12323232323", "address2": "Suite 100", "alias": "HQ", "sequenceNumber": 45, "stations": [ "o1p2q3r4s5t6u7v8w9x0y1z2" ], "stripeAccountId": "o1p2q3r4s5t6u7v8w9x0y1z2", "stripe": { "locationId": "tml_XXXXXXXXXX" }, "taxId": "23" }

Delete a outlet by ID

Request

Deletes a outlet by its unique identifier.

Security
X-Api-Key
Path
idstringrequired

Outlet ID

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

Responses

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

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