{
"openapi": "3.0.0",
"servers": [
{
"url": "https://geocoder.api.gov.bc.ca/",
"description": "Production (gated)"
},
{
"url": "https://geocodertst.api.gov.bc.ca/",
"description": "Test (gated)"
},
{
"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. Please read our [data collection notice](https://github.com/bcgov/api-specs/blob/master/COLLECTION_NOTICE.md#collection-notice). \n\nPlease 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. \n\n[API keys](https://api.gov.bc.ca/devportal/api-directory/273) are unique and can be acquired with a GitHub or IDIR account. \n\n **Notification:** If you have applications or web pages that link to the BC Address Geocoder you must use the following URL. \n\n *https://geocoder.api.gov.bc.ca* \n\n Please note that the following URLs were deprecated in September 2018 [More Details](https://www2.gov.bc.ca/gov/content?id=103ADC5A956842828554238DEF28D6E5). \n\n - http://apps.gov.bc.ca/pub/geocoder \n - https://apps.gov.bc.ca/pub/geocoder\n \n \n ",
"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": "Contact DataBC",
"url": "https://dpdd.atlassian.net/servicedesk/customer/portal/1/group/7/"
}
},
"externalDocs": {
"description": "BC Address Geocoder",
"url": "https://www2.gov.bc.ca/gov/content?id=118DD57CD9674D57BDBD511C2E78DC0D"
},
"tags": [
{
"name": "sites"
},
{
"name": "intersections"
},
{
"name": "occupants"
},
{
"name": "parcels"
}
],
"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. \n\nNote: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326)",
"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. \n\nNote: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326)",
"required": true,
"schema": {
"type": "string",
"enum": [
"json",
"geojson",
"xhtml",
"kml",
"gml",
"csv",
"shpz"
],
"default": "json"
},
"example": "json"
},
{
"name": "addressString",
"in": "query",
"description": "Occupant name OR Occupant name ** address",
"required": false,
"schema": {
"type": "string"
},
"example": "Sir James Douglas 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. \n\nNote: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326)",
"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. \n\nNote: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326)",
"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. \n\nNote: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326)",
"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. \n\nNote: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326)",
"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. \n\nNote: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326)",
"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. \n\nNote: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326)",
"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. \n\nNote: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326)",
"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. \n\nNote: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326)",
"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. \n\nNote: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326)",
"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. \n\nNote: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326)",
"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. \n\nNote: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326)",
"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. \n\nNote: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326)",
"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"
}
}
}
},
"/parcels/pids/{siteID}.{outputFormat}": {
"get": {
"summary": "Get a comma-separated string of all pids for a given site",
"description": "Represents all parcel identifiers associated with an individual site",
"tags": [
"parcels"
],
"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. \n\nNote: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326)",
"required": true,
"schema": {
"type": "string",
"enum": [
"json",
"geojson",
"xhtml",
"kml",
"gml",
"csv",
"shpz"
],
"default": "json"
},
"example": "json"
}
],
"responses": {
"200": {
"description": "A comma-separated string containing all the parcel identifiers associated with the requested siteID"
}
}
}
},
"/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. \n\nNote: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326)",
"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"
}
}
}
}