Fixed critical mismatches between the OpenAPI specification and actual API implementation to ensure accurate client expectations and documentation.
- Response Envelope Structure: Updated all response schemas to reflect the actual standardized envelope pattern:
- Success responses:
{ success: true, data: {...}, meta: { timestamp, requestId? } } - Error responses:
{ success: false, error: { code, message, details?, requestId? } }
- Success responses:
- Removed Unimplemented Endpoints: Removed all webhook-related endpoints that are not yet implemented
- Updated Status Codes: Removed 422 status code (implementation uses 400 for validation errors)
- Fixed Response Schemas:
- Created
StreamResponse,StreamListResponse,CancelStreamResponseschemas that wrap data in envelope - Created
HealthResponse,ReadinessResponse,LivenessResponsefor health endpoints - Updated
ErrorResponseschema to match actual error envelope structure
- Created
- Added Health Endpoints: Documented
/health/readyand/health/liveendpoints - Fixed Stream ID Format: Updated documentation to reflect actual format
stream-{timestamp}-{random}
- Added import for
successResponsefrom../utils/response.js - Added imports for validation helpers:
parseBody,formatZodIssues,CreateStreamSchema - Added imports for stream status helpers:
assertValidApiTransition,ApiStreamStatus
- Corrected
errorResponse()function calls to use correct parameter order:(code, message, details?, requestId?) - Fixed
/health/readyendpoint error responses - Fixed
/health/liveendpoint error responses
- Updated all success response assertions to access data via
response.body.datainstead ofresponse.body - Updated POST /api/streams tests to check
response.body.data.id,response.body.data.depositAmount, etc. - Updated GET /api/streams tests to check
response.body.data.streams,response.body.data.has_more, etc. - Maintained error response assertions (already at top level)
- All responses now match the OpenAPI specification
- Standardized envelope pattern is consistently documented
- Error codes and status codes are accurate
- Tests updated to match actual response structure
- #151 Fix OpenAPI spec mismatches vs actual responses/status codes