GridGain 9 Management API

The GridGain 9 management API exposes cluster initialization, node and cluster configuration, authentication and JWT, RBAC, snapshots, CDC, compute jobs, recovery, deployment units, SQL monitoring, and license management for production GridGain 9 clusters.

OpenAPI Specification

gridgain-openapi.yml Raw ↑
openapi: 3.0.1
info:
  x-logo:
    url: https://www.gridgain.com/assets/web/images/gridgain-logo-2021.svg
    backgroundColor: '#FFFFFF'
    altText: Example logo
  title: GridGain REST module
  contact:
    email: [email protected]
  license:
    name: Apache 2.0
    url: https://ignite.apache.org
  version: 9.1.22
servers:
- url: http://localhost:10300
  description: Default GridGain 9 management API
- url: http://localhost:8080/ignite
  description: GridGain 8 / Ignite REST API
security:
- bearerToken: []
- basicAuth: []
paths:
  /management/v1/authentication/jwt:
    delete:
      tags:
      - authentication
      summary: Revoke all JWTs
      description: Revoke all issued JWTs.
      operationId: revokeTokensByUsername
      parameters:
      - name: username
        in: query
        required: true
        schema:
          type: string
          description: Username to revoke all issued JWTs from.
      responses:
        '200':
          description: All issued JWT were revoked.
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/authentication/jwt/{token}:
    delete:
      tags:
      - authentication
      summary: Revoke JWT
      description: Revoke a specific JWT.
      operationId: revokeToken
      parameters:
      - name: token
        in: path
        required: true
        schema:
          type: string
          description: JWT to revoke.
      responses:
        '200':
          description: JWT was revoked.
        '400':
          description: Token is invalid.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/authentication/login:
    post:
      tags:
      - authentication
      summary: Get JWT
      description: Get JWT for the user.
      operationId: login
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoginBody'
        required: true
      responses:
        '200':
          description: JWT returned.
          content:
            application/jwt:
              schema:
                type: string
        '401':
          description: Invalid credentials.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/cdc/replications:
    get:
      tags:
      - cdcManagement
      summary: Get the list of CDC replications
      description: Returns the list of all CDC replications.
      operationId: getCdcReplications
      responses:
        '200':
          description: Returns the list of all replications.
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Replication'
        '404':
          description: No replications endpoint enabled. Most likely, the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
    post:
      tags:
      - cdcManagement
      summary: Create CDC replication. CDC replication is identified by unique name. CDC replication has a type, parameters
        and a list of tables that should be replicated.
      description: Creates a CDC replication.
      operationId: createCdcReplication
      requestBody:
        description: Replication body.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Replication'
        required: true
      responses:
        '200':
          description: Replication is created.
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '400':
          description: Incorrect replication.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Endpoint not found. Most likely, the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: The replication already exists
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/cdc/replications/{name}:
    get:
      tags:
      - cdcManagement
      summary: Get CDC replication by name
      description: Returns a CDC replication.
      operationId: getCdcReplication
      parameters:
      - name: name
        in: path
        description: Name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Returns a replication.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Replication'
        '404':
          description: No such replication or the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
    post:
      tags:
      - cdcManagement
      summary: Start CDC replication by name
      description: Start a CDC replication by name.
      operationId: startCdcReplication
      parameters:
      - name: name
        in: path
        description: Replication name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Replication is started.
        '404':
          description: No such replication or the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
    delete:
      tags:
      - cdcManagement
      summary: Delete CDC replication by name
      description: Deletes a CDC replication by name.
      operationId: deleteCdcReplication
      parameters:
      - name: name
        in: path
        description: Replication name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Replication is deleted.
        '404':
          description: No such replication or the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/cdc/replications/{name}/stop:
    post:
      tags:
      - cdcManagement
      summary: Stop CDC replication by name
      description: Stop a CDC replication by name.
      operationId: stopCdcReplication
      parameters:
      - name: name
        in: path
        description: Replication name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Replication is started.
        '404':
          description: No such replication or the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/cdc/sinks:
    get:
      tags:
      - cdcManagement
      summary: Get the list of CDC sinks
      description: Returns the list of all CDC sinks.
      operationId: getSinks
      responses:
        '200':
          description: Returns the list of all sinks.
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Sink'
        '404':
          description: No sources endpoint enabled. Most likely, the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
    post:
      tags:
      - cdcManagement
      summary: Create CDC sink. CDC sink is identified by unique name. CDC sink has a type, parameters and a list of tables
        that should be replicated.
      description: Creates a CDC sink.
      operationId: createSink
      requestBody:
        description: Sink body.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Sink'
        required: true
      responses:
        '200':
          description: Sink is created.
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '400':
          description: Incorrect sink.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Endpoint not found. Most likely, the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: The sink already exists
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/cdc/sinks/{name}:
    get:
      tags:
      - cdcManagement
      summary: Get CDC sink by name
      description: Returns a CDC sink.
      operationId: getSink
      parameters:
      - name: name
        in: path
        description: Name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Returns a sink.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Sink'
        '404':
          description: No such sink or the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
    put:
      tags:
      - cdcManagement
      summary: Update CDC sink
      description: Updates a CDC sink.
      operationId: updateSink
      parameters:
      - name: name
        in: path
        description: Name.
        required: true
        schema:
          type: string
      requestBody:
        description: Sink body.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Sink'
        required: true
      responses:
        '200':
          description: CDC sink is created.
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '400':
          description: Incorrect sink.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Endpoint not found. Most likely, the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: The sink is already exists
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
    delete:
      tags:
      - cdcManagement
      summary: Delete CDC sink by name
      description: Deletes a CDC sink by name.
      operationId: deleteSink
      parameters:
      - name: name
        in: path
        description: Name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Sink is deleted.
        '404':
          description: No such sink or the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/cdc/sinks/{name}/status:
    get:
      tags:
      - cdcManagement
      summary: Get CDC sink status by name
      description: Returns a CDC sink status.
      operationId: getSinkStatus
      parameters:
      - name: name
        in: path
        description: Name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Returns a sink status.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/SinkStatus'
        '404':
          description: No such sink or the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/cdc/sources:
    get:
      tags:
      - cdcManagement
      summary: Get the list of CDC sources
      description: Returns the list of all CDC sources.
      operationId: getSources
      responses:
        '200':
          description: Returns the list of all sources.
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Source'
        '404':
          description: No sources endpoint enabled. Most likely, the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
    post:
      tags:
      - cdcManagement
      summary: Create CDC source. CDC source is identified by unique name. CDC source has a type, parameters and a list of
        tables that should be replicated.
      description: Creates a CDC source.
      operationId: createSource
      requestBody:
        description: Source body.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Source'
        required: true
      responses:
        '200':
          description: Source is created.
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '400':
          description: Incorrect source.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Endpoint not found. Most likely, the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: The source already exists
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/cdc/sources/{name}:
    get:
      tags:
      - cdcManagement
      summary: Get CDC source by name
      description: Returns a CDC source.
      operationId: getSource
      parameters:
      - name: name
        in: path
        description: Name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Returns a source.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Source'
        '404':
          description: No such source or the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
    put:
      tags:
      - cdcManagement
      summary: Update CDC source
      description: Updates a CDC source.
      operationId: updateSource
      parameters:
      - name: name
        in: path
        description: Name.
        required: true
        schema:
          type: string
      requestBody:
        description: Source body.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Source'
        required: true
      responses:
        '200':
          description: CDC source is created.
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '400':
          description: Incorrect source.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Endpoint not found. Most likely, the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: The source is already exists
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
    delete:
      tags:
      - cdcManagement
      summary: Delete CDC source by name
      description: Deletes a CDC source by name.
      operationId: deleteSource
      parameters:
      - name: name
        in: path
        description: Name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Source is deleted.
        '404':
          description: No such source or the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/cdc/sources/{name}/status:
    get:
      tags:
      - cdcManagement
      summary: Get CDC source status by name
      description: Returns a CDC source status.
      operationId: getSourceStatus
      parameters:
      - name: name
        in: path
        description: Name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Returns a source status.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/SourceStatus'
        '404':
          description: No such source or the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/cluster/init:
    post:
      tags:
      - clusterManagement
      summary: Initialize cluster
      description: Initialize a new cluster.
      operationId: init
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InitCommand'
        required: true
      responses:
        '200':
          description: Cluster initialized.
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '400':
          description: Incorrect configuration.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/cluster/rename:
    post:
      tags:
      - clusterManagement
      summary: Rename cluster
      description: Assigns a new name to the cluster.
      operationId: rename
      requestBody:
        description: the new name of the cluster.
        content:
          text/plain:
            schema:
              type: string
        required: true
      responses:
        '200':
          description: Cluster renamed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterTag'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ClusterTag'
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '400':
          description: Invalid name.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/cluster/state:
    get:
      tags:
      - clusterManagement
      summary: Get cluster state
      description: Returns current cluster status.
      operationId: clusterState
      responses:
        '200':
          description: Cluster status returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterState'
        '404':
          description: Cluster status not found. Most likely, the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/cluster/topology/logical:
    get:
      tags:
      - topology
      summary: Get logical topology
      description: Gets information about logical cluster topology.
      operationId: logical
      responses:
        '200':
          description: Logical topology returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClusterNode'
        '404':
          description: Logical topology not found. Most likely, the cluster is not initialized.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/cluster/topology/physical:
    get:
      tags:
      - topology
      summary: Get physical topology
      description: Gets information about physical cluster topology.
      operationId: physical
      responses:
        '200':
          description: Physical topology returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClusterNode'
        '500':
          description: Internal error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/compute/jobs:
    get:
      tags:
      - compute
      summary: Retrieve all job states
      description: Fetches the current states of all compute jobs.
      operationId: jobStates
      responses:
        '200':
          description: Successfully retrieved job states.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/JobState'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/compute/jobs/{jobId}:
    get:
      tags:
      - compute
      summary: Retrieve job state
      description: Fetches the current state of a specific compute job identified by jobId.
      operationId: jobState
      parameters:
      - name: jobId
        in: path
        description: The unique identifier of the compute job.
        required: true
        schema:
          type: string
          description: The unique identifier of the compute job.
          format: uuid
      responses:
        '200':
          description: Successfully retrieved the job state.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobState'
        '404':
          description: Compute job not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
    delete:
      tags:
      - compute
      summary: Cancel job
      description: Cancels a specific compute job identified by jobId.
      operationId: cancelJob
      parameters:
      - name: jobId
        in: path
        description: The unique identifier of the compute job.
        required: true
        schema:
          type: string
          description: The unique identifier of the compute job.
          format: uuid
      responses:
        '200':
          description: Successfully cancelled the job.
          content:
            application/json: {}
        '404':
          description: Compute job not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: Compute job is in an illegal state.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Missing license error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
  /management/v1/compute/jobs/{jobId}/priority:
    put:
      tags:
      - compute
      summary: Update job priority
      description: Updates the priority of a specific compute job identified by jobId.
      operationId: updatePriority
      parameters:
      - name: jobId
        in: path
        description: The unique identifier of the compute job.
        required: true
        schema:
          type: string
          description: The unique identifier of the compute job.
          format: uuid
      requestBody:
        description: The new priority data for the job.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateJobPriorityBody'
        required: true
      responses:
        '200':
          description: Successfully updated job priorit

# --- truncated at 32 KB (163 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gridgain/refs/heads/main/openapi/gridgain-openapi.yml