199 lines
4.8 KiB
YAML
199 lines
4.8 KiB
YAML
openapi: 3.0.4
|
|
info:
|
|
title: Predictor API
|
|
version: 0.0.1
|
|
paths:
|
|
/api/v1/prediction:
|
|
get:
|
|
tags:
|
|
- Prediction
|
|
summary: Perform prediction
|
|
operationId: performPrediction
|
|
parameters:
|
|
- in: query
|
|
name: launch_latitude
|
|
required: true
|
|
schema:
|
|
type: number
|
|
- in: query
|
|
name: launch_longitude
|
|
required: true
|
|
schema:
|
|
type: number
|
|
- in: query
|
|
name: launch_datetime
|
|
required: true
|
|
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]
|
|
default: standard_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: dataset
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
responses:
|
|
"200":
|
|
description: Prediction response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PredictionResponse'
|
|
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:
|
|
- error
|
|
properties:
|
|
error:
|
|
type: object
|
|
required:
|
|
- type
|
|
- description
|
|
properties:
|
|
type:
|
|
type: string
|
|
description:
|
|
type: string
|
|
PredictionResponse:
|
|
type: object
|
|
required:
|
|
- prediction
|
|
- metadata
|
|
properties:
|
|
request:
|
|
type: object
|
|
properties:
|
|
dataset:
|
|
type: string
|
|
launch_latitude:
|
|
type: number
|
|
launch_longitude:
|
|
type: number
|
|
launch_datetime:
|
|
type: string
|
|
launch_altitude:
|
|
type: number
|
|
profile:
|
|
type: string
|
|
ascent_rate:
|
|
type: number
|
|
burst_altitude:
|
|
type: number
|
|
descent_rate:
|
|
type: number
|
|
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
|
|
metadata:
|
|
type: object
|
|
required:
|
|
- start_datetime
|
|
- complete_datetime
|
|
properties:
|
|
start_datetime:
|
|
type: string
|
|
format: date-time
|
|
complete_datetime:
|
|
type: string
|
|
format: date-time
|
|
warnings:
|
|
type: object
|
|
additionalProperties: true
|
|
ReadinessResponse:
|
|
type: object
|
|
required:
|
|
- status
|
|
properties:
|
|
status:
|
|
type: string
|
|
enum: [ok, not_ready, error]
|
|
dataset_time:
|
|
type: string
|
|
format: date-time
|
|
error_message:
|
|
type: string
|