{ "openapi": "3.0.0", "servers": [ { "url": "https://apps.gov.bc.ca/pub/bcgnws", "description": "Production" }, { "url": "https://test.apps.gov.bc.ca/pub/bcgnws", "description": "Test" }, { "url": "https://delivery.apps.gov.bc.ca/pub/bcgnws", "description": "Delivery" } ], "info": { "title": "BC Geographical Names Web Service - REST API", "description": "This REST API provides searchable access to information about geographical names in the province of British Columbia, including name status and details about the corresponding geographic feature. \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.", "version": "3.x.x", "license": { "name": "Crown Copyright", "url": "https://www2.gov.bc.ca/gov/content?id=1AAACC9C65754E4D89A118B875E0FBDA" }, "contact": { "name": "BC Geographical Names Office", "email": "geographical.names@gov.bc.ca", "url": "https://www2.gov.bc.ca/gov/content?id=A3C60F17CE934B1ABFA366F28C66E370" } }, "tags": [ { "name": "search" }, { "name": "name" }, { "name": "feature" }, { "name": "feature taxonomy" }, { "name": "name authority" } ], "paths": { "/names/search": { "get": { "summary": "Search by name", "description": "Search for information about geographical names by the text of the name itself. The response will include both official and unofficial names. Various options and filter parameters are available to refine the search.", "tags": [ "search", "name" ], "parameters": [ { "name": "outputFormat", "in": "query", "description": "The format of the output.", "required": true, "schema": { "type": "string", "enum": [ "json", "xml", "kml", "csv" ], "default": "json" }, "example": "json" }, { "name": "name", "in": "query", "description": "A filter to search based on the the text of the name itself. Use the asterisk (*) as a wildcard character. For example 'vancouv*'", "required": true, "schema": { "type": "string" }, "example": "Victoria" }, { "name": "exactSpelling", "in": "query", "description": "If the 'name' parameter is specified, 'exactSpelling' specifies whether to include only names that exactly match the search text (exactSpelling=1), or whether to also include names with similar spellings (exactSpelling=0)", "required": false, "schema": { "type": "integer", "enum": [ 0, 1 ], "default": 0 } }, { "name": "featureClass", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'class' The value of this parameter should be a 'featureClassCode' value returned by the /featureClasses resource, or an asterisk (*) to request that all feature classes be included.", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "featureCategory", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'category' The value of this parameter should be a 'featureCategoryCode' value returned by the /featureCategories resource, or an asterisk (*) to request that all feature categories be included.", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "featureType", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'type' The value of this parameter should be a 'featureTypeCode' value returned by the /featureTypes resource, or an asterisk (*) to request that all feature types be included", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "sortBy", "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": "string", "enum": [ "relevance", "name", "featureType", "decisionDate" ], "default": "relevance" } }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries.", "required": false, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 3857, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } }, { "name": "embed", "in": "query", "description": "A flag to indicate whether to embed the corresponding 'feature' into each matching name", "required": false, "schema": { "type": "integer", "enum": [ 0, 1 ] } }, { "name": "outputStyle", "in": "query", "description": "A flag indicating whether to include with each matching name a succinct list of attributes (summary), or a comprehensive list of attributes (detail)", "required": false, "schema": { "type": "string", "enum": [ "summary", "detail" ], "default": "summary" } }, { "name": "itemsPerPage", "in": "query", "description": "The number of search results to return (1-200)", "required": false, "schema": { "type": "integer", "default": 20 } }, { "name": "startIndex", "in": "query", "description": "The index of the first record to be returned (>= 1)", "required": false, "schema": { "type": "integer", "default": 1 } } ], "responses": { "200": { "description": "A list of names matching the search criteria" }, "400": { "description": "A required parameter is missing or invalid" } } } }, "/names/official/search": { "get": { "summary": "Search by name, limit to official names only", "description": "Search for information about official geographical names by the text of the name itself. Various options and filter parameters are available to refine the search.", "tags": [ "search", "name" ], "parameters": [ { "name": "outputFormat", "in": "query", "description": "The format of the output.", "required": true, "schema": { "type": "string", "enum": [ "json", "xml", "kml", "csv" ], "default": "json" }, "example": "json" }, { "name": "name", "in": "query", "description": "A filter to search based on the the text of the name itself. Use the asterisk (*) as a wildcard character. For example 'vancouv*'", "required": true, "schema": { "type": "string" }, "example": "Victoria" }, { "name": "exactSpelling", "in": "query", "description": "If the 'name' parameter is specified, 'exactSpelling' specifies whether to include only names that exactly match the search text (exactSpelling=1), or whether to also include names with similar spellings (exactSpelling=0)", "required": false, "schema": { "type": "integer", "enum": [ 0, 1 ], "default": 0 } }, { "name": "featureClass", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'class' The value of this parameter should be a 'featureClassCode' value returned by the /featureClasses resource, or an asterisk (*) to request that all feature classes be included.", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "featureCategory", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'category' The value of this parameter should be a 'featureCategoryCode' value returned by the /featureCategories resource, or an asterisk (*) to request that all feature categories be included.", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "featureType", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'type' The value of this parameter should be a 'featureTypeCode' value returned by the /featureTypes resource, or an asterisk (*) to request that all feature types be included", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "sortBy", "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": "string", "enum": [ "relevance", "name", "featureType", "decisionDate" ], "default": "relevance" } }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries.", "required": false, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 3857, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } }, { "name": "embed", "in": "query", "description": "A flag to indicate whether to embed the corresponding 'feature' into each matching name", "required": false, "schema": { "type": "integer", "enum": [ 0, 1 ] } }, { "name": "outputStyle", "in": "query", "description": "A flag indicating whether to include with each matching name a succinct list of attributes (summary), or a comprehensive list of attributes (detail)", "required": false, "schema": { "type": "string", "enum": [ "summary", "detail" ], "default": "summary" } }, { "name": "itemsPerPage", "in": "query", "description": "The number of search results to return (1-200)", "required": false, "schema": { "type": "integer", "default": 20 } }, { "name": "startIndex", "in": "query", "description": "The index of the first record to be returned (>= 1)", "required": false, "schema": { "type": "integer", "default": 1 } } ], "responses": { "200": { "description": "A list of names matching the search criteria" }, "400": { "description": "A required parameter is missing or invalid" } } } }, "/names/notOfficial/search": { "get": { "summary": "Search by name, limit to unofficial names only", "description": "Search for information about unofficial geographical names by the text of the name itself. Various options and filter parameters are available to refine the search.", "tags": [ "search", "name" ], "parameters": [ { "name": "outputFormat", "in": "query", "description": "The format of the output.", "required": true, "schema": { "type": "string", "enum": [ "json", "xml", "kml", "csv" ], "default": "json" }, "example": "json" }, { "name": "name", "in": "query", "description": "A filter to search based on the the text of the name itself. Use the asterisk (*) as a wildcard character. For example 'vancouv*'", "required": true, "schema": { "type": "string" }, "example": "Victoria" }, { "name": "exactSpelling", "in": "query", "description": "If the 'name' parameter is specified, 'exactSpelling' specifies whether to include only names that exactly match the search text (exactSpelling=1), or whether to also include names with similar spellings (exactSpelling=0)", "required": false, "schema": { "type": "integer", "enum": [ 0, 1 ], "default": 0 } }, { "name": "featureClass", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'class' The value of this parameter should be a 'featureClassCode' value returned by the /featureClasses resource, or an asterisk (*) to request that all feature classes be included.", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "featureCategory", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'category' The value of this parameter should be a 'featureCategoryCode' value returned by the /featureCategories resource, or an asterisk (*) to request that all feature categories be included.", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "featureType", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'type' The value of this parameter should be a 'featureTypeCode' value returned by the /featureTypes resource, or an asterisk (*) to request that all feature types be included", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "sortBy", "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": "string", "enum": [ "relevance", "name", "featureType", "decisionDate" ], "default": "relevance" } }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries.", "required": false, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 3857, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } }, { "name": "embed", "in": "query", "description": "A flag to indicate whether to embed the corresponding 'feature' into each matching name", "required": false, "schema": { "type": "integer", "enum": [ 0, 1 ] } }, { "name": "outputStyle", "in": "query", "description": "A flag indicating whether to include with each matching name a succinct list of attributes (summary), or a comprehensive list of attributes (detail)", "required": false, "schema": { "type": "string", "enum": [ "summary", "detail" ], "default": "summary" } }, { "name": "itemsPerPage", "in": "query", "description": "The number of search results to return (1-200)", "required": false, "schema": { "type": "integer", "default": 20 } }, { "name": "startIndex", "in": "query", "description": "The index of the first record to be returned (>= 1)", "required": false, "schema": { "type": "integer", "default": 1 } } ], "responses": { "200": { "description": "A list of names matching the search criteria" }, "400": { "description": "A required parameter is missing or invalid" } } } }, "/names/inside": { "get": { "summary": "Search in a geographic area", "description": "Search for information about geographical names that correspond to features within a geographic bounding box. Various options and filter parameters are available to refine the search.", "tags": [ "search", "name" ], "parameters": [ { "name": "outputFormat", "in": "query", "description": "The format of the output.", "required": true, "schema": { "type": "string", "enum": [ "json", "xml", "kml", "csv" ], "default": "json" }, "example": "json" }, { "name": "bbox", "in": "query", "description": "A geographic bounding box defining the search area. Must be specified as a string of the form 'minLongitude,minLatitude,maxLongitude,maxLatitude' (WGS84). e.g. -119,49,-118,50", "required": true, "schema": { "type": "string" }, "example": "-119,49,-118,50" }, { "name": "featureClass", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'class' The value of this parameter should be a 'featureClassCode' value returned by the /featureClasses resource, or an asterisk (*) to request that all feature classes be included.", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "featureCategory", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'category' The value of this parameter should be a 'featureCategoryCode' value returned by the /featureCategories resource, or an asterisk (*) to request that all feature categories be included.", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "featureType", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'type' The value of this parameter should be a 'featureTypeCode' value returned by the /featureTypes resource, or an asterisk (*) to request that all feature types be included", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "sortBy", "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": "string", "enum": [ "name", "featureType", "decisionDate" ], "default": "name" } }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries.", "required": false, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 3857, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } }, { "name": "embed", "in": "query", "description": "A flag to indicate whether to embed the corresponding 'feature' into each matching name", "required": false, "schema": { "type": "integer", "enum": [ 0, 1 ] } }, { "name": "outputStyle", "in": "query", "description": "A flag indicating whether to include with each matching name a succinct list of attributes (summary), or a comprehensive list of attributes (detail)", "required": false, "schema": { "type": "string", "enum": [ "summary", "detail" ], "default": "summary" } }, { "name": "itemsPerPage", "in": "query", "description": "The number of search results to return (1-200)", "required": false, "schema": { "type": "integer", "default": 20 } }, { "name": "startIndex", "in": "query", "description": "The index of the first record to be returned (>= 1)", "required": false, "schema": { "type": "integer", "default": 1 } } ], "responses": { "200": { "description": "A list of names matching the search criteria" }, "400": { "description": "A required parameter is missing or invalid" } } } }, "/names/near": { "get": { "summary": "Search near to a geographic point", "description": "Search for information about geographical names that correspond to features within a geographic area defined by a centre point and a radius. Various options and filter parameters are available to refine the search.", "tags": [ "search", "name" ], "parameters": [ { "name": "outputFormat", "in": "query", "description": "The format of the output.", "required": true, "schema": { "type": "string", "enum": [ "json", "xml", "kml", "csv" ], "default": "json" }, "example": "-119,49,-118,50" }, { "name": "featurePoint", "in": "query", "description": "A geographic coordinate specifying the centre point of the search area. Must be specified as a string of the form 'longitude,latitude' (WGS84). e.g. -120,51", "required": true, "schema": { "type": "string" }, "example": "-120,51" }, { "name": "distance", "in": "query", "description": "A radius (in kilometres) around the centre point.", "required": true, "schema": { "type": "string" } }, { "name": "featureClass", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'class' The value of this parameter should be a 'featureClassCode' value returned by the /featureClasses resource, or an asterisk (*) to request that all feature classes be included.", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "featureCategory", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'category' The value of this parameter should be a 'featureCategoryCode' value returned by the /featureCategories resource, or an asterisk (*) to request that all feature categories be included.", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "featureType", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'type' The value of this parameter should be a 'featureTypeCode' value returned by the /featureTypes resource, or an asterisk (*) to request that all feature types be included", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "sortBy", "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": "string", "enum": [ "name", "featureType", "decisionDate" ], "default": "name" } }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries.", "required": false, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 3857, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } }, { "name": "embed", "in": "query", "description": "A flag to indicate whether to embed the corresponding 'feature' into each matching name", "required": false, "schema": { "type": "integer", "enum": [ 0, 1 ] } }, { "name": "outputStyle", "in": "query", "description": "A flag indicating whether to include with each matching name a succinct list of attributes (summary), or a comprehensive list of attributes (detail)", "required": false, "schema": { "type": "string", "enum": [ "summary", "detail" ], "default": "summary" } }, { "name": "itemsPerPage", "in": "query", "description": "The number of search results to return (1-200)", "required": false, "schema": { "type": "integer", "default": 20 } }, { "name": "startIndex", "in": "query", "description": "The index of the first record to be returned (>= 1)", "required": false, "schema": { "type": "integer", "default": 1 } } ], "responses": { "200": { "description": "A list of names matching the search criteria" }, "400": { "description": "A required parameter is missing or invalid" } } } }, "/names/decisions/recent": { "get": { "summary": "Search for names affected by recent naming decision", "description": "Search for information about geographical names affected by naming 'decisions' made by the BC Geographical Names Office (naming authority) within the last X days.", "tags": [ "search", "name" ], "parameters": [ { "name": "outputFormat", "in": "query", "description": "The format of the output.", "required": true, "schema": { "type": "string", "enum": [ "json", "xml", "kml", "csv" ], "default": "json" }, "example": "json" }, { "name": "days", "in": "query", "description": "The number of days used to define the time window of naming decisions to search. The number is interpreted as searching for 'names affected by decisions within the last X days'.", "required": true, "schema": { "type": "integer", "default": 30 }, "example": "30" }, { "name": "featureClass", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'class' The value of this parameter should be a 'featureClassCode' value returned by the /featureClasses resource, or an asterisk (*) to request that all feature classes be included.", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "featureCategory", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'category' The value of this parameter should be a 'featureCategoryCode' value returned by the /featureCategories resource, or an asterisk (*) to request that all feature categories be included.", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "featureType", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'type' The value of this parameter should be a 'featureTypeCode' value returned by the /featureTypes resource, or an asterisk (*) to request that all feature types be included", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "sortBy", "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": "string", "enum": [ "name", "featureType", "decisionDate" ], "default": "name" } }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries.", "required": false, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 3857, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } }, { "name": "embed", "in": "query", "description": "A flag to indicate whether to embed the corresponding 'feature' into each matching name", "required": false, "schema": { "type": "integer", "enum": [ 0, 1 ] } }, { "name": "outputStyle", "in": "query", "description": "A flag indicating whether to include with each matching name a succinct list of attributes (summary), or a comprehensive list of attributes (detail)", "required": false, "schema": { "type": "string", "enum": [ "summary", "detail" ], "default": "summary" } }, { "name": "itemsPerPage", "in": "query", "description": "The number of search results to return (1-200)", "required": false, "schema": { "type": "integer", "default": 20 } }, { "name": "startIndex", "in": "query", "description": "The index of the first record to be returned (>= 1)", "required": false, "schema": { "type": "integer", "default": 1 } } ], "responses": { "200": { "description": "A list of names matching the search criteria" }, "400": { "description": "A required parameter is missing or invalid" } } } }, "/names/decisions/year": { "get": { "summary": "Search for names affected by naming decisions in a given year", "description": "Search for information about geographical names affected by naming 'decisions' made by the BC Geographical Names Office (naming authority) in a given year.", "tags": [ "search", "name" ], "parameters": [ { "name": "outputFormat", "in": "query", "description": "The format of the output.", "required": true, "schema": { "type": "string", "enum": [ "json", "xml", "kml", "csv" ], "default": "json" }, "example": "json" }, { "name": "year", "in": "query", "description": "The year in which to search for names affected by naming decisions'.", "required": true, "schema": { "type": "integer" }, "example": "2007" }, { "name": "featureClass", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'class' The value of this parameter should be a 'featureClassCode' value returned by the /featureClasses resource, or an asterisk (*) to request that all feature classes be included.", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "featureCategory", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'category' The value of this parameter should be a 'featureCategoryCode' value returned by the /featureCategories resource, or an asterisk (*) to request that all feature categories be included.", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "featureType", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'type' The value of this parameter should be a 'featureTypeCode' value returned by the /featureTypes resource, or an asterisk (*) to request that all feature types be included", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "sortBy", "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": "string", "enum": [ "name", "featureType", "decisionDate" ], "default": "name" } }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries.", "required": false, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 3857, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } }, { "name": "embed", "in": "query", "description": "A flag to indicate whether to embed the corresponding 'feature' into each matching name", "required": false, "schema": { "type": "integer", "enum": [ 0, 1 ] } }, { "name": "outputStyle", "in": "query", "description": "A flag indicating whether to include with each matching name a succinct list of attributes (summary), or a comprehensive list of attributes (detail)", "required": false, "schema": { "type": "string", "enum": [ "summary", "detail" ], "default": "summary" } }, { "name": "itemsPerPage", "in": "query", "description": "The number of search results to return (1-200)", "required": false, "schema": { "type": "integer", "default": 20 } }, { "name": "startIndex", "in": "query", "description": "The index of the first record to be returned (>= 1)", "required": false, "schema": { "type": "integer", "default": 1 } } ], "responses": { "200": { "description": "A list of names matching the search criteria" }, "400": { "description": "A required parameter is missing or invalid" } } } }, "/names/changes": { "get": { "summary": "Search for names with metadata changes in a given period", "description": "Search for information about geographical names which have changed most recently within a specified time window. Changes may include status cupdates and metadata corrections.", "tags": [ "search", "name" ], "parameters": [ { "name": "outputFormat", "in": "query", "description": "The format of the output.", "required": true, "schema": { "type": "string", "enum": [ "json", "xml", "kml", "csv" ], "default": "json" }, "example": "json" }, { "name": "fromDate", "in": "query", "description": "Defines the earliest date (YYYY-MM-DD format) of the change time window for the search", "required": true, "schema": { "type": "integer" }, "example": "2017-01-01" }, { "name": "toDate", "in": "query", "description": "Defines the latest date (YYYY-MM-DD format) of the change time window for the search", "required": true, "schema": { "type": "integer" }, "example": "2017-06-30" }, { "name": "featureClass", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'class' The value of this parameter should be a 'featureClassCode' value returned by the /featureClasses resource, or an asterisk (*) to request that all feature classes be included.", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "featureCategory", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'category' The value of this parameter should be a 'featureCategoryCode' value returned by the /featureCategories resource, or an asterisk (*) to request that all feature categories be included.", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "featureType", "in": "query", "description": "A filter to limit the search to names associated with features of a certain 'type' The value of this parameter should be a 'featureTypeCode' value returned by the /featureTypes resource, or an asterisk (*) to request that all feature types be included", "required": false, "schema": { "type": "string", "default": "*" } }, { "name": "sortBy", "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": "string", "enum": [ "name", "featureType", "decisionDate" ], "default": "name" } }, { "name": "outputSRS", "in": "query", "description": "The EPSG code of the spatial reference system (SRS) to use for output geometries.", "required": false, "schema": { "type": "integer", "enum": [ 4326, 4269, 3005, 3857, 26907, 26908, 26909, 26910, 26911 ], "default": 4326 } }, { "name": "embed", "in": "query", "description": "A flag to indicate whether to embed the corresponding 'feature' into each matching name", "required": false, "schema": { "type": "integer", "enum": [ 0, 1 ] } }, { "name": "outputStyle", "in": "query", "description": "A flag indicating whether to include with each matching name a succinct list of attributes (summary), or a comprehensive list of attributes (detail)", "required": false, "schema": { "type": "string", "enum": [ "summary", "detail" ], "default": "summary" } }, { "name": "itemsPerPage", "in": "query", "description": "The number of search results to return (1-200)", "required": false, "schema": { "type": "integer", "default": 20 } }, { "name": "startIndex", "in": "query", "description": "The index of the first record to be returned (>= 1)", "required": false, "schema": { "type": "integer", "default": 1 } } ], "responses": { "200": { "description": "A list of names matching the search criteria" }, "400": { "description": "A required parameter is missing or invalid" } } } }, "/names/{nameId}.{outputFormat}": { "get": { "summary": "Get a name by its nameId", "description": "Get information about the geographical name with the specified nameId.", "tags": [ "name" ], "parameters": [ { "name": "nameId", "in": "path", "description": "The unique identifier for a name", "required": true, "schema": { "type": "integer" }, "example": 22474 }, { "name": "outputFormat", "in": "path", "description": "The format of the output.", "required": true, "schema": { "type": "string", "enum": [ "json", "xml", "kml", "csv", "html" ], "default": "json" }, "example": "json" } ], "responses": { "200": { "description": "Information about the name with the specified nameId" }, "404": { "description": "The name with the given nameId doesn't exist, or the output format is invalid." } } } }, "/features/{featureId}": { "get": { "summary": "Get a feature by its featureId", "description": "Get information about the geographical feature with the specified featureId.", "tags": [ "feature" ], "parameters": [ { "name": "featureId", "in": "path", "description": "The unique identifier for a feature", "required": true, "schema": { "type": "integer" }, "example": 8879 } ], "responses": { "200": { "description": "Information about the feature with the specified featureId (XML format only)" }, "404": { "description": "The feature with the given featureId doesn't exist" } } } }, "/featureClasses": { "get": { "summary": "Get all feature classes", "description": "Gets a list of all feature classes used by the BC Geographical Names Information System (BCGNIS). Note: there are three levels of classification in the BCGNIS feature taxonomy: classes, categories and types. A type is a subset of a category, and a category is a subset of a class.", "tags": [ "feature taxonomy" ], "parameters": [ { "name": "outputFormat", "in": "query", "description": "The format of the output.", "required": true, "schema": { "type": "string", "enum": [ "json", "xml" ], "default": "json" }, "example": "json" } ], "responses": { "200": { "description": "A list of feature classes" } } } }, "/featureCategories": { "get": { "summary": "Get all feature categories", "description": "Gets a list of all feature categories used by the BC Geographical Names Information System (BCGNIS). Note: there are three levels of classification in the BCGNIS feature taxonomy: classes, categories and types. A type is a subset of a category, and a category is a subset of a class.", "tags": [ "feature taxonomy" ], "parameters": [ { "name": "outputFormat", "in": "query", "description": "The format of the output.", "required": true, "schema": { "type": "string", "enum": [ "json", "xml" ], "default": "json" }, "example": "json" } ], "responses": { "200": { "description": "A list of feature categories" } } } }, "/featureTypes": { "get": { "summary": "Get all feature types", "description": "Gets a list of all feature types used by the BC Geographical Names Information System (BCGNIS). Note: there are three levels of classification in the BCGNIS feature taxonomy: classes, categories and types. A type is a subset of a category, and a category is a subset of a class.", "tags": [ "feature taxonomy" ], "parameters": [ { "name": "outputFormat", "in": "query", "description": "The format of the output.", "required": true, "schema": { "type": "string", "enum": [ "json", "xml" ], "default": "json" }, "example": "json" } ], "responses": { "200": { "description": "A list of feature types" } } } }, "/nameAuthorities": { "get": { "summary": "Get all name authorities", "description": "Gets a list of all name authorities responsible for naming decisions of the geographical names in the BC Geographical Names Information System (BCGNIS)", "tags": [ "name authority" ], "parameters": [ { "name": "outputFormat", "in": "query", "description": "The format of the output.", "required": true, "schema": { "type": "string", "enum": [ "json", "xml" ], "default": "json" }, "example": "json" } ], "responses": { "200": { "description": "A list of name authorities" } } } } }, "components": { "schemas": {} } }