Proxy Discovery
Section titled “Proxy Discovery”Use these endpoints to inspect the proxy configuration attached to a container. You can enumerate defined group names, list every service referenced by a permission cell or hook rule, and fetch a merged debug view for a single service.
GET /api/v1/containers/{id}/proxy/groups
Section titled “GET /api/v1/containers/{id}/proxy/groups”Returns all defined group names with auth-rule counts.
Parameters
Section titled “Parameters”| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | Container ID |
curl -X GET "https://api.hoody.com/api/v1/containers/cnt_8f3a2b1c4d5e6f70/proxy/groups" \ -H "Authorization: Bearer <token>"const { data } = await client.api.proxyDiscovery.listContainerProxyGroups({ id: "cnt_8f3a2b1c4d5e6f70",});{ "statusCode": 200, "message": "OK", "data": { "groups": [ { "name": "admins", "auth_rule_count": 12 }, { "name": "developers", "auth_rule_count": 7 }, { "name": "viewers", "auth_rule_count": 3 } ], "file_version": 14, "etag": "9f2c1a4b3e8d7f60" }}GET /api/v1/containers/{id}/proxy/services
Section titled “GET /api/v1/containers/{id}/proxy/services”Returns all service names referenced by any permission cell or hook rule.
Parameters
Section titled “Parameters”| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | Container ID |
curl -X GET "https://api.hoody.com/api/v1/containers/cnt_8f3a2b1c4d5e6f70/proxy/services" \ -H "Authorization: Bearer <token>"const { data } = await client.api.proxyDiscovery.listContainerProxyServices({ id: "cnt_8f3a2b1c4d5e6f70",});{ "statusCode": 200, "message": "OK", "data": { "services": [ "postgres-primary", "redis-cache", "object-storage", "metrics-exporter" ], "file_version": 14, "etag": "9f2c1a4b3e8d7f60" }}GET /api/v1/containers/{id}/proxy/services/{service}
Section titled “GET /api/v1/containers/{id}/proxy/services/{service}”Debug view: permissions_raw (per-group access cells for this service) + hooks + effective_default + is_reject_listed. This endpoint is non-authoritative — use /proxy/permissions/{group} and /proxy/hooks/{service} for authoritative writes.
Parameters
Section titled “Parameters”| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | Container ID |
service | path | string | Yes | Service name |
curl -X GET "https://api.hoody.com/api/v1/containers/cnt_8f3a2b1c4d5e6f70/proxy/services/postgres-primary" \ -H "Authorization: Bearer <token>"const { data } = await client.api.proxyDiscovery.getContainerProxyService({ id: "cnt_8f3a2b1c4d5e6f70", service: "postgres-primary",});{ "statusCode": 200, "message": "OK", "data": { "service": "postgres-primary", "is_reject_listed": false, "permissions_raw": { "admins": { "read": true, "write": true, "delete": true }, "developers": { "read": true, "write": true, "delete": false }, "viewers": { "read": true, "write": false, "delete": false } }, "hooks": [ { "id": "hook_01HXYZ", "event": "before_write", "action": "audit_log" } ], "effective_default": "deny", "file_version": 14, "etag": "9f2c1a4b3e8d7f60" }}