Client APIs
Discover, Register, Heartbeat, and client config pull.
Discover, Register, Heartbeat, and client config pull.
Default Base URL: http://127.0.0.1:8090. Management APIs require Authorization (token from login).
Client APIs
Client Discover / Register / Heartbeat and config pull under /v1. Prefer gRPC in production.
/v1/DiscoverDiscover
Pull instance or governance views.
Parameters
- typebody · stringrequired
Discover type: INSTANCE / ROUTING / RATE_LIMIT / CIRCUIT_BREAKER / SERVICES / FAULT_DETECTOR / SERVICE_CONTRACTS / NAMESPACES, etc.
- service.namebody · stringrequired
Service name (required by most types).
- service.namespacebody · stringrequired
Namespace.
curl -sS -X POST 'http://127.0.0.1:8090/v1/Discover' \
-H 'Content-Type: application/json' \
-d '{"type":"INSTANCE","service":{"name":"payment","namespace":"default"}}'{
"code": 200000,
"info": "execute success",
"instances": [{ "host": "10.0.0.8", "port": 8080, "healthy": true }]
}/v1/RegisterInstanceRegister instance
Client registration; body is a single Instance (not an array).
Parameters
- servicebody · stringrequired
Service name.
- namespacebody · stringrequired
Namespace.
- hostbody · stringrequired
Host.
- portbody · uint32required
Port.
- protocolbody · stringoptional
Protocol.
- versionbody · stringoptional
Version.
- prioritybody · uint32optional
Priority.
- weightbody · uint32optional
Weight (often 100).
- healthybody · booloptional
Healthy.
- isolatebody · booloptional
Isolated.
- enable_health_checkbody · booloptional
Enable health check.
- health_checkbody · HealthCheckoptional
Health-check config (heartbeat/tcp/http).
- locationbody · Locationoptional
Location.
- metadatabody · map<string,string>optional
Metadata / labels.
- idbody · stringoptional
Instance ID (update/delete).
curl -sS -X POST 'http://127.0.0.1:8090/v1/RegisterInstance' \
-H 'Content-Type: application/json' \
-d '{"service":"payment","namespace":"default","host":"10.0.0.8","port":8080,"weight":100}'{
"code": 200000,
"info": "execute success",
"instance": { "id": "..." }
}/v1/DeregisterInstanceDeregister instance
Client deregistration.
Parameters
- idbody · stringoptional
Instance ID.
- servicebody · stringrequired
Service name.
- namespacebody · stringrequired
Namespace.
- hostbody · stringrequired
Host.
- portbody · uint32required
Port.
curl -sS -X POST 'http://127.0.0.1:8090/v1/DeregisterInstance' \
-H 'Content-Type: application/json' \
-d '{"service":"payment","namespace":"default","host":"10.0.0.8","port":8080}'{
"code": 200000,
"info": "execute success",
"amount": 1
}/v1/HeartbeatHeartbeat
Instance heartbeat.
Parameters
- idbody · stringoptional
Instance ID.
- servicebody · stringrequired
Service name.
- namespacebody · stringrequired
Namespace.
- hostbody · stringrequired
Host.
- portbody · uint32required
Port.
curl -sS -X POST 'http://127.0.0.1:8090/v1/Heartbeat' \
-H 'Content-Type: application/json' \
-d '{"service":"payment","namespace":"default","host":"10.0.0.8","port":8080}'{
"code": 200000,
"info": "execute success",
"amount": 1
}/v1/ReportClientReport client
Report client information.
Parameters
- hostbody · stringoptional
Host.
- versionbody · stringoptional
Client version.
- typebody · stringoptional
Client type.
- locationbody · objectoptional
Location.
curl -sS -X POST 'http://127.0.0.1:8090/v1/ReportClient' \
-H 'Content-Type: application/json' \
-d '{"host":"10.0.0.3","version":"1.2.0"}'{
"code": 200000,
"info": "execute success",
"amount": 1
}/v1/GetConfigFileClient get config file
tags are key=value and repeatable; unmatched clients fall back to normal. Enrich documents version but the handler does not use it.
Parameters
- namespacequery · stringrequired
Namespace.
- groupquery · stringrequired
Group.
- fileNamequery · stringrequired
File name.
- tagsquery · stringoptional
Client tags such as env=gray-a; repeatable.
curl -sS 'http://127.0.0.1:8090/v1/GetConfigFile?namespace=default&group=docs-multi-gray&fileName=app.yaml&tags=env%3Dgray-a'{
"code": 200000,
"info": "execute success",
"file": { "name": "app.yaml", "release_type": "gray", "content": "mode: gray-a\n" }
}/v1/ConfigDiscoverConfigDiscover
Config discover / subscribe-style request.
Parameters
- typebody · stringrequired
Discover type.
- filebody · objectoptional
Config file locator.
- revisionbody · stringoptional
Revision.
- filterbody · objectoptional
Filter.
curl -sS -X POST 'http://127.0.0.1:8090/v1/ConfigDiscover' \
-H 'Content-Type: application/json' \
-d '{"type":"CONFIG_FILE","file":{"namespace":"default","group":"docs-multi-gray","name":"app.yaml"}}'{
"code": 200000,
"info": "execute success",
"amount": 1
}/v1/GetConfigFileMetadataListGet config file metadata list
Get config file metadata list.
Parameters
- namespacebody · stringoptional
命名空间。
- groupbody · stringoptional
分组。
Response fields
- codebody · uint32required
Business code.
- infobody · stringoptional
Info.
- ConfigClientRequestbody · ConfigClientRequestoptional
Entity fields.
- namespacebody · stringoptional
命名空间。
- groupbody · stringoptional
分组。
- revisionbody · stringoptional
修订版本。
curl -sS -X POST 'http://127.0.0.1:8090/v1/GetConfigFileMetadataList' \
-H 'Content-Type: application/json' \
-d '[]'{
"code": 200000,
"info": "execute success"
}