OpenAPI Specification
openapi: 3.0.3
info:
title: Apache HBase REST Regions Scans 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: Scans
description: Table scanning operations
paths:
/{tableName}/scanner:
put:
operationId: createScanner
summary: Apache HBase Create Scanner
description: Create a scanner to iterate over rows in an HBase table with optional filters.
tags:
- Scans
parameters:
- name: tableName
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Scanner'
responses:
'201':
description: Scanner created
headers:
Location:
schema:
type: string
description: URL to the created scanner
/{tableName}/scanner/{scannerId}:
get:
operationId: getNextScannerBatch
summary: Apache HBase Get Next Scanner Batch
description: Get the next batch of rows from an open HBase scanner.
tags:
- Scans
parameters:
- name: tableName
in: path
required: true
schema:
type: string
- name: scannerId
in: path
required: true
schema:
type: string
responses:
'200':
description: Batch retrieved
content:
application/json:
schema:
$ref: '#/components/schemas/CellSet'
'204':
description: No more rows (scan complete)
delete:
operationId: deleteScanner
summary: Apache HBase Delete Scanner
description: Close and delete an open HBase scanner.
tags:
- Scans
parameters:
- name: tableName
in: path
required: true
schema:
type: string
- name: scannerId
in: path
required: true
schema:
type: string
responses:
'200':
description: Scanner closed
components:
schemas:
Scanner:
type: object
description: HBase scanner configuration for table scans
properties:
startRow:
type: string
description: Base64-encoded start row key (inclusive)
example: cm93MQ==
endRow:
type: string
description: Base64-encoded end row key (exclusive)
example: cm93Mg==
column:
type: array
items:
type: string
description: Base64-encoded column filters
example:
- Y2YxOnF1YWw=
batch:
type: integer
description: Number of rows per batch
example: 100
maxVersions:
type: integer
description: Max cell versions to return
example: 1
filter:
type: string
description: URL-encoded filter string
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'