{ "swagger": "2.0", "info": { "description": "Public API for the OpenEventDatabase project", "version": "0.0.1", "title": "OpenEventDatabase", "contact": { "name": "OpenEventDatabase API Team" }, "license": { "name": "AGPL", "url": "http://www.gnu.org/licenses/" } }, "host": "api.openeventdatabase.org", "basePath": "/", "tags": [ { "name": "Statistics", "description": "Operations about API statistics" }, { "name": "Events", "description": "Operations about events" } ], "schemes": [ "https" ], "paths": { "/event": { "get": { "tags": [ "Events" ], "consumes": [], "produces": [ "application/json" ], "parameters": [ { "name": "what", "in": "query", "description": "Event hierarchical keyword search", "required": false, "type": "string", "x-example": "weather.alert.wind" }, { "name": "when", "in": "query", "description": "Event time search", "required": false, "type": "string", "format": "date", "x-example": "2016-05-01 12:00:00+00" }, { "name": "start", "in": "query", "description": "Event time range search (stop is required)", "required": false, "type": "string", "format": "date", "x-example": "2016-05-01 12:00:00+00" }, { "name": "stop", "in": "query", "description": "Event time range search (start is required)", "required": false, "type": "string", "format": "date", "x-example": "2016-05-01 12:00:00+00" }, { "name": "bbox", "in": "query", "description": "Event geographic bounding box search (East, South, West, North)", "required": false, "type": "string", "x-example": "-3.0,45.0,9.0,52.0" }, { "name": "near", "in": "query", "description": "Event search by distance (long, lat, optional distance in meters)", "required": false, "type": "string", "x-example": "2.5,48.8,500" } ], "responses": { "200": { "description": "List of event as geojson FeatureCollection", "schema": { "type": "array", "items": { "$ref": "#/definitions/Event" } } } } }, "post": { "tags": [ "Events" ], "summary": "Create a new event", "description": "Create a new event", "operationId": "placeOrder", "consumes": [ "application/json" ], "produces": [], "parameters": [ { "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/Event" } } ], "responses": { "200": { "description": "Success" }, "400": { "description": "Error 400" }, "500": { "description": "Internal Server Error 500" }, } } }, "/event/{id}": { "get": { "tags": [ "Events" ], "summary": "Get details about a single event", "description": "Get details about a single event", "operationId": "getOrderById", "consumes": [], "produces": [ "application/json" ], "parameters": [ { "name": "id", "in": "path", "description": "Id of event", "required": true, "type": "string" } ], "responses": { "200": { "description": "Success", "schema": { "$ref": "#/definitions/Event" } }, "400": { "description": "Error 400" }, "404": { "description": "Error 404" }, "500": { "description": "Internal Server Error 500" }, } } }, "/stats": { "get": { "tags": [ "Statistics" ], "consumes": [], "produces": [], "parameters": [], "responses": { "200": { "description": "OK" } } } } }, "definitions": { "EventGeometry": { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "description": "Geometry type: Point" }, "coordinates": { "description": "Geometry coordinates (longitude; latitude)", "type": "array", "items": { "type": "number", "format": "float", "maxItems": 2, "minItems": 2 } } } }, "EventProperties": { "type": "object", "required": [ "id", "type", "what" ], "properties": { "createdate": { "type": "string", "format": "date", "description": "Event creation timestamp" }, "id": { "type": "string", "description": "Event UUID" }, "label": { "type": "string", "description": "Event label" }, "lastupdate": { "type": "string", "format": "date", "description": "Event last modification timestamp" }, "lat": { "type": "number", "description": "Event location latitude" }, "lon": { "type": "number", "description": "Event location longitude" }, "source": { "type": "string", "description": "Event source" }, "start": { "type": "string", "format": "date", "description": "Event start timestamp" }, "stop": { "type": "string", "format": "date", "description": "Event stop timestamp" }, "type": { "type": "string", "description": "Event type", "enum": ["scheduled", "forecast", "unscheduled"] }, "what": { "type": "string", "description": "Event hierarchical keyword based description" }, "when": { "type": "string", "format": "date", "description": "Event timestamp" } } }, "Event": { "type": "object", "required": [ "geometry", "properties", "type" ], "properties": { "geometry": { "$ref": "#/definitions/EventGeometry" }, "properties": { "$ref": "#/definitions/EventProperties" }, "type": { "description": "Type of event", "type": "string", "enum": ["Feature"] } } } } }