Epos Now Products API

The product catalog sold at the point of sale.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/epos-now-products-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

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.'