Apollo Config · Capability

Apollo Config Open API

Apollo Open API for configuration management including app management, namespace management, configuration publishing, and release management. Apollo provides centralized configuration management for distributed systems with real-time push, versioning, and gray release support.

Run with Naftiko ApolloConfigAPI

What You Can Do

GET
Listapps — List all apps
/openapi/v1/apps
GET
Getapp — Get app info
/openapi/v1/apps/{appId}
GET
Getenvclusters — Get environments and clusters
/openapi/v1/apps/{appId}/envclusters
GET
Getcluster — Get cluster info
/openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}
POST
Createcluster — Create a cluster
/openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}
GET
Listnamespaces — List namespaces
/openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces
POST
Createnamespace — Create a namespace
/openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces
GET
Getnamespace — Get namespace info
/openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}
GET
Getnamespacelock — Get namespace lock info
/openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/lock
GET
Listitems — List configuration items
/openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items
POST
Createitem — Create a configuration item
/openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items
GET
Getitem — Get a configuration item
/openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}
PUT
Updateitem — Update a configuration item
/openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}
DELETE
Deleteitem — Delete a configuration item
/openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}
GET
Getlatestrelease — Get latest release
/openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases/latest
POST
Createrelease — Publish a release
/openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases
PUT
Rollbackrelease — Rollback a release
/openapi/v1/envs/{env}/releases/{releaseId}/rollback
POST
Creategrayrelease — Create a gray release
/openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/gray-del-releases

MCP Tools

listapps

List all apps

read-only idempotent
getapp

Get app info

read-only idempotent
getenvclusters

Get environments and clusters

read-only idempotent
getcluster

Get cluster info

read-only idempotent
createcluster

Create a cluster

listnamespaces

List namespaces

read-only idempotent
createnamespace

Create a namespace

getnamespace

Get namespace info

read-only idempotent
getnamespacelock

Get namespace lock info

read-only idempotent
listitems

List configuration items

read-only idempotent
createitem

Create a configuration item

getitem

Get a configuration item

read-only idempotent
updateitem

Update a configuration item

idempotent
deleteitem

Delete a configuration item

idempotent
getlatestrelease

Get latest release

read-only idempotent
createrelease

Publish a release

rollbackrelease

Rollback a release

idempotent
creategrayrelease

Create a gray release

Capability Spec

apollo-config-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Apollo Config Open API
  description: Apollo Open API for configuration management including app management, namespace management, configuration
    publishing, and release management. Apollo provides centralized configuration management for distributed systems with
    real-time push, versioning, and gray release support.
  tags:
  - Apollo
  - Config
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: apollo-config
    baseUri: http://localhost:8070
    description: Apollo Config Open API HTTP API.
    authentication:
      type: apikey
      in: header
      name: Authorization
      value: '{{APOLLO_CONFIG_TOKEN}}'
    resources:
    - name: openapi-v1-apps
      path: /openapi/v1/apps
      operations:
      - name: listapps
        method: GET
        description: List all apps
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: openapi-v1-apps-appid
      path: /openapi/v1/apps/{appId}
      operations:
      - name: getapp
        method: GET
        description: Get app info
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: openapi-v1-apps-appid-envclusters
      path: /openapi/v1/apps/{appId}/envclusters
      operations:
      - name: getenvclusters
        method: GET
        description: Get environments and clusters
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: openapi-v1-envs-env-apps-appid-clusters-clustern
      path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}
      operations:
      - name: getcluster
        method: GET
        description: Get cluster info
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createcluster
        method: POST
        description: Create a cluster
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: openapi-v1-envs-env-apps-appid-clusters-clustern
      path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces
      operations:
      - name: listnamespaces
        method: GET
        description: List namespaces
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createnamespace
        method: POST
        description: Create a namespace
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: openapi-v1-envs-env-apps-appid-clusters-clustern
      path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}
      operations:
      - name: getnamespace
        method: GET
        description: Get namespace info
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: openapi-v1-envs-env-apps-appid-clusters-clustern
      path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/lock
      operations:
      - name: getnamespacelock
        method: GET
        description: Get namespace lock info
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: openapi-v1-envs-env-apps-appid-clusters-clustern
      path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items
      operations:
      - name: listitems
        method: GET
        description: List configuration items
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createitem
        method: POST
        description: Create a configuration item
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: openapi-v1-envs-env-apps-appid-clusters-clustern
      path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}
      operations:
      - name: getitem
        method: GET
        description: Get a configuration item
        inputParameters:
        - name: key
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateitem
        method: PUT
        description: Update a configuration item
        inputParameters:
        - name: key
          in: path
          type: string
          required: true
        - name: createIfNotExists
          in: query
          type: boolean
          description: Create item if it does not exist
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteitem
        method: DELETE
        description: Delete a configuration item
        inputParameters:
        - name: key
          in: path
          type: string
          required: true
        - name: operator
          in: query
          type: string
          required: true
          description: Operator (user) performing the delete
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: openapi-v1-envs-env-apps-appid-clusters-clustern
      path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases/latest
      operations:
      - name: getlatestrelease
        method: GET
        description: Get latest release
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: openapi-v1-envs-env-apps-appid-clusters-clustern
      path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases
      operations:
      - name: createrelease
        method: POST
        description: Publish a release
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: openapi-v1-envs-env-releases-releaseid-rollback
      path: /openapi/v1/envs/{env}/releases/{releaseId}/rollback
      operations:
      - name: rollbackrelease
        method: PUT
        description: Rollback a release
        inputParameters:
        - name: releaseId
          in: path
          type: integer
          required: true
        - name: operator
          in: query
          type: string
          required: true
          description: Operator performing the rollback
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: openapi-v1-envs-env-apps-appid-clusters-clustern
      path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/gray-del-releases
      operations:
      - name: creategrayrelease
        method: POST
        description: Create a gray release
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: apollo-config-rest
    description: REST adapter for Apollo Config Open API.
    resources:
    - path: /openapi/v1/apps
      name: listapps
      operations:
      - method: GET
        name: listapps
        description: List all apps
        call: apollo-config.listapps
        outputParameters:
        - type: object
          mapping: $.
    - path: /openapi/v1/apps/{appId}
      name: getapp
      operations:
      - method: GET
        name: getapp
        description: Get app info
        call: apollo-config.getapp
        outputParameters:
        - type: object
          mapping: $.
    - path: /openapi/v1/apps/{appId}/envclusters
      name: getenvclusters
      operations:
      - method: GET
        name: getenvclusters
        description: Get environments and clusters
        call: apollo-config.getenvclusters
        outputParameters:
        - type: object
          mapping: $.
    - path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}
      name: getcluster
      operations:
      - method: GET
        name: getcluster
        description: Get cluster info
        call: apollo-config.getcluster
        outputParameters:
        - type: object
          mapping: $.
    - path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}
      name: createcluster
      operations:
      - method: POST
        name: createcluster
        description: Create a cluster
        call: apollo-config.createcluster
        outputParameters:
        - type: object
          mapping: $.
    - path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces
      name: listnamespaces
      operations:
      - method: GET
        name: listnamespaces
        description: List namespaces
        call: apollo-config.listnamespaces
        outputParameters:
        - type: object
          mapping: $.
    - path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces
      name: createnamespace
      operations:
      - method: POST
        name: createnamespace
        description: Create a namespace
        call: apollo-config.createnamespace
        outputParameters:
        - type: object
          mapping: $.
    - path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}
      name: getnamespace
      operations:
      - method: GET
        name: getnamespace
        description: Get namespace info
        call: apollo-config.getnamespace
        outputParameters:
        - type: object
          mapping: $.
    - path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/lock
      name: getnamespacelock
      operations:
      - method: GET
        name: getnamespacelock
        description: Get namespace lock info
        call: apollo-config.getnamespacelock
        outputParameters:
        - type: object
          mapping: $.
    - path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items
      name: listitems
      operations:
      - method: GET
        name: listitems
        description: List configuration items
        call: apollo-config.listitems
        outputParameters:
        - type: object
          mapping: $.
    - path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items
      name: createitem
      operations:
      - method: POST
        name: createitem
        description: Create a configuration item
        call: apollo-config.createitem
        outputParameters:
        - type: object
          mapping: $.
    - path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}
      name: getitem
      operations:
      - method: GET
        name: getitem
        description: Get a configuration item
        call: apollo-config.getitem
        with:
          key: rest.key
        outputParameters:
        - type: object
          mapping: $.
    - path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}
      name: updateitem
      operations:
      - method: PUT
        name: updateitem
        description: Update a configuration item
        call: apollo-config.updateitem
        with:
          key: rest.key
        outputParameters:
        - type: object
          mapping: $.
    - path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}
      name: deleteitem
      operations:
      - method: DELETE
        name: deleteitem
        description: Delete a configuration item
        call: apollo-config.deleteitem
        with:
          key: rest.key
        outputParameters:
        - type: object
          mapping: $.
    - path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases/latest
      name: getlatestrelease
      operations:
      - method: GET
        name: getlatestrelease
        description: Get latest release
        call: apollo-config.getlatestrelease
        outputParameters:
        - type: object
          mapping: $.
    - path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases
      name: createrelease
      operations:
      - method: POST
        name: createrelease
        description: Publish a release
        call: apollo-config.createrelease
        outputParameters:
        - type: object
          mapping: $.
    - path: /openapi/v1/envs/{env}/releases/{releaseId}/rollback
      name: rollbackrelease
      operations:
      - method: PUT
        name: rollbackrelease
        description: Rollback a release
        call: apollo-config.rollbackrelease
        with:
          releaseId: rest.releaseId
        outputParameters:
        - type: object
          mapping: $.
    - path: /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/gray-del-releases
      name: creategrayrelease
      operations:
      - method: POST
        name: creategrayrelease
        description: Create a gray release
        call: apollo-config.creategrayrelease
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: apollo-config-mcp
    transport: http
    description: MCP adapter for Apollo Config Open API for AI agent use.
    tools:
    - name: listapps
      description: List all apps
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: apollo-config.listapps
      outputParameters:
      - type: object
        mapping: $.
    - name: getapp
      description: Get app info
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: apollo-config.getapp
      outputParameters:
      - type: object
        mapping: $.
    - name: getenvclusters
      description: Get environments and clusters
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: apollo-config.getenvclusters
      outputParameters:
      - type: object
        mapping: $.
    - name: getcluster
      description: Get cluster info
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: apollo-config.getcluster
      outputParameters:
      - type: object
        mapping: $.
    - name: createcluster
      description: Create a cluster
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: apollo-config.createcluster
      outputParameters:
      - type: object
        mapping: $.
    - name: listnamespaces
      description: List namespaces
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: apollo-config.listnamespaces
      outputParameters:
      - type: object
        mapping: $.
    - name: createnamespace
      description: Create a namespace
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: apollo-config.createnamespace
      outputParameters:
      - type: object
        mapping: $.
    - name: getnamespace
      description: Get namespace info
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: apollo-config.getnamespace
      outputParameters:
      - type: object
        mapping: $.
    - name: getnamespacelock
      description: Get namespace lock info
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: apollo-config.getnamespacelock
      outputParameters:
      - type: object
        mapping: $.
    - name: listitems
      description: List configuration items
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: apollo-config.listitems
      outputParameters:
      - type: object
        mapping: $.
    - name: createitem
      description: Create a configuration item
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: apollo-config.createitem
      outputParameters:
      - type: object
        mapping: $.
    - name: getitem
      description: Get a configuration item
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: apollo-config.getitem
      with:
        key: tools.key
      inputParameters:
      - name: key
        type: string
        description: key
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: updateitem
      description: Update a configuration item
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: apollo-config.updateitem
      with:
        key: tools.key
        createIfNotExists: tools.createIfNotExists
      inputParameters:
      - name: key
        type: string
        description: key
        required: true
      - name: createIfNotExists
        type: boolean
        description: Create item if it does not exist
      outputParameters:
      - type: object
        mapping: $.
    - name: deleteitem
      description: Delete a configuration item
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: apollo-config.deleteitem
      with:
        key: tools.key
        operator: tools.operator
      inputParameters:
      - name: key
        type: string
        description: key
        required: true
      - name: operator
        type: string
        description: Operator (user) performing the delete
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: getlatestrelease
      description: Get latest release
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: apollo-config.getlatestrelease
      outputParameters:
      - type: object
        mapping: $.
    - name: createrelease
      description: Publish a release
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: apollo-config.createrelease
      outputParameters:
      - type: object
        mapping: $.
    - name: rollbackrelease
      description: Rollback a release
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: apollo-config.rollbackrelease
      with:
        releaseId: tools.releaseId
        operator: tools.operator
      inputParameters:
      - name: releaseId
        type: integer
        description: releaseId
        required: true
      - name: operator
        type: string
        description: Operator performing the rollback
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: creategrayrelease
      description: Create a gray release
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: apollo-config.creategrayrelease
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    APOLLO_CONFIG_TOKEN: APOLLO_CONFIG_TOKEN