303 lines
11 KiB
YAML
303 lines
11 KiB
YAML
# =================================================================
|
|
#
|
|
# Authors: Tom Kralidis <tomkralidis@gmail.com>
|
|
#
|
|
# Copyright (c) 2019 Tom Kralidis
|
|
#
|
|
# Permission is hereby granted, free of charge, to any person
|
|
# obtaining a copy of this software and associated documentation
|
|
# files (the "Software"), to deal in the Software without
|
|
# restriction, including without limitation the rights to use,
|
|
# copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
# copies of the Software, and to permit persons to whom the
|
|
# Software is furnished to do so, subject to the following
|
|
# conditions:
|
|
#
|
|
# The above copyright notice and this permission notice shall be
|
|
# included in all copies or substantial portions of the Software.
|
|
#
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
|
# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
# OTHER DEALINGS IN THE SOFTWARE.
|
|
#
|
|
# =================================================================
|
|
|
|
components:
|
|
parameters:
|
|
f:
|
|
description: The optional f parameter indicates the output format which the
|
|
server shall provide as part of the response document. The default format
|
|
is GeoJSON.
|
|
explode: false
|
|
in: query
|
|
name: f
|
|
required: false
|
|
schema:
|
|
default: json
|
|
enum:
|
|
- json
|
|
- html
|
|
type: string
|
|
style: form
|
|
sortby:
|
|
name: sortby
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: array
|
|
minItems: 1
|
|
items:
|
|
type: string
|
|
pattern: "[+|-][A-Za-z_][A-Za-z_0-9]*"
|
|
explode: false
|
|
style: form
|
|
offset:
|
|
description: The optional offset parameter indicates the index within the
|
|
result set from which the server shall begin presenting results in the response
|
|
document. The first element has an index of 0 (default).
|
|
explode: false
|
|
in: query
|
|
name: offset
|
|
required: false
|
|
schema:
|
|
default: 0
|
|
minimum: 0
|
|
type: integer
|
|
style: form
|
|
responses:
|
|
'200':
|
|
description: successful operation
|
|
default:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: https://raw.githubusercontent.com/opengeospatial/ogcapi-processes/master/core/openapi/schemas/exception.yaml
|
|
description: Unexpected error
|
|
info:
|
|
contact:
|
|
email: you@example.org
|
|
name: Organization Name
|
|
url: https://pygeoapi.io
|
|
description: pygeoapi provides an API to geospatial data
|
|
license:
|
|
name: CC-BY 4.0 license
|
|
url: https://creativecommons.org/licenses/by/4.0/
|
|
termsOfService: None
|
|
title: pygeoapi default instance
|
|
version: 3.0.2
|
|
x-keywords:
|
|
- geospatial
|
|
- data
|
|
- api
|
|
openapi: 3.0.2
|
|
paths:
|
|
/:
|
|
get:
|
|
description: Landing page
|
|
parameters:
|
|
- $ref: '#/components/parameters/f'
|
|
responses:
|
|
'200':
|
|
$ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/LandingPage
|
|
'400':
|
|
$ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/InvalidParameter
|
|
'500':
|
|
$ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
|
|
summary: Landing page
|
|
tags:
|
|
- server
|
|
/openapi:
|
|
get:
|
|
description: This document
|
|
parameters:
|
|
- $ref: '#/components/parameters/f'
|
|
responses:
|
|
'200':
|
|
$ref: '#/components/responses/200'
|
|
'400':
|
|
$ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/InvalidParameter
|
|
default:
|
|
$ref: '#/components/responses/default'
|
|
summary: This document
|
|
tags:
|
|
- server
|
|
/collections:
|
|
get:
|
|
description: Feature Collections
|
|
parameters:
|
|
- $ref: '#/components/parameters/f'
|
|
responses:
|
|
'200':
|
|
$ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/Collections
|
|
'400':
|
|
$ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/InvalidParameter
|
|
'500':
|
|
$ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
|
|
summary: Feature Collections
|
|
tags:
|
|
- server
|
|
/collections/obs:
|
|
get:
|
|
description: My cool observations
|
|
parameters:
|
|
- $ref: '#/components/parameters/f'
|
|
responses:
|
|
'200':
|
|
$ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/Collection
|
|
'400':
|
|
$ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/InvalidParameter
|
|
'404':
|
|
$ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/NotFound
|
|
'500':
|
|
$ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
|
|
summary: Get feature collection metadata
|
|
tags:
|
|
- obs
|
|
/collections/obs/items:
|
|
get:
|
|
description: My cool observations
|
|
parameters:
|
|
- description: The optional f parameter indicates the output format which the
|
|
server shall provide as part of the response document. The default format
|
|
is GeoJSON.
|
|
explode: false
|
|
in: query
|
|
name: f
|
|
required: false
|
|
schema:
|
|
default: json
|
|
enum:
|
|
- json
|
|
- html
|
|
- csv
|
|
type: string
|
|
style: form
|
|
- $ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/parameters/bbox
|
|
- $ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/parameters/limit
|
|
- $ref: '#/components/parameters/sortby'
|
|
- $ref: '#/components/parameters/offset'
|
|
responses:
|
|
'200':
|
|
$ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/Features
|
|
'400':
|
|
$ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/InvalidParameter
|
|
'404':
|
|
$ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/NotFound
|
|
'500':
|
|
$ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
|
|
summary: Get Observations features
|
|
tags:
|
|
- obs
|
|
/collections/obs/items/{featureId}:
|
|
get:
|
|
description: My cool observations
|
|
parameters:
|
|
- $ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/parameters/featureId
|
|
- $ref: '#/components/parameters/f'
|
|
responses:
|
|
'200':
|
|
$ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/Feature
|
|
'400':
|
|
$ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/InvalidParameter
|
|
'404':
|
|
$ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/NotFound
|
|
'500':
|
|
$ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
|
|
summary: Get Observations feature by id
|
|
tags:
|
|
- obs
|
|
/conformance:
|
|
get:
|
|
description: API conformance definition
|
|
parameters:
|
|
- $ref: '#/components/parameters/f'
|
|
responses:
|
|
'200':
|
|
$ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ConformanceDeclaration
|
|
'400':
|
|
$ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/InvalidParameter
|
|
'500':
|
|
$ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
|
|
summary: API conformance definition
|
|
tags:
|
|
- server
|
|
/processes:
|
|
get:
|
|
description: Processes
|
|
parameters:
|
|
- $ref: '#/components/parameters/f'
|
|
responses:
|
|
'200':
|
|
$ref: '#/components/responses/200'
|
|
default:
|
|
$ref: '#/components/responses/default'
|
|
summary: Processes
|
|
tags:
|
|
- server
|
|
/processes/hello-world:
|
|
get:
|
|
description: Hello World process
|
|
parameters:
|
|
- $ref: '#/components/parameters/f'
|
|
responses:
|
|
'200':
|
|
$ref: '#/components/responses/200'
|
|
default:
|
|
$ref: '#/components/responses/default'
|
|
summary: Get process metadata
|
|
tags:
|
|
- hello-world
|
|
/processes/hello-world/jobs:
|
|
get:
|
|
description: Hello World process
|
|
responses:
|
|
'200':
|
|
$ref: '#/components/responses/200'
|
|
default:
|
|
$ref: '#/components/responses/default'
|
|
summary: Retrieve job list for process
|
|
tags:
|
|
- hello-world
|
|
post:
|
|
description: Hello World process
|
|
parameters: []
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
example:
|
|
inputs:
|
|
- id: name
|
|
type: text/plain
|
|
value: hi there
|
|
schema:
|
|
$ref: https://raw.githubusercontent.com/opengeospatial/ogcapi-processes/master/core/openapi/schemas/execute.yaml
|
|
description: Mandatory execute request JSON
|
|
required: true
|
|
responses:
|
|
'200':
|
|
$ref: '#/components/responses/200'
|
|
default:
|
|
$ref: '#/components/responses/default'
|
|
summary: Process Hello World process execution
|
|
tags:
|
|
- hello-world
|
|
servers:
|
|
- description: pygeoapi provides an API to geospatial data
|
|
url: http://localhost:5000/
|
|
tags:
|
|
- description: pygeoapi provides an API to geospatial data
|
|
externalDocs:
|
|
description: information
|
|
url: http://example.org
|
|
name: server
|
|
- description: My cool observations
|
|
name: obs
|
|
- description: Hello World process
|
|
name: hello-world
|
|
|