-
Notifications
You must be signed in to change notification settings - Fork 96
CLOUD-4194 update-qstash-related-management-api-docs #640
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -1434,13 +1434,20 @@ paths: | |||||||||||||||||||||||||||||||||||||
| example: "OK" | ||||||||||||||||||||||||||||||||||||||
| security: | ||||||||||||||||||||||||||||||||||||||
| - basicAuth: [] | ||||||||||||||||||||||||||||||||||||||
| /qstash/user: | ||||||||||||||||||||||||||||||||||||||
| /qstash/user/{id}: | ||||||||||||||||||||||||||||||||||||||
| get: | ||||||||||||||||||||||||||||||||||||||
| summary: Get QStash | ||||||||||||||||||||||||||||||||||||||
| description: Retrieves detailed information about the authenticated user's QStash, including plan details, limits, and configuration | ||||||||||||||||||||||||||||||||||||||
| description: Retrieves detailed information about the specified QStash user, including plan details, limits, and configuration | ||||||||||||||||||||||||||||||||||||||
| operationId: getQStashUser | ||||||||||||||||||||||||||||||||||||||
| tags: | ||||||||||||||||||||||||||||||||||||||
| - qstash | ||||||||||||||||||||||||||||||||||||||
| parameters: | ||||||||||||||||||||||||||||||||||||||
| - name: id | ||||||||||||||||||||||||||||||||||||||
| in: path | ||||||||||||||||||||||||||||||||||||||
| required: true | ||||||||||||||||||||||||||||||||||||||
| schema: | ||||||||||||||||||||||||||||||||||||||
| type: string | ||||||||||||||||||||||||||||||||||||||
| description: QStash user ID | ||||||||||||||||||||||||||||||||||||||
| responses: | ||||||||||||||||||||||||||||||||||||||
| '200': | ||||||||||||||||||||||||||||||||||||||
| description: Successful response | ||||||||||||||||||||||||||||||||||||||
|
|
@@ -1450,18 +1457,23 @@ paths: | |||||||||||||||||||||||||||||||||||||
| $ref: '#/components/schemas/QStashUser' | ||||||||||||||||||||||||||||||||||||||
| security: | ||||||||||||||||||||||||||||||||||||||
| - basicAuth: [] | ||||||||||||||||||||||||||||||||||||||
| /qstash/user/rotatetoken: | ||||||||||||||||||||||||||||||||||||||
| servers: | ||||||||||||||||||||||||||||||||||||||
| - url: https://api.upstash.com | ||||||||||||||||||||||||||||||||||||||
| /qstash/rotate-token/{id}: | ||||||||||||||||||||||||||||||||||||||
| post: | ||||||||||||||||||||||||||||||||||||||
| summary: Reset QStash Token | ||||||||||||||||||||||||||||||||||||||
| description: | | ||||||||||||||||||||||||||||||||||||||
| Resets the authentication credentials for the QStash user account. | ||||||||||||||||||||||||||||||||||||||
| Resets the authentication credentials for the QStash user account. | ||||||||||||||||||||||||||||||||||||||
| This invalidates the old password and token, and generates new ones. | ||||||||||||||||||||||||||||||||||||||
| Returns the updated user information with new credentials. | ||||||||||||||||||||||||||||||||||||||
| operationId: resetQStashToken | ||||||||||||||||||||||||||||||||||||||
| tags: | ||||||||||||||||||||||||||||||||||||||
| - qstash | ||||||||||||||||||||||||||||||||||||||
| parameters: | ||||||||||||||||||||||||||||||||||||||
| - name: id | ||||||||||||||||||||||||||||||||||||||
| in: path | ||||||||||||||||||||||||||||||||||||||
| required: true | ||||||||||||||||||||||||||||||||||||||
| schema: | ||||||||||||||||||||||||||||||||||||||
| type: string | ||||||||||||||||||||||||||||||||||||||
| description: QStash user ID | ||||||||||||||||||||||||||||||||||||||
| responses: | ||||||||||||||||||||||||||||||||||||||
| '200': | ||||||||||||||||||||||||||||||||||||||
| description: Token reset successfully, returns updated user information with new credentials | ||||||||||||||||||||||||||||||||||||||
|
|
@@ -1471,9 +1483,7 @@ paths: | |||||||||||||||||||||||||||||||||||||
| $ref: '#/components/schemas/QStashUser' | ||||||||||||||||||||||||||||||||||||||
| security: | ||||||||||||||||||||||||||||||||||||||
| - basicAuth: [] | ||||||||||||||||||||||||||||||||||||||
| /qstash-upgrade: | ||||||||||||||||||||||||||||||||||||||
| servers: | ||||||||||||||||||||||||||||||||||||||
| - url: https://api.upstash.com | ||||||||||||||||||||||||||||||||||||||
| /qstash/set-plan/{id}: | ||||||||||||||||||||||||||||||||||||||
| post: | ||||||||||||||||||||||||||||||||||||||
| summary: Set QStash Plan | ||||||||||||||||||||||||||||||||||||||
| description: | | ||||||||||||||||||||||||||||||||||||||
|
|
@@ -1482,27 +1492,30 @@ paths: | |||||||||||||||||||||||||||||||||||||
| operationId: setQStashPlan | ||||||||||||||||||||||||||||||||||||||
| tags: | ||||||||||||||||||||||||||||||||||||||
| - qstash | ||||||||||||||||||||||||||||||||||||||
| parameters: | ||||||||||||||||||||||||||||||||||||||
| - name: id | ||||||||||||||||||||||||||||||||||||||
| in: path | ||||||||||||||||||||||||||||||||||||||
| required: true | ||||||||||||||||||||||||||||||||||||||
| schema: | ||||||||||||||||||||||||||||||||||||||
| type: string | ||||||||||||||||||||||||||||||||||||||
| description: QStash user ID | ||||||||||||||||||||||||||||||||||||||
| requestBody: | ||||||||||||||||||||||||||||||||||||||
| required: true | ||||||||||||||||||||||||||||||||||||||
| content: | ||||||||||||||||||||||||||||||||||||||
| application/json: | ||||||||||||||||||||||||||||||||||||||
| schema: | ||||||||||||||||||||||||||||||||||||||
| type: object | ||||||||||||||||||||||||||||||||||||||
| required: | ||||||||||||||||||||||||||||||||||||||
| - customer_id | ||||||||||||||||||||||||||||||||||||||
| - plan_name | ||||||||||||||||||||||||||||||||||||||
| properties: | ||||||||||||||||||||||||||||||||||||||
| customer_id: | ||||||||||||||||||||||||||||||||||||||
| type: string | ||||||||||||||||||||||||||||||||||||||
| description: Customer identifier or team ID | ||||||||||||||||||||||||||||||||||||||
| example: example@upstash.com | ||||||||||||||||||||||||||||||||||||||
| plan_name: | ||||||||||||||||||||||||||||||||||||||
| type: string | ||||||||||||||||||||||||||||||||||||||
| description: Target plan to upgrade to | ||||||||||||||||||||||||||||||||||||||
| enum: | ||||||||||||||||||||||||||||||||||||||
| - paid | ||||||||||||||||||||||||||||||||||||||
| - qstash_enterprise_1m | ||||||||||||||||||||||||||||||||||||||
| - qstash_enterprise_10m | ||||||||||||||||||||||||||||||||||||||
| - qstash_fixed_1m | ||||||||||||||||||||||||||||||||||||||
| - qstash_fixed_10m | ||||||||||||||||||||||||||||||||||||||
| - qstash_fixed_100m | ||||||||||||||||||||||||||||||||||||||
| example: paid | ||||||||||||||||||||||||||||||||||||||
| responses: | ||||||||||||||||||||||||||||||||||||||
| "200": | ||||||||||||||||||||||||||||||||||||||
|
|
@@ -1514,16 +1527,22 @@ paths: | |||||||||||||||||||||||||||||||||||||
| example: "OK" | ||||||||||||||||||||||||||||||||||||||
| security: | ||||||||||||||||||||||||||||||||||||||
| - basicAuth: [] | ||||||||||||||||||||||||||||||||||||||
| /qstash/stats: | ||||||||||||||||||||||||||||||||||||||
| /qstash/stats/{id}: | ||||||||||||||||||||||||||||||||||||||
| get: | ||||||||||||||||||||||||||||||||||||||
| summary: Get QStash Stats | ||||||||||||||||||||||||||||||||||||||
| description: | | ||||||||||||||||||||||||||||||||||||||
| Retrieves detailed usage statistics for the QStash account including | ||||||||||||||||||||||||||||||||||||||
| Retrieves detailed usage statistics for the QStash account including | ||||||||||||||||||||||||||||||||||||||
| daily requests, billing, bandwidth, and workflow metrics over time. | ||||||||||||||||||||||||||||||||||||||
| operationId: getQStashStats | ||||||||||||||||||||||||||||||||||||||
| tags: | ||||||||||||||||||||||||||||||||||||||
| - qstash | ||||||||||||||||||||||||||||||||||||||
| parameters: | ||||||||||||||||||||||||||||||||||||||
| - name: id | ||||||||||||||||||||||||||||||||||||||
| in: path | ||||||||||||||||||||||||||||||||||||||
| required: true | ||||||||||||||||||||||||||||||||||||||
| schema: | ||||||||||||||||||||||||||||||||||||||
| type: string | ||||||||||||||||||||||||||||||||||||||
| description: QStash user ID | ||||||||||||||||||||||||||||||||||||||
| - name: period | ||||||||||||||||||||||||||||||||||||||
| in: query | ||||||||||||||||||||||||||||||||||||||
| required: false | ||||||||||||||||||||||||||||||||||||||
|
|
@@ -1539,9 +1558,9 @@ paths: | |||||||||||||||||||||||||||||||||||||
| - 30d | ||||||||||||||||||||||||||||||||||||||
| default: 1h | ||||||||||||||||||||||||||||||||||||||
| description: | | ||||||||||||||||||||||||||||||||||||||
| Time period for statistics aggregation. Each period returns 60 datapoints | ||||||||||||||||||||||||||||||||||||||
| with intervals adjusted to the period length. | ||||||||||||||||||||||||||||||||||||||
| Time period for statistics aggregation. Each period returns 60 datapoints | ||||||||||||||||||||||||||||||||||||||
| with intervals adjusted to the period length. | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| Exceptionally for 30 days, it returns 240 datapoints with 3-hour intervals for increased granularity. | ||||||||||||||||||||||||||||||||||||||
| example: 3h | ||||||||||||||||||||||||||||||||||||||
| responses: | ||||||||||||||||||||||||||||||||||||||
|
|
@@ -1553,6 +1572,143 @@ paths: | |||||||||||||||||||||||||||||||||||||
| $ref: '#/components/schemas/QStashStats' | ||||||||||||||||||||||||||||||||||||||
| security: | ||||||||||||||||||||||||||||||||||||||
| - basicAuth: [] | ||||||||||||||||||||||||||||||||||||||
| /qstash/ipv4: | ||||||||||||||||||||||||||||||||||||||
| get: | ||||||||||||||||||||||||||||||||||||||
| summary: Get QStash IPv4 Addresses | ||||||||||||||||||||||||||||||||||||||
| description: Returns the list of IPv4 addresses used by QStash for sending requests. | ||||||||||||||||||||||||||||||||||||||
| operationId: getQStashIPv4 | ||||||||||||||||||||||||||||||||||||||
| tags: | ||||||||||||||||||||||||||||||||||||||
| - qstash | ||||||||||||||||||||||||||||||||||||||
| responses: | ||||||||||||||||||||||||||||||||||||||
| '200': | ||||||||||||||||||||||||||||||||||||||
| description: List of IPv4 CIDR blocks | ||||||||||||||||||||||||||||||||||||||
| content: | ||||||||||||||||||||||||||||||||||||||
| application/json: | ||||||||||||||||||||||||||||||||||||||
| schema: | ||||||||||||||||||||||||||||||||||||||
| type: array | ||||||||||||||||||||||||||||||||||||||
| items: | ||||||||||||||||||||||||||||||||||||||
| type: string | ||||||||||||||||||||||||||||||||||||||
| example: ["3.125.136.186/32", "18.198.95.233/32"] | ||||||||||||||||||||||||||||||||||||||
| /qstash/move-to-team: | ||||||||||||||||||||||||||||||||||||||
| post: | ||||||||||||||||||||||||||||||||||||||
| summary: Move QStash to Team | ||||||||||||||||||||||||||||||||||||||
| description: Moves a QStash instance to a different team. | ||||||||||||||||||||||||||||||||||||||
| operationId: moveQStashToTeam | ||||||||||||||||||||||||||||||||||||||
| tags: | ||||||||||||||||||||||||||||||||||||||
| - qstash | ||||||||||||||||||||||||||||||||||||||
| requestBody: | ||||||||||||||||||||||||||||||||||||||
| required: true | ||||||||||||||||||||||||||||||||||||||
| content: | ||||||||||||||||||||||||||||||||||||||
| application/json: | ||||||||||||||||||||||||||||||||||||||
| schema: | ||||||||||||||||||||||||||||||||||||||
| type: object | ||||||||||||||||||||||||||||||||||||||
| required: | ||||||||||||||||||||||||||||||||||||||
| - 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 | ||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+1606
to
+1614
|
||||||||||||||||||||||||||||||||||||||
| - 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 |
Copilot
AI
Mar 5, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/qstash/ipv4is missing thesecurity: - 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.