{ "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": "http://localhost:8090/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": { "$ref": "http://localhost:8090/schema/common.json#/definitions/georel" }, "coordinates": { "$ref": "http://localhost:8090/schema/common.json#/definitions/coordinates" }, "geometry": { "$ref": "http://localhost:8090/schema/common.json#/definitions/geometry" } } }, "SubscriptionFragment": { "type": "object", "properties": { "@context": { "$ref": "http://localhost:8090/schema/common.json#/definitions/LdContext" }, "entities": { "type": "array", "items": { "$ref": "http://localhost:8090/schema/common.json#/definitions/EntityInfo" }, "minItems": 1 }, "name": { "type": "string", "minLength": 1 }, "description": { "type": "string", "minLength": 1 }, "watchedAttributes": { "type": "array", "minItems": 1, "items": { "$ref": "http://localhost:8090/schema/common.json#/definitions/Name" }, "uniqueItems": true }, "timeInterval": { "type": "number", "minimum": 0 }, "expires": { "type": "string", "format": "date-time" }, "isActive": { "type": "boolean" }, "throttling": { "type": "number", "minimum": 1 }, "q": { "type": "string" }, "geoQ": { "$ref": "#/definitions/GeoQuery" }, "csf": { "type": "string" } } }, "Subscription": { "allOf": [ { "$ref": "#/definitions/SubscriptionFragment" }, { "type": "object", "properties": { "id": { "type": "string", "format": "uri" }, "type": { "type": "string", "enum": ["Subscription"] }, "notification": { "$ref": "#/definitions/NotificationParams" }, "status": { "type": "string", "enum": [ "active", "paused", "expired" ] }, "createdAt": { "$ref": "http://localhost:8090/schema/common.json#/definitions/createdAt" }, "modifiedAt": { "$ref": "http://localhost:8090/schema/common.json#/definitions/modifiedAt" } }, "allOf": [ { "required": [ "id", "type", "notification" ] }, { "anyOf": [ { "required": [ "entities" ] }, { "required": [ "watchedAttributes" ] } ] } ] } ] } }, "allOf": [ { "$ref": "#/definitions/Subscription" } ] }