NCR

NCR Catalog API

Item, item-price, and item-attribute management plus item-details search.

Operations 11

GET /catalog/items NCR Voyix List Catalog Items #
PUT /catalog/items NCR Voyix Create Catalog Items #
GET /catalog/items/{itemCode} NCR Voyix Get Catalog Item #
PUT /catalog/items/{itemCode} NCR Voyix Create or Update Catalog Item #
PUT /catalog/item-prices NCR Voyix Create or Update Item Prices #
PUT /catalog/item-prices/{itemCode}/{priceCode} NCR Voyix Update Item Price by Item Code #
POST /catalog/item-prices/get-multiple NCR Voyix Get Multiple Item Prices #
POST /catalog/item-attributes/get-multiple NCR Voyix Get Multiple Item Attributes #
PUT /catalog/item-attributes/{itemCode} NCR Voyix Update Item Attributes by Item Code #
GET /catalog/item-details/{itemCode} NCR Voyix Get Item Details by Item Code #
GET /catalog/item-details/search NCR Voyix Search Item Details #

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/ncr-catalog-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

ncr-catalog-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: NCR Voyix Commerce Platform Catalog API
  description: 'REST APIs for the NCR Voyix Commerce Platform (Business Services Platform), the API-based cloud architecture that powers NCR Voyix unified-commerce solutions for retailers and restaurants. This specification covers the core commerce surfaces exercised by the publicly published NCR Voyix sample applications: Catalog (items, item-prices, item-attributes, item-details search), Category and Group management, Selling Service carts, Order creation and lookup, Site (location) provisioning, Security (authentication, authorization, passwords), and Provisioning (users and user profiles). Requests are signed with HMAC SHA-512 AccessKey authentication and scoped with the nep-organization and nep-enterprise-unit headers. Paths and schemas were reconstructed from the NCR Voyix sample applications (NCRVoyix-Corporation/ncr-retail-demo, NCRVoyix-Corporation/sample-app-burgers, NCRVoyix-Corporation/ncr-bsp-hmac); consult developer.ncrvoyix.com for the authoritative contract.'
  version: '1.0'
  contact:
    name: NCR Voyix Developer Experience
    url: https://developer.ncrvoyix.com/
  license:
    name: Proprietary
    url: https://www.ncrvoyix.com/
  x-generated-from: documentation
  x-last-validated: '2026-06-02'
servers:
- url: https://api.ncr.com
  description: Production (Business Services Platform)
- url: https://gateway-staging.ncrcloud.com
  description: Staging
security:
- hmacAccessKey: []
tags:
- name: Catalog
  description: Item, item-price, and item-attribute management plus item-details search.
paths:
  /catalog/items:
    get:
      tags:
      - Catalog
      summary: NCR Voyix List Catalog Items
      description: List catalog items, optionally filtered by status and paged/sorted.
      operationId: listCatalogItems
      parameters:
      - name: itemStatus
        in: query
        description: Filter by item status.
        schema:
          type: string
          enum:
          - ACTIVE
          - INACTIVE
        example: ACTIVE
      - name: pageSize
        in: query
        schema:
          type: integer
        example: 1
      - name: sortField
        in: query
        schema:
          type: string
        example: example
      - name: sortDirection
        in: query
        schema:
          type: string
          enum:
          - ASC
          - DESC
        example: ASC
      responses:
        '200':
          description: A page of catalog items.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPage'
              examples:
                ListCatalogItems200Example:
                  summary: Default listCatalogItems 200 response
                  x-microcks-default: true
                  value:
                    pageContent:
                    - version: 1
                      itemId: {}
                      shortDescription:
                        values: {}
                      longDescription:
                        values: {}
                      status: ACTIVE
                      merchandiseCategory: example
                      departmentId: example
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      tags:
      - Catalog
      summary: NCR Voyix Create Catalog Items
      description: Bulk create or update catalog items. There is no delete; mark INACTIVE to retire.
      operationId: createCatalogItems
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ItemInput'
            examples:
              CreateCatalogItemsRequestExample:
                summary: Default createCatalogItems request
                x-microcks-default: true
                value:
                  version: 1
                  itemId: {}
                  shortDescription:
                    values:
                    - locale: en-US
                      value: Cheeseburger
                  longDescription:
                    values:
                    - locale: en-US
                      value: Cheeseburger
                  status: ACTIVE
                  merchandiseCategory: example
                  departmentId: example
      responses:
        '200':
          description: The created or updated catalog items.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Item'
              examples:
                CreateCatalogItems200Example:
                  summary: Default createCatalogItems 200 response
                  x-microcks-default: true
                  value:
                    version: 1
                    itemId: {}
                    shortDescription:
                      values:
                      - locale: {}
                        value: {}
                    longDescription:
                      values:
                      - locale: {}
                        value: {}
                    status: ACTIVE
                    merchandiseCategory: example
                    departmentId: example
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /catalog/items/{itemCode}:
    parameters:
    - $ref: '#/components/parameters/ItemCode'
    get:
      tags:
      - Catalog
      summary: NCR Voyix Get Catalog Item
      description: Retrieve the details of a single catalog item by its item code.
      operationId: getCatalogItem
      responses:
        '200':
          description: The catalog item.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Item'
              examples:
                GetCatalogItem200Example:
                  summary: Default getCatalogItem 200 response
                  x-microcks-default: true
                  value:
                    version: 1
                    itemId: {}
                    shortDescription:
                      values:
                      - locale: {}
                        value: {}
                    longDescription:
                      values:
                      - locale: {}
                        value: {}
                    status: ACTIVE
                    merchandiseCategory: example
                    departmentId: example
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      tags:
      - Catalog
      summary: NCR Voyix Create or Update Catalog Item
      description: Create or update a catalog item. The version must increase on each update.
      operationId: putCatalogItem
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ItemInput'
            examples:
              PutCatalogItemRequestExample:
                summary: Default putCatalogItem request
                x-microcks-default: true
                value:
                  version: 1
                  itemId: {}
                  shortDescription:
                    values:
                    - locale: en-US
                      value: Cheeseburger
                  longDescription:
                    values:
                    - locale: en-US
                      value: Cheeseburger
                  status: ACTIVE
                  merchandiseCategory: example
                  departmentId: example
      responses:
        '200':
          description: The created or updated catalog item.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Item'
              examples:
                PutCatalogItem200Example:
                  summary: Default putCatalogItem 200 response
                  x-microcks-default: true
                  value:
                    version: 1
                    itemId: {}
                    shortDescription:
                      values:
                      - locale: {}
                        value: {}
                    longDescription:
                      values:
                      - locale: {}
                        value: {}
                    status: ACTIVE
                    merchandiseCategory: example
                    departmentId: example
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /catalog/item-prices:
    put:
      tags:
      - Catalog
      summary: NCR Voyix Create or Update Item Prices
      description: Bulk create or update item prices for catalog items.
      operationId: createCatalogItemPrices
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ItemPriceInput'
            examples:
              CreateCatalogItemPricesRequestExample:
                summary: Default createCatalogItemPrices request
                x-microcks-default: true
                value:
                  version: 1
                  price: 9.99
                  currency: USD
                  effectiveDate: '2026-06-02T14:30:00Z'
                  status: ACTIVE
      responses:
        '200':
          description: The created or updated item prices.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPrice'
              examples:
                CreateCatalogItemPrices200Example:
                  summary: Default createCatalogItemPrices 200 response
                  x-microcks-default: true
                  value:
                    version: 1
                    price: 9.99
                    currency: USD
                    effectiveDate: '2026-06-02T14:30:00Z'
                    status: ACTIVE
                    priceId:
                      itemCode: BURGER-001
                      priceCode: BASE
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /catalog/item-prices/{itemCode}/{priceCode}:
    parameters:
    - $ref: '#/components/parameters/ItemCode'
    - name: priceCode
      in: path
      required: true
      description: Unique identifier for the item price.
      schema:
        type: string
    put:
      tags:
      - Catalog
      summary: NCR Voyix Update Item Price by Item Code
      description: Create or update the price for a catalog item at a site. The version must increase on each update.
      operationId: updateItemPriceByItemCode
      parameters:
      - $ref: '#/components/parameters/NepEnterpriseUnit'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ItemPriceInput'
            examples:
              UpdateItemPriceByItemCodeRequestExample:
                summary: Default updateItemPriceByItemCode request
                x-microcks-default: true
                value:
                  version: 1
                  price: 9.99
                  currency: USD
                  effectiveDate: '2026-06-02T14:30:00Z'
                  status: ACTIVE
      responses:
        '200':
          description: The updated item price.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPrice'
              examples:
                UpdateItemPriceByItemCode200Example:
                  summary: Default updateItemPriceByItemCode 200 response
                  x-microcks-default: true
                  value:
                    version: 1
                    price: 9.99
                    currency: USD
                    effectiveDate: '2026-06-02T14:30:00Z'
                    status: ACTIVE
                    priceId:
                      itemCode: BURGER-001
                      priceCode: BASE
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /catalog/item-prices/get-multiple:
    post:
      tags:
      - Catalog
      summary: NCR Voyix Get Multiple Item Prices
      description: Retrieve prices for a list of catalog items in a single request, scoped to a site.
      operationId: getMultipleItemPrices
      parameters:
      - $ref: '#/components/parameters/NepEnterpriseUnit'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ItemCodeList'
            examples:
              GetMultipleItemPricesRequestExample:
                summary: Default getMultipleItemPrices request
                x-microcks-default: true
                value:
                  itemIds:
                  - itemCode: BURGER-001
      responses:
        '200':
          description: The requested item prices.
          content:
            application/json:
              schema:
                type: object
                properties:
                  itemPrices:
                    type: array
                    items:
                      $ref: '#/components/schemas/ItemPrice'
              examples:
                GetMultipleItemPrices200Example:
                  summary: Default getMultipleItemPrices 200 response
                  x-microcks-default: true
                  value:
                    itemPrices:
                    - version: 1
                      price: 9.99
                      currency: USD
                      effectiveDate: '2026-06-02T14:30:00Z'
                      status: ACTIVE
                      priceId:
                        itemCode: {}
                        priceCode: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /catalog/item-attributes/get-multiple:
    post:
      tags:
      - Catalog
      summary: NCR Voyix Get Multiple Item Attributes
      description: Retrieve attributes for a list of catalog items in a single request, scoped to a site.
      operationId: getMultipleItemAttributes
      parameters:
      - $ref: '#/components/parameters/NepEnterpriseUnit'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ItemCodeList'
            examples:
              GetMultipleItemAttributesRequestExample:
                summary: Default getMultipleItemAttributes request
                x-microcks-default: true
                value:
                  itemIds:
                  - itemCode: BURGER-001
      responses:
        '200':
          description: The requested item attributes.
          content:
            application/json:
              schema:
                type: object
              examples:
                GetMultipleItemAttributes200Example:
                  summary: Default getMultipleItemAttributes 200 response
                  x-microcks-default: true
                  value: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /catalog/item-attributes/{itemCode}:
    parameters:
    - $ref: '#/components/parameters/ItemCode'
    put:
      tags:
      - Catalog
      summary: NCR Voyix Update Item Attributes by Item Code
      description: Create or update attributes for a catalog item at a site.
      operationId: updateItemAttributesByItemCode
      parameters:
      - $ref: '#/components/parameters/NepEnterpriseUnit'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            examples:
              UpdateItemAttributesByItemCodeRequestExample:
                summary: Default updateItemAttributesByItemCode request
                x-microcks-default: true
                value: {}
      responses:
        '200':
          description: The updated item attributes.
          content:
            application/json:
              schema:
                type: object
              examples:
                UpdateItemAttributesByItemCode200Example:
                  summary: Default updateItemAttributesByItemCode 200 response
                  x-microcks-default: true
                  value: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /catalog/item-details/{itemCode}:
    parameters:
    - $ref: '#/components/parameters/ItemCode'
    get:
      tags:
      - Catalog
      summary: NCR Voyix Get Item Details by Item Code
      description: Retrieve the consolidated item details (item, price, attributes) for a single item at a site.
      operationId: getItemDetailsByItemCode
      parameters:
      - $ref: '#/components/parameters/NepEnterpriseUnit'
      responses:
        '200':
          description: The item details.
          content:
            application/json:
              schema:
                type: object
              examples:
                GetItemDetailsByItemCode200Example:
                  summary: Default getItemDetailsByItemCode 200 response
                  x-microcks-default: true
                  value: {}
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /catalog/item-details/search:
    get:
      tags:
      - Catalog
      summary: NCR Voyix Search Item Details
      description: Search consolidated item details at a site by description pattern, merchandise category, group, and status, with sorting.
      operationId: searchItemDetails
      parameters:
      - $ref: '#/components/parameters/NepEnterpriseUnit'
      - name: shortDescriptionPattern
        in: query
        description: Wildcard pattern matched against the item short description.
        schema:
          type: string
        example: example
      - name: merchandiseCategoryId
        in: query
        schema:
          type: string
        example: example
      - name: groupCode
        in: query
        schema:
          type: string
        example: example
      - name: itemStatus
        in: query
        schema:
          type: string
          enum:
          - ACTIVE
          - INACTIVE
        example: ACTIVE
      - name: sortField
        in: query
        schema:
          type: string
        example: example
      - name: sortDirection
        in: query
        schema:
          type: string
          enum:
          - ASC
          - DESC
        example: ASC
      responses:
        '200':
          description: A page of matching item details.
          content:
            application/json:
              schema:
                type: object
                properties:
                  pageContent:
                    type: array
                    items:
                      type: object
              examples:
                SearchItemDetails200Example:
                  summary: Default searchItemDetails 200 response
                  x-microcks-default: true
                  value:
                    pageContent:
                    - {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    ItemInput:
      type: object
      properties:
        version:
          type: integer
          description: Optimistic-concurrency version; must increase on each update.
          example: 1
        itemId:
          type: object
          additionalProperties:
            type: string
        shortDescription:
          $ref: '#/components/schemas/LocalizedText'
        longDescription:
          $ref: '#/components/schemas/LocalizedText'
        status:
          $ref: '#/components/schemas/Status'
        merchandiseCategory:
          type: string
          example: example
        departmentId:
          type: string
          example: example
      required:
      - version
      - status
    Error:
      type: object
      properties:
        code:
          type: string
          example: example
        message:
          type: string
          example: example
    ItemPrice:
      allOf:
      - $ref: '#/components/schemas/ItemPriceInput'
      - type: object
        properties:
          priceId:
            type: object
            properties:
              itemCode:
                type: string
              priceCode:
                type: string
    Status:
      type: string
      enum:
      - ACTIVE
      - INACTIVE
    ItemPriceInput:
      type: object
      properties:
        version:
          type: integer
          example: 1
        price:
          type: number
          format: double
          example: 9.99
        currency:
          type: string
          example: USD
        effectiveDate:
          type: string
          format: date-time
          example: '2026-06-02T14:30:00Z'
        status:
          $ref: '#/components/schemas/Status'
      required:
      - version
      - price
    Item:
      allOf:
      - $ref: '#/components/schemas/ItemInput'
      - type: object
        properties:
          itemId:
            type: object
            additionalProperties:
              type: string
    ItemCodeList:
      type: object
      properties:
        itemIds:
          type: array
          items:
            type: object
            properties:
              itemCode:
                type: string
            required:
            - itemCode
      required:
      - itemIds
    LocalizedText:
      type: object
      description: A set of locale-specific values.
      properties:
        values:
          type: array
          items:
            type: object
            properties:
              locale:
                type: string
                example: en-US
              value:
                type: string
    ItemPage:
      type: object
      properties:
        pageContent:
          type: array
          items:
            $ref: '#/components/schemas/Item'
  parameters:
    NepEnterpriseUnit:
      name: nep-enterprise-unit
      in: header
      required: true
      description: Identifier of the enterprise unit (site/location) the request applies to.
      schema:
        type: string
    ItemCode:
      name: itemCode
      in: path
      required: true
      description: The catalog item code (spaces are not permitted).
      schema:
        type: string
  responses:
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    hmacAccessKey:
      type: apiKey
      in: header
      name: Authorization
      description: AccessKey (HMAC) authentication. The Authorization header carries "AccessKey {sharedKey}:{signature}", where the signature is a Base64 SHA-512 HMAC computed over the HTTP method, encoded request path and query string, Content-Type, optional Content-MD5, optional nep-application-key, and optional nep-correlation-id, keyed by the secret key concatenated with the ISO-8601 request date. A Date header must accompany the request. Access keys consist of a shared key and a secret key issued by NCR Voyix. See the ncr-bsp-hmac repository for reference implementations in Python, JavaScript, Java, Kotlin, Go, Dart, .NET, and PowerShell.