95 lines
2.3 KiB
YAML
95 lines
2.3 KiB
YAML
openapi: 3.1.0
|
|
info:
|
|
title: HTTP Client App Internal API
|
|
version: 0.1.0
|
|
description: Internal REST API contract for the local HTTP Client application.
|
|
servers:
|
|
- url: http://127.0.0.1:32180
|
|
description: Local development server
|
|
paths:
|
|
/api/health:
|
|
get:
|
|
operationId: getHealth
|
|
summary: Check local service health
|
|
tags:
|
|
- system
|
|
responses:
|
|
"200":
|
|
description: Service is healthy.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: "#/components/schemas/ApiEnvelope"
|
|
- type: object
|
|
properties:
|
|
data:
|
|
$ref: "#/components/schemas/HealthData"
|
|
examples:
|
|
healthy:
|
|
value:
|
|
success: true
|
|
data:
|
|
status: ok
|
|
version: 0.1.0
|
|
error: null
|
|
requestId: req_01HZY7R4S7S0Y73ZJ81EF1Z8Y4
|
|
timestamp: "2026-06-06T10:20:30Z"
|
|
components:
|
|
schemas:
|
|
ApiEnvelope:
|
|
type: object
|
|
required:
|
|
- success
|
|
- data
|
|
- error
|
|
- requestId
|
|
- timestamp
|
|
properties:
|
|
success:
|
|
type: boolean
|
|
description: Whether the request completed successfully.
|
|
data:
|
|
description: Response payload. Null when the request failed.
|
|
error:
|
|
oneOf:
|
|
- $ref: "#/components/schemas/ApiError"
|
|
- type: "null"
|
|
requestId:
|
|
type: string
|
|
minLength: 1
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
additionalProperties: false
|
|
ApiError:
|
|
type: object
|
|
required:
|
|
- code
|
|
- message
|
|
properties:
|
|
code:
|
|
type: string
|
|
minLength: 1
|
|
message:
|
|
type: string
|
|
minLength: 1
|
|
details:
|
|
description: Optional structured error details.
|
|
additionalProperties: false
|
|
HealthData:
|
|
type: object
|
|
required:
|
|
- status
|
|
properties:
|
|
status:
|
|
type: string
|
|
enum:
|
|
- ok
|
|
version:
|
|
type: string
|
|
uptimeSeconds:
|
|
type: integer
|
|
minimum: 0
|
|
additionalProperties: false
|