BikeWise API v2
<p>This is an API for accessing information about bicycling related incidents
COMMUNITYNO AUTH0 INSTALLS
OpenAPI Specificationv3.0
{
"openapi": "3.0.0",
"servers": [
{
"url": "https://bikewise.org/api"
}
],
"info": {
"contact": {
"email": "support@bikeindex.org"
},
"description": "<p>This is an API for accessing information about bicycling related incidents. You can find the source code on <a href=\"https://github.com/bikeindex/bikewise\">GitHub</a>.</p>\n",
"title": "BikeWise API v2",
"version": "v2",
"x-apisguru-categories": [
"open_data"
],
"x-logo": {
"url": "https://api.apis.guru/v2/cache/logo/https_www_bikewise_org_fav.png"
},
"x-origin": [
{
"converter": {
"url": "https://github.com/lucybot/api-spec-converter",
"version": "2.7.31"
},
"format": "swagger",
"url": "https://bikewise.org/api/v2/swagger_doc",
"version": "1.2"
}
],
"x-providerName": "bikewise.org"
},
"externalDocs": {
"url": "https://www.bikewise.org/documentation/api_v2"
},
"tags": [
{
"description": "Incidents matching parameters",
"name": "incidents"
},
{
"description": "GeoJSON response for matching incidents",
"name": "locations"
}
],
"paths": {
"/v2/incidents": {
"get": {
"description": "\n<p>If you’d like more detailed information about bike incidents, use this endpoint. For mapping, <code>locations</code> is probably a better bet.</p>\n\n<p><strong>Notes on location searching</strong>: <br />\n- <code>proximity</code> accepts an ip address, an address, zipcode, city, or latitude,longitude - i.e. <code>70.210.133.87</code>, <code>210 NW 11th Ave, Portland, OR</code>, <code>60647</code>, <code>Chicago, IL</code>, and <code>45.521728,-122.67326</code> are all acceptable<br />\n- <code>proximity_square</code> sets the length of the sides of the square to find matches inside of. The square is centered on the location specified by <code>proximity</code>. It defaults to 100.</p>\n",
"operationId": "GET--version-incidents---format-",
"parameters": [
{
"description": "<p>Page of results to fetch.</p>\n",
"in": "query",
"name": "page",
"required": false,
"schema": {
"default": 1,
"format": "int32",
"type": "integer"
}
},
{
"description": "<p>Number of results to return per page.</p>\n",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"format": "int32",
"type": "integer"
}
},
{
"description": "<p>End of period</p>\n",
"in": "query",
"name": "occurred_before",
"required": false,
"schema": {
"format": "int32",
"type": "integer"
}
},
{
"description": "<p>Start of period</p>\n",
"in": "query",
"name": "occurred_after",
"required": false,
"schema": {
"format": "int32",
"type": "integer"
}
},
{
"description": "<p>Only incidents of specific type</p>\n",
"in": "query",
"name": "incident_type",
"required": false,
"schema": {
"enum": [
"crash",
"hazard",
"theft",
"unconfirmed",
"infrastructure_issue",
"chop_shop"
],
"type": "string"
}
},
{
"description": "<p>Center of location for proximity search</p>\n",
"in": "query",
"name": "proximity",
"required": false,
"schema": {
"type": "string"
}
},
{
"description": "<p>Size of the proximity search</p>\n",
"in": "query",
"name": "proximity_square",
"required": false,
"schema": {
"default": 100,
"format": "int32",
"type": "integer"
}
},
{
"description": "<p>Full text search of incidents</p>\n",
"in": "query",
"name": "query",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "No response was specified"
}
},
"summary": "Paginated incidents matching parameters",
"tags": [
"incidents"
]
}
},
"/v2/incidents/{id}": {
"get": {
"operationId": "GET--version-incidents--id---format-",
"parameters": [
{
"description": "<p>Incident ID</p>\n",
"in": "path",
"name": "id",
"required": true,
"schema": {
"format": "int32",
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "No response was specified"
}
},
"tags": [
"incidents"
]
}
},
"/v2/locations": {
"get": {
"description": "<p><strong>This endpoint behaves exactly like</strong> <code>incidents</code>, but returns a valid geojson <code>FeatureCollection</code> that looks like this:</p>\n\n<pre><code>{\n type: \"FeatureCollection\",\n features: [\n {\n type: \"Feature\",\n properties: {\n id: 4474199,\n type: \"Theft\",\n occurred_at: 1428536937\n },\n geometry: {\n type: \"Point\",\n coordinates: [ -122.6244177, 45.5164386 ]\n }\n }\n}\n</code></pre>\n\n<p>It doesn’t paginate. If you pass the <code>all</code> parameter it returns all matches (which can be big, > 4mb), otherwise it returns the 100 most recent.</p>\n\n<p><strong>Go forth and make maps!</strong></p>\n",
"operationId": "GET--version-locations---format-",
"parameters": [
{
"description": "<p>End of period</p>\n",
"in": "query",
"name": "occurred_before",
"required": false,
"schema": {
"format": "int32",
"type": "integer"
}
},
{
"description": "<p>Start of period</p>\n",
"in": "query",
"name": "occurred_after",
"required": false,
"schema": {
"format": "int32",
"type": "integer"
}
},
{
"description": "<p>Only incidents of specific type</p>\n",
"in": "query",
"name": "incident_type",
"required": false,
"schema": {
"enum": [
"crash",
"hazard",
"theft",
"unconfirmed",
"infrastructure_issue",
"chop_shop"
],
"type": "string"
}
},
{
"description": "<p>Center of location for proximity search</p>\n",
"in": "query",
"name": "proximity",
"required": false,
"schema": {
"type": "string"
}
},
{
"description": "<p>Size of the proximity search</p>\n",
"in": "query",
"name": "proximity_square",
"required": false,
"schema": {
"default": 100,
"format": "int32",
"type": "integer"
}
},
{
"description": "<p>Full text search of incidents</p>\n",
"in": "query",
"name": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"description": "<p>Max number of results to return. Defaults to 100</p>\n",
"in": "query",
"name": "limit",
"required": false,
"schema": {
"format": "int32",
"type": "integer"
}
},
{
"description": "<p>Give ‘em all to me. Will ignore limit</p>\n",
"in": "query",
"name": "all",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"description": "No response was specified"
}
},
"summary": "Unpaginated geojson response",
"tags": [
"locations"
]
}
},
"/v2/locations/markers": {
"get": {
"description": "<p>This behaves exactly like the root <code>locations</code> endpoint, but returns <a href=\"https://github.com/mapbox/simplestyle-spec\">simplestyled markers</a> (<a href=\"https://www.mapbox.com/guides/markers/#simple-style\">mapbox styled markers</a>)</p>\n\n<p><strong>Go forth and make maps!</strong></p>\n",
"operationId": "GET--version-locations-markers---format-",
"parameters": [
{
"description": "<p>End of period</p>\n",
"in": "query",
"name": "occurred_before",
"required": false,
"schema": {
"format": "int32",
"type": "integer"
}
},
{
"description": "<p>Start of period</p>\n",
"in": "query",
"name": "occurred_after",
"required": false,
"schema": {
"format": "int32",
"type": "integer"
}
},
{
"description": "<p>Only incidents of specific type</p>\n",
"in": "query",
"name": "incident_type",
"required": false,
"schema": {
"enum": [
"crash",
"hazard",
"theft",
"unconfirmed",
"infrastructure_issue",
"chop_shop"
],
"type": "string"
}
},
{
"description": "<p>Center of location for proximity search</p>\n",
"in": "query",
"name": "proximity",
"required": false,
"schema": {
"type": "string"
}
},
{
"description": "<p>Size of the proximity search</p>\n",
"in": "query",
"name": "proximity_square",
"required": false,
"schema": {
"default": 100,
"format": "int32",
"type": "integer"
}
},
{
"description": "<p>Full text search of incidents</p>\n",
"in": "query",
"name": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"description": "<p>Max number of results to return. Defaults to 100</p>\n",
"in": "query",
"name": "limit",
"required": false,
"schema": {
"format": "int32",
"type": "integer"
}
},
{
"description": "<p>Give ‘em all to me. Will ignore limit</p>\n",
"in": "query",
"name": "all",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"description": "No response was specified"
}
},
"summary": "Unpaginated geojson response with simplestyled markers",
"tags": [
"locations"
]
}
}
}
}