From bb0a49b699eb50f79ab699eca4442ba3ed6b117b Mon Sep 17 00:00:00 2001 From: Abhishek Choudhary Date: Tue, 26 May 2026 11:42:12 +0800 Subject: [PATCH 1/2] docs: drop NOT EXPOSED stubs from API7 EE spec Removes the Service Template, Upstream, Plugin Config, and Consumer Group placeholder sections from docs/api7ee-api-spec.md and the corresponding rows from the summary table. None of these have REST API endpoints in API7 EE, and the matching CLI commands have all been removed, so the stubs only added noise. Part of #27. --- docs/api7ee-api-spec.md | 65 +++++++++++++++-------------------------- 1 file changed, 24 insertions(+), 41 deletions(-) diff --git a/docs/api7ee-api-spec.md b/docs/api7ee-api-spec.md index f302b41..4146784 100644 --- a/docs/api7ee-api-spec.md +++ b/docs/api7ee-api-spec.md @@ -76,10 +76,6 @@ API7 EE uses **JSON Patch** (RFC 6902) for `PATCH` operations. The request body Manage logical groupings of gateway instances. - **Methods**: `GET` (list), `GET /:id`, `POST` (create), `PUT /:id` (update), `DELETE /:id` -### 2. Service Template -> **Removed from current a7 support.** Current API7 EE workflows should manage -> runtime services directly and define upstreams inline on services. - ## Runtime Resources (/apisix/admin) All runtime resources require `gateway_group_id` query parameter. @@ -88,67 +84,54 @@ All runtime resources require `gateway_group_id` query parameter. - **Methods**: `GET` (list), `GET /:id`, `POST` (create), `PUT /:id` (create/update), `PATCH /:id`, `DELETE /:id` - **Fields**: `id`, `name`, `paths`, `methods`, `host`, `hosts`, `plugins`, `service_id`, `status`. -### 2. Upstream (/apisix/admin/upstreams) -> **⚠️ NOT EXPOSED in API7 EE.** Standalone upstreams do not have REST API endpoints. Upstreams exist only as inline objects within services and routes. This endpoint returns "resource not found". - -### 3. Service (/apisix/admin/services) +### 2. Service (/apisix/admin/services) - **Methods**: `GET`, `GET /:id`, `POST`, `PUT /:id`, `PATCH /:id`, `DELETE /:id` - **Fields**: `id`, `name`, `upstream`, `plugins`. -### 4. Consumer (/apisix/admin/consumers) +### 3. Consumer (/apisix/admin/consumers) - **Methods**: `GET`, `GET /:username`, `PUT` (idempotent create/update), `DELETE /:username` - **Note**: Identified by `username`. -### 5. SSL (/apisix/admin/ssls) +### 4. SSL (/apisix/admin/ssls) - **Methods**: `GET`, `GET /:id`, `POST`, `PUT /:id`, `PATCH /:id`, `DELETE /:id` - **Fields**: `cert`, `key`, `snis`, `status`. -### 6. Global Rule (/apisix/admin/global_rules) +### 5. Global Rule (/apisix/admin/global_rules) - **Methods**: `GET`, `GET /:id`, `PUT /:id`, `DELETE /:id` -### 7. Stream Route (/apisix/admin/stream_routes) +### 6. Stream Route (/apisix/admin/stream_routes) - **Methods**: `GET`, `GET /:id`, `POST`, `DELETE /:id` -### 8. Plugin Config (/apisix/admin/plugin_configs) -> **⚠️ NOT EXPOSED in API7 EE.** Plugin configs do not have REST API endpoints in API7 EE. - -### 9. Plugin Metadata (/apisix/admin/plugin_metadata) +### 7. Plugin Metadata (/apisix/admin/plugin_metadata) - **Methods**: `GET /:plugin_name`, `PUT /:plugin_name`, `DELETE /:plugin_name` -### 10. Consumer Group (/apisix/admin/consumer_groups) -> **⚠️ NOT EXPOSED in API7 EE.** Consumer groups do not have REST API endpoints in API7 EE. - -### 11. Credential (/apisix/admin/consumers/:username/credentials) +### 8. Credential (/apisix/admin/consumers/:username/credentials) - **Methods**: `GET`, `GET /:id`, `PUT /:id`, `DELETE /:id` -### 12. Secret (/apisix/admin/secrets) +### 9. Secret (/apisix/admin/secrets) - **Methods**: `GET`, `GET /:manager/:id`, `PUT /:manager/:id`, `DELETE /:manager/:id` -### 13. Proto (/apisix/admin/protos) +### 10. Proto (/apisix/admin/protos) - **Methods**: `GET`, `GET /:id`, `POST`, `DELETE /:id` -### 14. Plugin (/apisix/admin/plugins) +### 11. Plugin (/apisix/admin/plugins) - **Methods**: - `GET /apisix/admin/plugins/list`: List plugin names. - `GET /apisix/admin/plugins/:name`: Get plugin schema. ## Summary of Resource Types -| Resource | Prefix | Identifier | Scope | Status | -|----------|--------|------------|-------|--------| -| Gateway Group | `/api` | `id` | Global | ✅ | -| Service Template | `/api` | `id` | Global | ⚠️ Removed from a7 | -| Route | `/apisix/admin` | `id` | Gateway Group | ✅ | -| Upstream | `/apisix/admin` | `id` | Gateway Group | ⚠️ Not exposed | -| Service | `/apisix/admin` | `id` | Gateway Group | ✅ | -| Consumer | `/apisix/admin` | `username` | Gateway Group | ✅ | -| SSL | `/apisix/admin` | `id` | Gateway Group | ✅ | -| Global Rule | `/apisix/admin` | `id` | Gateway Group | ✅ | -| Stream Route | `/apisix/admin` | `id` | Gateway Group | ✅ | -| Plugin Config | `/apisix/admin` | `id` | Gateway Group | ⚠️ Not exposed | -| Plugin Metadata | `/apisix/admin` | `plugin_name`| Gateway Group | ✅ | -| Consumer Group | `/apisix/admin` | `id` | Gateway Group | ⚠️ Not exposed | -| Credential | `/apisix/admin` | `id` | Consumer | ✅ | -| Secret | `/apisix/admin` | `manager/id`| Gateway Group | ✅ | -| Proto | `/apisix/admin` | `id` | Gateway Group | ✅ | -| Plugin | `/apisix/admin` | `name` | Gateway Group | ✅ | +| Resource | Prefix | Identifier | Scope | +|----------|--------|------------|-------| +| Gateway Group | `/api` | `id` | Global | +| Route | `/apisix/admin` | `id` | Gateway Group | +| Service | `/apisix/admin` | `id` | Gateway Group | +| Consumer | `/apisix/admin` | `username` | Gateway Group | +| SSL | `/apisix/admin` | `id` | Gateway Group | +| Global Rule | `/apisix/admin` | `id` | Gateway Group | +| Stream Route | `/apisix/admin` | `id` | Gateway Group | +| Plugin Metadata | `/apisix/admin` | `plugin_name`| Gateway Group | +| Credential | `/apisix/admin` | `id` | Consumer | +| Secret | `/apisix/admin` | `manager/id`| Gateway Group | +| Proto | `/apisix/admin` | `id` | Gateway Group | +| Plugin | `/apisix/admin` | `name` | Gateway Group | From 6e4de6742235aa1e046ed62653fa7b5c752ce2d2 Mon Sep 17 00:00:00 2001 From: Abhishek Choudhary Date: Tue, 26 May 2026 11:52:44 +0800 Subject: [PATCH 2/2] docs(spec): fix Consumer PUT path and summary-table spacing - PUT on /apisix/admin/consumers requires :username (matches the client in pkg/cmd/consumer/{create,update}). - Add the missing space before the column separator on the Plugin Metadata and Secret rows of the summary table. --- docs/api7ee-api-spec.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/api7ee-api-spec.md b/docs/api7ee-api-spec.md index 4146784..799611c 100644 --- a/docs/api7ee-api-spec.md +++ b/docs/api7ee-api-spec.md @@ -89,7 +89,7 @@ All runtime resources require `gateway_group_id` query parameter. - **Fields**: `id`, `name`, `upstream`, `plugins`. ### 3. Consumer (/apisix/admin/consumers) -- **Methods**: `GET`, `GET /:username`, `PUT` (idempotent create/update), `DELETE /:username` +- **Methods**: `GET`, `GET /:username`, `PUT /:username` (idempotent create/update), `DELETE /:username` - **Note**: Identified by `username`. ### 4. SSL (/apisix/admin/ssls) @@ -130,8 +130,8 @@ All runtime resources require `gateway_group_id` query parameter. | SSL | `/apisix/admin` | `id` | Gateway Group | | Global Rule | `/apisix/admin` | `id` | Gateway Group | | Stream Route | `/apisix/admin` | `id` | Gateway Group | -| Plugin Metadata | `/apisix/admin` | `plugin_name`| Gateway Group | +| Plugin Metadata | `/apisix/admin` | `plugin_name` | Gateway Group | | Credential | `/apisix/admin` | `id` | Consumer | -| Secret | `/apisix/admin` | `manager/id`| Gateway Group | +| Secret | `/apisix/admin` | `manager/id` | Gateway Group | | Proto | `/apisix/admin` | `id` | Gateway Group | | Plugin | `/apisix/admin` | `name` | Gateway Group |