{ "openapi": "3.0.0", "servers": [ { "url": "https://apps.gov.bc.ca/pub/geocoder", "description": "Production (public)" }, { "url": "https://geocoder.api.gov.bc.ca/", "description": "Production (gated)" }, { "url": "https://test.apps.gov.bc.ca/pub/geocoder", "description": "Test (public)" }, { "url": "https://geocodertst.api.gov.bc.ca/", "description": "Test (gated)" }, { "url": "https://delivery.apps.gov.bc.ca/pub/geocoder", "description": "Delivery (public)" }, { "url": "https://geocoderdlv.api.gov.bc.ca/", "description": "Delivery (gated)" } ], "info": { "title": "Geocoder REST API", "description": "This API represents address cleaning, correction, completion, geocoding, reverse geocoding, and proximity resources for intersection addresses, physical addresses and their occupants in British Columbia. Two endpoints are provided for this API: one is public (apps.gov.bc.ca/pub/geocoder), the other is restricted (geocoder.api.gov.bc.ca) and requires an API key. For the public endpoint CORS is only enabled for gov.bc.ca, whereas the restricted endpoint allows CORS for all domains. Please read our [data collection notice](https://github.com/bcgov/api-specs/blob/master/COLLECTION_NOTICE.md#collection-notice). Please note that you may experience issues when submitting requests to the delivery or test environment if using this [OpenAPI specification](https://github.com/bcgov/api-specs) in other API console viewers.", "version": "2.0.0", "license": { "name": "Open Government License - British Columbia", "url": "https://www2.gov.bc.ca/gov/content?id=A519A56BC2BF44E4A008B33FCF527F61" }, "termsOfService": "https://www2.gov.bc.ca/gov/content?id=D1EE0A405E584363B205CD4353E02C88", "contact": { "name": "DataBC", "url": "https://data.gov.bc.ca/", "email": "IDDDBCLS@Victoria1.gov.bc.ca" } }, "externalDocs": { "description": "BC Address Geocoder", "url": "https://www2.gov.bc.ca/gov/content?id=118DD57CD9674D57BDBD511C2E78DC0D" }, "tags": [ { "name": "sites" }, { "name": "intersections" }, { "name": "occupants" } ], "security": [ { "apikey": [] } ], "paths": { "/addresses.{outputFormat}": { "get": { "summary": "Geocode an address", "description": "Represents the set of geocoded and standardized sites and intersections whose address best matches a given query address.", "tags": [ "sites", "intersections" ], "parameters": [ { "name": "outputFormat", "in": "path", "description": "Results format. See outputFormat", "required": true, "schema": { "type": "string", "enum": [ "json", "geojson", "xhtml", "kml", "gml", "csv", "shpz" ], "default": "json" }, "example": "json" }, { "name": "addressString", "in": "query", "description": "Civic or intersection address as a single string. See addressString", "required": false, "schema": { "type": "string" }, "example": "525 Superior Street, Victoria, BC" }, { "name": "locationDescriptor", "in": "query", "description": "Describes the nature of the address location. See locationDescriptor", "required": false, "schema": { "type": "string", "enum": [ "any", "accessPoint", "frontDoorPoint", "parcelPoint", "rooftopPoint", "routingPoint" ], "default": "any" } }, { "name": "maxResults", "in": "query", "description": "The maximum number of search results to return.", "required": false, "schema": { "type": "integer", "default": 1 } }, { "name": "interpolation", "in": "query", "description": "accessPoint interpolation method. See interpolation", "required": false, "schema": { "type": "string", "enum": [ "adaptive", "linear", "none" ], "default": "adaptive" } }, { "name": "echo", "in": "query", "description": "If true, include unmatched address details such as site name in results.", "required": false, "schema": { "type": "boolean", "default": true } }, { "name": "brief", "in": "query", "description": "If true, include only basic match and address details in results. Not supported for shp, csv, and gml formats.", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "autoComplete", "in": "query", "description": "If true, addressString is expected to contain a partial address that requires completion. Not supported for shp, csv, gml formats.", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "setBack", "in": "query", "description": "The distance to move the accessPoint away from the curb and towards the inside of the parcel (in metres). Ignored if locationDescriptor not set to accessPoint.", "required": false, "schema": { "type": "integer", "default": 0 } }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS", "required": false, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } }, { "name": "minScore", "in": "query", "description": "The minimum score required for a match to be returned. See minScore", "required": false, "schema": { "type": "integer", "default": 1 } }, { "name": "matchPrecision", "in": "query", "description": "Example: street,locality. A comma separated list of individual match precision levels to include in results. See matchPrecision", "required": false, "schema": { "type": "string" } }, { "name": "matchPrecisionNot", "in": "query", "description": "Example: street,locality. A comma separated list of individual match precision levels to exclude from results. See matchPrecisionNot", "required": false, "schema": { "type": "string" } }, { "name": "siteName", "in": "query", "description": "A string containing the name of the building, facility, or institution (e.g., Duck Building, Casa Del Mar, Crystal Garden, Bluebird House).See siteName", "required": false, "schema": { "type": "string" } }, { "name": "unitDesignator", "in": "query", "description": "The type of unit within a house or building. See unitDesignator", "required": false, "schema": { "type": "string", "enum": [ "APT", "BLDG", "BSMT", "FLR", "LOBBY", "LWR", "PAD", "PH", "REAR", "RM", "SIDE", "SITE", "SUITE", "TH", "UNIT", "UPPR" ] } }, { "name": "unitNumber", "in": "query", "description": "The number of the unit, suite, or apartment within a house or building.", "required": false, "schema": { "type": "string" } }, { "name": "unitNumberSuffix", "in": "query", "description": "A letter that follows the unit number as in Unit 1A or Suite 302B.", "required": false, "schema": { "type": "string" } }, { "name": "civicNumber", "in": "query", "description": "The official number assigned to a site by an address authority. See civicNumber", "required": false, "schema": { "type": "string" } }, { "name": "civicNumberSuffix", "in": "query", "description": "A letter or fraction that follows the civic number (e.g., the A in 1039A Bledsoe St). See civicNumberSuffix", "required": false, "schema": { "type": "string" } }, { "name": "streetName", "in": "query", "description": "The official name of the street as assigned by an address authority (e.g., the Douglas in 1175 Douglas Street). See streetName", "required": false, "schema": { "type": "string" } }, { "name": "streetType", "in": "query", "description": "The type of street as assigned by a municipality (e.g., the ST in 1175 DOUGLAS St). See streetType", "required": false, "schema": { "type": "string" } }, { "name": "streetDirection", "in": "query", "description": "The abbreviated compass direction as defined by Canada Post and B.C. civic addressing authorities. See streetDirection", "required": false, "schema": { "type": "string", "enum": [ "N", "S", "E", "W", "O", "NE", "NO", "NW", "SE", "SO", "SW" ] } }, { "name": "streetQualifier", "in": "query", "description": "Example: the Bridge in Johnson St Bridge. The qualifier of a street name. See streetQualifier", "required": false, "schema": { "type": "string" } }, { "name": "localityName", "in": "query", "description": "The name of the locality assigned to a given site by an address authority. See localityName", "required": false, "schema": { "type": "string" } }, { "name": "provinceCode", "in": "query", "description": "The ISO 3166-2 Sub-Country Code. The code for British Columbia is BC.", "required": false, "schema": { "type": "string", "default": "BC" } }, { "name": "localities", "in": "query", "description": "A comma separated list of locality names that matched addresses must belong to. For example, setting localities to Nanaimo only returns addresses in Nanaimo", "required": false, "schema": { "type": "string" } }, { "name": "notLocalities", "in": "query", "description": "A comma-separated list of localities to exclude from the search.", "required": false, "schema": { "type": "string" } }, { "name": "bbox", "in": "query", "description": "Example: -126.07929,49.7628,-126.0163,49.7907. A bounding box (xmin,ymin,xmax,ymax) that limits the search area. See bbox", "required": false, "schema": { "type": "string" } }, { "name": "centre", "in": "query", "description": "Example: -124.0165926,49.2296251 . The coordinates of a centre point (x,y) used to define a bounding circle that will limit the search area. This parameter must be specified together with 'maxDistance'. See centre", "required": false, "schema": { "type": "string" } }, { "name": "maxDistance", "in": "query", "description": "The maximum distance (in metres) to search from the given point. If not specified, the search distance is unlimited.", "required": false, "schema": { "type": "number" } }, { "name": "extrapolate", "in": "query", "description": "If true, uses supplied parcelPoint to derive an appropriate accessPoint. See extrapolate", "required": false, "schema": { "type": "boolean" } }, { "name": "parcelPoint", "in": "query", "description": "The coordinates of a point (x,y) known to be inside the parcel containing a given address. See parcelPoint", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "A list of matching sites or intersections and their physical locations. See addresses response" } } } }, "/occupants/addresses.{outputFormat}": { "get": { "summary": "Geocode an address and identify site occupants", "description": "Represents the set of occupants whose addresses best match a given query address. Every occupant has an associated site which has a standardized address and a coordinate location on the Earth.", "tags": [ "occupants" ], "parameters": [ { "name": "outputFormat", "in": "path", "description": "Results format. See outputFormat", "required": true, "schema": { "type": "string", "enum": [ "json", "geojson", "xhtml", "kml", "gml", "csv", "shpz" ], "default": "json" }, "example": "json" }, { "name": "addressString", "in": "query", "description": "Occupant name followed by a frontGate delimiter ('--') followed by an optional address", "required": false, "schema": { "type": "string" }, "example": "Redfish Elementary --" }, { "name": "tags", "in": "query", "description": "Example: schools;courts;employment
A list of tags separated by semicolons.", "required": false, "schema": { "type": "string" } }, { "name": "locationDescriptor", "in": "query", "description": "Describes the nature of the address location. See locationDescriptor", "required": false, "schema": { "type": "string", "enum": [ "any", "accessPoint", "frontDoorPoint", "parcelPoint", "rooftopPoint", "routingPoint" ], "default": "any" } }, { "name": "maxResults", "in": "query", "description": "The maximum number of search results to return.", "required": false, "schema": { "type": "integer", "default": 1 } }, { "name": "interpolation", "in": "query", "description": "accessPoint interpolation method. See interpolation", "required": false, "schema": { "type": "string", "enum": [ "adaptive", "linear", "none" ], "default": "adaptive" } }, { "name": "echo", "in": "query", "description": "If true, include unmatched address details such as site name in results.", "schema": { "type": "boolean", "default": false } }, { "name": "brief", "in": "query", "description": "If true, include only basic match and address details in results. Not supported for shp, csv, and gml formats.", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "autoComplete", "in": "query", "description": "If true, addressString is expected to contain a partial address that requires completion. Not supported for shp, csv, gml formats.", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "setBack", "in": "query", "description": "The distance to move the accessPoint away from the curb and towards the inside of the parcel (in metres). Ignored if locationDescriptor not set to accessPoint.", "required": false, "schema": { "type": "integer", "default": 0 } }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS", "required": false, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } }, { "name": "minScore", "in": "query", "description": "The minimum score required for a match to be returned. See minScore", "required": false, "schema": { "type": "integer", "default": 1 } }, { "name": "matchPrecision", "in": "query", "description": "Example: street,locality. A comma separated list of individual match precision levels to include in results. See matchPrecision", "required": false, "schema": { "type": "string", "default": "OCCUPANT" } }, { "name": "matchPrecisionNot", "in": "query", "description": "Example: street,locality. A comma separated list of individual match precision levels to exclude from results. See matchPrecisionNot", "required": false, "schema": { "type": "string" } }, { "name": "siteName", "in": "query", "description": "A string containing the name of the building, facility, or institution (e.g., Duck Building, Casa Del Mar, Crystal Garden, Bluebird House).See siteName", "required": false, "schema": { "type": "string" } }, { "name": "unitDesignator", "in": "query", "description": "The type of unit within a house or building. See unitDesignator", "required": false, "schema": { "type": "string", "enum": [ "APT", "BLDG", "BSMT", "FLR", "LOBBY", "LWR", "PAD", "PH", "REAR", "RM", "SIDE", "SITE", "SUITE", "TH", "UNIT", "UPPR" ] } }, { "name": "unitNumber", "in": "query", "description": "The number of the unit, suite, or apartment within a house or building.", "required": false, "schema": { "type": "string" } }, { "name": "unitNumberSuffix", "in": "query", "description": "A letter that follows the unit number as in Unit 1A or Suite 302B.", "required": false, "schema": { "type": "string" } }, { "name": "civicNumber", "in": "query", "description": "The official number assigned to a site by an address authority. See civicNumber", "required": false, "schema": { "type": "string" } }, { "name": "civicNumberSuffix", "in": "query", "description": "A letter or fraction that follows the civic number (e.g., the A in 1039A Bledsoe St). See civicNumberSuffix", "required": false, "schema": { "type": "string" } }, { "name": "streetName", "in": "query", "description": "The official name of the street as assigned by an address authority (e.g., the Douglas in 1175 Douglas Street). See streetName", "required": false, "schema": { "type": "string" } }, { "name": "streetType", "in": "query", "description": "The type of street as assigned by a municipality (e.g., the ST in 1175 DOUGLAS St). See streetType", "required": false, "schema": { "type": "string" } }, { "name": "streetDirection", "in": "query", "description": "The abbreviated compass direction as defined by Canada Post and B.C. civic addressing authorities. See streetDirection", "required": false, "schema": { "type": "string", "enum": [ "N", "S", "E", "W", "O", "NE", "NO", "NW", "SE", "SO", "SW" ] } }, { "name": "streetQualifier", "in": "query", "description": "The qualifier of a street name (e.g., the Bridge in Johnson St Bridge)", "required": false, "schema": { "type": "string" } }, { "name": "localityName", "in": "query", "description": "The name of the locality assigned to a given site by an address authority. See streetDirection", "required": false, "schema": { "type": "string" } }, { "name": "provinceCode", "in": "query", "description": "The ISO 3166-2 Sub-Country Code. The code for British Columbia is BC.", "required": false, "schema": { "type": "string", "default": "BC" } }, { "name": "localities", "in": "query", "description": "A comma separated list of locality names that matched addresses must belong to. For example, setting localities to Nanaimo only returns addresses in Nanaimo", "required": false, "schema": { "type": "string" } }, { "name": "notLocalities", "in": "query", "description": "A comma-separated list of localities to exclude from the search.", "required": false, "schema": { "type": "string" } }, { "name": "bbox", "in": "query", "description": "Example: -126.07929,49.7628,-126.0163,49.7907. A bounding box (xmin,ymin,xmax,ymax) that limits the search area. See bbox", "required": false, "schema": { "type": "string" } }, { "name": "centre", "in": "query", "description": "Example: -124.0165926,49.2296251 . The coordinates of a centre point (x,y) used to define a bounding circle that will limit the search area. This parameter must be specified together with 'maxDistance'. See centre", "required": false, "schema": { "type": "string" } }, { "name": "maxDistance", "in": "query", "description": "The maximum distance (in metres) to search from the given point. If not specified, the search distance is unlimited.", "required": false, "schema": { "type": "number" } }, { "name": "extrapolate", "in": "query", "description": "If true, uses supplied parcelPoint to derive an appropriate accessPoint. See extrapolate", "required": false, "schema": { "type": "boolean" } }, { "name": "parcelPoint", "in": "query", "description": "The coordinates of a point (x,y) known to be inside the parcel containing a given address. See parcelPoint", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "A list of matching occupants, sites, and their physical locations. Response document will contain one About Query Representation and one Site Address Representation plus Occupant Representation for each matching occupant." } } } }, "/sites/nearest.{outputFormat}": { "get": { "summary": "Find the site nearest to a geographic point", "description": "Represents the site nearest a given point", "tags": [ "sites" ], "parameters": [ { "name": "outputFormat", "in": "path", "description": "Results format. See outputFormat", "required": true, "schema": { "type": "string", "enum": [ "json", "geojson", "xhtml", "kml", "gml", "csv", "shpz" ], "default": "json" }, "example": "json" }, { "name": "point", "in": "query", "description": "Centre point of search. See point", "required": true, "schema": { "type": "string" }, "example": "-122.377,50.121" }, { "name": "maxDistance", "in": "query", "description": "The maximum distance (in metres) to search from the given point. If not specified, the search distance is unlimited.", "required": false, "schema": { "type": "integer" } }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS", "required": false, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } }, { "name": "locationDescriptor", "in": "query", "description": "Describes the nature of the address location. See locationDescriptor", "required": false, "schema": { "type": "string", "enum": [ "any", "accessPoint", "frontDoorPoint", "parcelPoint", "rooftopPoint", "routingPoint" ], "default": "any" } }, { "name": "setBack", "in": "query", "description": "The distance to move the accessPoint away from the curb and towards the inside of the parcel (in metres). Ignored if locationDescriptor not set to accessPoint.", "required": false, "schema": { "type": "integer", "default": 0 } }, { "name": "brief", "in": "query", "description": "If true, include only basic match and address details in results. Not supported for shp, csv, and gml formats.", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "excludeUnits", "in": "query", "description": "If true, excludes sites that are units of a parent site", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "onlyCivic", "in": "query", "description": "If true, excludes sites without a civic address", "required": false, "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "The nearest site in Site Address Representation" } } } }, "/occupants/nearest.{outputFormat}": { "get": { "summary": "Find occupants of the site nearest to a geographic point", "description": "Represents the closest occupant to a given point", "tags": [ "occupants" ], "parameters": [ { "name": "outputFormat", "in": "path", "description": "Results format. See outputFormat", "required": true, "schema": { "type": "string", "enum": [ "json", "geojson", "xhtml", "kml", "gml", "csv", "shpz" ], "default": "json" }, "example": "json" }, { "name": "point", "in": "query", "description": "The point (x,y) from which the nearest site will be identified. The coordinates must be specified in the same SRS as given by the 'outputSRS' parameter.", "required": true, "schema": { "type": "string" }, "example": "-122.377,50.121" }, { "name": "maxDistance", "in": "query", "description": "The maximum distance (in metres) to search from the given point. If not specified, the search distance is unlimited.", "required": false, "schema": { "type": "integer" } }, { "name": "tags", "in": "query", "description": "Example: schools;courts;employment
A list of tags separated by semicolons.", "required": false, "schema": { "type": "string" } }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS", "required": false, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } }, { "name": "locationDescriptor", "in": "query", "description": "Describes the nature of the address location. See locationDescriptor", "required": false, "schema": { "type": "string", "enum": [ "any", "accessPoint", "frontDoorPoint", "parcelPoint", "rooftopPoint", "routingPoint" ], "default": "any" } }, { "name": "brief", "in": "query", "description": "If true, include only basic match and address details in results. Not supported for shp, csv, and gml formats.", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "setBack", "in": "query", "description": "The distance to move the accessPoint away from the curb and towards the inside of the parcel (in metres). Ignored if locationDescriptor not set to accessPoint.", "required": false, "schema": { "type": "integer", "default": 0 } } ], "responses": { "200": { "description": "The nearest occupant in Site Address Representation plus Occupant Representation" } } } }, "/intersections/nearest.{outputFormat}": { "get": { "summary": "Find nearest intersection to a geographic point", "description": "Represents the closest intersection to a given point", "tags": [ "intersections" ], "parameters": [ { "name": "outputFormat", "in": "path", "description": "Results format. See outputFormat", "required": true, "schema": { "type": "string", "enum": [ "json", "geojson", "xhtml", "kml", "gml", "csv", "shpz" ], "default": "json" }, "example": "json" }, { "name": "point", "in": "query", "description": "Example: -122.377,50.121 The point (x,y) from which the nearest site will be identified. The coordinates must be specified in the same SRS as given by the 'outputSRS' parameter.", "required": true, "schema": { "type": "string" }, "example": "-122.377,50.121" }, { "name": "maxDistance", "in": "query", "description": "The maximum distance (in metres) to search from the given point. If not specified, the search distance is unlimited.", "required": false, "schema": { "type": "integer" } }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS", "required": false, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } }, { "name": "minDegree", "in": "query", "description": "The minimum degree an intersection can have to be included in results. A dead-end has a degree of 1.", "required": false, "schema": { "type": "integer", "default": 2 } }, { "name": "maxDegree", "in": "query", "description": "The maximum degree an interesection can have to be included in results. A four-way stop has a degree of 4.", "required": false, "schema": { "type": "integer", "default": 100 } } ], "responses": { "200": { "description": "The nearest intersection in Intersection Address Representation" } } } }, "/sites/near.{outputFormat}": { "get": { "summary": "Find sites near to a geographic point", "description": "Represents sites near a given point in the order of closest to farthest", "tags": [ "sites" ], "parameters": [ { "name": "outputFormat", "in": "path", "description": "Results format. See outputFormat", "required": true, "schema": { "type": "string", "enum": [ "json", "geojson", "xhtml", "kml", "gml", "csv", "shpz" ], "default": "json" }, "example": "json" }, { "name": "point", "in": "query", "description": "The point (x,y) from which the nearby sites will be identified. The coordinates must be specified in the same SRS as given by the 'outputSRS' parameter.", "required": true, "schema": { "type": "string" }, "example": "-122.377,50.121" }, { "name": "maxDistance", "in": "query", "description": "The maximum distance (in metres) to search from the given point. If not specified, the search distance is unlimited.", "required": false, "schema": { "type": "integer" } }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS", "required": false, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } }, { "name": "maxResults", "in": "query", "description": "The maximum number of search results to return.", "required": false, "schema": { "type": "integer", "default": 1 } }, { "name": "locationDescriptor", "in": "query", "description": "Describes the nature of the address location. See locationDescriptor", "required": false, "schema": { "type": "string", "enum": [ "any", "accessPoint", "frontDoorPoint", "parcelPoint", "rooftopPoint", "routingPoint" ], "default": "any" } }, { "name": "setBack", "in": "query", "description": "The distance to move the accessPoint away from the curb and towards the inside of the parcel (in metres). Ignored if locationDescriptor not set to accessPoint.", "required": false, "schema": { "type": "integer", "default": 0 } }, { "name": "brief", "in": "query", "description": "If true, include only basic match and address details in results. Not supported for shp, csv, and gml formats.", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "excludeUnits", "in": "query", "description": "If true, excludes sites that are units of a parent site", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "onlyCivic", "in": "query", "description": "If true, excludes sites without a civic address", "required": false, "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "A list of selected sites that are near a given point in order of closest to farther. Each site in the response document is structured as a Site Address Representation" } } } }, "/occupants/near.{outputFormat}": { "get": { "summary": "Find occupants of sites near to a geographic point", "description": "Represents occupants near a given point in order of closest to farthest", "tags": [ "occupants" ], "parameters": [ { "name": "outputFormat", "in": "path", "description": "Results format. See outputFormat", "required": true, "schema": { "type": "string", "enum": [ "json", "geojson", "xhtml", "kml", "gml", "csv", "shpz" ], "default": "json" }, "example": "json" }, { "name": "point", "in": "query", "description": "The point (x,y) from which the nearest site will be identified. The coordinates must be specified in the same SRS as given by the 'outputSRS' parameter.", "required": true, "schema": { "type": "string" }, "example": "-122.377,50.121" }, { "name": "tags", "in": "query", "description": "Example: schools;courts;employment
A list of tags separated by semicolons.", "required": false, "schema": { "type": "string" } }, { "name": "maxDistance", "in": "query", "description": "The maximum distance (in metres) to search from the given point. If not specified, the search distance is unlimited.", "required": false, "schema": { "type": "integer" } }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS", "required": false, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } }, { "name": "maxResults", "in": "query", "description": "The maximum number of search results to return.", "required": false, "schema": { "type": "integer", "default": 1 } }, { "name": "locationDescriptor", "in": "query", "description": "Describes the nature of the address location. See locationDescriptor", "required": false, "schema": { "type": "string", "enum": [ "any", "accessPoint", "frontDoorPoint", "parcelPoint", "rooftopPoint", "routingPoint" ], "default": "any" } }, { "name": "brief", "in": "query", "description": "If true, include only basic match and address details in results. Not supported for shp, csv, and gml formats.", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "setBack", "in": "query", "description": "The distance to move the accessPoint away from the curb and towards the inside of the parcel (in metres). Ignored if locationDescriptor not set to accessPoint.", "required": false, "schema": { "type": "integer", "default": 0 } } ], "responses": { "200": { "description": "A list of selected occupants that are near a given point in order of closest to farther. Each occupant is returned as a Site Address Representation plus a Occupant Representation" } } } }, "/intersections/near.{outputFormat}": { "get": { "summary": "Find intersections near to a geographic point", "description": "Represents intersections near a given point", "tags": [ "intersections" ], "parameters": [ { "name": "outputFormat", "in": "path", "description": "Results format. See outputFormat", "required": true, "schema": { "type": "string", "enum": [ "json", "geojson", "xhtml", "kml", "gml", "csv", "shpz" ], "default": "json" }, "example": "json" }, { "name": "point", "in": "query", "description": "The point (x,y) from which the nearest site will be identified. The coordinates must be specified in the same SRS as given by the 'outputSRS' parameter.", "required": true, "schema": { "type": "string" }, "example": "-122.377,50.121" }, { "name": "maxDistance", "in": "query", "description": "The maximum distance (in metres) to search from the given point. If not specified, the search distance is unlimited.", "required": false, "schema": { "type": "integer" } }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS", "required": true, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } }, { "name": "maxResults", "in": "query", "description": "The maximum number of search results to return.", "required": false, "schema": { "type": "integer", "default": 1 } }, { "name": "minDegree", "in": "query", "description": "The minimum degree an intersection can have to be included in results. A dead-end has a degree of 1.", "required": false, "schema": { "type": "integer", "default": 2 } }, { "name": "maxDegree", "in": "query", "description": "The maximum degree an interesection can have to be included in results. A four-way stop has a degree of 4.", "required": false, "schema": { "type": "integer", "default": 100 } } ], "responses": { "200": { "description": "A list of selected intersections near a given point. Each intersection is in Intersection Address Representation" } } } }, "/sites/within.{outputFormat}": { "get": { "summary": "Find sites in a geographic area", "description": "Represents sites within a given area", "tags": [ "sites" ], "parameters": [ { "name": "outputFormat", "in": "path", "description": "Results format. See outputFormat", "required": true, "schema": { "type": "string", "enum": [ "json", "geojson", "xhtml", "kml", "gml", "csv", "shpz" ], "default": "json" }, "example": "json" }, { "name": "bbox", "in": "query", "description": "A bounding box (xmin,ymin,xmax,ymax) used to limit the search area. See bbox", "required": true, "schema": { "type": "string" }, "example": "-119.51,49.48,-119.53,49.50" }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS", "required": false, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } }, { "name": "maxResults", "in": "query", "description": "The maximum number of search results to return.", "required": false, "schema": { "type": "integer", "default": 1 } }, { "name": "locationDescriptor", "in": "query", "description": "Describes the nature of the address location. See locationDescriptor", "required": false, "schema": { "type": "string", "enum": [ "any", "accessPoint", "frontDoorPoint", "parcelPoint", "rooftopPoint", "routingPoint" ], "default": "any" } }, { "name": "setBack", "in": "query", "description": "The distance to move the accessPoint away from the curb and towards the inside of the parcel (in metres). Ignored if locationDescriptor not set to accessPoint.", "required": false, "schema": { "type": "integer", "default": 0 } }, { "name": "brief", "in": "query", "description": "If true, include only basic match and address details in results. Not supported for shp, csv, and gml formats.", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "excludeUnits", "in": "query", "description": "If true, excludes sites that are units of a parent site", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "onlyCivic", "in": "query", "description": "If true, excludes sites without a civic address", "required": false, "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "A list of selected sites within a given area. Each site in the response document is structured as a Site Address Representation" } } } }, "/occupants/within.{outputFormat}": { "get": { "summary": "Find occupants of sites in a geographic area", "description": "Represents all occupants within a given area", "tags": [ "occupants" ], "parameters": [ { "name": "outputFormat", "in": "path", "description": "Results format. See outputFormat", "required": true, "schema": { "type": "string", "enum": [ "json", "geojson", "xhtml", "kml", "gml", "csv", "shpz" ], "default": "json" }, "example": "json" }, { "name": "bbox", "in": "query", "description": "A bounding box (xmin,ymin,xmax,ymax) used to limit the search area. See bbox", "required": true, "schema": { "type": "string" }, "example": "-123.14,49.28,-123.13,49.29" }, { "name": "tags", "in": "query", "description": "Example: schools;courts;employment
A list of tags separated by semicolons.", "required": false, "schema": { "type": "string" } }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS", "required": false, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } }, { "name": "maxResults", "in": "query", "description": "The maximum number of search results to return.", "required": false, "schema": { "type": "integer", "default": 200 } }, { "name": "locationDescriptor", "in": "query", "description": "Describes the nature of the address location. See locationDescriptor", "required": false, "schema": { "type": "string", "enum": [ "any", "accessPoint", "frontDoorPoint", "parcelPoint", "rooftopPoint", "routingPoint" ], "default": "any" } }, { "name": "brief", "in": "query", "description": "If true, include only basic match and address details in results. Not supported for shp, csv, and gml formats.", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "setBack", "in": "query", "description": "The distance to move the accessPoint away from the curb and towards the inside of the parcel (in metres). Ignored if locationDescriptor not set to accessPoint.", "required": false, "schema": { "type": "integer", "default": 0 } } ], "responses": { "200": { "description": "A list of selected occupants within the given area. Each occupant is returned in a Site Address Representation plus Occupant Representation" } } } }, "/intersections/within.{outputFormat}": { "get": { "summary": "Find intersections in a geographic area", "description": "Represents all intersections within a given area", "tags": [ "intersections" ], "parameters": [ { "name": "outputFormat", "in": "path", "description": "Results format. See outputFormat", "required": true, "schema": { "type": "string", "enum": [ "json", "geojson", "xhtml", "kml", "gml", "csv", "shpz" ], "default": "json" }, "example": "json" }, { "name": "bbox", "in": "query", "description": "A bounding box (xmin,ymin,xmax,ymax) used to limit the search area. See bbox", "required": true, "schema": { "type": "string" }, "example": "-119.51,49.48,-119.53,49.50" }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS", "required": false, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } }, { "name": "maxResults", "in": "query", "description": "The maximum number of search results", "required": false, "schema": { "type": "integer", "default": 200 } }, { "name": "minDegree", "in": "query", "description": "The minimum degree an intersection can have to be included in results. A dead-end has a degree of 1.", "required": false, "schema": { "type": "integer", "default": 2 } }, { "name": "maxDegree", "in": "query", "description": "The maximum degree an interesection can have to be included in results. A four-way stop has a degree of 4.", "required": false, "schema": { "type": "integer", "default": 100 } } ], "responses": { "200": { "description": "A list of selected intersections within the given area. Each intersection is in Each intersection is in Intersection Address Representation" } } } }, "/sites/{siteID}/subsites.{outputFormat}": { "get": { "summary": "Represents all subsites of a given site", "description": "Represents all subsites of a given site", "tags": [ "sites" ], "parameters": [ { "name": "siteID", "in": "path", "description": "A unique, but not immutable, site identifier.", "required": true, "schema": { "type": "string" } }, { "name": "outputFormat", "in": "path", "description": "Results format. See outputFormat", "required": true, "schema": { "type": "string", "enum": [ "json", "geojson", "xhtml", "kml", "gml", "csv", "shpz" ], "default": "json" } }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS", "required": false, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } }, { "name": "locationDescriptor", "in": "query", "description": "Describes the nature of the address location. See locationDescriptor", "required": false, "schema": { "type": "string", "enum": [ "any", "accessPoint", "frontDoorPoint", "parcelPoint", "rooftopPoint", "routingPoint" ], "default": "any" } }, { "name": "brief", "in": "query", "description": "If true, include only basic match and address details in results. Not supported for shp, csv, and gml formats.", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "setBack", "in": "query", "description": "The distance to move the accessPoint away from the curb and towards the inside of the parcel (in metres). Ignored if locationDescriptor not set to accessPoint.", "required": false, "schema": { "type": "integer", "default": 0 } } ], "responses": { "200": { "description": "Returns all subsites of a given site in Site Address Representation" } } } }, "/sites/{siteID}.{outputFormat}": { "get": { "summary": "Get a site by its unique ID", "description": "Represents an individual site", "tags": [ "sites" ], "parameters": [ { "name": "siteID", "in": "path", "description": "A unique, but not immutable, site identifier.", "required": true, "schema": { "type": "string" } }, { "name": "outputFormat", "in": "path", "description": "Results format. See outputFormat", "required": true, "schema": { "type": "string", "enum": [ "json", "geojson", "xhtml", "kml", "gml", "csv", "shpz" ], "default": "json" }, "example": "json" }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS", "required": false, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } }, { "name": "locationDescriptor", "in": "query", "description": "Describes the nature of the address location. See locationDescriptor", "required": false, "schema": { "type": "string", "enum": [ "any", "accessPoint", "frontDoorPoint", "parcelPoint", "rooftopPoint", "routingPoint" ], "default": "any" } }, { "name": "brief", "in": "query", "description": "If true, include only basic match and address details in results. Not supported for shp, csv, and gml formats.", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "setBack", "in": "query", "description": "The distance to move the accessPoint away from the curb and towards the inside of the parcel (in metres). Ignored if locationDescriptor not set to accessPoint.", "required": false, "schema": { "type": "integer", "default": 0 } } ], "responses": { "200": { "description": "The site with the requested siteID in Site Address Representation" } } } }, "/occupants/{occupantID}.{outputFormat}": { "get": { "summary": "Get an occupant (of a site) by its unique ID", "description": "Represents an individual occupant", "tags": [ "occupants" ], "parameters": [ { "name": "occupantID", "in": "path", "description": "Occupant identifier", "required": true, "schema": { "type": "string" } }, { "name": "outputFormat", "in": "path", "description": "Results format. See outputFormat", "required": true, "schema": { "type": "string", "enum": [ "json", "geojson", "xhtml", "kml", "gml", "csv", "shpz" ], "default": "json" }, "example": "json" }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS", "required": false, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } }, { "name": "locationDescriptor", "in": "query", "description": "Describes the nature of the address location. See locationDescriptor", "required": false, "schema": { "type": "string", "enum": [ "any", "accessPoint", "frontDoorPoint", "parcelPoint", "rooftopPoint", "routingPoint" ], "default": "any" } }, { "name": "brief", "in": "query", "description": "If true, include only basic match and address details in results. Not supported for shp, csv, and gml formats.", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "setBack", "in": "query", "description": "The distance to move the accessPoint away from the curb and towards the inside of the parcel (in metres). Ignored if locationDescriptor not set to accessPoint.", "required": false, "schema": { "type": "integer", "default": 0 } } ], "responses": { "200": { "description": "The occupant with the requested occupantID in Site Address Representation plus Occupant Representation" } } } }, "/intersections/{intersectionID}.{outputFormat}": { "get": { "summary": "Get an intersection by its unique ID", "description": "Represents a individual intersection", "tags": [ "intersections" ], "parameters": [ { "name": "intersectionID", "in": "path", "description": "A unique intersection identifier", "required": true, "schema": { "type": "string" } }, { "name": "outputFormat", "in": "path", "description": "Results format. See outputFormat", "required": true, "schema": { "type": "string", "enum": [ "json", "geojson", "xhtml", "kml", "gml", "csv", "shpz" ], "default": "json" }, "example": "json" }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS", "required": false, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } } ], "responses": { "200": { "description": "The Intersection with the requested intersectionID in Intersection Address Representation" } } } } }, "components": { "schemas": {}, "securitySchemes": { "apikey": { "type": "apiKey", "in": "header", "name": "apikey" } } } }