diff --git a/Makefile b/Makefile
index 7586ae7..113c2ee 100644
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,7 @@ update-specs:
curl -sS --max-time 30 --retry 1 "https://images.biodiversitydata.se/openapi/openapi" --output src/specs/images
curl -sS --max-time 30 --retry 1 "https://logger.biodiversitydata.se/openapi/openapi" --output src/specs/logger
curl -sS --max-time 30 --retry 1 "https://auth.biodiversitydata.se/userdetails/openapi/openapi" --output src/specs/userdetails
- curl -sS --max-time 30 --retry 1 "https://sds.biodiversitydata.se/openapi/openapi" --output src/specs/sds
+ curl -sS --max-time 30 --retry 1 "https://sensitive.biodiversitydata.se/swagger.json" --output src/specs/sensitive
curl -sS --max-time 30 --retry 1 "https://namematching.biodiversitydata.se/openapi.json" --output src/specs/namematching
release:
diff --git a/src/api.html b/src/api.html
index 8a63f49..a49b05a 100644
--- a/src/api.html
+++ b/src/api.html
@@ -53,7 +53,7 @@
{ name: 'Species lists and traits', url:'specs/lists' },
{ name: 'User details', url:'specs/userdetails' },
{ name: 'Spatial', url:'specs/spatial' },
- { name: 'SDS Webapp', url:'specs/sds' },
+ { name: 'Sensitive', url:'specs/sensitive' },
{ name: 'Namematching', url:'specs/namematching' },
],
dom_id: '#swagger-ui',
diff --git a/src/index.html b/src/index.html
index f6d646f..95582ec 100644
--- a/src/index.html
+++ b/src/index.html
@@ -66,8 +66,8 @@
Web service API
Access the SBDI user details platform, such as a total count of users in the system and users by role
Spatial
Services for interacting with SBDI Spatial services
- SDS Webapp
- Services for interacting with Sensitive Data Service (SDS) Webapp
+ Sensitive
+ Services for interacting with Sensitive Data Service
Namematching
Access the SBDI namematching service
diff --git a/src/specs/sds b/src/specs/sds
deleted file mode 100644
index 667a79d..0000000
--- a/src/specs/sds
+++ /dev/null
@@ -1,74 +0,0 @@
-openapi: 3.0.1
-info:
- title: SDS Webapp REST services
- description: REST services for interacting with the SDS Webapp
- termsOfService: https://docs.biodiversitydata.se/sbdi-data/sbdi-atlas-terms-of-use/
- contact:
- name: ""
- email: ""
- license:
- name: Mozilla Public License 1.1
- url: https://www.mozilla.org/en-US/MPL/1.1/
-servers:
-- url: https://sds.biodiversitydata.se
-paths:
- /ws/layers:
- get:
- tags:
- - Layers Lookup
- summary: Get a list of layers that are required by the SDS
- description: Get a list of layers that are required by the SDS
- operationId: Get SDS Layers
- responses:
- default:
- description: default response
- content:
- '*/*':
- schema:
- type: object
- /ws/{scientificName}/location/{latitude}/{longitude}/date/{date}:
- get:
- tags:
- - Species Lookup
- summary: "Lookup Sensitive species data based on species name, date, and location"
- description: "Lookup Sensitive species data based on species name, date, and\
- \ location "
- operationId: SDS Species Lookup
- parameters:
- - name: scientificName
- in: path
- description: Scientific name for species lookup
- required: true
- schema:
- type: string
- - name: latitude
- in: path
- description: Latitude
- required: true
- schema:
- type: string
- - name: longitude
- in: path
- description: Longitude
- required: true
- schema:
- type: string
- - name: date
- in: path
- description: Date
- required: true
- schema:
- type: string
- responses:
- default:
- description: default response
- content:
- '*/*':
- schema:
- type: object
-components:
- securitySchemes:
- sessionCookie:
- type: apiKey
- name: jsessionid
- in: cookie
diff --git a/src/specs/sensitive b/src/specs/sensitive
new file mode 100644
index 0000000..e96f988
--- /dev/null
+++ b/src/specs/sensitive
@@ -0,0 +1,858 @@
+{
+ "swagger" : "2.0",
+ "info" : {
+ "description" : "A sensitive data service that maps taxon, location and date information into ",
+ "version" : "1.2",
+ "title" : "ALA Sensitive Data API",
+ "termsOfService" : "https://docs.biodiversitydata.se/sbdi-data/sbdi-atlas-terms-of-use/",
+ "license" : {
+ "name" : "Mozilla Public Licence 1.1",
+ "url" : "https://www.mozilla.org/en-US/MPL/1.1/"
+ }
+ },
+ "tags" : [ {
+ "name" : "Conservation status management"
+ }, {
+ "name" : "Sensitive data information"
+ } ],
+ "schemes" : [ "http" ],
+ "paths" : {
+ "/api/process" : {
+ "post" : {
+ "tags" : [ "Conservation status management" ],
+ "summary" : "Process occurrence properties for a sensitive species",
+ "description" : "Applies the sensitivity processing rules for a sensitive species to properties from an occurrence record.",
+ "operationId" : "process",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "in" : "body",
+ "name" : "body",
+ "required" : false,
+ "schema" : {
+ "$ref" : "#/definitions/ProcessQuery"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "schema" : {
+ "$ref" : "#/definitions/SensitivityReport"
+ }
+ }
+ }
+ }
+ },
+ "/api/report" : {
+ "get" : {
+ "tags" : [ "Conservation status management" ],
+ "summary" : "Provide a sensitivity report for a taxon/zone combination.",
+ "description" : "This provides a report on whether the combination of taxon/zone/data resource is sensitive or not and the sensitivity instances. The resulting report can be used, in combination with the list of generalisations, to process an occurrence.",
+ "operationId" : "report",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "name" : "scientificName",
+ "in" : "query",
+ "description" : "The scientific name of the taxon",
+ "required" : true,
+ "type" : "string",
+ "x-example" : "Psilotum complanatum"
+ }, {
+ "name" : "taxonId",
+ "in" : "query",
+ "description" : "The taxon identifier",
+ "required" : false,
+ "type" : "string",
+ "x-example" : "https://id.biodiversity.org.au/node/apni/2914286"
+ }, {
+ "name" : "dataResourceUid",
+ "in" : "query",
+ "description" : "The source data resource identifier",
+ "required" : false,
+ "type" : "string",
+ "x-example" : "dr1654"
+ }, {
+ "name" : "stateProvince",
+ "in" : "query",
+ "description" : "The state or province zone identifier",
+ "required" : false,
+ "type" : "string",
+ "x-example" : "NSW"
+ }, {
+ "name" : "country",
+ "in" : "query",
+ "description" : "The country zone identifier",
+ "required" : false,
+ "type" : "string",
+ "x-example" : "AUS"
+ }, {
+ "name" : "zone",
+ "in" : "query",
+ "description" : "The zone identifiers ",
+ "required" : false,
+ "type" : "array",
+ "items" : {
+ "type" : "string"
+ },
+ "collectionFormat" : "multi",
+ "x-example" : "FFEZ"
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "schema" : {
+ "$ref" : "#/definitions/SensitivityReport"
+ }
+ }
+ }
+ },
+ "post" : {
+ "tags" : [ "Conservation status management" ],
+ "summary" : "Provide a sensitivity report for a taxon/zone combination.",
+ "description" : "This provides a report on whether the combination of taxon/zone/data resource is sensitive or not and the sensitivity instances. The resulting report can be used, in combination with the list of generalisations, to process an occurrence.",
+ "operationId" : "report_1",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "in" : "body",
+ "name" : "body",
+ "required" : false,
+ "schema" : {
+ "$ref" : "#/definitions/SensitivityQuery"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "schema" : {
+ "$ref" : "#/definitions/SensitivityReport"
+ }
+ }
+ }
+ }
+ },
+ "/api/generalisations" : {
+ "get" : {
+ "tags" : [ "Conservation status management" ],
+ "summary" : "Get the list of generalisation rules to apply to an occurrence record if the record is sensitive.",
+ "description" : "The list of actions to take. These are rules to apply to fields and use the sensitivity instance to determine parameters, such as distance to generalise.",
+ "operationId" : "getGeneralisations",
+ "produces" : [ "application/json" ],
+ "parameters" : [ ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "schema" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/definitions/Generalisation"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/isSensitive" : {
+ "get" : {
+ "tags" : [ "Conservation status management" ],
+ "summary" : "Check to see if a species is potentially sensitive",
+ "description" : "Search based on a species name or taxon and see whether it is in the list of potentially sensitive species. Sensitive species declarations are based on geography; this method simply indicates whether a species might be classified as sensitive.",
+ "operationId" : "isSensitive",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "name" : "scientificName",
+ "in" : "query",
+ "description" : "The scientific name of the taxon",
+ "required" : true,
+ "type" : "string",
+ "x-example" : "Acacia dealbata"
+ }, {
+ "name" : "taxonId",
+ "in" : "query",
+ "description" : "The taxonomc identifier for the taxon",
+ "required" : false,
+ "type" : "string"
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "schema" : {
+ "type" : "boolean"
+ }
+ }
+ }
+ },
+ "post" : {
+ "tags" : [ "Conservation status management" ],
+ "summary" : "Check to see if a species is potentially sensitive",
+ "description" : "Search based on a species name or taxon and see whether it is in the list of potentially sensitive species. Sensitive species declarations are based on geography; this method simply indicates whether a species might be classified as sensitive.",
+ "operationId" : "isSensitive_1",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "in" : "body",
+ "name" : "body",
+ "required" : false,
+ "schema" : {
+ "$ref" : "#/definitions/SpeciesCheck"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "schema" : {
+ "type" : "boolean"
+ }
+ }
+ }
+ }
+ },
+ "/api/sensitiveDataFields" : {
+ "get" : {
+ "tags" : [ "Conservation status management" ],
+ "summary" : "Get a list of the fields that the SDS service uses and can manipulate, as URIs",
+ "description" : "The list of occurrence, event, location and taxonomy fields that the SDS can alter or fuzz, depending on sensitivity rules.",
+ "operationId" : "getSensitiveDataFields",
+ "produces" : [ "application/json" ],
+ "parameters" : [ ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "schema" : {
+ "type" : "array",
+ "items" : {
+ "type" : "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/ws/categories" : {
+ "get" : {
+ "tags" : [ "Sensitive data information" ],
+ "summary" : "Get the sensitive data categories",
+ "description" : "Each category refers to a regulatory sensitivity category",
+ "operationId" : "getCategories",
+ "produces" : [ "application/json" ],
+ "parameters" : [ ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "schema" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/definitions/SensitivityCategory"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/ws/species" : {
+ "get" : {
+ "tags" : [ "Sensitive data information" ],
+ "summary" : "Get the sensitive data species",
+ "description" : "The list of species that are sensitive, along with the specific zone/category sensitivity instances.",
+ "operationId" : "getSensitive",
+ "produces" : [ "application/json" ],
+ "parameters" : [ ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "schema" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/definitions/SensitiveTaxon"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/ws/layers" : {
+ "get" : {
+ "tags" : [ "Sensitive data information" ],
+ "summary" : "Get the geospatial layers used by the sensitive data service",
+ "description" : "Layers are referenced by id. See getZones for zones linking to layers.",
+ "operationId" : "getLayers",
+ "produces" : [ "application/json" ],
+ "parameters" : [ ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "schema" : {
+ "type" : "array",
+ "items" : {
+ "type" : "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/ws/zones" : {
+ "get" : {
+ "tags" : [ "Sensitive data information" ],
+ "summary" : "Get the sensitive data zones",
+ "description" : "Each zone corresponds to a geospatial region, backed by a layer identifier",
+ "operationId" : "getZones",
+ "produces" : [ "application/json" ],
+ "parameters" : [ ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "schema" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/definitions/SensitivityZone"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions" : {
+ "GeneralisationRule" : {
+ "type" : "object",
+ "required" : [ "generalisation" ],
+ "properties" : {
+ "generalisation" : {
+ "type" : "string",
+ "example" : "10km",
+ "description" : "The generalisation to apply. A string giving a measurable distance or precision Units recognised are metres (m) or kilometres (km) or WITHHOLD to withhold entirely",
+ "readOnly" : true
+ }
+ }
+ },
+ "Message" : {
+ "type" : "object",
+ "properties" : {
+ "type" : {
+ "type" : "string",
+ "description" : "The message type.",
+ "readOnly" : true,
+ "enum" : [ "ERROR", "WARNING", "ALERT", "INFO" ]
+ },
+ "category" : {
+ "type" : "string",
+ "description" : "The message category.",
+ "readOnly" : true
+ },
+ "message" : {
+ "type" : "string",
+ "description" : "The message text.",
+ "readOnly" : true
+ }
+ },
+ "description" : "A validation message."
+ },
+ "SensitiveTaxon" : {
+ "type" : "object",
+ "properties" : {
+ "scientificName" : {
+ "type" : "string",
+ "description" : "The taxon scientific name",
+ "readOnly" : true
+ },
+ "taxonId" : {
+ "type" : "string",
+ "description" : "The taxon identifier",
+ "readOnly" : true
+ },
+ "family" : {
+ "type" : "string",
+ "description" : "The taxon family name",
+ "readOnly" : true
+ },
+ "acceptedName" : {
+ "type" : "string",
+ "description" : "The taxon accepted name, if this is a synonym",
+ "readOnly" : true
+ },
+ "commonName" : {
+ "type" : "string",
+ "description" : "Any common name associated with the taxon",
+ "readOnly" : true
+ },
+ "taxonRank" : {
+ "type" : "string",
+ "description" : "The taxon rank",
+ "readOnly" : true
+ },
+ "instances" : {
+ "type" : "array",
+ "description" : "Sensitivity information associated with this taxon",
+ "readOnly" : true,
+ "items" : {
+ "$ref" : "#/definitions/SensitivityInstance"
+ }
+ }
+ },
+ "description" : "A description of a sensitive taxon."
+ },
+ "SensitivityCategory" : {
+ "type" : "object",
+ "properties" : {
+ "id" : {
+ "type" : "string",
+ "description" : "The sensitivity category identifier",
+ "readOnly" : true
+ },
+ "value" : {
+ "type" : "string",
+ "description" : "A description of the sensitivity category.",
+ "readOnly" : true
+ },
+ "type" : {
+ "type" : "string",
+ "description" : "The type of category",
+ "readOnly" : true,
+ "enum" : [ "CONSERVATION", "PLANT_PEST" ]
+ }
+ },
+ "description" : "A specific sensitivity rule applying to a taxon in a particular zone."
+ },
+ "SensitivityInstance" : {
+ "type" : "object",
+ "required" : [ "type" ],
+ "properties" : {
+ "type" : {
+ "type" : "string",
+ "description" : "The type of sensitivity this instance manages",
+ "readOnly" : true,
+ "enum" : [ "CONSERVATION", "PEST" ]
+ },
+ "category" : {
+ "description" : "The sensitivity category",
+ "readOnly" : true,
+ "$ref" : "#/definitions/SensitivityCategory"
+ },
+ "authority" : {
+ "type" : "string",
+ "description" : "The name/acronym of the authority responsible for designating this instance.",
+ "readOnly" : true
+ },
+ "dataResourceId" : {
+ "type" : "string",
+ "description" : "The data resource that holds the sensitivity information",
+ "readOnly" : true
+ },
+ "zone" : {
+ "description" : "The zone that this sensitivity instance applies to.",
+ "readOnly" : true,
+ "$ref" : "#/definitions/SensitivityZone"
+ },
+ "reason" : {
+ "type" : "string",
+ "description" : "The reason for making this taxon/zone sensitive",
+ "readOnly" : true
+ },
+ "remarks" : {
+ "type" : "string",
+ "description" : "Any additional remarks",
+ "readOnly" : true
+ },
+ "generalisation" : {
+ "description" : "The generalisation to apply to coordinates",
+ "readOnly" : true,
+ "$ref" : "#/definitions/GeneralisationRule"
+ },
+ "fromDate" : {
+ "type" : "string",
+ "format" : "date-time",
+ "description" : "The date this instance applies from",
+ "readOnly" : true
+ },
+ "toDate" : {
+ "type" : "string",
+ "format" : "date-time",
+ "description" : "The date this instance applies to",
+ "readOnly" : true
+ },
+ "transientEvents" : {
+ "type" : "array",
+ "description" : "Any transient events attached to this instance.",
+ "readOnly" : true,
+ "items" : {
+ "$ref" : "#/definitions/TransientEvent"
+ }
+ }
+ },
+ "description" : "A specific sensitivity rule applying to a taxon in a particular zone."
+ },
+ "SensitivityReport" : {
+ "type" : "object",
+ "properties" : {
+ "valid" : {
+ "type" : "boolean",
+ "description" : "Whether the result is valid",
+ "readOnly" : true
+ },
+ "sensitive" : {
+ "type" : "boolean",
+ "description" : "Is this a sensitive occurrence?",
+ "readOnly" : true
+ },
+ "loadable" : {
+ "type" : "boolean",
+ "description" : "Should this occurrence be loaded?",
+ "readOnly" : true
+ },
+ "accessControl" : {
+ "type" : "boolean",
+ "description" : "Should there be access control on this occurrence?",
+ "readOnly" : true
+ },
+ "instances" : {
+ "type" : "array",
+ "description" : "The sensitivity instances that is occurrence has triggered",
+ "readOnly" : true,
+ "items" : {
+ "$ref" : "#/definitions/SensitivityInstance"
+ }
+ },
+ "report" : {
+ "description" : "The validation report for this occurrence",
+ "readOnly" : true,
+ "$ref" : "#/definitions/ValidationReport"
+ },
+ "original" : {
+ "type" : "object",
+ "description" : "Original occurrence properties",
+ "readOnly" : true,
+ "additionalProperties" : {
+ "type" : "object"
+ }
+ },
+ "updated" : {
+ "type" : "object",
+ "description" : "Updated occurrence properties",
+ "readOnly" : true,
+ "additionalProperties" : {
+ "type" : "object"
+ }
+ }
+ },
+ "description" : "The report delivered back from a sensitivty query"
+ },
+ "SensitivityZone" : {
+ "type" : "object",
+ "properties" : {
+ "id" : {
+ "type" : "string",
+ "description" : "The zone identifier",
+ "readOnly" : true
+ },
+ "name" : {
+ "type" : "string",
+ "description" : "The name of the zone.",
+ "readOnly" : true
+ },
+ "layerId" : {
+ "type" : "string",
+ "description" : "The geospatial layer associated with this zone",
+ "readOnly" : true
+ },
+ "type" : {
+ "type" : "string",
+ "description" : "The type of zone",
+ "readOnly" : true,
+ "enum" : [ "COUNTRY", "STATE", "EXTERNAL_TERRITORY", "QUARANTINE_ZONE" ]
+ }
+ },
+ "description" : "A geographical zone, giving boundaries to sensitivity declarations."
+ },
+ "TransientEvent" : {
+ "type" : "object",
+ "required" : [ "eventDate" ],
+ "properties" : {
+ "eventDate" : {
+ "type" : "string",
+ "format" : "date-time",
+ "description" : "The date the event occurred",
+ "readOnly" : true
+ },
+ "zone" : {
+ "description" : "The zone that this event occurred in.",
+ "readOnly" : true,
+ "$ref" : "#/definitions/SensitivityZone"
+ }
+ },
+ "description" : "A transient event in a particular zone."
+ },
+ "ValidationReport" : {
+ "type" : "object",
+ "properties" : {
+ "taxon" : {
+ "description" : "The taxon that this report has been applied to.",
+ "readOnly" : true,
+ "$ref" : "#/definitions/SensitiveTaxon"
+ },
+ "messages" : {
+ "type" : "array",
+ "description" : "A list of messages that apply to this report",
+ "readOnly" : true,
+ "items" : {
+ "$ref" : "#/definitions/Message"
+ }
+ },
+ "category" : {
+ "type" : "string",
+ "description" : "The general category of the report",
+ "readOnly" : true
+ },
+ "assertion" : {
+ "type" : "string",
+ "description" : "A description of what has been discovered about the occurrence",
+ "readOnly" : true
+ }
+ },
+ "description" : "Information about what has been found in terms of sensitivity."
+ },
+ "ProcessQuery" : {
+ "type" : "object",
+ "properties" : {
+ "scientificName" : {
+ "type" : "string",
+ "example" : "Eucalyptus rossii",
+ "description" : "The scientific name",
+ "readOnly" : true,
+ "x-reference" : {
+ "uri" : "http://rs.tdwg.org/dwc/terms/scientificName"
+ }
+ },
+ "taxonId" : {
+ "type" : "string",
+ "example" : "https://id.biodiversity.org.au/node/apni/2900822",
+ "description" : "The taxon identifier",
+ "readOnly" : true,
+ "x-reference" : {
+ "uri" : "http://rs.tdwg.org/dwc/terms/taxonID"
+ }
+ },
+ "dataResourceUid" : {
+ "type" : "string",
+ "example" : "dr1329",
+ "description" : "The data resource identifier",
+ "readOnly" : true,
+ "x-reference" : {
+ "uri" : "http://rs.tdwg.org/dwc/terms/datasetID"
+ }
+ },
+ "stateProvince" : {
+ "type" : "string",
+ "example" : "New South Wales",
+ "description" : "The state or province name",
+ "readOnly" : true,
+ "x-reference" : {
+ "uri" : "http://rs.tdwg.org/dwc/terms/stateProvince"
+ }
+ },
+ "country" : {
+ "type" : "string",
+ "example" : "Australia",
+ "description" : "The country name",
+ "readOnly" : true,
+ "x-reference" : {
+ "uri" : "http://rs.tdwg.org/dwc/terms/country"
+ }
+ },
+ "zones" : {
+ "type" : "array",
+ "example" : "FFEZ",
+ "description" : "The zone identifiers that cover the occurrence record location",
+ "readOnly" : true,
+ "items" : {
+ "type" : "string"
+ }
+ },
+ "properties" : {
+ "type" : "object",
+ "description" : "The occurrence record properties",
+ "readOnly" : true,
+ "additionalProperties" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "The basic information needed to process an occurrence record, including taxon, broad location and source. Additional information from the occurrence record is supplied as a set of properties, keyed by URI, prefixed name or field name -- the non-namespace part of a Darwin Core URI. The result from the query may choose to process the values to meet the sensitivity rules."
+ },
+ "SensitivityQuery" : {
+ "type" : "object",
+ "properties" : {
+ "scientificName" : {
+ "type" : "string",
+ "example" : "Eucalyptus rossii",
+ "description" : "The scientific name",
+ "readOnly" : true,
+ "x-reference" : {
+ "uri" : "http://rs.tdwg.org/dwc/terms/scientificName"
+ }
+ },
+ "taxonId" : {
+ "type" : "string",
+ "example" : "https://id.biodiversity.org.au/node/apni/2900822",
+ "description" : "The taxon identifier",
+ "readOnly" : true,
+ "x-reference" : {
+ "uri" : "http://rs.tdwg.org/dwc/terms/taxonID"
+ }
+ },
+ "dataResourceUid" : {
+ "type" : "string",
+ "example" : "dr1329",
+ "description" : "The data resource identifier",
+ "readOnly" : true,
+ "x-reference" : {
+ "uri" : "http://rs.tdwg.org/dwc/terms/datasetID"
+ }
+ },
+ "stateProvince" : {
+ "type" : "string",
+ "example" : "New South Wales",
+ "description" : "The state or province name",
+ "readOnly" : true,
+ "x-reference" : {
+ "uri" : "http://rs.tdwg.org/dwc/terms/stateProvince"
+ }
+ },
+ "country" : {
+ "type" : "string",
+ "example" : "Australia",
+ "description" : "The country name",
+ "readOnly" : true,
+ "x-reference" : {
+ "uri" : "http://rs.tdwg.org/dwc/terms/country"
+ }
+ },
+ "zones" : {
+ "type" : "array",
+ "example" : "FFEZ",
+ "description" : "The zone identifiers that cover the occurrence record location",
+ "readOnly" : true,
+ "items" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "The basic information needed to process an occurrence record, including taxon, broad location and source. "
+ },
+ "ClearGeneralisation" : {
+ "allOf" : [ {
+ "$ref" : "#/definitions/Generalisation"
+ }, {
+ "type" : "object",
+ "properties" : {
+ "field" : {
+ "readOnly" : true,
+ "$ref" : "#/definitions/FieldAccessor"
+ }
+ },
+ "description" : "Clear a field, if it has a value"
+ } ]
+ },
+ "FieldAccessor" : {
+ "type" : "object",
+ "properties" : {
+ "field" : {
+ "$ref" : "#/definitions/Term"
+ }
+ }
+ },
+ "Generalisation" : {
+ "type" : "object",
+ "discriminator" : "action",
+ "description" : "A description of a generalisation that can be applied to parts of the occurrence record. Each generalisation type is given by the 'action' property, which corresponds to a class of actions that can be used for generalisation."
+ },
+ "LatLongGeneralisation" : {
+ "allOf" : [ {
+ "$ref" : "#/definitions/Generalisation"
+ }, {
+ "type" : "object",
+ "properties" : {
+ "latitudeField" : {
+ "readOnly" : true,
+ "$ref" : "#/definitions/FieldAccessor"
+ },
+ "longitudeField" : {
+ "readOnly" : true,
+ "$ref" : "#/definitions/FieldAccessor"
+ }
+ },
+ "description" : "Generalise a latitude/longitude accordinng to the accuracy specified in a sensitivity instance."
+ } ]
+ },
+ "MessageGeneralisation" : {
+ "allOf" : [ {
+ "$ref" : "#/definitions/Generalisation"
+ }, {
+ "type" : "object",
+ "properties" : {
+ "field" : {
+ "readOnly" : true,
+ "$ref" : "#/definitions/FieldAccessor"
+ },
+ "message" : {
+ "type" : "string",
+ "readOnly" : true
+ },
+ "append" : {
+ "type" : "boolean",
+ "readOnly" : true
+ },
+ "trigger" : {
+ "type" : "string",
+ "readOnly" : true,
+ "enum" : [ "ANY", "GENERALISE", "WITHHOLD" ]
+ }
+ },
+ "description" : "Set or append a message to a text field."
+ } ]
+ },
+ "RetainGeneralisation" : {
+ "allOf" : [ {
+ "$ref" : "#/definitions/Generalisation"
+ }, {
+ "type" : "object",
+ "properties" : {
+ "field" : {
+ "readOnly" : true,
+ "$ref" : "#/definitions/FieldAccessor"
+ }
+ },
+ "description" : "Retain a field, keeping its original value."
+ } ]
+ },
+ "Term" : {
+ "type" : "object",
+ "properties" : {
+ "class" : {
+ "type" : "boolean"
+ }
+ }
+ },
+ "SpeciesCheck" : {
+ "type" : "object",
+ "properties" : {
+ "scientificName" : {
+ "type" : "string",
+ "example" : "Eucalyptus rossii",
+ "description" : "The scientific name",
+ "readOnly" : true,
+ "x-reference" : {
+ "uri" : "http://rs.tdwg.org/dwc/terms/scientificName"
+ }
+ },
+ "taxonId" : {
+ "type" : "string",
+ "example" : "https://id.biodiversity.org.au/node/apni/2900822",
+ "description" : "The taxon identifier",
+ "readOnly" : true,
+ "x-reference" : {
+ "uri" : "http://rs.tdwg.org/dwc/terms/taxonID"
+ }
+ }
+ },
+ "description" : "Request to see if a species is potentially sensitive. Information on a potential species match, both name and, if available, the taxon identifier"
+ }
+ }
+}
\ No newline at end of file