krona-staff/api/openapi.yaml
Ochenstarik b4eb3432ae
Some checks failed
ci / verify (push) Has been cancelled
feat(terminal): add scheduled automatic checkout
2026-09-21 10:00:11 +07:00

84 lines
2.5 KiB
YAML

openapi: 3.1.0
info:
title: Krona Staff API
version: 0.2.5
description: Operational API for the Krona Staff foundation. HR domain endpoints are intentionally absent until owner requirements are approved.
license:
name: Proprietary
url: https://git.ochenstarik.ru/ochenstarik/krona-staff/src/branch/main/LICENSE
servers:
- url: /api/v1/staff
security: []
paths:
/live:
get:
summary: Check process liveness
operationId: getLiveness
tags: [Operations]
responses:
'200':
description: Process is alive
content:
application/json:
schema: { $ref: '#/components/schemas/Health' }
'400': { $ref: '#/components/responses/BadRequest' }
/ready:
get:
summary: Check dependency readiness
operationId: getReadiness
tags: [Operations]
responses:
'200':
description: Required dependencies are ready
content:
application/json:
schema: { $ref: '#/components/schemas/Health' }
'503': { description: A required dependency is unavailable }
'400': { $ref: '#/components/responses/BadRequest' }
/version:
get:
summary: Read runtime build identity
operationId: getVersion
tags: [Operations]
responses:
'200':
description: Runtime build identity
content:
application/json:
schema: { $ref: '#/components/schemas/Version' }
'400': { $ref: '#/components/responses/BadRequest' }
components:
responses:
BadRequest:
description: Invalid request
content:
application/json:
schema: { $ref: '#/components/schemas/Problem' }
schemas:
Ulid:
type: string
pattern: '^[0-9A-HJKMNP-TV-Z]{26}$'
examples: [01J00000000000000000000000]
Health:
type: object
additionalProperties: false
required: [status]
properties:
status: { type: string }
Problem:
type: object
additionalProperties: false
required: [type, title, status, trace_id]
properties:
type: { type: string, format: uri-reference }
title: { type: string }
status: { type: integer, minimum: 400, maximum: 599 }
trace_id: { $ref: '#/components/schemas/Ulid' }
Version:
type: object
additionalProperties: false
required: [name, version, mode]
properties:
name: { const: krona-staff }
version: { type: string }
mode: { enum: [standalone, platform] }