docs: add missing OpenAPI annotations for signup/verify, billing/success, billing/webhook
All checks were successful
Build & Deploy to Staging / Build & Deploy to Staging (push) Successful in 16m15s
All checks were successful
Build & Deploy to Staging / Build & Deploy to Staging (push) Successful in 16m15s
This commit is contained in:
parent
427ec8e894
commit
8b31d11e74
15 changed files with 2167 additions and 128 deletions
54
dist/routes/signup.js
vendored
54
dist/routes/signup.js
vendored
|
|
@ -51,6 +51,60 @@ router.post("/free", rejectDuplicateEmail, signupLimiter, async (req, res) => {
|
|||
message: "Check your email for the verification code.",
|
||||
});
|
||||
});
|
||||
/**
|
||||
* @openapi
|
||||
* /v1/signup/verify:
|
||||
* post:
|
||||
* tags: [Account]
|
||||
* summary: Verify email and get API key
|
||||
* description: |
|
||||
* Verifies the 6-digit code sent to the user's email and provisions a free API key.
|
||||
* Rate limited to 15 attempts per 15 minutes.
|
||||
* requestBody:
|
||||
* required: true
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* required: [email, code]
|
||||
* properties:
|
||||
* email:
|
||||
* type: string
|
||||
* format: email
|
||||
* description: Email address used during signup
|
||||
* example: user@example.com
|
||||
* code:
|
||||
* type: string
|
||||
* description: 6-digit verification code from email
|
||||
* example: "123456"
|
||||
* responses:
|
||||
* 200:
|
||||
* description: Email verified, API key issued
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* properties:
|
||||
* status:
|
||||
* type: string
|
||||
* example: verified
|
||||
* message:
|
||||
* type: string
|
||||
* apiKey:
|
||||
* type: string
|
||||
* description: The provisioned API key
|
||||
* tier:
|
||||
* type: string
|
||||
* example: free
|
||||
* 400:
|
||||
* description: Missing fields or invalid verification code
|
||||
* 409:
|
||||
* description: Email already verified
|
||||
* 410:
|
||||
* description: Verification code expired
|
||||
* 429:
|
||||
* description: Too many failed attempts
|
||||
*/
|
||||
// Step 2: Verify code — creates API key
|
||||
router.post("/verify", verifyLimiter, async (req, res) => {
|
||||
const { email, code } = req.body || {};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue