parquet_flask/v1/insitu_query_swagger/insitu-spec-0.0.1.yml (340 lines of code) (raw):

# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. openapi: 3.0.3 info: title: in-situ-data-services description: API for querying in-situ data sources version: 0.0.1 license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html servers: # - url: http://rda-data.ucar.edu:8890/ws/search # - url: http://doms.coaps.fsu.edu/ws/search - url: https://doms.jpl.nasa.gov/insitu/1.0 - url: https://cdms.ucar.edu/insitu/1.0 # - url: https://a106a87ec5ba747c5915cc0ec23c149f-881305611.us-west-2.elb.amazonaws.com/insitu/1.0 # - url: /1.0 description: 'proxied doms.jpl.nasa.gov insitu' paths: '/query_data_doms': get: summary: Query data source tags: - Query parameters: - $ref: '#/components/parameters/startIndexParam' - $ref: '#/components/parameters/itemsPerPageParam' - $ref: '#/components/parameters/providerParam' - $ref: '#/components/parameters/projectParam' - $ref: '#/components/parameters/platformParam' - $ref: '#/components/parameters/startTimeParam' - $ref: '#/components/parameters/endTimeParam' - $ref: '#/components/parameters/minDepthParam' - $ref: '#/components/parameters/maxDepthParam' - $ref: '#/components/parameters/bboxParam' - $ref: '#/components/parameters/variableParam' - $ref: '#/components/parameters/columnsParam' responses: '200': description: 'Successful query' content: application/json: schema: $ref: '#/components/schemas/QueryResponse' default: description: 'Invalid query' '/query_data_doms_custom_pagination': get: summary: Query data source tags: - Query parameters: - $ref: '#/components/parameters/startIndexParam' - $ref: '#/components/parameters/itemsPerPageParam' - $ref: '#/components/parameters/providerParam' - $ref: '#/components/parameters/projectParam' - $ref: '#/components/parameters/platformParam' - $ref: '#/components/parameters/startTimeParam' - $ref: '#/components/parameters/endTimeParam' - $ref: '#/components/parameters/minDepthParam' - $ref: '#/components/parameters/maxDepthParam' - $ref: '#/components/parameters/bboxParam' - $ref: '#/components/parameters/variableParam' - $ref: '#/components/parameters/columnsParam' responses: '200': description: 'Successful query' content: application/json: schema: $ref: '#/components/schemas/QueryResponse' default: description: 'Invalid query' '/cdms_schema': get: summary: get CDMS JSON Schema responses: '200': description: 'Successful query' '404': description: 'File not found' '500': description: 'Other unexpected error' components: schemas: QueryResponse: type: object properties: last: type: string example: 'http://rda-data.ucar.edu:8890/ws/search/icoads?startIndex=928610&endTime=2013-10-31T23%3A59%3A59Z&bbox=-45%2C15%2C-30%2C30&startTime=2012-08-01T00%3A00%3A00Z' description: 'This is not available as query only knows the next page in custom_pagination_query' next: type: string example: 'http://rda-data.ucar.edu:8890/ws/search/icoads?startIndex=10&endTime=2013-10-31T23%3A59%3A59Z&bbox=-45%2C15%2C-30%2C30&startTime=2012-08-01T00%3A00%3A00Z' first: type: string example: 'http://rda-data.ucar.edu:8890/ws/search/icoads?startIndex=0&endTime=2013-10-31T23%3A59%3A59Z&bbox=-45%2C15%2C-30%2C30&startTime=2012-08-01T00%3A00%3A00Z' results: type: array items: $ref: '#/components/schemas/Result' totalResults: type: integer description: 'total number of results. NOte it may only be available on the first page in custom_pagination_query' example: 928618 minimum: 0 startIndex: type: integer example: 0 minimum: 0 itemsPerPage: type: integer example: 10 minimum: 0 Result: type: object properties: id: type: string example: 'A1V2GP' time: type: string format: date-time example: '2012-09-01T07:00:00Z' point: type: string pattern: 'Point\(-?\d{1,2}\.\d{1,2} -?\d{1,2}\.\d{1,2}\)' example: 'Point(-35.90 25.70)' sea_water_temperature: type: number example: 26.9 sea_water_temperature_depth: type: number nullable: true sea_water_temperature_quality: type: integer example: 1 wind_speed: type: number example: 8.2 eastward_wind: type: number example: -7.1 northward_wind: type: number example: -4.1 wind_depth: type: number nullable: true wind_speed_quality: type: integer example: 1 wind_component_quality: type: integer example: 1 sea_water_salinity: type: number nullable: true sea_water_salinity_depth: type: number nullable: true sea_water_salinity_quality: type: integer example: 9 mission: type: integer example: 2 platform: type: integer example: 1 device: type: integer nullable: true metadata: type: object properties: uid: type: string example: 'A1V2GP' rn: type: integer example: 300 dck: type: integer example: 992 sid: type: integer example: 114 pt: type: integer example: 5 si: type: integer example: 3 wi: type: integer example: 4 di: type: integer example: 0 b10: type: integer example: 246 nd: type: integer example: 1 trms: type: string example: '111111' nqcs: type: string example: '11AAA11A118AA1' parameters: providerParam: in: query required: true name: provider description: 'Provider' example: NCAR schema: type: string enum: - 'NCAR' - '__' - 'Florida State University, COAPS' - '__' - 'Saildrone' projectParam: in: query required: true name: project description: 'Project' example: 'ICOADS Release 3.0' schema: type: string enum: - 'ICOADS Release 3.0' - '__' - 'SAMOS' - '__' - '1021_atlantic' - '___' - 'antarctic_circumnavigation_2019' - '___' - 'atlantic_to_med_2019_to_2020' - '___' - 'shark-2018' platformParam: in: query required: true name: platform description: 'Platform ID' example: '41' schema: type: string enum: - '0' - '16' - '17' - '30' - '41' - '42' - '__' - '30' - '__' - '3B' - '___' - '3B' - '___' - '3B' - '___' - '3B' startIndexParam: in: query required: true name: startIndex description: 'Start index of entries in the result; used for pagination' example: 0 schema: type: integer default: 0 itemsPerPageParam: in: query required: true name: itemsPerPage description: 'Number of results per page' example: 1000 schema: default: 1000 type: integer startTimeParam: in: query required: true name: startTime description: 'Start time in the format of YYYY-MM-DDTHH:mm:ssZ' example: '2017-01-01T00:00:00Z' schema: type: string format: date-time endTimeParam: in: query required: true name: endTime description: 'End time in the format of YYYY-MM-DDTHH:mm:ssZ. To have a faster response, start and end time should be in the same month and year' example: '2017-01-31T23:59:59Z' schema: type: string format: date-time minDepthParam: in: query name: minDepth description: 'Minimum depth value in meters' example: -99.99 schema: type: float maxDepthParam: in: query name: maxDepth description: 'Maximum depth value in meters' example: 0.1 schema: type: float bboxParam: in: query required: true name: bbox description: 'Bounding box with coordinates specified in this order: west, south, east, north || min_lon, min_lat, max_lon, max_lat' example: -45,15,-30,30 schema: type: string pattern: '-?\d{1,3},-?\d{1,2},-?\d{1,3},-?\d{1,2}' variableParam: in: query name: variable description: 'one or more variables to filter the results which are not NULL for one or more of those variables' schema: type: string example: relative_humidity columnsParam: in: query name: columns description: 'one or more column names to list only those columns in the result. Project, Platform, Provider, meta, Lat, Long, Time, and Depth are selected by default' schema: type: string example: air_temperature