Proxy Discovery
Section titled “Proxy Discovery”Enumerate the proxy groups and services attached to a container. These endpoints expose the read-only, debug-oriented view of the container’s proxy configuration: the list of defined groups with their auth-rule counts, the set of service names referenced anywhere in the proxy config, and a merged per-service view showing raw permissions, hooks, and the effective default.
GET /api/v1/containers/{id}/proxy/groups
Section titled “GET /api/v1/containers/{id}/proxy/groups”Returns every defined proxy group name along with the number of auth rules it contains, plus the current file version and ETag for the proxy configuration.
Parameters
Section titled “Parameters”| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | Container ID |
Response
Section titled “Response”{ "statusCode": 200, "message": "Proxy groups retrieved", "data": { "groups": [ { "name": "default", "auth_rule_count": 4 }, { "name": "admins", "auth_rule_count": 7 }, { "name": "readonly", "auth_rule_count": 2 } ], "file_version": 12, "etag": "9f8c2a1b7d3e0f44" }}SDK usage
Section titled “SDK usage”curl -X GET "https://api.hoody.icu/api/v1/containers/507f1f77bcf86cd799439012/proxy/groups" \ -H "Authorization: Bearer <token>"await client.api.proxyDiscovery.listContainerProxyGroups("507f1f77bcf86cd799439012");GET /api/v1/containers/{id}/proxy/services
Section titled “GET /api/v1/containers/{id}/proxy/services”Returns every service name referenced by any permission cell or hook rule in the container’s proxy configuration, along with the current file version and ETag.
Parameters
Section titled “Parameters”| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | Container ID |
Response
Section titled “Response”{ "statusCode": 200, "message": "Proxy services retrieved", "data": { "services": [ "github", "openai", "anthropic", "internal-api" ], "file_version": 12, "etag": "9f8c2a1b7d3e0f44" }}SDK usage
Section titled “SDK usage”curl -X GET "https://api.hoody.icu/api/v1/containers/507f1f77bcf86cd799439012/proxy/services" \ -H "Authorization: Bearer <token>"await client.api.proxyDiscovery.listContainerProxyServices("507f1f77bcf86cd799439012");GET /api/v1/containers/{id}/proxy/services/{service}
Section titled “GET /api/v1/containers/{id}/proxy/services/{service}”Returns a merged, debug-only view of a single service: the per-group raw permission cells, any attached hooks, the effective default policy, and whether the service is on the reject list. The response also includes the current file version and ETag.
Parameters
Section titled “Parameters”| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | Container ID |
service | path | string | Yes | Service name |
Response
Section titled “Response”The effective_default field is one of "allow" or "deny". The permissions_raw object maps group names to their per-service access cells, and hooks lists any hook rules attached to the service.
{ "statusCode": 200, "message": "Proxy service retrieved", "data": { "service": "github", "is_reject_listed": false, "permissions_raw": { "default": { "methods": ["GET"], "paths": ["/repos/*"] }, "admins": { "methods": ["GET", "POST", "PUT", "DELETE"], "paths": ["/*"] } }, "hooks": [ { "event": "before_request", "command": "log.sh" } ], "effective_default": "deny", "file_version": 12, "etag": "9f8c2a1b7d3e0f44" }}SDK usage
Section titled “SDK usage”curl -X GET "https://api.hoody.icu/api/v1/containers/507f1f77bcf86cd799439012/proxy/services/github" \ -H "Authorization: Bearer <token>"await client.api.proxyDiscovery.getContainerProxyService( "507f1f77bcf86cd799439012", "github");