openapi: 3.1.0 info: # Do not change the title, if the title changes, the import paths will be broken title: Api version: 0.1.0 description: API specification servers: - url: /api description: Base API path tags: - name: health description: Health operations - name: contact description: Contact form paths: /contact: post: operationId: sendContactMessage tags: [contact] summary: Send contact form message description: Sends a contact message via email requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/ContactRequest" responses: "200": description: Message sent successfully content: application/json: schema: $ref: "#/components/schemas/ContactResponse" "400": description: Validation error content: application/json: schema: $ref: "#/components/schemas/ContactError" "500": description: Server error content: application/json: schema: $ref: "#/components/schemas/ContactError" /healthz: get: operationId: healthCheck tags: [health] summary: Health check description: Returns server health status responses: "200": description: Healthy content: application/json: schema: $ref: "#/components/schemas/HealthStatus" components: schemas: ContactRequest: type: object properties: name: type: string minLength: 1 maxLength: 100 email: type: string format: email maxLength: 200 subject: type: string maxLength: 200 message: type: string minLength: 1 maxLength: 5000 required: - name - email - message ContactResponse: type: object properties: success: type: boolean message: type: string required: - success - message ContactError: type: object properties: success: type: boolean message: type: string required: - success - message HealthStatus: type: object properties: status: type: string required: - status