Apollo Config website screenshot

Apollo Config

Apollo is a reliable, open-source configuration management system suitable for microservice configuration management scenarios, providing centralized configuration management, real-time updates, versioning, and multi-environment support. Originally developed by Ctrip, now maintained by the apolloconfig community under Apache 2.0 license.

1 APIs 10 Features
Apache 2.0Configuration ManagementCtripDistributed SystemsJavaMicroservicesOpen SourceReal-Time Configuration

APIs

Apollo Config

Apollo is a reliable, open-source configuration management system suitable for microservice configuration management scenarios, providing centralized configuration management, r...

Agent Skills

apollo-issue-review

AGENT SKILL

apollo-issue-to-pr

AGENT SKILL

apollo-java-release

AGENT SKILL

apollo-pr-review

AGENT SKILL

apollo-release

AGENT SKILL

Collections

Pricing Plans

Rate Limits

Apollo Config Rate Limits

5 limits

RATE LIMITS

FinOps

Features

Centralized Configuration Management

Centralize configuration for all microservices in one place with real-time push updates.

Real-Time Configuration Updates

Push configuration changes to all clients instantly without application restarts.

Multi-Environment Support

Manage configurations across DEV, FAT, UAT, and PRO environments independently.

Versioning and History

Track configuration changes with full version history and rollback capability.

Gray Release Support

Gradually roll out configuration changes to a subset of instances.

Namespace Management

Organize configurations into namespaces supporting properties, JSON, YAML, XML, and text formats.

Cluster Management

Manage configuration at the cluster level for multi-cluster deployments.

Open API

REST API for programmatic configuration management and automation.

Kubernetes Operator

Kubernetes Operator for automated Apollo deployment in container environments.

Helm Chart Deployment

Official Helm chart for Kubernetes deployments.

Use Cases

Microservice Configuration

Manage centralized configuration for distributed microservice architectures.

Multi-Environment Configuration

Maintain separate configurations for development, testing, staging, and production.

Dynamic Configuration Updates

Update application configuration at runtime without redeployment.

Configuration Audit

Track who changed what configuration and when with full audit trail.

Kubernetes Configuration Management

Manage configuration for containerized applications deployed on Kubernetes.

Integrations

Java

Official Java client library via apollo-java SDK.

.NET

Official .NET client library via apollo.net SDK.

Go

Go client library via agollo SDK.

Kubernetes

Apollo Operator and Helm chart for Kubernetes deployment.

Spring Boot

Spring Boot integration via Java SDK for auto-configuration refresh.

Semantic Vocabularies

Apollo Config Open Api Context

6 classes · 22 properties

JSON-LD

JSON Structure

Apollo Open Api App Structure

10 properties

JSON STRUCTURE

Apollo Open Api Cluster Structure

6 properties

JSON STRUCTURE

Apollo Open Api Item Structure

10 properties

JSON STRUCTURE

Apollo Open Api Namespace Structure

11 properties

JSON STRUCTURE

Apollo Open Api Release Structure

12 properties

JSON STRUCTURE

Example Payloads

Apollo Open Api App Example

10 fields

EXAMPLE

Apollo Open Api Item Example

10 fields

EXAMPLE

Resources

🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
👥
GitHubRepository
GitHubRepository
👥
GitHubOrganization
GitHubOrganization
📄
ReleaseNotes
ReleaseNotes
💬
Support
Support
📦
Java SDK
SDKs
📦
.NET SDK
SDKs
📦
Go SDK
SDKs
💻
Java Demo
CodeExamples
💻
Use Cases
CodeExamples
🔗
JSONLD
JSONLD
🔗
AgentSkills
AgentSkills

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Apollo Config Open API
  version: 2.2.0
request:
  auth:
    type: apikey
    key: Authorization
    value: '{{Authorization}}'
    placement: header
items:
- info:
    name: Apps
    type: folder
  items:
  - info:
      name: List all apps
      type: http
    http:
      method: GET
      url: http://localhost:8070/openapi/v1/apps
    docs: Returns a list of all registered applications.
  - info:
      name: Get app info
      type: http
    http:
      method: GET
      url: http://localhost:8070/openapi/v1/apps/:appId
      params:
      - name: appId
        value: ''
        type: path
        description: Application ID
    docs: Returns information about a specific application.
- info:
    name: Clusters
    type: folder
  items:
  - info:
      name: Get environments and clusters
      type: http
    http:
      method: GET
      url: http://localhost:8070/openapi/v1/apps/:appId/envclusters
      params:
      - name: appId
        value: ''
        type: path
        description: Application ID
    docs: Returns all environments and clusters for an application.
  - info:
      name: Get cluster info
      type: http
    http:
      method: GET
      url: http://localhost:8070/openapi/v1/envs/:env/apps/:appId/clusters/:clusterName
      params:
      - name: env
        value: ''
        type: path
        description: Environment (e.g., DEV, FAT, UAT, PRO)
      - name: appId
        value: ''
        type: path
        description: Application ID
      - name: clusterName
        value: ''
        type: path
        description: Cluster name (default is 'default')
    docs: Returns information about a specific cluster.
  - info:
      name: Create a cluster
      type: http
    http:
      method: POST
      url: http://localhost:8070/openapi/v1/envs/:env/apps/:appId/clusters/:clusterName
      params:
      - name: env
        value: ''
        type: path
        description: Environment (e.g., DEV, FAT, UAT, PRO)
      - name: appId
        value: ''
        type: path
        description: Application ID
      - name: clusterName
        value: ''
        type: path
        description: Cluster name (default is 'default')
      body:
        type: json
        data: '{}'
    docs: Creates a new cluster for an application in an environment.
- info:
    name: Namespaces
    type: folder
  items:
  - info:
      name: List namespaces
      type: http
    http:
      method: GET
      url: http://localhost:8070/openapi/v1/envs/:env/apps/:appId/clusters/:clusterName/namespaces
      params:
      - name: env
        value: ''
        type: path
        description: Environment (e.g., DEV, FAT, UAT, PRO)
      - name: appId
        value: ''
        type: path
        description: Application ID
      - name: clusterName
        value: ''
        type: path
        description: Cluster name (default is 'default')
    docs: Returns all namespaces for an app/env/cluster combination.
  - info:
      name: Create a namespace
      type: http
    http:
      method: POST
      url: http://localhost:8070/openapi/v1/envs/:env/apps/:appId/clusters/:clusterName/namespaces
      params:
      - name: env
        value: ''
        type: path
        description: Environment (e.g., DEV, FAT, UAT, PRO)
      - name: appId
        value: ''
        type: path
        description: Application ID
      - name: clusterName
        value: ''
        type: path
        description: Cluster name (default is 'default')
      body:
        type: json
        data: '{}'
    docs: Creates a new namespace (app-level namespace definition).
  - info:
      name: Get namespace info
      type: http
    http:
      method: GET
      url: http://localhost:8070/openapi/v1/envs/:env/apps/:appId/clusters/:clusterName/namespaces/:namespaceName
      params:
      - name: env
        value: ''
        type: path
        description: Environment (e.g., DEV, FAT, UAT, PRO)
      - name: appId
        value: ''
        type: path
        description: Application ID
      - name: clusterName
        value: ''
        type: path
        description: Cluster name (default is 'default')
      - name: namespaceName
        value: ''
        type: path
        description: Namespace name (default is 'application')
    docs: Returns information about a specific namespace including items.
  - info:
      name: Get namespace lock info
      type: http
    http:
      method: GET
      url: http://localhost:8070/openapi/v1/envs/:env/apps/:appId/clusters/:clusterName/namespaces/:namespaceName/lock
      params:
      - name: env
        value: ''
        type: path
        description: Environment (e.g., DEV, FAT, UAT, PRO)
      - name: appId
        value: ''
        type: path
        description: Application ID
      - name: clusterName
        value: ''
        type: path
        description: Cluster name (default is 'default')
      - name: namespaceName
        value: ''
        type: path
        description: Namespace name (default is 'application')
    docs: Returns lock information for a namespace (who modified it last).
- info:
    name: Items
    type: folder
  items:
  - info:
      name: List configuration items
      type: http
    http:
      method: GET
      url: http://localhost:8070/openapi/v1/envs/:env/apps/:appId/clusters/:clusterName/namespaces/:namespaceName/items
      params:
      - name: env
        value: ''
        type: path
        description: Environment (e.g., DEV, FAT, UAT, PRO)
      - name: appId
        value: ''
        type: path
        description: Application ID
      - name: clusterName
        value: ''
        type: path
        description: Cluster name (default is 'default')
      - name: namespaceName
        value: ''
        type: path
        description: Namespace name (default is 'application')
    docs: Returns all configuration items in a namespace.
  - info:
      name: Create a configuration item
      type: http
    http:
      method: POST
      url: http://localhost:8070/openapi/v1/envs/:env/apps/:appId/clusters/:clusterName/namespaces/:namespaceName/items
      params:
      - name: env
        value: ''
        type: path
        description: Environment (e.g., DEV, FAT, UAT, PRO)
      - name: appId
        value: ''
        type: path
        description: Application ID
      - name: clusterName
        value: ''
        type: path
        description: Cluster name (default is 'default')
      - name: namespaceName
        value: ''
        type: path
        description: Namespace name (default is 'application')
      body:
        type: json
        data: '{}'
    docs: Creates a new key-value configuration item in a namespace.
  - info:
      name: Get a configuration item
      type: http
    http:
      method: GET
      url: http://localhost:8070/openapi/v1/envs/:env/apps/:appId/clusters/:clusterName/namespaces/:namespaceName/items/:key
      params:
      - name: env
        value: ''
        type: path
        description: Environment (e.g., DEV, FAT, UAT, PRO)
      - name: appId
        value: ''
        type: path
        description: Application ID
      - name: clusterName
        value: ''
        type: path
        description: Cluster name (default is 'default')
      - name: namespaceName
        value: ''
        type: path
        description: Namespace name (default is 'application')
      - name: key
        value: ''
        type: path
    docs: Get a configuration item
  - info:
      name: Update a configuration item
      type: http
    http:
      method: PUT
      url: http://localhost:8070/openapi/v1/envs/:env/apps/:appId/clusters/:clusterName/namespaces/:namespaceName/items/:key
      params:
      - name: env
        value: ''
        type: path
        description: Environment (e.g., DEV, FAT, UAT, PRO)
      - name: appId
        value: ''
        type: path
        description: Application ID
      - name: clusterName
        value: ''
        type: path
        description: Cluster name (default is 'default')
      - name: namespaceName
        value: ''
        type: path
        description: Namespace name (default is 'application')
      - name: key
        value: ''
        type: path
      - name: createIfNotExists
        value: ''
        type: query
        description: Create item if it does not exist
      body:
        type: json
        data: '{}'
    docs: Update a configuration item
  - info:
      name: Delete a configuration item
      type: http
    http:
      method: DELETE
      url: http://localhost:8070/openapi/v1/envs/:env/apps/:appId/clusters/:clusterName/namespaces/:namespaceName/items/:key
      params:
      - name: env
        value: ''
        type: path
        description: Environment (e.g., DEV, FAT, UAT, PRO)
      - name: appId
        value: ''
        type: path
        description: Application ID
      - name: clusterName
        value: ''
        type: path
        description: Cluster name (default is 'default')
      - name: namespaceName
        value: ''
        type: path
        description: Namespace name (default is 'application')
      - name: key
        value: ''
        type: path
      - name: operator
        value: ''
        type: query
        description: Operator (user) performing the delete
    docs: Delete a configuration item
- info:
    name: Releases
    type: folder
  items:
  - info:
      name: Get latest release
      type: http
    http:
      method: GET
      url: http://localhost:8070/openapi/v1/envs/:env/apps/:appId/clusters/:clusterName/namespaces/:namespaceName/releases/latest
      params:
      - name: env
        value: ''
        type: path
        description: Environment (e.g., DEV, FAT, UAT, PRO)
      - name: appId
        value: ''
        type: path
        description: Application ID
      - name: clusterName
        value: ''
        type: path
        description: Cluster name (default is 'default')
      - name: namespaceName
        value: ''
        type: path
        description: Namespace name (default is 'application')
    docs: Returns the latest active release for a namespace.
  - info:
      name: Publish a release
      type: http
    http:
      method: POST
      url: http://localhost:8070/openapi/v1/envs/:env/apps/:appId/clusters/:clusterName/namespaces/:namespaceName/releases
      params:
      - name: env
        value: ''
        type: path
        description: Environment (e.g., DEV, FAT, UAT, PRO)
      - name: appId
        value: ''
        type: path
        description: Application ID
      - name: clusterName
        value: ''
        type: path
        description: Cluster name (default is 'default')
      - name: namespaceName
        value: ''
        type: path
        description: Namespace name (default is 'application')
      body:
        type: json
        data: '{}'
    docs: Publishes current configuration items as a new release.
  - info:
      name: Rollback a release
      type: http
    http:
      method: PUT
      url: http://localhost:8070/openapi/v1/envs/:env/releases/:releaseId/rollback
      params:
      - name: env
        value: ''
        type: path
        description: Environment (e.g., DEV, FAT, UAT, PRO)
      - name: releaseId
        value: ''
        type: path
      - name: operator
        value: ''
        type: query
        description: Operator performing the rollback
    docs: Rolls back to a previous release by release ID.
  - info:
      name: Create a gray release
      type: http
    http:
      method: POST
      url: http://localhost:8070/openapi/v1/envs/:env/apps/:appId/clusters/:clusterName/namespaces/:namespaceName/gray-del-releases
      params:
      - name: env
        value: ''
        type: path
        description: Environment (e.g., DEV, FAT, UAT, PRO)
      - name: appId
        value: ''
        type: path
        description: Application ID
      - name: clusterName
        value: ''
        type: path
        description: Cluster name (default is 'default')
      - name: namespaceName
        value: ''
        type: path
        description: Namespace name (default is 'application')
      body:
        type: json
        data: '{}'
    docs: Creates a gray (canary) release for a subset of instances.
bundled: true