Apache HBase Rows API

Row and cell operations

OpenAPI Specification

apache-hbase-rows-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Apache HBase REST Regions Rows API
  version: 1.0.0
  description: REST API (Stargate) for Apache HBase distributed NoSQL database, providing table management, row and cell operations, and table scanning via HTTP.
  contact:
    email: dev@hbase.apache.org
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: http://localhost:8080
  description: HBase REST Gateway (Stargate)
tags:
- name: Rows
  description: Row and cell operations
paths:
  /{tableName}/{rowKey}:
    get:
      operationId: getRow
      summary: Apache HBase Get Row
      description: Get all cells for a specific row key from an HBase table.
      tags:
      - Rows
      parameters:
      - name: tableName
        in: path
        required: true
        schema:
          type: string
      - name: rowKey
        in: path
        required: true
        schema:
          type: string
        description: URL-encoded row key
      responses:
        '200':
          description: Row retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CellSet'
        '404':
          description: Row not found
    put:
      operationId: putRow
      summary: Apache HBase Put Row
      description: Write one or more cells to a specific row key in an HBase table.
      tags:
      - Rows
      parameters:
      - name: tableName
        in: path
        required: true
        schema:
          type: string
      - name: rowKey
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CellSet'
      responses:
        '200':
          description: Row written successfully
        '400':
          description: Invalid data
    delete:
      operationId: deleteRow
      summary: Apache HBase Delete Row
      description: Delete a row and all its cells from an HBase table.
      tags:
      - Rows
      parameters:
      - name: tableName
        in: path
        required: true
        schema:
          type: string
      - name: rowKey
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Row deleted
        '404':
          description: Row not found
  /{tableName}/{rowKey}/{column}:
    get:
      operationId: getCell
      summary: Apache HBase Get Cell
      description: Get a specific cell value identified by table, row key, and column (family:qualifier).
      tags:
      - Rows
      parameters:
      - name: tableName
        in: path
        required: true
        schema:
          type: string
      - name: rowKey
        in: path
        required: true
        schema:
          type: string
      - name: column
        in: path
        required: true
        schema:
          type: string
        description: Column in family:qualifier format (URL-encoded)
      responses:
        '200':
          description: Cell retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CellSet'
        '404':
          description: Cell not found
components:
  schemas:
    Cell:
      type: object
      description: Single HBase cell with column and value
      properties:
        column:
          type: string
          description: Base64-encoded column (family:qualifier)
          example: Y2YxOnF1YWw=
        timestamp:
          type: integer
          format: int64
          description: Cell timestamp in milliseconds
          example: 1718153645993
        $:
          type: string
          description: Base64-encoded cell value
          example: dmFsdWU=
    CellSet:
      type: object
      description: Set of HBase cells grouped by row
      properties:
        Row:
          type: array
          description: Array of row objects
          items:
            type: object
            properties:
              key:
                type: string
                description: Base64-encoded row key
                example: cm93a2V5MQ==
              Cell:
                type: array
                description: Array of cells in the row
                items:
                  $ref: '#/components/schemas/Cell'