{ "$schema": "http://json-schema.org/schema#", "id": "https://uri.etsi.org/ngsi-ld/schema/Subscription.json", "title": "NGSI-LD Subscription", "description": "NGSI-LD Subscription", "definitions": { "NotificationParams": { "type": "object", "properties": { "attributes": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 }, "uniqueItems": true }, "format": { "type": "string" }, "endpoint": { "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/common.json#/definitions/Endpoint" }, "status": { "type": "string", "enum": [ "ok", "failed" ] }, "timesSent": { "type": "number", "minimum": 1 }, "lastNotification": { "type": "string", "format": "date-time" }, "lastFailure": { "type": "string", "format": "date-time" }, "lastSuccess": { "type": "string", "format": "date-time" } }, "required": [ "endpoint" ] }, "GeoQuery": { "type": "object", "required": [ "geometry", "coordinates", "georel" ], "properties": { "georel": { "oneOf": [ { "type": "string", "enumeration": [ "equals", "disjoint", "intersects", "within", "contains", "overlaps" ] }, { "type": "string", "pattern": "near;(maxDistance==\\d+)|(minDistance==\\d+)$" } ] }, "coordinates": { "oneOf": [ { "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/geometry-schema.json#/definitions/position" }, { "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/geometry-schema.json#/definitions/positionArray" }, { "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/geometry-schema.json#/definitions/lineString" }, { "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/geometry-schema.json#/definitions/polygon" } ] }, "geometry": { "type": "string", "enumeration": [ "Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon" ] } } } }, "type": "object", "properties": { "id": { "type": "string", "format": "uri" }, "type": { "type": "string", "const": "Subscription" }, "@context": { "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/common.json#/definitions/LdContext" }, "entities": { "type": "array", "items": { "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/common.json#/definitions/EntityInfo" }, "minItems": 1 }, "name": { "type": "string", "minLength": 1 }, "description": { "type": "string", "minLength": 1 }, "notification": { "$ref": "#/definitions/NotificationParams" }, "watchedAttributes": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 }, "uniqueItems": true }, "timeInterval": { "type": "number", "minimum": 0 }, "expires": { "type": "string", "format": "date-time" }, "status": { "type": "string", "enum": [ "active", "paused", "expired" ] }, "isActive": { "type": "boolean" }, "throttling": { "type": "number", "minimum": 1 }, "q": { "type": "string" }, "csf": { "type": "string" } }, "createdAt": { "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/common.json#/definitions/createdAt" }, "modifiedAt": { "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/common.json#/definitions/modifiedAt" }, "allOf": [ { "required": [ "id", "type" ] }, { "anyOf": [ { "required": [ "entities" ] }, { "required": [ "watchedAttributes" ] } ] } ] }