84 lines
2.5 KiB
YAML
84 lines
2.5 KiB
YAML
openapi: 3.1.0
|
|
info:
|
|
title: Krona Staff API
|
|
version: 0.2.4
|
|
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] }
|