{"openapi":"3.0.1","info":{"title":"OpenAPI definition","version":"v0"},"servers":[{"url":"https://cabd-web.azurewebsites.net/cabd-api","description":"Generated server url"}],"paths":{"/features/{id}":{"get":{"tags":["feature-controller"],"summary":"Gets a feature by id.","operationId":"getFeature","parameters":[{"name":"id","in":"path","description":"unique feature identifier","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feature"}},"application/geo+json":{"schema":{"$ref":"#/components/schemas/Feature"}},"text/csv":{"schema":{"$ref":"#/components/schemas/Feature"}},"application/geopackage+sqlite3":{"schema":{"$ref":"#/components/schemas/Feature"}}}}}},"put":{"tags":["feature-controller"],"summary":"Stores feature updates suggested by UI users.","operationId":"putFeature","parameters":[{"name":"id","in":"path","description":"unique feature identifier","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureChangeRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/contacts":{"get":{"tags":["contact-controller"],"operationId":"getContact","parameters":[{"name":"email","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}},"put":{"tags":["contact-controller"],"operationId":"putContact","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Contact"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Contact"}}}}}}},"/community":{"post":{"tags":["community-controller"],"summary":"Uploads json data from community app.","operationId":"postData","requestBody":{"content":{"application/json":{"schema":{"type":"string"}}},"required":true},"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/tiles/{z}/{x}/{y}.{format}":{"get":{"tags":["vector-tile-controller"],"operationId":"getVectorTile","parameters":[{"name":"z","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"x","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"y","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"format","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.mapbox-vector-tile":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}}},"/tiles/{type}/{z}/{x}/{y}.{format}":{"get":{"tags":["vector-tile-controller"],"operationId":"getVectorTile_1","parameters":[{"name":"type","in":"path","required":true,"schema":{"type":"string"}},{"name":"z","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"x","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"y","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"format","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.mapbox-vector-tile":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}}},"/features":{"get":{"tags":["feature-controller"],"summary":"Searches for features of any type.","operationId":"getFeatures","parameters":[{"name":"types","in":"query","description":"A comma delimited list of feature types to search.","required":false,"schema":{"type":"string"}},{"name":"bbox","in":"query","description":"A bounding box in lat/long to search.  Should be of the form: 'xmin,ymin,xmax,ymax'","required":false,"schema":{"type":"string"}},{"name":"point","in":"query","description":"A search point to search for nearest features.  Should be of the form: 'longitude,latitude'. Will be ignored if bbox is provided  ","required":false,"schema":{"type":"string"}},{"name":"max-results","in":"query","description":"The maximum number of search results to return.  Required if point is provided.  If not provided a system defined maximum is used.","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"filter","in":"query","description":"The feature filter.","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Return all feature features that match search parameters as a GeoJson feature collection. Feature will contain a limited set of shared attributes associated with all attribute types.","content":{"application/geo+json":{}}},"400":{"description":"If one of the feature types is not found or the parameters are not in the expected format. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/features/{type}":{"get":{"tags":["feature-controller"],"summary":"Searches for features of a given type.","operationId":"getFeatureByType","parameters":[{"name":"type","in":"path","description":"the feature type to search","required":true,"schema":{"type":"string"}},{"name":"bbox","in":"query","description":"A bounding box in lat/long to search.  Should be of the form: 'xmin,ymin,xmax,ymax'","required":false,"schema":{"type":"string"}},{"name":"point","in":"query","description":"A search point to search for nearest features.  Should be of the form: 'longitude,latitude'. Will be ignored if bbox is provided  ","required":false,"schema":{"type":"string"}},{"name":"max-results","in":"query","description":"The maximum number of search results to return.  Required if point is provided.  If not provided a system defined maximum is used.","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"filter","in":"query","description":"The feature filter.","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"400":{"description":"When one of the parameters is not in a valid format","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"Return all feature features that match search parameters as a GeoJson feature collection. Feature will contain all attributes associated with the given type.","content":{"application/geo+json":{}}},"404":{"description":"Feature type not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/features/{type}/{id}":{"get":{"tags":["feature-controller"],"summary":"Gets a feature by type and id.","operationId":"getFeatureByTypeAndId","parameters":[{"name":"type","in":"path","description":"unique feature identifier","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feature"}},"application/geo+json":{"schema":{"$ref":"#/components/schemas/Feature"}},"text/csv":{"schema":{"$ref":"#/components/schemas/Feature"}},"application/geopackage+sqlite3":{"schema":{"$ref":"#/components/schemas/Feature"}}}}}}},"/features/types/{type}":{"get":{"tags":["feature-type-controller"],"summary":"Finds the schema for a given feature type","operationId":"getFeatureSchema","parameters":[{"name":"type","in":"path","description":"feature type","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The feature types schema as Json.","content":{"application/geo+json":{}}},"404":{"description":"type not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/features/types/":{"get":{"tags":["feature-type-controller"],"summary":"Lists all feature types.","operationId":"getFeatureTypes","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FeatureType"}}}}}}}},"/features/datasources/{id}":{"get":{"tags":["feature-data-source-controller"],"summary":"Find the feature source attribute details for an individual feature","operationId":"getFeatureSourceDetails","parameters":[{"name":"id","in":"path","description":"unique feature identifier","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"fields","in":"query","description":"Identifies what fields to include in the results. 'all' - includes all fields otherwise limited fields are included","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"CSV text representing the attribute source field data.","content":{"text/csv":{}}},"404":{"description":"feature not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/docs":{"get":{"tags":["documentation-controller"],"operationId":"getDocumentation","parameters":[{"name":"options","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"OK","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/community/status/{id}":{"get":{"tags":["community-controller"],"summary":"Gets community data status","operationId":"getRawCommunityDataStatus","parameters":[{"name":"id","in":"path","description":"unique community data identifier","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/community/ghost":{"get":{"tags":["community-controller"],"summary":"Gets community data ghost features","operationId":"getAllGhostFeatures","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimpleFeatureList"}},"application/geo+json":{"schema":{"$ref":"#/components/schemas/SimpleFeatureList"}}}}}}},"/community/ghost/{type}":{"get":{"tags":["community-controller"],"summary":"Gets community data ghost features of specific type","operationId":"getAllGhostFeatures_1","parameters":[{"name":"type","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimpleFeatureList"}},"application/geo+json":{"schema":{"$ref":"#/components/schemas/SimpleFeatureList"}}}}}}},"/clustertile/{z}/{x}/{y}.{format}":{"get":{"tags":["cluster-vector-tile-controller"],"operationId":"getVectorTile_2","parameters":[{"name":"z","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"x","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"y","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"format","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.mapbox-vector-tile":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}}},"/clustertile/{type}/{z}/{x}/{y}.{format}":{"get":{"tags":["cluster-vector-tile-controller"],"operationId":"getVectorTile_3","parameters":[{"name":"type","in":"path","required":true,"schema":{"type":"string"}},{"name":"z","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"x","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"y","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"format","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.mapbox-vector-tile":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}}},"/assessments/{id}":{"get":{"tags":["assessment-controller"],"summary":"Gets a feature by id.","operationId":"getAssessment","parameters":[{"name":"id","in":"path","description":"unique feature identifier","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonNode"}}}}}}},"/assessments/types/{type}":{"get":{"tags":["assessment-controller"],"summary":"Gets the assessment type metadata","operationId":"getTypeMetadata","parameters":[{"name":"type","in":"path","description":"the assessment type to get metadata for","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssessmentType"}}}}}}},"/assessments/types/":{"get":{"tags":["assessment-controller"],"summary":"Gets the assessment types.","operationId":"getTypes","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/assessments/cabd/{cabdid}":{"get":{"tags":["assessment-controller"],"summary":"Gets a feature by type and id.","operationId":"getAssessmentsByCabdId","parameters":[{"name":"cabdid","in":"path","description":"unique feature identifier","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonNode"}}}}}}}},"components":{"schemas":{"FeatureChangeRequest":{"type":"object","properties":{"email":{"type":"string"},"name":{"type":"string"},"organization":{"type":"string"},"description":{"type":"string"},"mailinglist":{"type":"boolean"},"datasource":{"type":"string"}}},"Contact":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"email":{"type":"string"},"name":{"type":"string"},"organization":{"type":"string"},"mailinglist":{"type":"boolean"}}},"ApiError":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"message":{"type":"string"},"statusMessage":{"type":"string"},"statusCode":{"type":"integer","format":"int32"}}},"Coordinate":{"type":"object","properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"},"z":{"type":"number","format":"double"},"coordinate":{"$ref":"#/components/schemas/Coordinate"},"m":{"type":"number","format":"double"}}},"CoordinateSequence":{"type":"object","properties":{"measures":{"type":"integer","format":"int32"},"dimension":{"type":"integer","format":"int32"}}},"CoordinateSequenceFactory":{"type":"object"},"Envelope":{"type":"object","properties":{"null":{"type":"boolean"},"area":{"type":"number","format":"double"},"width":{"type":"number","format":"double"},"height":{"type":"number","format":"double"},"diameter":{"type":"number","format":"double"},"minX":{"type":"number","format":"double"},"minY":{"type":"number","format":"double"},"maxX":{"type":"number","format":"double"},"maxY":{"type":"number","format":"double"}}},"Feature":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"attributes":{"type":"object","additionalProperties":{"type":"object"}},"featureType":{"type":"string"},"linkAttributes":{"type":"object","additionalProperties":{"type":"string"}},"geometry":{"$ref":"#/components/schemas/Geometry"}}},"Geometry":{"type":"object","properties":{"envelope":{"$ref":"#/components/schemas/Geometry"},"factory":{"$ref":"#/components/schemas/GeometryFactory"},"userData":{"type":"object"},"valid":{"type":"boolean"},"length":{"type":"number","format":"double"},"empty":{"type":"boolean"},"area":{"type":"number","format":"double"},"srid":{"type":"integer","format":"int32"},"precisionModel":{"$ref":"#/components/schemas/PrecisionModel"},"geometryType":{"type":"string"},"boundary":{"$ref":"#/components/schemas/Geometry"},"coordinate":{"$ref":"#/components/schemas/Coordinate"},"coordinates":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate"}},"numPoints":{"type":"integer","format":"int32"},"envelopeInternal":{"$ref":"#/components/schemas/Envelope"},"boundaryDimension":{"type":"integer","format":"int32"},"numGeometries":{"type":"integer","format":"int32"},"rectangle":{"type":"boolean"},"centroid":{"$ref":"#/components/schemas/Point"},"interiorPoint":{"$ref":"#/components/schemas/Point"},"simple":{"type":"boolean"},"dimension":{"type":"integer","format":"int32"}}},"GeometryFactory":{"type":"object","properties":{"precisionModel":{"$ref":"#/components/schemas/PrecisionModel"},"coordinateSequenceFactory":{"$ref":"#/components/schemas/CoordinateSequenceFactory"},"srid":{"type":"integer","format":"int32"}}},"Point":{"type":"object","properties":{"envelope":{"$ref":"#/components/schemas/Geometry"},"factory":{"$ref":"#/components/schemas/GeometryFactory"},"userData":{"type":"object"},"coordinates":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate"}},"empty":{"type":"boolean"},"x":{"type":"number","format":"double"},"geometryType":{"type":"string"},"boundary":{"$ref":"#/components/schemas/Geometry"},"coordinate":{"$ref":"#/components/schemas/Coordinate"},"numPoints":{"type":"integer","format":"int32"},"coordinateSequence":{"$ref":"#/components/schemas/CoordinateSequence"},"boundaryDimension":{"type":"integer","format":"int32"},"simple":{"type":"boolean"},"dimension":{"type":"integer","format":"int32"},"y":{"type":"number","format":"double"},"valid":{"type":"boolean"},"length":{"type":"number","format":"double"},"area":{"type":"number","format":"double"},"srid":{"type":"integer","format":"int32"},"precisionModel":{"$ref":"#/components/schemas/PrecisionModel"},"envelopeInternal":{"$ref":"#/components/schemas/Envelope"},"numGeometries":{"type":"integer","format":"int32"},"rectangle":{"type":"boolean"},"centroid":{"$ref":"#/components/schemas/Point"},"interiorPoint":{"$ref":"#/components/schemas/Point"}}},"PrecisionModel":{"type":"object","properties":{"scale":{"type":"number","format":"double"},"floating":{"type":"boolean"},"type":{"$ref":"#/components/schemas/Type"},"offsetX":{"type":"number","format":"double"},"offsetY":{"type":"number","format":"double"},"maximumSignificantDigits":{"type":"integer","format":"int32"}}},"Type":{"type":"object"},"FeatureType":{"type":"object","properties":{"type":{"type":"string"},"dataVersion":{"type":"string"},"description":{"type":"string"},"attributeSourceTable":{"type":"string"},"featureSourceTable":{"type":"string"},"defaultNameField":{"type":"string"},"communityDataTable":{"type":"string"},"communityPhotoFields":{"type":"array","items":{"type":"string"}},"dataUrl":{"type":"string"},"metadataUrl":{"type":"string"},"assessmentSite":{"type":"boolean"},"name":{"type":"string"}}},"SimpleFeatureList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Feature"}},"totalResults":{"type":"integer","format":"int64"}}},"JsonNode":{"type":"object"},"AssessmentType":{"type":"object","properties":{"type":{"type":"string"},"metadataUrl":{"type":"string"},"urls":{"type":"string","writeOnly":true},"name":{"type":"string"}}}}}}