Skip to content

Final POS Public API (1.0.0)

Public API for Final POS system

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

Customers

Operations

Create a new customer

Request

Creates a new customer record in the system.

Security
api-key
Bodyapplication/jsonrequired
companyIdstring

Company ID associated with the customer

Example: "a1b2c3d4e5f6g7h8i9j0"
externalIdstring

External ID from third-party system

Example: "x1y2z3a4b5c6d7e8f9g0"
emailstringrequired

Email address of the customer

Example: "customer@example.com"
firstNamestringrequired

First name of the customer

Example: "John"
lastNamestringrequired

Last name of the customer

Example: "Doe"
phonestring

Phone number of the customer

Example: "+1234567890"
tagsArray of strings

Tags associated with the customer

Example: ["vip","returning"]
fromOliverboolean

Flag to indicate if the customer is from Oliver

Example: true
metadataobject

Metadata associated with the customer

notesArray of objects(NoteDto)

Notes associated with the customer

Example: [{"message":"Customer prefers email communication","createdAt":"2024-01-15T10:30:00Z"},{"message":"VIP customer - handle with priority","createdAt":"2024-01-20T14:00:00Z"}]
billingobject
Example: {"firstName":"John","lastName":"Doe","company":"Acme Corp","address1":"123 Main St","address2":"Suite 100","city":"New York","state":"NY","country":"USA","postCode":"10001"}
shippingobject
Example: {"firstName":"Jane","lastName":"Smith","address1":"456 Oak Avenue","address2":"Apt 4B","city":"Los Angeles","state":"CA","country":"USA","postCode":"90001"}
totalSpentstring

Total amount the customer has spent

Example: "500.00"
lastActionstring(date-time)

Date of last action

Example: "2024-06-10T08:00:00Z"
outletIdstring

Outlet ID associated with the customer

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
curl -i -X POST \
  https://docs.finalpos.com/_mock/openapi/v1/api/customers \
  -H 'Content-Type: application/json' \
  -H 'apiKey: YOUR_API_KEY_HERE' \
  -d '{
    "companyId": "a1b2c3d4e5f6g7h8i9j0",
    "externalId": "x1y2z3a4b5c6d7e8f9g0",
    "email": "customer@example.com",
    "firstName": "John",
    "lastName": "Doe",
    "phone": "+1234567890",
    "tags": [
      "vip",
      "returning"
    ],
    "fromOliver": true,
    "metadata": {
      "property1": "string",
      "property2": "string"
    },
    "notes": [
      {
        "message": "Customer prefers email communication",
        "createdAt": "2024-01-15T10:30:00Z"
      },
      {
        "message": "VIP customer - handle with priority",
        "createdAt": "2024-01-20T14:00:00Z"
      }
    ],
    "billing": {
      "firstName": "John",
      "lastName": "Doe",
      "company": "Acme Corp",
      "address1": "123 Main St",
      "address2": "Suite 100",
      "city": "New York",
      "state": "NY",
      "country": "USA",
      "postCode": "10001"
    },
    "shipping": {
      "firstName": "Jane",
      "lastName": "Smith",
      "address1": "456 Oak Avenue",
      "address2": "Apt 4B",
      "city": "Los Angeles",
      "state": "CA",
      "country": "USA",
      "postCode": "90001"
    },
    "totalSpent": "500.00",
    "lastAction": "2024-06-10T08:00:00Z",
    "outletId": "o1p2q3r4s5t6u7v8w9x0y1z2"
  }'

Responses

The customer has been successfully created.

Get all customers

Request

Retrieves a list of all customers. Supports pagination and filtering by companyId.

Security
api-key
Query
companyIdstring

Filter by company ID

skipnumber

Number of records to skip (must be a multiple of limit for accurate page numbers)

limitnumber

Maximum number of records to return

curl -i -X GET \
  'https://docs.finalpos.com/_mock/openapi/v1/api/customers?companyId=string&skip=0&limit=0' \
  -H 'apiKey: YOUR_API_KEY_HERE'

Responses

List of customers

Update a customer by ID

Request

Updates an existing customer record.

Security
api-key
Path
idstringrequired

Customers ID

Query
companyIdstring

Filter by company ID

Bodyapplication/jsonrequired
companyIdstring

Company ID associated with the customer

Example: "a1b2c3d4e5f6g7h8i9j0"
externalIdstring

External ID from third-party system

Example: "x1y2z3a4b5c6d7e8f9g0"
emailstring

Email address of the customer

Example: "customer@example.com"
firstNamestring

First name of the customer

Example: "John"
lastNamestring

Last name of the customer

Example: "Doe"
phonestring

Phone number of the customer

Example: "+1234567890"
tagsArray of strings

Tags associated with the customer

Example: ["vip","returning"]
fromOliverboolean

Flag to indicate if the customer is from Oliver

Example: true
metadataobject

Metadata associated with the customer

notesArray of objects(NoteDto)

Notes associated with the customer

Example: [{"message":"Customer prefers email communication","createdAt":"2024-01-15T10:30:00Z"},{"message":"VIP customer - handle with priority","createdAt":"2024-01-20T14:00:00Z"}]
billingobject
Example: {"firstName":"John","lastName":"Doe","company":"Acme Corp","address1":"123 Main St","address2":"Suite 100","city":"New York","state":"NY","country":"USA","postCode":"10001"}
shippingobject
Example: {"firstName":"Jane","lastName":"Smith","address1":"456 Oak Avenue","address2":"Apt 4B","city":"Los Angeles","state":"CA","country":"USA","postCode":"90001"}
totalSpentstring

Total amount the customer has spent

Example: "500.00"
lastActionstring(date-time)

Date of last action

Example: "2024-06-10T08:00:00Z"
outletIdstring

Outlet ID associated with the customer

Example: "o1p2q3r4s5t6u7v8w9x0y1z2"
curl -i -X PUT \
  'https://docs.finalpos.com/_mock/openapi/v1/api/customers/{id}?companyId=string' \
  -H 'Content-Type: application/json' \
  -H 'apiKey: YOUR_API_KEY_HERE' \
  -d '{
    "companyId": "a1b2c3d4e5f6g7h8i9j0",
    "externalId": "x1y2z3a4b5c6d7e8f9g0",
    "email": "customer@example.com",
    "firstName": "John",
    "lastName": "Doe",
    "phone": "+1234567890",
    "tags": [
      "vip",
      "returning"
    ],
    "fromOliver": true,
    "metadata": {
      "property1": "string",
      "property2": "string"
    },
    "notes": [
      {
        "message": "Customer prefers email communication",
        "createdAt": "2024-01-15T10:30:00Z"
      },
      {
        "message": "VIP customer - handle with priority",
        "createdAt": "2024-01-20T14:00:00Z"
      }
    ],
    "billing": {
      "firstName": "John",
      "lastName": "Doe",
      "company": "Acme Corp",
      "address1": "123 Main St",
      "address2": "Suite 100",
      "city": "New York",
      "state": "NY",
      "country": "USA",
      "postCode": "10001"
    },
    "shipping": {
      "firstName": "Jane",
      "lastName": "Smith",
      "address1": "456 Oak Avenue",
      "address2": "Apt 4B",
      "city": "Los Angeles",
      "state": "CA",
      "country": "USA",
      "postCode": "90001"
    },
    "totalSpent": "500.00",
    "lastAction": "2024-06-10T08:00:00Z",
    "outletId": "o1p2q3r4s5t6u7v8w9x0y1z2"
  }'

Responses

The customer has been successfully updated.

Get a customer by ID

Request

Retrieves a single customer by its unique identifier.

Security
api-key
Path
idstringrequired

Customers ID

Query
companyIdstring

Filter by company ID

curl -i -X GET \
  'https://docs.finalpos.com/_mock/openapi/v1/api/customers/{id}?companyId=string' \
  -H 'apiKey: YOUR_API_KEY_HERE'

Responses

The customer has been found.

Delete a customer by ID

Request

Soft deletes a customer by setting isDeleted flag to true.

Security
api-key
Path
idstringrequired

Customers ID

Query
companyIdstring

Filter by company ID

curl -i -X DELETE \
  'https://docs.finalpos.com/_mock/openapi/v1/api/customers/{id}?companyId=string' \
  -H 'apiKey: YOUR_API_KEY_HERE'

Responses

The customer has been successfully deleted.