91 lines
2.2 KiB
YAML
91 lines
2.2 KiB
YAML
openapi: 3.1.0
|
|
info:
|
|
title: Drive v2 API
|
|
version: 0.0.0
|
|
description: >-
|
|
Contract-first API for Drive v2. Phase 0 contains only foundation and
|
|
health operations; product endpoints are added with their implementation.
|
|
servers:
|
|
- url: /
|
|
paths:
|
|
/api/v1/setup/status:
|
|
get:
|
|
security: []
|
|
operationId: getSetupStatus
|
|
summary: Report whether the owner account has been initialized
|
|
responses:
|
|
"200":
|
|
description: Current setup state
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/SetupStatus"
|
|
/health/live:
|
|
get:
|
|
security: []
|
|
operationId: getLiveness
|
|
summary: Report process liveness
|
|
responses:
|
|
"200":
|
|
description: Process is live
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/HealthStatus"
|
|
/health/ready:
|
|
get:
|
|
security: []
|
|
operationId: getReadiness
|
|
summary: Report dependency readiness
|
|
responses:
|
|
"200":
|
|
description: Process is ready
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/HealthStatus"
|
|
"503":
|
|
description: A required dependency is unavailable
|
|
content:
|
|
application/problem+json:
|
|
schema:
|
|
$ref: "#/components/schemas/Problem"
|
|
components:
|
|
schemas:
|
|
SetupStatus:
|
|
type: object
|
|
required: [initialized, phase, version]
|
|
properties:
|
|
initialized:
|
|
type: boolean
|
|
phase:
|
|
type: string
|
|
version:
|
|
type: string
|
|
HealthStatus:
|
|
type: object
|
|
required: [status]
|
|
properties:
|
|
status:
|
|
type: string
|
|
enum: [live, ready]
|
|
Problem:
|
|
type: object
|
|
required: [type, title, status, code]
|
|
properties:
|
|
type:
|
|
type: string
|
|
format: uri-reference
|
|
title:
|
|
type: string
|
|
status:
|
|
type: integer
|
|
minimum: 100
|
|
maximum: 599
|
|
detail:
|
|
type: string
|
|
instance:
|
|
type: string
|
|
format: uri-reference
|
|
code:
|
|
type: string
|