Apache Knox Topologies API

Gateway topology management

OpenAPI Specification

apache-knox-topologies-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Apache Knox Admin REST Descriptors Topologies API
  description: REST API for Apache Knox gateway administration including topology management, service discovery, token management, and audit operations.
  version: 2.0.0
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  contact:
    email: user@knox.apache.org
servers:
- url: https://localhost:8443/gateway/admin
  description: Apache Knox Admin API
security:
- basicAuth: []
tags:
- name: Topologies
  description: Gateway topology management
paths:
  /api/v1/topologies:
    get:
      operationId: listTopologies
      summary: Apache knox Apache Knox List Topologies
      description: List all configured gateway topologies.
      tags:
      - Topologies
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      responses:
        '200':
          description: List of topologies
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TopologyList'
              examples:
                listTopologies200Example:
                  summary: Default listTopologies 200 response
                  x-microcks-default: true
                  value:
                    topologies: {}
    post:
      operationId: createTopology
      summary: Apache knox Apache Knox Create Topology
      description: Create or update a gateway topology.
      tags:
      - Topologies
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Topology'
            examples:
              createTopologyRequestExample:
                summary: Default createTopology request
                x-microcks-default: true
                value:
                  name: sandbox
                  uri: https://localhost:8443/gateway/sandbox
                  timestamp: 1718153645993
      responses:
        '200':
          description: Topology created or updated
  /api/v1/topologies/{topologyName}:
    get:
      operationId: getTopology
      summary: Apache knox Apache Knox Get Topology
      description: Get details of a specific topology.
      tags:
      - Topologies
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      parameters:
      - name: topologyName
        in: path
        required: true
        schema:
          type: string
        example: sandbox
      responses:
        '200':
          description: Topology details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Topology'
              examples:
                getTopology200Example:
                  summary: Default getTopology 200 response
                  x-microcks-default: true
                  value:
                    name: sandbox
                    uri: https://localhost:8443/gateway/sandbox
                    timestamp: 1718153645993
        '404':
          description: Topology not found
    delete:
      operationId: deleteTopology
      summary: Apache knox Apache Knox Delete Topology
      description: Delete a gateway topology.
      tags:
      - Topologies
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      parameters:
      - name: topologyName
        in: path
        required: true
        schema:
          type: string
        example: sandbox
      responses:
        '200':
          description: Topology deleted
  /api/v1/topologies/{topologyName}/urls:
    get:
      operationId: getTopologyUrls
      summary: Apache knox Apache Knox Get Topology URLs
      description: Get all service URLs for a topology.
      tags:
      - Topologies
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      parameters:
      - name: topologyName
        in: path
        required: true
        schema:
          type: string
        example: sandbox
      responses:
        '200':
          description: Topology service URLs
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
              examples:
                getTopologyUrls200Example:
                  summary: Default getTopologyUrls 200 response
                  x-microcks-default: true
                  value: {}
  /api/v1/version:
    get:
      operationId: getVersion
      summary: Apache knox Apache Knox Get Version
      description: Get the Knox gateway version information.
      tags:
      - Topologies
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      responses:
        '200':
          description: Knox version
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KnoxVersion'
              examples:
                getVersion200Example:
                  summary: Default getVersion 200 response
                  x-microcks-default: true
                  value:
                    version: 2.0.0
                    hash: abc123def
components:
  schemas:
    Topology:
      type: object
      description: A Knox gateway topology
      properties:
        name:
          type: string
          description: Topology name
          example: sandbox
        uri:
          type: string
          description: Topology gateway URL
          example: https://localhost:8443/gateway/sandbox
        timestamp:
          type: integer
          description: Last modified timestamp
          example: 1718153645993
    KnoxVersion:
      type: object
      description: Knox gateway version information
      properties:
        version:
          type: string
          description: Knox version string
          example: 2.0.0
        hash:
          type: string
          description: Build hash
          example: abc123def
    TopologyList:
      type: object
      description: List of Knox topologies
      properties:
        topologies:
          type: object
          properties:
            topology:
              type: array
              items:
                $ref: '#/components/schemas/Topology'
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic