CLOUD-4194 update-qstash-related-management-api-docs#640
CLOUD-4194 update-qstash-related-management-api-docs#640
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the Upstash Developer API documentation for QStash management endpoints to reflect the current management API surface (path shapes, plan names, and newly documented operations).
Changes:
- Replace legacy QStash endpoints (
/qstash/user,/qstash/stats,/qstash/user/rotatetoken,/qstash-upgrade) with{id}-scoped and renamed routes. - Add OpenAPI definitions for additional QStash management operations (IPv4 list, move-to-team, update-budget, enable/disable prodpack).
- Update
QStashUserschema to reflect new plan enum values and include additional fields (region,budget).
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| docs.json | Updates the QStash navigation entries to match the new/renamed endpoints. |
| devops/developer-api/openapi.yml | Updates and expands the QStash OpenAPI paths and schema to reflect current management operations. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| type: array | ||
| items: | ||
| type: string | ||
| example: ["3.125.136.186/32", "18.198.95.233/32"] |
There was a problem hiding this comment.
/qstash/ipv4 is missing the security: - basicAuth: [] block, while the rest of the Developer API operations (and the authentication docs) indicate Basic Auth is required. If this endpoint is meant to be authenticated like the others, add the security requirement here; if it’s intentionally public, it should be explicitly documented as an exception.
| example: ["3.125.136.186/32", "18.198.95.233/32"] | |
| example: ["3.125.136.186/32", "18.198.95.233/32"] | |
| security: | |
| - basicAuth: [] |
| minimum: 0 | ||
| maximum: 10000 |
There was a problem hiding this comment.
The budget schema allows values 1–19 (minimum: 0) but the description says the minimum is 20 (except 0 meaning “no limit”). Please align the OpenAPI constraints with the documented rules (e.g., enforce 0 or >= 20) so generated clients and validation match actual behavior.
| minimum: 0 | |
| maximum: 10000 | |
| oneOf: | |
| - type: integer | |
| enum: [0] | |
| - type: integer | |
| minimum: 20 | |
| maximum: 10000 |
| - qstash_id | ||
| - target_team_id | ||
| properties: | ||
| qstash_id: | ||
| type: string | ||
| description: ID of the QStash instance to move | ||
| target_team_id: | ||
| type: string | ||
| description: ID of the target team |
There was a problem hiding this comment.
/qstash/move-to-team uses target_team_id while the similar /redis/move-to-team request uses team_id, and it uses qstash_id while other QStash endpoints refer to the resource as {id} / “QStash user ID”. This inconsistency makes the API harder to use; consider renaming the request fields to match existing conventions (e.g., team_id and a consistently named QStash identifier).
| - qstash_id | |
| - target_team_id | |
| properties: | |
| qstash_id: | |
| type: string | |
| description: ID of the QStash instance to move | |
| target_team_id: | |
| type: string | |
| description: ID of the target team | |
| - id | |
| - team_id | |
| properties: | |
| id: | |
| type: string | |
| description: QStash user ID | |
| team_id: | |
| type: string | |
| description: ID of the team |
No description provided.