Epos Now Products API

The product catalog sold at the point of sale.

OpenAPI Specification

epos-now-products-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: EposNow HQ REST Categories Products API
  description: The EposNow HQ REST API lets developers programmatically interact with the cloud-based aspects of the Epos Now point of sale (POS) platform for retail and hospitality - products, categories, transactions (sales), customers, stock, tax rates, and devices. This document models the documented V2 API surface (base https://api.eposnowhq.com/api/V2). Epos Now recommends the newer V4 / "Global" API (https://api.eposnowhq.com/api/v4) for new integrations, which reorganizes the same domains; V4 per-resource paths are not fully enumerated here. All requests use HTTP Basic authentication with a per-device access token (Base64 of "API Key:API Secret") issued from the Back Office. List endpoints are paginated at up to 200 records per page via the page query parameter.
  version: V2
  contact:
    name: Epos Now Developers
    url: https://developer.eposnowhq.com/
servers:
- url: https://api.eposnowhq.com/api/V2
  description: EposNow HQ REST API (V2)
security:
- basicAuth: []
tags:
- name: Products
  description: The product catalog sold at the point of sale.
paths:
  /Product:
    get:
      operationId: listProducts
      tags:
      - Products
      summary: List products
      description: Returns a paginated list of products, up to 200 per page.
      parameters:
      - $ref: '#/components/parameters/Page'
      responses:
        '200':
          description: A paginated list of products.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Product'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createProduct
      tags:
      - Products
      summary: Create a product
      description: Creates a new product in the catalog.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Product'
      responses:
        '200':
          description: The created product.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /Product/{Id}:
    parameters:
    - $ref: '#/components/parameters/Id'
    get:
      operationId: getProduct
      tags:
      - Products
      summary: Get a product
      description: Returns a single product by its ID.
      responses:
        '200':
          description: The requested product.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateProduct
      tags:
      - Products
      summary: Update a product
      description: Updates an existing product.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Product'
      responses:
        '200':
          description: The updated product.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteProduct
      tags:
      - Products
      summary: Delete a product
      description: Deletes a product from the catalog.
      responses:
        '200':
          description: Deletion confirmation.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /TaxRate:
    get:
      operationId: listTaxRates
      tags:
      - Products
      summary: List tax rates
      description: Returns a paginated list of tax rates, up to 200 per page.
      parameters:
      - $ref: '#/components/parameters/Page'
      responses:
        '200':
          description: A paginated list of tax rates.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    Product:
      type: object
      properties:
        Id:
          type: integer
        Name:
          type: string
        Description:
          type: string
        CategoryId:
          type: integer
        SalePrice:
          type: number
        CostPrice:
          type: number
        Barcode:
          type: string
        TaxRateId:
          type: integer
      additionalProperties: true
  responses:
    Unauthorized:
      description: Missing or invalid Basic authentication credentials.
    NotFound:
      description: The requested resource was not found.
  parameters:
    Id:
      name: Id
      in: path
      required: true
      description: The unique identifier of the resource.
      schema:
        type: integer
    Page:
      name: page
      in: query
      required: false
      description: The page number of results to return (up to 200 records per page).
      schema:
        type: integer
        default: 1
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: 'HTTP Basic authentication. The access token is the Base64 encoding of "API Key:API Secret" (the API Key, a colon, then the API Secret, with no spaces), sent as "Authorization: Basic {token}". Credentials are issued per API Device registered under Web Integrations in the Epos Now Back Office.'
Where this information came from

This is an independent, third-party profile of Epos Now Products API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.