forked from gsn/predictor
191 lines
No EOL
4.6 KiB
YAML
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 |