predictor/api/rest/predictor.swagger.yml

191 lines
No EOL
4.6 KiB
YAML

openapi: 3.0.4
info:
title: GSN Predictor - OpenAPI 3.0
version: 0.0.1
paths:
/api/v1/prediction:
get:
tags:
- Prediction
summary: Perform prediction
operationId: performPrediction
parameters:
- in: query
name: launch_latitude
schema:
type: number
- in: query
name: launch_longitude
schema:
type: number
- in: query
name: launch_datetime
schema:
type: string
format: date-time
- in: query
name: launch_altitude
schema:
type: number
- in: query
name: profile
schema:
type: string
enum: [standard_profile, float_profile, reverse_profile, custom_profile]
- in: query
name: ascent_rate
schema:
type: number
- in: query
name: burst_altitude
schema:
type: number
- in: query
name: descent_rate
schema:
type: number
- in: query
name: float_altitude
schema:
type: number
- in: query
name: stop_datetime
schema:
type: string
format: date-time
- in: query
name: ascent_curve
schema:
type: string
- in: query
name: descent_curve
schema:
type: string
- in: query
name: simulate_stages
schema:
type: array
items:
type: string
enum: [ascent, descent, float]
- in: query
name: interpolate
schema:
type: boolean
- in: query
name: format
schema:
type: string
enum: [json]
- in: query
name: dataset
schema:
type: string
format: date-time
responses:
"200":
description: "Prediction response"
content:
application/json:
schema:
$ref: '#/components/schemas/PredictionResult'
default:
description: Error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/ready:
get:
tags:
- Health
summary: Readiness check
operationId: readinessCheck
responses:
"200":
description: Readiness status
content:
application/json:
schema:
$ref: '#/components/schemas/ReadinessResponse'
default:
description: Error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
components:
schemas:
Error:
type: object
required:
- message
properties:
message:
type: string
details:
type: string
PredictionResult:
type: object
required:
- metadata
- prediction
properties:
metadata:
type: object
required:
- complete_datetime
- start_datetime
properties:
complete_datetime:
type: string
format: date-time
start_datetime:
type: string
format: date-time
prediction:
type: array
items:
type: object
required:
- stage
- trajectory
properties:
stage:
type: string
enum: ["ascent", "descent", "float"]
trajectory:
type: array
items:
type: object
required:
- datetime
- latitude
- longitude
- altitude
properties:
datetime:
type: string
format: date-time
latitude:
type: number
longitude:
type: number
altitude:
type: number
ReadinessResponse:
type: object
properties:
status:
type: string
enum: [ok, not_ready, error]
last_update:
type: string
format: date-time
is_fresh:
type: boolean
error_message:
type: string
required:
- status