From 68dff657833adfe3c4d912116f9a935d40b4d2ad Mon Sep 17 00:00:00 2001 From: Jose Manuel Cantera Date: Fri, 23 Nov 2018 08:37:57 +0100 Subject: [PATCH] Adding Tags --- .../csource-registration-by-id-spec.json | 2 + spec/updated/entities-spec.json | 2 +- spec/updated/full_api.json | 2790 ----------------- .../temporal/temporal-entities-spec.json | 2 + .../temporal/temporal-entity-attrs-spec.json | 4 + 5 files changed, 9 insertions(+), 2791 deletions(-) diff --git a/spec/updated/csource-registration-by-id-spec.json b/spec/updated/csource-registration-by-id-spec.json index a40c0da..22d637e 100644 --- a/spec/updated/csource-registration-by-id-spec.json +++ b/spec/updated/csource-registration-by-id-spec.json @@ -23,6 +23,7 @@ "get": { "description": "Retrieves a specific context source registration from an NGSI-LD system", "operationId": "retrieveCsource", + "tags": ["Context Sources"], "parameters": [ { "$ref": "#/components/parameters/registrationId" @@ -69,6 +70,7 @@ "delete": { "description": "Removes an specific context source registration within an NGSI-LD system", "operationId": "removeCsource", + "tags": ["Context Sources"], "parameters": [ { "$ref": "#/components/parameters/registrationId" diff --git a/spec/updated/entities-spec.json b/spec/updated/entities-spec.json index fa5750e..46d3814 100644 --- a/spec/updated/entities-spec.json +++ b/spec/updated/entities-spec.json @@ -200,7 +200,7 @@ "post": { "description": "Create a new Entity within an NGSI-LD system", "operationId": "createEntity", - "tags": ["Context Information"] + "tags": ["Context Information"], "requestBody": { "required": true, "content": { diff --git a/spec/updated/full_api.json b/spec/updated/full_api.json index d230e81..e69de29 100644 --- a/spec/updated/full_api.json +++ b/spec/updated/full_api.json @@ -1,2790 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "description": "This OAS file describes the NGSI-LD API defined by the ETSI ISG CIM group. This Cross-domain Context Information Management API allows to provide, consume and subscribe to context information in multiple scenarios and involving multiple stakeholders", - "version": "latest", - "title": "ETSI ISG CIM / NGSI-LD API", - "contact": { - "email": "NGSI-LD@etsi.org" - } - }, - "externalDocs": { - "description": "Find out more about the ETSI ISG Context Information Management", - "url": "https://portal.etsi.org/tb.aspx?tbid=854&SubTB=854" - }, - "tags": [ - { - "name": "ETSI", - "description": "European Telecommunications Standards Institute", - "externalDocs": { - "description": "Find out more", - "url": "http://www.etsi.org" - } - }, - { - "name": "CIM", - "description": "Context Information Management", - "externalDocs": { - "description": "Find out more", - "url": "https://portal.etsi.org/tb.aspx?tbid=854&SubTB=854" - } - }, - { - "name": "JSON-LD", - "description": "JSON for Linked Data", - "externalDocs": { - "description": "Find out more", - "url": "https://json-ld.org/" - } - }, - { - "name": "NGSI-LD API", - "description": "API defined by the ETSI ISG CIM", - "externalDocs": { - "description": "Preliminary Specification", - "url": "http://www.etsi.org/deliver/etsi_gs/CIM/001_099/004/01.01.01_60/gs_CIM004v010101p.pdf" - } - } - ], - "paths": { - "/entities/": { - "get": { - "description": "Retrieve a set of entities which matches a specific query from an NGSI-LD system", - "operationId": "queryEntities", - "parameters": [ - { - "name": "id", - "description": "Comma separated list of URIs to be retrieved", - "in": "query", - "required": false, - "schema": { - "type": "string", - "format": "uri" - } - }, - { - "name": "idPattern", - "description": "Regular expression that must be matched by Entity ids", - "in": "query", - "required": false, - "schema": { - "type": "string", - "format": "regexp" - } - }, - { - "name": "type", - "description": "Comma separated list of Entity type names to be retrieved", - "in": "query", - "required": false, - "schema": { - "type": "string", - "minLength": 1 - } - }, - { - "name": "attrs", - "description": "Comma separated list of attribute names (properties or relationships) to be retrieved", - "in": "query", - "required": false, - "schema": { - "type": "string", - "minLength": 1 - } - }, - { - "name": "q", - "description": "Query", - "in": "query", - "required": false, - "schema": { - "type": "string", - "minLength": 1 - } - }, - { - "name": "georel", - "description": "Geo-relationship", - "in": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string", - "enum": [ - "equals", - "disjoint", - "intersects", - "within", - "contains", - "overlaps" - ] - }, - { - "type": "string", - "pattern": "^near;((maxDistance==\\d+)|(minDistance==\\d+))$" - } - ] - } - }, - { - "name": "geometry", - "description": "Geometry", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "Point", - "MultiPoint", - "LineString", - "MultiLineString", - "Polygon", - "MultiPolygon" - ] - } - }, - { - "name": "coordinates", - "description": "Coordinates serialized as a string", - "in": "query", - "required": false, - "schema": { - "oneOf": [ - { - "$ref": "#/paths/~1csourceRegistrations~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/location/definitions/position" - }, - { - "$ref": "#/paths/~1csourceRegistrations~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/location/definitions/positionArray" - }, - { - "$ref": "#/paths/~1csourceRegistrations~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/location/definitions/lineString" - }, - { - "$ref": "#/paths/~1csourceRegistrations~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/location/definitions/polygon" - } - ] - } - }, - { - "name": "geoproperty", - "description": "The name of the property that contains the geo-spatial data that will be used to resolve the geoquery", - "in": "query", - "required": false, - "schema": { - "type": "string", - "minLength": 1 - } - }, - { - "name": "csf", - "description": "Context Source Filter", - "in": "query", - "required": false, - "schema": { - "type": "string", - "minLength": 1 - } - }, - { - "name": "limit", - "description": "Pagination limit", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "minimum": 1 - } - }, - { - "name": "options", - "description": "Options dictionary", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "keyValues", - "sysAttrs" - ] - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entityOperations~1update/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema" - }, - "examples": { - "simple": { - "externalValue": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/examples/EntityList-example.json" - } - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json;application/ld+json": { - "schema": { - "type": "object", - "properties": { - "type": { - "type": "string", - "format": "uri" - }, - "title": { - "type": "string" - }, - "detail": { - "type": "string" - } - }, - "required": [ - "type" - ] - } - } - } - } - } - }, - "post": { - "description": "Create a new Entity within an NGSI-LD system", - "operationId": "createEntity", - "requestBody": { - "required": true, - "content": { - "application/json;application/ld+json": { - "schema": { - "allOf": [ - { - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uri" - }, - "type": { - "$ref": "#/paths/~1temporal~1entities~1/get/parameters/10/schema" - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "modifiedAt": { - "type": "string", - "format": "date-time" - } - } - }, - { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - ] - } - } - } - }, - "responses": { - "201": { - "description": "Created. Contains the resource URI of the created Entity" - }, - "400": { - "description": "Bad request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "409": { - "description": "Already exists", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - } - }, - "/entities/{entityId}": { - "get": { - "description": "Retrieve an specific Entity from an NGSI-LD system. It's possible to specify the Entity attributes to be retrieved by using query parameters", - "operationId": "retrieveEntityById", - "parameters": [ - { - "name": "entityId", - "description": "Entity Id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uri" - } - }, - { - "name": "attrs", - "description": "Comma separated list of attribute names (properties or relationships) to be retrieved", - "in": "query", - "required": false, - "schema": { - "type": "string", - "minLength": 1 - } - }, - { - "name": "type", - "description": "Entity Type", - "in": "query", - "required": false, - "schema": { - "$ref": "#/paths/~1temporal~1entities~1/get/parameters/10/schema" - } - }, - { - "$ref": "#/paths/~1entities~1/get/parameters/11" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema" - }, - "examples": { - "simple": { - "externalValue": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/examples/Entity-example.json" - } - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - }, - "delete": { - "description": "Removes an specific Entity from an NGSI-LD system", - "operationId": "removeEntityById", - "parameters": [ - { - "$ref": "#/paths/~1entities~1%7BentityId%7D/get/parameters/0" - }, - { - "$ref": "#/paths/~1entities~1%7BentityId%7D/get/parameters/2" - } - ], - "responses": { - "204": { - "description": "No Content. The entity was removed successfully" - }, - "400": { - "description": "Bad Request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - } - }, - "/entities/{entityId}/attrs/": { - "post": { - "description": "Append new Entity attributes to an existing Entity within an NGSI-LD system", - "operationId": "appendEntityAttrs", - "parameters": [ - { - "name": "entityId", - "description": "Entity Id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uri" - } - }, - { - "name": "options", - "description": "Indicates that no attribute overwrite shall be performed", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "noOverwrite" - ] - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json;application/ld+json": { - "schema": { - "type": "object", - "properties": { - "@context": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "string", - "format": "uri" - }, - { - "type": "array", - "minItems": 1, - "items": { - "anyOf": [ - { - "type": "string", - "format": "uri" - }, - { - "type": "object" - } - ] - } - } - ] - }, - "location": { - "type": "object", - "properties": { - "type": { - "type": "string", - "const": "GeoProperty" - }, - "value": { - "$ref": "#/paths/~1csourceRegistrations~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/location" - }, - "observedAt": { - "type": "string", - "format": "date-time" - }, - "createdAt": { - "$ref": "#/paths/~1entities~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/createdAt" - }, - "modifiedAt": { - "$ref": "#/paths/~1entities~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/modifiedAt" - }, - "datasetId": { - "type": "string", - "format": "uri" - }, - "instanceId": { - "type": "string", - "format": "uri" - } - }, - "required": [ - "type", - "value" - ], - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/additionalProperties/anyOf/0" - }, - { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/additionalProperties/anyOf/1" - } - ] - } - }, - "observationSpace": { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/properties/location" - }, - "operationSpace": { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/properties/location" - } - }, - "required": [ - "id", - "type" - ], - "additionalProperties": { - "anyOf": [ - { - "type": "object", - "properties": { - "type": { - "type": "string", - "const": "Property" - }, - "value": { - "type": [ - "string", - "number", - "boolean", - "array", - "object" - ] - }, - "observedAt": { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/properties/location/properties/observedAt" - }, - "createdAt": { - "$ref": "#/paths/~1entities~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/createdAt" - }, - "modifiedAt": { - "$ref": "#/paths/~1entities~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/modifiedAt" - }, - "datasetId": { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/properties/location/properties/datasetId" - }, - "instanceId": { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/properties/location/properties/instanceId" - } - }, - "required": [ - "type", - "value" - ], - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/additionalProperties/anyOf/0" - }, - { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/additionalProperties/anyOf/1" - } - ] - } - }, - { - "type": "object", - "properties": { - "type": { - "type": "string", - "const": "Relationship" - }, - "object": { - "type": "string", - "format": "uri" - }, - "observedAt": { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/properties/location/properties/observedAt" - }, - "createdAt": { - "$ref": "#/paths/~1entities~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/createdAt" - }, - "modifiedAt": { - "$ref": "#/paths/~1entities~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/modifiedAt" - }, - "datasetId": { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/properties/location/properties/datasetId" - }, - "instanceId": { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/properties/location/properties/instanceId" - } - }, - "required": [ - "type", - "object" - ], - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/additionalProperties/anyOf/0" - }, - { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/additionalProperties/anyOf/1" - } - ] - } - }, - { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/properties/location" - } - ] - }, - "propertyNames": { - "type": "string", - "pattern": "^((\\d|[a-zA-Z]|_)+(#\\d+)?)$|^(@context)$" - } - } - } - } - }, - "responses": { - "204": { - "description": "No Content" - }, - "207": { - "description": "Partial Success. Only the attributes included in the response payload were successfully appended", - "content": { - "application/json;application/ld+json": { - "schema": { - "$schema": "http://json-schema.org/schema#", - "id": "https://uri.etsi.org/ngsi-ld/schema/UpdateResult.json", - "title": "NGSI-LD Update Result", - "description": "NGSI-LD Update Result", - "definitions": { - "UnchangedDetails": { - "attributeName": { - "type": "string", - "pattern": "" - }, - "reason": { - "type": "string", - "minLenght": 1 - } - }, - "UpdateResult": { - "type": "object", - "properties": { - "updated": { - "type": "array", - "items": { - "type": "string", - "pattern": "" - } - }, - "unchanged": { - "type": "array", - "items": { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/responses/207/content/application~1json%3Bapplication~1ld%2Bjson/schema/definitions/UnchangedDetails" - } - } - } - } - }, - "allOf": [ - { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/responses/207/content/application~1json%3Bapplication~1ld%2Bjson/schema/definitions/UpdateResult" - } - ] - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - }, - "patch": { - "description": "Update existing Entity attributes within an NGSI-LD system", - "operationId": "updateEntityAttrs", - "parameters": [ - { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/parameters/0" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "responses": { - "204": { - "description": "No Content." - }, - "207": { - "description": "Partial Success. Only the attributes included in the response payload were successfully updated", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/responses/207/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - } - }, - "/entities/{entityId}/attrs/{attrId}": { - "patch": { - "description": "Update existing Entity attributes within an NGSI-LD system", - "operationId": "partialAttrUpdate", - "parameters": [ - { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/parameters/0" - }, - { - "name": "attrId", - "description": "Attribute Id", - "in": "path", - "required": true, - "schema": { - "$ref": "#/paths/~1temporal~1entities~1/get/parameters/10/schema" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "responses": { - "204": { - "description": "No Content." - }, - "400": { - "description": "Bad Request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - }, - "delete": { - "description": "Removes an existing Entity attribute within an NGSI-LD system", - "operationId": "removeEntityAttr", - "parameters": [ - { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/parameters/0" - }, - { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1%7BattrId%7D/patch/parameters/1" - } - ], - "responses": { - "204": { - "description": "No Content." - }, - "400": { - "description": "Bad Request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - } - }, - "/subscriptions/": { - "get": { - "description": "Retrieves the subscriptions available in an NGSI-LD system", - "operationId": "retrieveSubscriptions", - "parameters": [ - { - "name": "limit", - "description": "Pagination limit", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "minimum": 1 - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json;application/ld+json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/paths/~1subscriptions~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - }, - "examples": { - "simple": { - "externalValue": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/examples/SubscriptionList-example.json" - } - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - }, - "post": { - "description": "Creates a new Subscription within an NGSI-LD system", - "operationId": "createSubscription", - "requestBody": { - "required": true, - "content": { - "application/json;application/ld+json": { - "schema": { - "allOf": [ - { - "$ref": "#/paths/~1subscriptions~1%7BsubscriptionId%7D/patch/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema" - }, - { - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uri" - }, - "type": { - "type": "string", - "const": "Subscription" - }, - "notification": { - "type": "object", - "properties": { - "attributes": { - "type": "array", - "minItems": 1, - "items": { - "type": "string", - "minLength": 1 - }, - "uniqueItems": true - }, - "format": { - "type": "string" - }, - "endpoint": { - "type": "object", - "required": [ - "uri" - ], - "properties": { - "uri": { - "type": "string", - "format": "uri" - }, - "accept": { - "type": "string", - "enum": [ - "application/json", - "application/ld+json" - ] - } - } - }, - "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" - ] - }, - "status": { - "type": "string", - "enum": [ - "active", - "paused", - "expired" - ] - }, - "createdAt": { - "$ref": "#/paths/~1entities~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/createdAt" - }, - "modifiedAt": { - "$ref": "#/paths/~1entities~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/modifiedAt" - } - }, - "allOf": [ - { - "required": [ - "id", - "type" - ] - }, - { - "anyOf": [ - { - "required": [ - "entities" - ] - }, - { - "required": [ - "watchedAttributes" - ] - } - ] - } - ] - } - ] - } - } - } - }, - "responses": { - "201": { - "description": "Created. Contains the resource URI of the created Subscription" - }, - "400": { - "description": "Bad request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "409": { - "description": "Already exists", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - } - }, - "/subscriptions/{subscriptionId}": { - "get": { - "description": "Retrieves a specific Subscription from an NGSI-LD system", - "operationId": "retrieveSubscription", - "parameters": [ - { - "name": "subscriptionId", - "description": "Subscription Id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uri" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1subscriptions~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema" - }, - "examples": { - "simple": { - "externalValue": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/examples/Subscription-example_C.4.json" - } - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - }, - "patch": { - "description": "Updates a specific Subscription within an NGSI-LD system", - "operationId": "updateSubscription", - "parameters": [ - { - "$ref": "#/paths/~1subscriptions~1%7BsubscriptionId%7D/get/parameters/0" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json;application/ld+json": { - "schema": { - "type": "object", - "properties": { - "@context": { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/properties/%40context" - }, - "entities": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uri" - }, - "type": { - "$ref": "#/paths/~1temporal~1entities~1/get/parameters/10/schema" - }, - "idPattern": { - "type": "string", - "format": "regex" - } - }, - "required": [ - "type" - ] - }, - "minItems": 1 - }, - "name": { - "type": "string", - "minLength": 1 - }, - "description": { - "type": "string", - "minLength": 1 - }, - "watchedAttributes": { - "type": "array", - "minItems": 1, - "items": { - "$ref": "#/paths/~1temporal~1entities~1/get/parameters/10/schema" - }, - "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": { - "type": "object", - "required": [ - "geometry", - "coordinates", - "georel" - ], - "properties": { - "georel": { - "$ref": "#/paths/~1entities~1/get/parameters/5/schema" - }, - "coordinates": { - "$ref": "#/paths/~1entities~1/get/parameters/7/schema" - }, - "geometry": { - "$ref": "#/paths/~1entities~1/get/parameters/6/schema" - } - } - }, - "csf": { - "type": "string" - } - } - } - } - } - }, - "responses": { - "204": { - "description": "No Content. The Subscription was updated successfully" - }, - "400": { - "description": "Bad Request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - }, - "delete": { - "description": "Removes a specific Subscription from an NGSI-LD system", - "operationId": "removeSubscription", - "parameters": [ - { - "$ref": "#/paths/~1subscriptions~1%7BsubscriptionId%7D/get/parameters/0" - } - ], - "responses": { - "204": { - "description": "No Content. The Subscription was removed successfully" - }, - "400": { - "description": "Bad Request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - } - }, - "/csourceRegistrations/": { - "get": { - "description": "Retrieve a set of context sources which matches a specific query from an NGSI-LD system", - "operationId": "queryCsources", - "parameters": [ - { - "$ref": "#/paths/~1entities~1/get/parameters/0" - }, - { - "$ref": "#/paths/~1entities~1/get/parameters/1" - }, - { - "$ref": "#/paths/~1entities~1/get/parameters/2" - }, - { - "$ref": "#/paths/~1entities~1/get/parameters/3" - }, - { - "$ref": "#/paths/~1entities~1/get/parameters/4" - }, - { - "$ref": "#/paths/~1entities~1/get/parameters/5" - }, - { - "$ref": "#/paths/~1entities~1/get/parameters/6" - }, - { - "$ref": "#/paths/~1entities~1/get/parameters/7" - }, - { - "$ref": "#/paths/~1entities~1/get/parameters/8" - }, - { - "$ref": "#/paths/~1entities~1/get/parameters/10" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json;application/ld+json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/paths/~1csourceRegistrations~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - }, - "examples": { - "simple": { - "externalValue": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/examples/ContextSourceRegistrationList-example.json" - } - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - }, - "post": { - "description": "Registers a new context source within an NGSI-LD system", - "operationId": "registerCsource", - "requestBody": { - "required": true, - "content": { - "application/json;application/ld+json": { - "schema": { - "allOf": [ - { - "type": "object", - "properties": { - "@context": { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/properties/%40context" - }, - "information": { - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "entities" - ], - "properties": { - "entities": { - "type": "array", - "minItems": 1, - "items": { - "$ref": "#/paths/~1subscriptions~1%7BsubscriptionId%7D/patch/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/properties/entities/items" - } - }, - "properties": { - "type": "array", - "minItems": 1, - "items": { - "$ref": "#/paths/~1temporal~1entities~1/get/parameters/10/schema" - }, - "uniqueItems": true - }, - "relationships": { - "type": "array", - "minItems": 1, - "items": { - "$ref": "#/paths/~1temporal~1entities~1/get/parameters/10/schema" - }, - "uniqueItems": true - } - } - } - }, - "timestamp": { - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "start" - ], - "properties": { - "start": { - "type": "string", - "format": "date-time" - }, - "end": { - "type": "string", - "format": "date-time" - } - } - } - }, - "location": { - "$schema": "http://json-schema.org/draft-04/schema#", - "id": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/geometry-schema.json", - "title": "geometry", - "description": "One geometry as defined by GeoJSON. Licensed as per original source is https://github.com/fge/sample-json-schemas/blob/master/geojson/geometry.json", - "type": "object", - "required": [ - "type", - "coordinates" - ], - "oneOf": [ - { - "title": "Point", - "properties": { - "type": { - "enum": [ - "Point" - ] - }, - "coordinates": { - "$ref": "#/paths/~1csourceRegistrations~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/location/definitions/position" - } - } - }, - { - "title": "MultiPoint", - "properties": { - "type": { - "enum": [ - "MultiPoint" - ] - }, - "coordinates": { - "$ref": "#/paths/~1csourceRegistrations~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/location/definitions/positionArray" - } - } - }, - { - "title": "LineString", - "properties": { - "type": { - "enum": [ - "LineString" - ] - }, - "coordinates": { - "$ref": "#/paths/~1csourceRegistrations~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/location/definitions/lineString" - } - } - }, - { - "title": "MultiLineString", - "properties": { - "type": { - "enum": [ - "MultiLineString" - ] - }, - "coordinates": { - "type": "array", - "items": { - "$ref": "#/paths/~1csourceRegistrations~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/location/definitions/lineString" - } - } - } - }, - { - "title": "Polygon", - "properties": { - "type": { - "enum": [ - "Polygon" - ] - }, - "coordinates": { - "$ref": "#/paths/~1csourceRegistrations~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/location/definitions/polygon" - } - } - }, - { - "title": "MultiPolygon", - "properties": { - "type": { - "enum": [ - "MultiPolygon" - ] - }, - "coordinates": { - "type": "array", - "items": { - "$ref": "#/paths/~1csourceRegistrations~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/location/definitions/polygon" - } - } - } - } - ], - "definitions": { - "position": { - "description": "A single position", - "type": "array", - "minItems": 2, - "items": [ - { - "type": "number" - }, - { - "type": "number" - } - ], - "additionalItems": false - }, - "positionArray": { - "description": "An array of positions", - "type": "array", - "items": { - "$ref": "#/paths/~1csourceRegistrations~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/location/definitions/position" - } - }, - "lineString": { - "description": "An array of two or more positions", - "allOf": [ - { - "$ref": "#/paths/~1csourceRegistrations~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/location/definitions/positionArray" - }, - { - "minItems": 2 - } - ] - }, - "linearRing": { - "description": "An array of four positions where the first equals the last", - "allOf": [ - { - "$ref": "#/paths/~1csourceRegistrations~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/location/definitions/positionArray" - }, - { - "minItems": 4 - } - ] - }, - "polygon": { - "description": "An array of linear rings", - "type": "array", - "items": { - "$ref": "#/paths/~1csourceRegistrations~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/location/definitions/linearRing" - } - } - } - }, - "expires": { - "type": "string", - "format": "date-time" - }, - "name": { - "type": "string", - "minLength": 1 - }, - "description": { - "type": "string", - "minLength": 1 - }, - "endpoint": { - "type": "string", - "format": "uri" - } - }, - "additionalProperties": { - "type": [ - "string", - "number", - "boolean", - "array", - "object" - ] - } - }, - { - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uri" - }, - "type": { - "type": "string", - "const": "ContextSourceRegistration" - }, - "createdAt": { - "$ref": "#/paths/~1entities~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/createdAt" - }, - "modifiedAt": { - "$ref": "#/paths/~1entities~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/modifiedAt" - } - }, - "required": [ - "id", - "type", - "endpoint", - "information" - ] - } - ] - } - } - } - }, - "responses": { - "201": { - "description": "Created. Contains the resource URI of the created Registration" - }, - "400": { - "description": "Bad request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "409": { - "description": "Already exists", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - } - }, - "/csourceRegistrations/{registrationId}": { - "get": { - "description": "Retrieves a specific context source registration from an NGSI-LD system", - "operationId": "retrieveCsource", - "parameters": [ - { - "name": "registrationId", - "description": "Registration Id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uri" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1csourceRegistrations~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema" - }, - "examples": { - "simple": { - "externalValue": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/examples/" - } - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - }, - "delete": { - "description": "Removes an specific context source registration within an NGSI-LD system", - "operationId": "removeCsource", - "parameters": [ - { - "$ref": "#/paths/~1csourceRegistrations~1%7BregistrationId%7D/get/parameters/0" - } - ], - "responses": { - "204": { - "description": "No Content. The Registration was removed successfully" - }, - "400": { - "description": "Bad Request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - } - }, - "/csourceSubscriptions/": { - "get": { - "description": "Retrieves the context source discovery subscriptions available in an NGSI-LD system", - "operationId": "retrieveCSourceSubscriptions", - "parameters": [ - { - "name": "limit", - "description": "Pagination limit", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "minimum": 1 - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1subscriptions~1/get/responses/200/content/application~1json%3Bapplication~1ld%2Bjson/schema" - }, - "examples": { - "simple": { - "externalValue": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/examples/SubscriptionList-example.json" - } - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - }, - "post": { - "description": "Creates a context source discovery Subscription within an NGSI-LD system", - "operationId": "createCSourceSubscription", - "requestBody": { - "required": true, - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1subscriptions~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "responses": { - "201": { - "description": "Created. Contains the resource URI of the created Subscription" - }, - "400": { - "description": "Bad request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "409": { - "description": "Already exists", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - } - }, - "/csourceSubscriptions/{subscriptionId}": { - "get": { - "description": "Retrieves a specific Subscription from an NGSI-LD system", - "operationId": "retrieveSubscription", - "parameters": [ - { - "name": "subscriptionId", - "description": "Subscription Id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uri" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1subscriptions~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema" - }, - "examples": { - "simple": { - "externalValue": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/examples/Subscription-example_C.4.json" - } - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - }, - "patch": { - "description": "Updates a specific context source discovery Subscription within an NGSI-LD system", - "operationId": "updateCSourceSubscription", - "parameters": [ - { - "$ref": "#/paths/~1csourceSubscriptions~1%7BsubscriptionId%7D/get/parameters/0" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1subscriptions~1%7BsubscriptionId%7D/patch/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "responses": { - "204": { - "description": "No Content. The Subscription was updated successfully" - }, - "400": { - "description": "Bad Request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - }, - "delete": { - "description": "Removes a specific Subscription from an NGSI-LD system", - "operationId": "removeSubscription", - "parameters": [ - { - "$ref": "#/paths/~1csourceSubscriptions~1%7BsubscriptionId%7D/get/parameters/0" - } - ], - "responses": { - "204": { - "description": "No Content. The Subscription was removed successfully" - }, - "400": { - "description": "Bad Request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - } - }, - "/entityOperations/create": { - "post": { - "description": "Batch Entity creation", - "operationId": "batchEntityCreation", - "requestBody": { - "required": true, - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entityOperations~1update/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "responses": { - "200": { - "description": "Success", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entityOperations~1upsert/post/responses/200/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - } - }, - "/entityOperations/update": { - "post": { - "description": "Batch Entity update", - "operationId": "batchEntityUpdate", - "parameters": [ - { - "name": "options", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "noOverwrite" - ] - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json;application/ld+json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/paths/~1entities~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - }, - "responses": { - "200": { - "description": "Success", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entityOperations~1upsert/post/responses/200/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - } - }, - "/entityOperations/upsert": { - "post": { - "description": "Batch Entity upsert", - "operationId": "batchEntityUpsert", - "parameters": [ - { - "name": "options", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "replace", - "update" - ] - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entityOperations~1update/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "responses": { - "200": { - "description": "Success", - "content": { - "application/json;application/ld+json": { - "schema": { - "type": "object", - "properties": { - "success": { - "type": "array", - "items": { - "type": "string", - "format": "uri" - } - }, - "error": { - "type": "array", - "items": { - "entityId": { - "type": "string", - "format": "uri" - }, - "error": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - } - }, - "/entityOperations/delete": { - "post": { - "description": "Batch Entity delete", - "operationId": "batchEntityDelete", - "requestBody": { - "required": true, - "content": { - "application/json;application/ld+json": { - "schema": { - "type": "array", - "items": { - "type": "string", - "format": "uri" - }, - "minItems": 1 - } - } - } - }, - "responses": { - "200": { - "description": "Success", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entityOperations~1upsert/post/responses/200/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - } - }, - "/temporal/entities/": { - "get": { - "description": "Query temporal evolution of Entities from an NGSI-LD system", - "operationId": "queryTemporalEntities", - "parameters": [ - { - "$ref": "#/paths/~1entities~1/get/parameters/0" - }, - { - "$ref": "#/paths/~1entities~1/get/parameters/1" - }, - { - "$ref": "#/paths/~1entities~1/get/parameters/2" - }, - { - "$ref": "#/paths/~1entities~1/get/parameters/3" - }, - { - "$ref": "#/paths/~1entities~1/get/parameters/4" - }, - { - "$ref": "#/paths/~1entities~1/get/parameters/5" - }, - { - "$ref": "#/paths/~1entities~1/get/parameters/6" - }, - { - "$ref": "#/paths/~1entities~1/get/parameters/7" - }, - { - "$ref": "#/paths/~1entities~1/get/parameters/8" - }, - { - "name": "timerel", - "description": "Time relationship", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "before", - "after", - "between" - ] - } - }, - { - "name": "timeproperty", - "description": "The name of the property that contains the temporal data that will be used to resolve the temporal query", - "in": "query", - "required": false, - "schema": { - "type": "string", - "pattern": "^(\\d|[a-zA-Z]|_)+$", - "minLength": 1, - "description": "NGSI-LD Name" - } - }, - { - "name": "time", - "description": "start time for temporal query", - "in": "query", - "required": false, - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "name": "endTime", - "description": "end time for temporal query", - "in": "query", - "required": false, - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "$ref": "#/paths/~1entities~1/get/parameters/9" - }, - { - "$ref": "#/paths/~1entities~1/get/parameters/10" - }, - { - "name": "options", - "description": "Options dictionary", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "temporalValues", - "sysAttrs" - ] - } - }, - { - "name": "lastN", - "description": "Only retrieve last N instances", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "minimum": 1 - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json;application/ld+json": { - "schema": { - "type": "array", - "items": { - "$schema": "http://json-schema.org/schema#", - "id": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/temporal/EntityTemporal.json", - "title": "NGSI-LD Entity", - "description": "NGSI-LD Temporal Representation of an Entity", - "definitions": { - "EntityTemporalFragment": { - "type": "object", - "properties": { - "@context": { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/properties/%40context" - }, - "location": { - "type": "array", - "items": { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/properties/location" - }, - "minItems": 1 - }, - "observationSpace": { - "type": "array", - "items": { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/properties/location" - }, - "minItems": 1 - }, - "operationSpace": { - "type": "array", - "items": { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/properties/location" - }, - "minItems": 1 - } - }, - "additionalProperties": { - "anyOf": [ - { - "type": "array", - "items": { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/additionalProperties/anyOf/0" - }, - "minItems": 1 - }, - { - "type": "array", - "items": { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/additionalProperties/anyOf/1" - }, - "minItems": 1 - }, - { - "type": "array", - "items": { - "$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/properties/location" - }, - "minItems": 1 - } - ] - }, - "propertyNames": { - "type": "string", - "pattern": "^((\\d|[a-zA-Z]|_)+(#\\d+)?)$|^(@context)$" - } - }, - "EntityTemporal": { - "allOf": [ - { - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uri" - }, - "type": { - "$ref": "#/paths/~1temporal~1entities~1/get/parameters/10/schema" - }, - "createdAt": { - "$ref": "#/paths/~1entities~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/createdAt" - }, - "modifiedAt": { - "$ref": "#/paths/~1entities~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/modifiedAt" - } - }, - "required": [ - "id", - "type" - ] - }, - { - "$ref": "#/paths/~1temporal~1entities~1/get/responses/200/content/application~1json%3Bapplication~1ld%2Bjson/schema/items/definitions/EntityTemporalFragment" - } - ] - } - }, - "allOf": [ - { - "$ref": "#/paths/~1temporal~1entities~1/get/responses/200/content/application~1json%3Bapplication~1ld%2Bjson/schema/items/definitions/EntityTemporal" - } - ] - } - }, - "examples": { - "simple": { - "externalValue": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/examples/EntityTemporalList-example.json" - } - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - }, - "post": { - "description": "Create or update temporal representation of an Entity within an NGSI-LD system", - "operationId": "createUpdateEntityTemporal", - "requestBody": { - "required": true, - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1temporal~1entities~1/get/responses/200/content/application~1json%3Bapplication~1ld%2Bjson/schema/items/definitions/EntityTemporal" - }, - "examples": { - "simple": { - "externalValue": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/examples/EntityTemporal-example_C5.5.3.json" - } - } - } - } - }, - "responses": { - "201": { - "description": "Created. Contains the resource URI of the created Entity" - }, - "204": { - "description": "Updated. No Content" - }, - "400": { - "description": "Bad request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "409": { - "description": "Already exists", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - } - }, - "/temporal/entities/{entityId}": { - "get": { - "description": "Retrieve the temporal representation of an specific Entity from an NGSI-LD system. It's possible to specify the Entity attributes to be retrieved by using query parameters", - "operationId": "retrieveEntityTemporalById", - "parameters": [ - { - "$ref": "#/paths/~1entities~1%7BentityId%7D/get/parameters/0" - }, - { - "$ref": "#/paths/~1entities~1%7BentityId%7D/get/parameters/1" - }, - { - "$ref": "#/paths/~1entities~1%7BentityId%7D/get/parameters/2" - }, - { - "$ref": "#/paths/~1temporal~1entities~1/get/parameters/15" - }, - { - "$ref": "#/paths/~1temporal~1entities~1/get/parameters/9" - }, - { - "$ref": "#/paths/~1temporal~1entities~1/get/parameters/10" - }, - { - "$ref": "#/paths/~1temporal~1entities~1/get/parameters/11" - }, - { - "$ref": "#/paths/~1temporal~1entities~1/get/parameters/12" - }, - { - "$ref": "#/paths/~1temporal~1entities~1/get/parameters/16" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1temporal~1entities~1/get/responses/200/content/application~1json%3Bapplication~1ld%2Bjson/schema/items/definitions/EntityTemporal" - }, - "examples": { - "simple": { - "externalValue": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/examples/EntityTemporal-example_C5.5.3.json" - } - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - }, - "delete": { - "description": "Removes the temporal representation of an Entity from an NGSI-LD system", - "operationId": "removeEntityTemporalById", - "parameters": [ - { - "$ref": "#/paths/~1entities~1%7BentityId%7D/get/parameters/0" - }, - { - "$ref": "#/paths/~1entities~1%7BentityId%7D/get/parameters/2" - } - ], - "responses": { - "204": { - "description": "No Content. The entity was removed successfully" - }, - "400": { - "description": "Bad Request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - } - }, - "/temporal/entities/{entityId}/attrs/": { - "post": { - "description": "Add new attributes to an existing Temporal Entity within an NGSI-LD system", - "operationId": "addTemporalEntityAttrs", - "parameters": [ - { - "name": "entityId", - "description": "Entity Id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uri" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1temporal~1entities~1/get/responses/200/content/application~1json%3Bapplication~1ld%2Bjson/schema/items/definitions/EntityTemporalFragment" - } - } - } - }, - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - } - }, - "/temporal/entities/{entityId}/attrs/{attrId}": { - "delete": { - "description": "Attribute from Temporal Representation of Entity deletion", - "operationId": "removeEntityTemporalAttr", - "parameters": [ - { - "$ref": "#/paths/~1temporal~1entities~1%7BentityId%7D~1attrs~1/post/parameters/0" - }, - { - "name": "attrId", - "description": "Attribute Id", - "in": "path", - "required": true, - "schema": { - "$ref": "#/paths/~1temporal~1entities~1/get/parameters/10/schema" - } - } - ], - "responses": { - "204": { - "description": "No Content." - }, - "400": { - "description": "Bad Request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - } - }, - "/temporal/entities/{entityId}/attrs/{attrId}/{instanceId}": { - "patch": { - "description": "Allows modifying a specific Attribute (Property or Relationship) instance, identified by its instanceId, of a Temporal Representation of an Entity.", - "operationId": "modifyEntityTemporalAttrInstance", - "parameters": [ - { - "$ref": "#/paths/~1temporal~1entities~1%7BentityId%7D~1attrs~1/post/parameters/0" - }, - { - "$ref": "#/paths/~1temporal~1entities~1%7BentityId%7D~1attrs~1%7BattrId%7D/delete/parameters/1" - }, - { - "name": "instanceId", - "description": "Instance Id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uri" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1temporal~1entities~1/get/responses/200/content/application~1json%3Bapplication~1ld%2Bjson/schema/items/definitions/EntityTemporalFragment" - } - } - } - }, - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - }, - "delete": { - "description": "Attribute Instance deletion by instance id.", - "operationId": "removeEntityTemporalAttrInstance", - "parameters": [ - { - "$ref": "#/paths/~1temporal~1entities~1%7BentityId%7D~1attrs~1/post/parameters/0" - }, - { - "$ref": "#/paths/~1temporal~1entities~1%7BentityId%7D~1attrs~1%7BattrId%7D/delete/parameters/1" - }, - { - "$ref": "#/paths/~1temporal~1entities~1%7BentityId%7D~1attrs~1%7BattrId%7D~1%7BinstanceId%7D/patch/parameters/2" - } - ], - "responses": { - "204": { - "description": "No Content." - }, - "400": { - "description": "Bad Request", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json;application/ld+json": { - "schema": { - "$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema" - } - } - } - } - } - } - } - } -} - diff --git a/spec/updated/temporal/temporal-entities-spec.json b/spec/updated/temporal/temporal-entities-spec.json index d07940c..c87695d 100644 --- a/spec/updated/temporal/temporal-entities-spec.json +++ b/spec/updated/temporal/temporal-entities-spec.json @@ -74,6 +74,7 @@ "get": { "description": "Query temporal evolution of Entities from an NGSI-LD system", "operationId": "queryTemporalEntities", + "tags": ["Temporal Evolution"], "parameters": [ { "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/id" @@ -158,6 +159,7 @@ "post": { "description": "Create or update temporal representation of an Entity within an NGSI-LD system", "operationId": "createUpdateEntityTemporal", + "tags": ["Temporal Evolution"], "requestBody": { "required": true, "content": { diff --git a/spec/updated/temporal/temporal-entity-attrs-spec.json b/spec/updated/temporal/temporal-entity-attrs-spec.json index 4f6a7bb..2059cb2 100644 --- a/spec/updated/temporal/temporal-entity-attrs-spec.json +++ b/spec/updated/temporal/temporal-entity-attrs-spec.json @@ -42,6 +42,7 @@ "post": { "description": "Add new attributes to an existing Temporal Entity within an NGSI-LD system", "operationId": "addTemporalEntityAttrs", + "tags": ["Temporal Evolution"], "parameters": [ { "$ref": "#/components/parameters/entityId" @@ -88,6 +89,7 @@ "delete": { "description": "Attribute from Temporal Representation of Entity deletion", "operationId": "removeEntityTemporalAttr", + "tags": ["Temporal Evolution"], "parameters": [ { "$ref": "#/components/parameters/entityId" @@ -127,6 +129,7 @@ "patch": { "description": "Allows modifying a specific Attribute (Property or Relationship) instance, identified by its instanceId, of a Temporal Representation of an Entity.", "operationId": "modifyEntityTemporalAttrInstance", + "tags": ["Temporal Evolution"], "parameters": [ { "$ref": "#/components/parameters/entityId" @@ -177,6 +180,7 @@ "delete": { "description": "Attribute Instance deletion by instance id.", "operationId": "removeEntityTemporalAttrInstance", + "tags": ["Temporal Evolution"], "parameters": [ { "$ref": "#/components/parameters/entityId" -- GitLab