Management API is a simple API that allows updating or retrieving the configuration currently used by the gateway. The API is available on port 8090
.
This is mean to be used for debugging purposes only. Offers no authentication or synchronization between several instances.
It can be exposed via APICAST_MANAGEMENT_API
environment variable with following options:
- debug: full API with access to everything
- status: just the
/status
endpoints - disabled: completely disabled
The default value is status.
Available endpoints:
GET /config
Returns the current configuration (in JSON format by default).
curl -XGET https://gateway:8090/config
POST /config
andPUT /config
Update the configuration with the JSON set in a body.
curl -XPOST https://gateway:8090/config -d @example-config.json
See example-config.json file for an example of the payload. This JSON contains the configuration of the API(s) in 3scale account, and can be downloaded from the 3scale admin portal using the URL https://ACCOUNT-admin.3scale.net/admin/api/nginx/spec.json
] (replace ACCOUNT
with your 3scale account name).
The call should return something like:
{"status":"ok","config":{"services":[...]}}
DELETE /config
Deletes the current configuration.
curl -XDELETE https://gateway:8090/config
It returns:
{"status":"ok","config":null}
-
POST /boot
Run the initialization process. Try to download new configuration. -
GET /dns/cache
Returns DNS cache like:{"127.0.0.1.xip.io": {"expires_in":139.0790002346,"value":{"1":{"address":"127.0.0.1","section":1,"type":1,"class":1,"name":"127.0.0.1.xip.io","ttl":250},"name":"127.0.0.1.xip.io","ttl":250}} }
-
GET /status/ready
Returns one of following responses:
{ "status": "error", "error": "not configured", "success": false }
{ "status": "warning", "warning": "no services", "success": true }
{ "status": "ready", "success": true }
-
GET /status/live
Returns:{ "status": "live", "success": true }
-
GET /status/info
Returns internal information about timers and workers.{ "timers": { "pending": 0, "running": 0 }, "worker": { "count":1, "exiting": false, "id": 0 } }