Oracle Retail Items API

Item setup and attributes

OpenAPI Specification

oracle-retail-items-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Oracle Retail Merchandising Foundation Cloud Service Fulfillment Items API
  description: Oracle Retail Merchandising Foundation Cloud Service (RMFCS) provides REST APIs for managing merchandise hierarchies, item setup, purchase orders, cost management, supplier management, and inventory transactions across omnichannel retail operations.
  version: 26.1.0
  contact:
    name: Oracle Retail Support
    url: https://support.oracle.com
  license:
    name: Oracle Technology Network License
    url: https://www.oracle.com/legal/terms/
servers:
- url: https://{host}/MerchServices/MerchRes/v1
  description: Oracle Retail Merchandising REST API
  variables:
    host:
      default: retail.example.com
      description: RMFCS hostname
security:
- oauth2: []
tags:
- name: Items
  description: Item setup and attributes
paths:
  /items:
    get:
      operationId: listItems
      summary: List items
      description: Returns a paginated list of merchandise items with optional filters.
      tags:
      - Items
      parameters:
      - name: department
        in: query
        description: Filter by department number
        schema:
          type: integer
      - name: class
        in: query
        description: Filter by class number
        schema:
          type: integer
      - name: subclass
        in: query
        description: Filter by subclass number
        schema:
          type: integer
      - name: status
        in: query
        description: Filter by item status
        schema:
          type: string
          enum:
          - A
          - C
          - D
      - name: offset
        in: query
        schema:
          type: integer
          default: 0
      - name: limit
        in: query
        schema:
          type: integer
          default: 100
          maximum: 500
      responses:
        '200':
          description: Item list
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Item'
                  totalCount:
                    type: integer
                  offset:
                    type: integer
                  limit:
                    type: integer
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createItem
      summary: Create an item
      description: Creates a new merchandise item record.
      tags:
      - Items
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ItemCreate'
      responses:
        '201':
          description: Item created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Item'
        '400':
          $ref: '#/components/responses/BadRequest'
  /items/{item}:
    get:
      operationId: getItem
      summary: Get an item
      description: Returns item details including description, supplier, and hierarchy.
      tags:
      - Items
      parameters:
      - $ref: '#/components/parameters/ItemParam'
      responses:
        '200':
          description: Item details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Item'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateItem
      summary: Update an item
      description: Updates item attributes such as description, status, or hierarchy assignment.
      tags:
      - Items
      parameters:
      - $ref: '#/components/parameters/ItemParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ItemUpdate'
      responses:
        '200':
          description: Item updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Item'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    ItemCreate:
      type: object
      required:
      - item
      - itemDesc
      - dept
      - class
      - subclass
      properties:
        item:
          type: string
          maxLength: 25
        itemDesc:
          type: string
          maxLength: 250
        dept:
          type: integer
        class:
          type: integer
        subclass:
          type: integer
        itemType:
          type: string
          enum:
          - REG
          - CON
          - TFM
          - RB
          - SB
          - T
          default: REG
        unitRetail:
          type: number
          format: double
        currencyCode:
          type: string
          maxLength: 3
    Item:
      type: object
      description: A retail merchandise item
      properties:
        item:
          type: string
          maxLength: 25
          description: Item number
        itemDesc:
          type: string
          maxLength: 250
          description: Item description
        itemDescSecond:
          type: string
          maxLength: 250
          description: Secondary item description
        status:
          type: string
          enum:
          - A
          - C
          - D
          description: A=Active, C=Discontinued, D=Deleted
        dept:
          type: integer
          description: Department number
        class:
          type: integer
          description: Class number
        subclass:
          type: integer
          description: Subclass number
        itemType:
          type: string
          enum:
          - REG
          - CON
          - TFM
          - RB
          - SB
          - T
          description: REG=Regular, CON=Consignment, TFM=Transform
        sellable:
          type: string
          enum:
          - Y
          - N
        orderable:
          type: string
          enum:
          - Y
          - N
        inventoryInd:
          type: string
          enum:
          - Y
          - N
        retailLabel:
          type: string
        unitRetail:
          type: number
          format: double
          description: Current retail price
        currencyCode:
          type: string
          maxLength: 3
        supplier:
          type: integer
          description: Primary supplier number
        originCountry:
          type: string
          maxLength: 3
        unitCost:
          type: number
          format: double
        createDatetime:
          type: string
          format: date-time
        lastUpdateDatetime:
          type: string
          format: date-time
    ItemUpdate:
      type: object
      properties:
        itemDesc:
          type: string
          maxLength: 250
        status:
          type: string
          enum:
          - A
          - C
          - D
        unitRetail:
          type: number
          format: double
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        details:
          type: array
          items:
            type: string
  responses:
    Unauthorized:
      description: Authentication required
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Invalid request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    ItemParam:
      name: item
      in: path
      required: true
      description: Item number (up to 25 chars)
      schema:
        type: string
        maxLength: 25
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://identity.oraclecloud.com/oauth2/v1/token
          scopes:
            retail.read: Read retail data
            retail.write: Write retail data