Skip to content
{
"$schema": "http://json-schema.org/schema#",
"$id": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/schema/temporal/EntityTemporal.json",
"title": "NGSI-LD Entity",
"description": "NGSI-LD Temporal Representation of an Entity",
"definitions": {
......@@ -46,7 +44,7 @@
}
},
"additionalProperties": {
"anyOf": [
"oneOf": [
{
"type": "array",
"items": {
......@@ -69,22 +67,19 @@
"minItems": 1
}
]
},
"propertyNames": {
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/schema/common.json#/definitions/PropertyNames"
}
},
"EntityTemporal": {
"allOf": [
{
"$ref": "#/definitions/EntityTemporalFragment"
},
{
"type": "object",
"required": [
"id",
"type"
"type",
"id"
]
},
{
"$ref": "#/definitions/EntityTemporalFragment"
}
]
}
......
{
"$schema": "http://json-schema.org/schema#",
"$id": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/schema/temporal/EntityTemporalList.json",
"title": "NGSI-LD Entity",
"description": "NGSI-LD Temporal Representation List",
"definitions": {
"EntityTemporalList": {
"type": "array",
"items": {
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/schema/temporal/EntityTemporal.json#"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/schema/temporal/EntityTemporal.json#/definitions/EntityTemporal"
}
}
},
......
{
"$schema": "http://json-schema.org/schema#",
"$id": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/schema/temporal/Entity_temporalValues.json",
"title": "NGSI-LD Entity Temporal Values",
"description": "NGSI-LD Simplified Temporal Representation of Entities",
"definitions": {
......@@ -105,7 +103,7 @@
"id"
],
"additionalProperties": {
"anyOf": [
"oneOf": [
{
"$ref": "#/definitions/PropertyTemporalValues"
},
......@@ -113,8 +111,5 @@
"$ref": "#/definitions/RelationshipTemporalValues"
}
]
},
"propertyNames": {
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/schema/common.json#/definitions/PropertyNames"
}
}
\ No newline at end of file
#!/bin/bash
#
# Requires install swagger-cli: npm install -g swagger-cli
#
# Generate a file which combines all the spec files into a unique swagger definition file (maintains references)
swagger-cli bundle ./spec/updated/ngsi-ld-spec-open-api.json -o ./bundle/ngsild_swagger_combined.json
# Generate a file which combines all the spec files into a unique swagger definition file (removes references)
# working with modified swagger-cli.js to avoid circular ref problem
swagger-cli -d bundle --dereference ./spec/updated/ngsi-ld-spec-open-api.json -o ./bundle/ngsild_swagger_combined_dereferenced.json
# modified version to allow circular ref
# swagger-cli bundle --dereference="ignore" ./spec/updated/ngsi-ld-spec-open-api.json -o ./bundle/ngsild_swagger_combined.json
\ No newline at end of file
#!/bin/bash
scripts/setBasePath.sh https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master http://localhost:8090
docker run --name spec-server --rm -d -v ${PWD}/:/ngsi -e FOLDER=/ngsi -p 8090:8080 halverneus/static-file-server
read -p "Press enter to finish editing"
docker stop spec-server
scripts/setBasePath.sh http://localhost:8090 https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master
#!/bin/bash
toBeReplaced=$1
replacement=$2
for i in $(find spec -type f -print)
do
sed -i s,${toBeReplaced},${replacement},g "${i}"
done
for i in $(find schema -type f -print)
do
sed -i s,${toBeReplaced},${replacement},g "${i}"
done
\ No newline at end of file
......@@ -23,7 +23,7 @@
"get": {
"description": "Retrieves a specific context source registration from an NGSI-LD system",
"operationId": "retrieveCsource",
"tags": ["Context Sources"],
"tags": ["Context Sources", "CSourceRegistrations"],
"parameters": [
{
"$ref": "#/components/parameters/registrationId"
......@@ -70,7 +70,7 @@
"delete": {
"description": "Removes an specific context source registration within an NGSI-LD system",
"operationId": "removeCsource",
"tags": ["Context Sources"],
"tags": ["Context Sources", "CSourceRegistrations"],
"parameters": [
{
"$ref": "#/components/parameters/registrationId"
......
......@@ -13,37 +13,37 @@
"get": {
"description": "Retrieve a set of context sources which matches a specific query from an NGSI-LD system",
"operationId": "queryCsources",
"tags": ["Context Sources"],
"tags": ["Context Sources", "CSourceRegistrations"],
"parameters": [
{
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/id"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/components/parameters/id"
},
{
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/idPattern"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/components/parameters/idPattern"
},
{
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/type"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/components/parameters/type"
},
{
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/attrs"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/components/parameters/attrs"
},
{
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/q"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/components/parameters/q"
},
{
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/georel"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/components/parameters/georel"
},
{
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/geometry"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/components/parameters/geometry"
},
{
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/coordinates"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/components/parameters/coordinates"
},
{
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/geoproperty"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/components/parameters/geoproperty"
},
{
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/limit"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/components/parameters/limit"
}
],
"responses": {
......@@ -77,7 +77,7 @@
"post": {
"description": "Registers a new context source within an NGSI-LD system",
"operationId": "registerCsource",
"tags": ["Context Sources"],
"tags": ["Context Sources", "CSourceRegistrations"],
"requestBody": {
"required": true,
"content": {
......
......@@ -22,8 +22,8 @@
"/csourceSubscriptions/{subscriptionId}": {
"get": {
"description": "Retrieves a specific Subscription from an NGSI-LD system",
"operationId": "retrieveSubscription",
"tags": ["Context Sources"],
"operationId": "retrieveCSourceSubscriptionsById",
"tags": ["Context Sources", "CSourceSubscriptions"],
"parameters": [
{
"$ref": "#/components/parameters/subscriptionId"
......@@ -70,7 +70,7 @@
"patch": {
"description": "Updates a specific context source discovery Subscription within an NGSI-LD system",
"operationId": "updateCSourceSubscription",
"tags": ["Context Sources"],
"tags": ["Context Sources", "CSourceSubscriptions"],
"parameters": [
{
"$ref": "#/components/parameters/subscriptionId"
......@@ -115,7 +115,7 @@
"delete": {
"description": "Removes a specific Context Source Subscription from an NGSI-LD system",
"operationId": "removeCSourceSubscription",
"tags": ["Context Sources"],
"tags": ["Context Sources", "CSourceSubscriptions"],
"parameters": [
{
"$ref": "#/components/parameters/subscriptionId"
......
......@@ -23,7 +23,7 @@
"get": {
"description": "Retrieves the context source discovery subscriptions available in an NGSI-LD system",
"operationId": "retrieveCSourceSubscriptions",
"tags": ["Context Sources"],
"tags": ["Context Sources", "CSourceSubscriptions"],
"parameters": [
{
"$ref": "#/components/parameters/limit"
......@@ -60,7 +60,7 @@
"post": {
"description": "Creates a context source discovery Subscription within an NGSI-LD system",
"operationId": "createCSourceSubscription",
"tags": ["Context Sources"],
"tags": ["Context Sources", "CSourceSubscriptions"],
"requestBody": {
"required": true,
"content": {
......
......@@ -130,7 +130,7 @@
"get": {
"description": "Retrieve a set of entities which matches a specific query from an NGSI-LD system",
"operationId": "queryEntities",
"tags": ["Context Information"],
"tags": ["Context Information", "Entities"],
"parameters": [
{
"$ref": "#/components/parameters/id"
......@@ -200,7 +200,7 @@
"post": {
"description": "Create a new Entity within an NGSI-LD system",
"operationId": "createEntity",
"tags": ["Context Information"],
"tags": ["Context Information", "Entities"],
"requestBody": {
"required": true,
"content": {
......
......@@ -44,7 +44,7 @@
"post": {
"description": "Append new Entity attributes to an existing Entity within an NGSI-LD system",
"operationId": "appendEntityAttrs",
"tags": ["Context Information"],
"tags": ["Context Information", "Entities"],
"parameters": [
{
"$ref": "#/components/parameters/entityId"
......@@ -72,7 +72,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/schema/UpdateResult.json#"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/schema/UpdateResult.json#/definitions/UpdateResult"
}
}
}
......@@ -102,7 +102,7 @@
"patch": {
"description": "Update existing Entity attributes within an NGSI-LD system",
"operationId": "updateEntityAttrs",
"tags": ["Context Information"],
"tags": ["Context Information", "Entities"],
"parameters": [
{
"$ref": "#/components/parameters/entityId"
......@@ -127,7 +127,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/schema/UpdateResult.json#"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/schema/UpdateResult.json#/definitions/UpdateResult"
}
}
}
......@@ -159,7 +159,7 @@
"patch": {
"description": "Update existing Entity attributes within an NGSI-LD system",
"operationId": "partialAttrUpdate",
"tags": ["Context Information"],
"tags": ["Context Information", "Entities"],
"parameters": [
{
"$ref": "#/components/parameters/entityId"
......@@ -207,7 +207,7 @@
"delete": {
"description": "Removes an existing Entity attribute within an NGSI-LD system",
"operationId": "removeEntityAttr",
"tags": ["Context Information"],
"tags": ["Context Information", "Entities"],
"parameters": [
{
"$ref": "#/components/parameters/entityId"
......
......@@ -42,7 +42,7 @@
"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",
"tags": ["Context Information"],
"tags": ["Context Information", "Entities"],
"parameters": [
{
"$ref": "#/components/parameters/entityId"
......@@ -54,7 +54,7 @@
"$ref": "#/components/parameters/type"
},
{
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/options"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/components/parameters/options"
}
],
"responses": {
......@@ -98,7 +98,7 @@
"delete": {
"description": "Removes an specific Entity from an NGSI-LD system",
"operationId": "removeEntityById",
"tags": ["Context Information"],
"tags": ["Context Information", "Entities"],
"parameters": [
{
"$ref": "#/components/parameters/entityId"
......
......@@ -6,11 +6,11 @@
},
"components": {},
"paths": {
"/entityOperations/create/": {
"/entityOperations/create": {
"post": {
"description": "Batch Entity creation",
"operationId": "batchEntityCreation",
"tags": ["Batch Operations"],
"tags": ["Batch Operations", "Entities"],
"requestBody": {
"required": true,
"content": {
......@@ -45,11 +45,11 @@
}
}
},
"/entityOperations/update/": {
"/entityOperations/update": {
"post": {
"description": "Batch Entity update",
"operationId": "batchEntityUpdate",
"tags": ["Batch Operations"],
"tags": ["Batch Operations", "Entities"],
"parameters": [
{
"name": "options",
......@@ -97,11 +97,11 @@
}
}
},
"/entityOperations/upsert/": {
"/entityOperations/upsert": {
"post": {
"description": "Batch Entity upsert",
"operationId": "batchEntityUpsert",
"tags": ["Batch Operations"],
"tags": ["Batch Operations", "Entities"],
"parameters": [
{
"name": "options",
......@@ -150,11 +150,11 @@
}
}
},
"/entityOperations/delete/": {
"/entityOperations/delete": {
"post": {
"description": "Batch Entity delete",
"operationId": "batchEntityDelete",
"tags": ["Batch Operations"],
"tags": ["Batch Operations", "Entities"],
"requestBody": {
"required": true,
"content": {
......
>:warning: **Don't edit files in this folder, they are automatically generated and will be overwritten.**
\ No newline at end of file
{
"openapi": "3.0.1",
"openapi": "3.0.3",
"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",
......@@ -52,165 +52,45 @@
"description": "Retrieve a set of entities which matches a specific query from an NGSI-LD system",
"operationId": "queryEntities",
"tags": [
"Context Information"
"Context Information",
"Entities"
],
"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
}
"$ref": "#/components/parameters/id"
},
{
"name": "georel",
"description": "Geo-relationship",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"equals",
"disjoint",
"intersects",
"within",
"contains",
"overlaps"
]
"$ref": "#/components/parameters/idPattern"
},
{
"type": "string",
"pattern": "^near;((maxDistance==\\d+)|(minDistance==\\d+))$"
}
]
}
"$ref": "#/components/parameters/type"
},
{
"name": "geometry",
"description": "Geometry",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"Point",
"MultiPoint",
"LineString",
"MultiLineString",
"Polygon",
"MultiPolygon"
]
}
"$ref": "#/components/parameters/attrs"
},
{
"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": "#/components/parameters/q"
},
{
"$ref": "#/paths/~1csourceRegistrations~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/location/definitions/positionArray"
"$ref": "#/components/parameters/georel"
},
{
"$ref": "#/paths/~1csourceRegistrations~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/location/definitions/lineString"
"$ref": "#/components/parameters/geometry"
},
{
"$ref": "#/paths/~1csourceRegistrations~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema/allOf/0/properties/location/definitions/polygon"
}
]
}
"$ref": "#/components/parameters/coordinates"
},
{
"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
}
"$ref": "#/components/parameters/geoproperty"
},
{
"name": "csf",
"description": "Context Source Filter",
"in": "query",
"required": false,
"schema": {
"type": "string",
"minLength": 1
}
"$ref": "#/components/parameters/csf"
},
{
"name": "limit",
"description": "Pagination limit",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"minimum": 1
}
"$ref": "#/components/parameters/limit"
},
{
"name": "options",
"description": "Options dictionary",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"keyValues",
"sysAttrs"
]
}
"$ref": "#/components/parameters/options"
}
],
"responses": {
......@@ -219,7 +99,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entityOperations~1update/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/EntityList"
},
"examples": {
"simple": {
......@@ -234,22 +114,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"type": "object",
"properties": {
"type": {
"type": "string",
"format": "uri"
},
"title": {
"type": "string"
},
"detail": {
"type": "string"
}
},
"required": [
"type"
]
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -260,38 +125,15 @@
"description": "Create a new Entity within an NGSI-LD system",
"operationId": "createEntity",
"tags": [
"Context Information"
"Context Information",
"Entities"
],
"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"
}
]
"$ref": "#/components/schemas/Entity"
}
}
}
......@@ -305,7 +147,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -315,7 +157,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -325,7 +167,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -338,40 +180,21 @@
"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",
"tags": [
"Context Information"
"Context Information",
"Entities"
],
"parameters": [
{
"name": "entityId",
"description": "Entity Id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uri"
}
"$ref": "#/components/parameters/entityId"
},
{
"name": "attrs",
"description": "Comma separated list of attribute names (properties or relationships) to be retrieved",
"in": "query",
"required": false,
"schema": {
"type": "string",
"minLength": 1
}
"$ref": "#/components/parameters/attrs"
},
{
"name": "type",
"description": "Entity Type",
"in": "query",
"required": false,
"schema": {
"$ref": "#/paths/~1temporal~1entities~1/get/parameters/10/schema"
}
"$ref": "#/components/parameters/parameters-type"
},
{
"$ref": "#/paths/~1entities~1/get/parameters/11"
"$ref": "#/components/parameters/options"
}
],
"responses": {
......@@ -380,7 +203,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/Entity"
},
"examples": {
"simple": {
......@@ -395,7 +218,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -405,7 +228,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -416,14 +239,15 @@
"description": "Removes an specific Entity from an NGSI-LD system",
"operationId": "removeEntityById",
"tags": [
"Context Information"
"Context Information",
"Entities"
],
"parameters": [
{
"$ref": "#/paths/~1entities~1%7BentityId%7D/get/parameters/0"
"$ref": "#/components/parameters/entityId"
},
{
"$ref": "#/paths/~1entities~1%7BentityId%7D/get/parameters/2"
"$ref": "#/components/parameters/parameters-type"
}
],
"responses": {
......@@ -435,7 +259,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -445,7 +269,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -458,30 +282,15 @@
"description": "Append new Entity attributes to an existing Entity within an NGSI-LD system",
"operationId": "appendEntityAttrs",
"tags": [
"Context Information"
"Context Information",
"Entities"
],
"parameters": [
{
"name": "entityId",
"description": "Entity Id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uri"
}
"$ref": "#/components/parameters/entityId"
},
{
"name": "options",
"description": "Indicates that no attribute overwrite shall be performed",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"noOverwrite"
]
}
"$ref": "#/components/parameters/parameters-options"
}
],
"requestBody": {
......@@ -489,261 +298,41 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"type": "object",
"properties": {
"@context": {
"anyOf": [
{
"type": "object"
},
{
"type": "string",
"format": "uri"
"$ref": "#/components/schemas/EntityFragment"
}
}
}
},
{
"type": "array",
"minItems": 1,
"items": {
"anyOf": [
{
"type": "string",
"format": "uri"
"responses": {
"204": {
"description": "No Content"
},
{
"type": "object"
"207": {
"description": "Partial Success. Only the attributes included in the response payload were successfully appended",
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/components/schemas/UpdateResult"
}
]
}
}
]
},
"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"
}
}
}
"400": {
"description": "Bad request",
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"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"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -754,11 +343,12 @@
"description": "Update existing Entity attributes within an NGSI-LD system",
"operationId": "updateEntityAttrs",
"tags": [
"Context Information"
"Context Information",
"Entities"
],
"parameters": [
{
"$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/parameters/0"
"$ref": "#/components/parameters/entityId"
}
],
"requestBody": {
......@@ -766,7 +356,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/EntityFragment"
}
}
}
......@@ -780,7 +370,7 @@
"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"
"$ref": "#/components/schemas/UpdateResult"
}
}
}
......@@ -790,7 +380,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -800,7 +390,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -813,20 +403,15 @@
"description": "Update existing Entity attributes within an NGSI-LD system",
"operationId": "partialAttrUpdate",
"tags": [
"Context Information"
"Context Information",
"Entities"
],
"parameters": [
{
"$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/parameters/0"
"$ref": "#/components/parameters/entityId"
},
{
"name": "attrId",
"description": "Attribute Id",
"in": "path",
"required": true,
"schema": {
"$ref": "#/paths/~1temporal~1entities~1/get/parameters/10/schema"
}
"$ref": "#/components/parameters/attrId"
}
],
"requestBody": {
......@@ -834,7 +419,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/EntityFragment"
}
}
}
......@@ -848,7 +433,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -858,7 +443,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -869,14 +454,15 @@
"description": "Removes an existing Entity attribute within an NGSI-LD system",
"operationId": "removeEntityAttr",
"tags": [
"Context Information"
"Context Information",
"Entities"
],
"parameters": [
{
"$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1/post/parameters/0"
"$ref": "#/components/parameters/entityId"
},
{
"$ref": "#/paths/~1entities~1%7BentityId%7D~1attrs~1%7BattrId%7D/patch/parameters/1"
"$ref": "#/components/parameters/attrId"
}
],
"responses": {
......@@ -888,7 +474,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -898,7 +484,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -911,18 +497,12 @@
"description": "Retrieves the subscriptions available in an NGSI-LD system",
"operationId": "retrieveSubscriptions",
"tags": [
"Context Subscription"
"Context Subscription",
"Subscriptions"
],
"parameters": [
{
"name": "limit",
"description": "Pagination limit",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"minimum": 1
}
"$ref": "#/components/parameters/limit"
}
],
"responses": {
......@@ -931,10 +511,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/paths/~1subscriptions~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema"
}
"$ref": "#/components/schemas/SubscriptionList"
},
"examples": {
"simple": {
......@@ -949,7 +526,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -960,177 +537,57 @@
"description": "Creates a new Subscription within an NGSI-LD system",
"operationId": "createSubscription",
"tags": [
"Context Subscription"
"Context Subscription",
"Subscriptions"
],
"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
"$ref": "#/components/schemas/Subscription"
}
}
}
},
"format": {
"type": "string"
"responses": {
"201": {
"description": "Created. Contains the resource URI of the created Subscription"
},
"endpoint": {
"type": "object",
"required": [
"uri"
],
"properties": {
"uri": {
"type": "string",
"format": "uri"
"400": {
"description": "Bad request",
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"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"
}
}
}
}
"409": {
"description": "Already exists",
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
}
},
"/subscriptions/{subscriptionId}": {
"get": {
"description": "Retrieves a specific Subscription from an NGSI-LD system",
"operationId": "retrieveSubscription",
"operationId": "retrieveSubscriptionById",
"tags": [
"Context Subscription"
"Context Subscription",
"Subscriptions"
],
"parameters": [
{
"name": "subscriptionId",
"description": "Subscription Id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uri"
}
"$ref": "#/components/parameters/subscriptionId"
}
],
"responses": {
......@@ -1139,7 +596,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1subscriptions~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/Subscription"
},
"examples": {
"simple": {
......@@ -1154,7 +611,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -1164,7 +621,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -1175,11 +632,12 @@
"description": "Updates a specific Subscription within an NGSI-LD system",
"operationId": "updateSubscription",
"tags": [
"Context Subscription"
"Context Subscription",
"Subscriptions"
],
"parameters": [
{
"$ref": "#/paths/~1subscriptions~1%7BsubscriptionId%7D/get/parameters/0"
"$ref": "#/components/parameters/subscriptionId"
}
],
"requestBody": {
......@@ -1187,91 +645,7 @@
"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"
}
}
"$ref": "#/components/schemas/SubscriptionFragment"
}
}
}
......@@ -1285,7 +659,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -1295,7 +669,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -1306,11 +680,12 @@
"description": "Removes a specific Subscription from an NGSI-LD system",
"operationId": "removeSubscription",
"tags": [
"Context Subscription"
"Context Subscription",
"Subscriptions"
],
"parameters": [
{
"$ref": "#/paths/~1subscriptions~1%7BsubscriptionId%7D/get/parameters/0"
"$ref": "#/components/parameters/subscriptionId"
}
],
"responses": {
......@@ -1322,7 +697,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -1332,7 +707,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -1345,38 +720,39 @@
"description": "Retrieve a set of context sources which matches a specific query from an NGSI-LD system",
"operationId": "queryCsources",
"tags": [
"Context Sources"
"Context Sources",
"CSourceRegistrations"
],
"parameters": [
{
"$ref": "#/paths/~1entities~1/get/parameters/0"
"$ref": "#/components/parameters/id"
},
{
"$ref": "#/paths/~1entities~1/get/parameters/1"
"$ref": "#/components/parameters/idPattern"
},
{
"$ref": "#/paths/~1entities~1/get/parameters/2"
"$ref": "#/components/parameters/type"
},
{
"$ref": "#/paths/~1entities~1/get/parameters/3"
"$ref": "#/components/parameters/attrs"
},
{
"$ref": "#/paths/~1entities~1/get/parameters/4"
"$ref": "#/components/parameters/q"
},
{
"$ref": "#/paths/~1entities~1/get/parameters/5"
"$ref": "#/components/parameters/georel"
},
{
"$ref": "#/paths/~1entities~1/get/parameters/6"
"$ref": "#/components/parameters/geometry"
},
{
"$ref": "#/paths/~1entities~1/get/parameters/7"
"$ref": "#/components/parameters/coordinates"
},
{
"$ref": "#/paths/~1entities~1/get/parameters/8"
"$ref": "#/components/parameters/geoproperty"
},
{
"$ref": "#/paths/~1entities~1/get/parameters/10"
"$ref": "#/components/parameters/limit"
}
],
"responses": {
......@@ -1385,10 +761,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/paths/~1csourceRegistrations~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema"
}
"$ref": "#/components/schemas/ContextSourceRegistrationList"
},
"examples": {
"simple": {
......@@ -1403,7 +776,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -1414,325 +787,57 @@
"description": "Registers a new context source within an NGSI-LD system",
"operationId": "registerCsource",
"tags": [
"Context Sources"
"Context Sources",
"CSourceRegistrations"
],
"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"
"$ref": "#/components/schemas/ContextSourceRegistration"
}
}
}
},
"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"
"responses": {
"201": {
"description": "Created. Contains the resource URI of the created Registration"
},
"uniqueItems": true
"400": {
"description": "Bad request",
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"timestamp": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": [
"start"
],
"properties": {
"start": {
"type": "string",
"format": "date-time"
},
"end": {
"type": "string",
"format": "date-time"
"409": {
"description": "Already exists",
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
}
},
"location": {
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "https://forge.etsi.org/rep/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",
"tags": [
"Context Sources"
"/csourceRegistrations/{registrationId}": {
"get": {
"description": "Retrieves a specific context source registration from an NGSI-LD system",
"operationId": "retrieveCsource",
"tags": [
"Context Sources",
"CSourceRegistrations"
],
"parameters": [
{
"name": "registrationId",
"description": "Registration Id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uri"
}
"$ref": "#/components/parameters/registrationId"
}
],
"responses": {
......@@ -1741,7 +846,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1csourceRegistrations~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ContextSourceRegistration"
},
"examples": {
"simple": {
......@@ -1756,7 +861,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -1766,7 +871,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -1777,11 +882,12 @@
"description": "Removes an specific context source registration within an NGSI-LD system",
"operationId": "removeCsource",
"tags": [
"Context Sources"
"Context Sources",
"CSourceRegistrations"
],
"parameters": [
{
"$ref": "#/paths/~1csourceRegistrations~1%7BregistrationId%7D/get/parameters/0"
"$ref": "#/components/parameters/registrationId"
}
],
"responses": {
......@@ -1793,7 +899,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -1803,7 +909,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -1816,18 +922,12 @@
"description": "Retrieves the context source discovery subscriptions available in an NGSI-LD system",
"operationId": "retrieveCSourceSubscriptions",
"tags": [
"Context Sources"
"Context Sources",
"CSourceSubscriptions"
],
"parameters": [
{
"name": "limit",
"description": "Pagination limit",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"minimum": 1
}
"$ref": "#/components/parameters/limit"
}
],
"responses": {
......@@ -1836,7 +936,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1subscriptions~1/get/responses/200/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/SubscriptionList"
},
"examples": {
"simple": {
......@@ -1851,7 +951,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -1862,14 +962,15 @@
"description": "Creates a context source discovery Subscription within an NGSI-LD system",
"operationId": "createCSourceSubscription",
"tags": [
"Context Sources"
"Context Sources",
"CSourceSubscriptions"
],
"requestBody": {
"required": true,
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1subscriptions~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/Subscription"
}
}
}
......@@ -1883,7 +984,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -1893,7 +994,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -1904,20 +1005,14 @@
"/csourceSubscriptions/{subscriptionId}": {
"get": {
"description": "Retrieves a specific Subscription from an NGSI-LD system",
"operationId": "retrieveSubscription",
"operationId": "retrieveCSourceSubscriptionsById",
"tags": [
"Context Sources"
"Context Sources",
"CSourceSubscriptions"
],
"parameters": [
{
"name": "subscriptionId",
"description": "Subscription Id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uri"
}
"$ref": "#/components/parameters/subscriptionId"
}
],
"responses": {
......@@ -1926,7 +1021,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1subscriptions~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/Subscription"
},
"examples": {
"simple": {
......@@ -1941,7 +1036,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -1951,7 +1046,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -1962,11 +1057,12 @@
"description": "Updates a specific context source discovery Subscription within an NGSI-LD system",
"operationId": "updateCSourceSubscription",
"tags": [
"Context Sources"
"Context Sources",
"CSourceSubscriptions"
],
"parameters": [
{
"$ref": "#/paths/~1csourceSubscriptions~1%7BsubscriptionId%7D/get/parameters/0"
"$ref": "#/components/parameters/subscriptionId"
}
],
"requestBody": {
......@@ -1974,7 +1070,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1subscriptions~1%7BsubscriptionId%7D/patch/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/SubscriptionFragment"
}
}
}
......@@ -1988,7 +1084,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -1998,7 +1094,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -2009,11 +1105,12 @@
"description": "Removes a specific Context Source Subscription from an NGSI-LD system",
"operationId": "removeCSourceSubscription",
"tags": [
"Context Sources"
"Context Sources",
"CSourceSubscriptions"
],
"parameters": [
{
"$ref": "#/paths/~1csourceSubscriptions~1%7BsubscriptionId%7D/get/parameters/0"
"$ref": "#/components/parameters/subscriptionId"
}
],
"responses": {
......@@ -2025,7 +1122,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -2035,7 +1132,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -2048,14 +1145,15 @@
"description": "Batch Entity creation",
"operationId": "batchEntityCreation",
"tags": [
"Batch Operations"
"Batch Operations",
"Entities"
],
"requestBody": {
"required": true,
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entityOperations~1update/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/EntityList"
}
}
}
......@@ -2066,7 +1164,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entityOperations~1upsert/post/responses/200/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/BatchOperationResult"
}
}
}
......@@ -2076,7 +1174,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -2089,7 +1187,8 @@
"description": "Batch Entity update",
"operationId": "batchEntityUpdate",
"tags": [
"Batch Operations"
"Batch Operations",
"Entities"
],
"parameters": [
{
......@@ -2109,10 +1208,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/paths/~1entities~1/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema"
}
"$ref": "#/components/schemas/EntityList"
}
}
}
......@@ -2123,7 +1219,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entityOperations~1upsert/post/responses/200/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/BatchOperationResult"
}
}
}
......@@ -2133,7 +1229,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -2146,7 +1242,8 @@
"description": "Batch Entity upsert",
"operationId": "batchEntityUpsert",
"tags": [
"Batch Operations"
"Batch Operations",
"Entities"
],
"parameters": [
{
......@@ -2167,7 +1264,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entityOperations~1update/post/requestBody/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/EntityList"
}
}
}
......@@ -2178,28 +1275,7 @@
"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"
}
}
}
}
"$ref": "#/components/schemas/BatchOperationResult"
}
}
}
......@@ -2209,7 +1285,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -2222,7 +1298,8 @@
"description": "Batch Entity delete",
"operationId": "batchEntityDelete",
"tags": [
"Batch Operations"
"Batch Operations",
"Entities"
],
"requestBody": {
"required": true,
......@@ -2245,7 +1322,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entityOperations~1upsert/post/responses/200/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/BatchOperationResult"
}
}
}
......@@ -2255,7 +1332,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -2268,110 +1345,60 @@
"description": "Query temporal evolution of Entities from an NGSI-LD system",
"operationId": "queryTemporalEntities",
"tags": [
"Temporal Evolution"
"Temporal Evolution",
"Temporal"
],
"parameters": [
{
"$ref": "#/paths/~1entities~1/get/parameters/0"
"$ref": "#/components/parameters/id"
},
{
"$ref": "#/paths/~1entities~1/get/parameters/1"
"$ref": "#/components/parameters/idPattern"
},
{
"$ref": "#/paths/~1entities~1/get/parameters/2"
"$ref": "#/components/parameters/type"
},
{
"$ref": "#/paths/~1entities~1/get/parameters/3"
"$ref": "#/components/parameters/attrs"
},
{
"$ref": "#/paths/~1entities~1/get/parameters/4"
"$ref": "#/components/parameters/q"
},
{
"$ref": "#/paths/~1entities~1/get/parameters/5"
"$ref": "#/components/parameters/georel"
},
{
"$ref": "#/paths/~1entities~1/get/parameters/6"
"$ref": "#/components/parameters/geometry"
},
{
"$ref": "#/paths/~1entities~1/get/parameters/7"
"$ref": "#/components/parameters/coordinates"
},
{
"$ref": "#/paths/~1entities~1/get/parameters/8"
"$ref": "#/components/parameters/geoproperty"
},
{
"name": "timerel",
"description": "Time relationship",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"before",
"after",
"between"
]
}
"$ref": "#/components/parameters/timerel"
},
{
"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"
}
"$ref": "#/components/parameters/timeproperty"
},
{
"name": "time",
"description": "start time for temporal query",
"in": "query",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
}
"$ref": "#/components/parameters/time"
},
{
"name": "endTime",
"description": "end time for temporal query",
"in": "query",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
}
"$ref": "#/components/parameters/endTime"
},
{
"$ref": "#/paths/~1entities~1/get/parameters/9"
"$ref": "#/components/parameters/csf"
},
{
"$ref": "#/paths/~1entities~1/get/parameters/10"
"$ref": "#/components/parameters/limit"
},
{
"name": "options",
"description": "Options dictionary",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"temporalValues",
"sysAttrs"
]
}
"$ref": "#/components/parameters/components-parameters-options"
},
{
"name": "lastN",
"description": "Only retrieve last N instances",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"minimum": 1
}
"$ref": "#/components/parameters/lastN"
}
],
"responses": {
......@@ -2380,107 +1407,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"type": "array",
"items": {
"$schema": "http://json-schema.org/schema#",
"id": "https://forge.etsi.org/rep/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"
}
]
}
"$ref": "#/components/schemas/EntityTemporalList"
},
"examples": {
"simple": {
......@@ -2495,7 +1422,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -2506,14 +1433,15 @@
"description": "Create or update temporal representation of an Entity within an NGSI-LD system",
"operationId": "createUpdateEntityTemporal",
"tags": [
"Temporal Evolution"
"Temporal Evolution",
"Temporal"
],
"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"
"$ref": "#/components/schemas/EntityTemporal"
},
"examples": {
"simple": {
......@@ -2535,7 +1463,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -2545,7 +1473,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -2555,7 +1483,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -2568,35 +1496,36 @@
"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",
"tags": [
"Temporal Evolution"
"Temporal Evolution",
"Temporal"
],
"parameters": [
{
"$ref": "#/paths/~1entities~1%7BentityId%7D/get/parameters/0"
"$ref": "#/components/parameters/entityId"
},
{
"$ref": "#/paths/~1entities~1%7BentityId%7D/get/parameters/1"
"$ref": "#/components/parameters/attrs"
},
{
"$ref": "#/paths/~1entities~1%7BentityId%7D/get/parameters/2"
"$ref": "#/components/parameters/parameters-type"
},
{
"$ref": "#/paths/~1temporal~1entities~1/get/parameters/15"
"$ref": "#/components/parameters/components-parameters-options"
},
{
"$ref": "#/paths/~1temporal~1entities~1/get/parameters/9"
"$ref": "#/components/parameters/timerel"
},
{
"$ref": "#/paths/~1temporal~1entities~1/get/parameters/10"
"$ref": "#/components/parameters/timeproperty"
},
{
"$ref": "#/paths/~1temporal~1entities~1/get/parameters/11"
"$ref": "#/components/parameters/time"
},
{
"$ref": "#/paths/~1temporal~1entities~1/get/parameters/12"
"$ref": "#/components/parameters/endTime"
},
{
"$ref": "#/paths/~1temporal~1entities~1/get/parameters/16"
"$ref": "#/components/parameters/lastN"
}
],
"responses": {
......@@ -2605,7 +1534,7 @@
"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"
"$ref": "#/components/schemas/EntityTemporal"
},
"examples": {
"simple": {
......@@ -2620,7 +1549,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -2630,7 +1559,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -2641,14 +1570,15 @@
"description": "Removes the temporal representation of an Entity from an NGSI-LD system",
"operationId": "removeEntityTemporalById",
"tags": [
"Temporal Evolution"
"Temporal Evolution",
"Temporal"
],
"parameters": [
{
"$ref": "#/paths/~1entities~1%7BentityId%7D/get/parameters/0"
"$ref": "#/components/parameters/entityId"
},
{
"$ref": "#/paths/~1entities~1%7BentityId%7D/get/parameters/2"
"$ref": "#/components/parameters/parameters-type"
}
],
"responses": {
......@@ -2660,7 +1590,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -2670,7 +1600,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -2683,18 +1613,12 @@
"description": "Add new attributes to an existing Temporal Entity within an NGSI-LD system",
"operationId": "addTemporalEntityAttrs",
"tags": [
"Temporal Evolution"
"Temporal Evolution",
"Temporal"
],
"parameters": [
{
"name": "entityId",
"description": "Entity Id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uri"
}
"$ref": "#/components/parameters/entityId"
}
],
"requestBody": {
......@@ -2702,7 +1626,7 @@
"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"
"$ref": "#/components/schemas/EntityTemporalFragment"
}
}
}
......@@ -2716,7 +1640,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -2726,7 +1650,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -2739,20 +1663,15 @@
"description": "Attribute from Temporal Representation of Entity deletion",
"operationId": "removeEntityTemporalAttr",
"tags": [
"Temporal Evolution"
"Temporal Evolution",
"Temporal"
],
"parameters": [
{
"$ref": "#/paths/~1temporal~1entities~1%7BentityId%7D~1attrs~1/post/parameters/0"
"$ref": "#/components/parameters/entityId"
},
{
"name": "attrId",
"description": "Attribute Id",
"in": "path",
"required": true,
"schema": {
"$ref": "#/paths/~1temporal~1entities~1/get/parameters/10/schema"
}
"$ref": "#/components/parameters/attrId"
}
],
"responses": {
......@@ -2764,7 +1683,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -2774,7 +1693,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -2787,24 +1706,18 @@
"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"
"Temporal Evolution",
"Temporal"
],
"parameters": [
{
"$ref": "#/paths/~1temporal~1entities~1%7BentityId%7D~1attrs~1/post/parameters/0"
"$ref": "#/components/parameters/entityId"
},
{
"$ref": "#/paths/~1temporal~1entities~1%7BentityId%7D~1attrs~1%7BattrId%7D/delete/parameters/1"
"$ref": "#/components/parameters/attrId"
},
{
"name": "instanceId",
"description": "Instance Id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uri"
}
"$ref": "#/components/parameters/instanceId"
}
],
"requestBody": {
......@@ -2812,7 +1725,7 @@
"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"
"$ref": "#/components/schemas/EntityTemporalFragment"
}
}
}
......@@ -2826,7 +1739,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -2836,7 +1749,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -2847,17 +1760,18 @@
"description": "Attribute Instance deletion by instance id.",
"operationId": "removeEntityTemporalAttrInstance",
"tags": [
"Temporal Evolution"
"Temporal Evolution",
"Temporal"
],
"parameters": [
{
"$ref": "#/paths/~1temporal~1entities~1%7BentityId%7D~1attrs~1/post/parameters/0"
"$ref": "#/components/parameters/entityId"
},
{
"$ref": "#/paths/~1temporal~1entities~1%7BentityId%7D~1attrs~1%7BattrId%7D/delete/parameters/1"
"$ref": "#/components/parameters/attrId"
},
{
"$ref": "#/paths/~1temporal~1entities~1%7BentityId%7D~1attrs~1%7BattrId%7D~1%7BinstanceId%7D/patch/parameters/2"
"$ref": "#/components/parameters/instanceId"
}
],
"responses": {
......@@ -2869,7 +1783,7 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
......@@ -2879,14 +1793,1256 @@
"content": {
"application/json;application/ld+json": {
"schema": {
"$ref": "#/paths/~1entities~1/get/responses/400/content/application~1json%3Bapplication~1ld%2Bjson/schema"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
}
}
},
"components": {
"parameters": {
"id": {
"name": "id",
"description": "Comma separated list of URIs to be retrieved",
"in": "query",
"required": false,
"schema": {
"type": "string",
"format": "uri"
}
},
"idPattern": {
"name": "idPattern",
"description": "Regular expression that must be matched by Entity ids",
"in": "query",
"required": false,
"schema": {
"type": "string",
"format": "regexp"
}
},
"type": {
"name": "type",
"description": "Comma separated list of Entity type names to be retrieved",
"in": "query",
"required": false,
"schema": {
"type": "string",
"minLength": 1
}
},
"attrs": {
"name": "attrs",
"description": "Comma separated list of attribute names (properties or relationships) to be retrieved",
"in": "query",
"required": false,
"schema": {
"type": "string",
"minLength": 1
}
},
"q": {
"name": "q",
"description": "Query",
"in": "query",
"required": false,
"schema": {
"type": "string",
"minLength": 1
}
},
"georel": {
"name": "georel",
"description": "Geo-relationship",
"in": "query",
"required": false,
"schema": {
"$ref": "#/components/schemas/georel"
}
},
"geometry": {
"name": "geometry",
"description": "Geometry",
"in": "query",
"required": false,
"schema": {
"$ref": "#/components/schemas/geometry"
}
},
"coordinates": {
"name": "coordinates",
"description": "Coordinates serialized as a string",
"in": "query",
"required": false,
"schema": {
"$ref": "#/components/schemas/coordinates"
}
},
"geoproperty": {
"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
}
},
"csf": {
"name": "csf",
"description": "Context Source Filter",
"in": "query",
"required": false,
"schema": {
"type": "string",
"minLength": 1
}
},
"limit": {
"name": "limit",
"description": "Pagination limit",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"minimum": 1
}
},
"options": {
"name": "options",
"description": "Options dictionary",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"keyValues",
"sysAttrs"
]
}
},
"entityId": {
"name": "entityId",
"description": "Entity Id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uri"
}
},
"parameters-type": {
"name": "type",
"description": "Entity Type",
"in": "query",
"required": false,
"schema": {
"$ref": "#/components/schemas/Name"
}
},
"parameters-options": {
"name": "options",
"description": "Indicates that no attribute overwrite shall be performed",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"noOverwrite"
]
}
},
"attrId": {
"name": "attrId",
"description": "Attribute Id",
"in": "path",
"required": true,
"schema": {
"$ref": "#/components/schemas/Name"
}
},
"subscriptionId": {
"name": "subscriptionId",
"description": "Subscription Id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uri"
}
},
"registrationId": {
"name": "registrationId",
"description": "Registration Id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uri"
}
},
"timerel": {
"name": "timerel",
"description": "Time relationship",
"in": "query",
"required": false,
"schema": {
"$ref": "#/components/schemas/timerel"
}
},
"timeproperty": {
"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": {
"$ref": "#/components/schemas/Name"
}
},
"time": {
"name": "time",
"description": "start time for temporal query",
"in": "query",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
}
},
"endTime": {
"name": "endTime",
"description": "end time for temporal query",
"in": "query",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
}
},
"components-parameters-options": {
"name": "options",
"description": "Options dictionary",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"temporalValues",
"sysAttrs"
]
}
},
"lastN": {
"name": "lastN",
"description": "Only retrieve last N instances",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"minimum": 1
}
},
"instanceId": {
"name": "instanceId",
"description": "Instance Id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uri"
}
}
},
"schemas": {
"georel": {
"oneOf": [
{
"type": "string",
"enum": [
"equals",
"disjoint",
"intersects",
"within",
"contains",
"overlaps"
]
},
{
"type": "string",
"pattern": "^near;((maxDistance==\\d+)|(minDistance==\\d+))$"
}
]
},
"geometry": {
"type": "string",
"enum": [
"Point",
"MultiPoint",
"LineString",
"MultiLineString",
"Polygon",
"MultiPolygon"
]
},
"position": {
"description": "A single position",
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
},
"additionalProperties": false
},
"positionArray": {
"description": "An array of positions",
"type": "array",
"items": {
"$ref": "#/components/schemas/position"
}
},
"lineString": {
"description": "An array of two or more positions",
"allOf": [
{
"$ref": "#/components/schemas/positionArray"
},
{
"minItems": 2
}
]
},
"linearRing": {
"description": "An array of four positions where the first equals the last",
"allOf": [
{
"$ref": "#/components/schemas/positionArray"
},
{
"minItems": 4
}
]
},
"polygon": {
"description": "An array of linear rings",
"type": "array",
"items": {
"$ref": "#/components/schemas/linearRing"
}
},
"coordinates": {
"oneOf": [
{
"$ref": "#/components/schemas/position"
},
{
"$ref": "#/components/schemas/positionArray"
},
{
"$ref": "#/components/schemas/lineString"
},
{
"$ref": "#/components/schemas/polygon"
}
]
},
"LdContext": {
"oneOf": [
{
"type": "object"
},
{
"type": "string",
"format": "uri"
},
{
"type": "array",
"minItems": 1,
"items": {
"oneOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "object"
}
]
}
}
]
},
"Point": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Point"
]
},
"coordinates": {
"$ref": "#/components/schemas/position"
}
}
},
"MultiPoint": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"MultiPoint"
]
},
"coordinates": {
"$ref": "#/components/schemas/positionArray"
}
}
},
"Polygon": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Polygon"
]
},
"coordinates": {
"$ref": "#/components/schemas/polygon"
}
}
},
"LineString": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"LineString"
]
},
"coordinates": {
"$ref": "#/components/schemas/lineString"
}
}
},
"MultiLineString": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"MultiLineString"
]
},
"coordinates": {
"type": "array",
"items": {
"$ref": "#/components/schemas/lineString"
}
}
}
},
"MultiPolygon": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"MultiPolygon"
]
},
"coordinates": {
"type": "array",
"items": {
"$ref": "#/components/schemas/polygon"
}
}
}
},
"Geometry": {
"description": " Avalid GeoJSON geometry object",
"oneOf": [
{
"$ref": "#/components/schemas/Point"
},
{
"$ref": "#/components/schemas/MultiPoint"
},
{
"$ref": "#/components/schemas/Polygon"
},
{
"$ref": "#/components/schemas/LineString"
},
{
"$ref": "#/components/schemas/MultiLineString"
},
{
"$ref": "#/components/schemas/MultiPolygon"
}
]
},
"observedAt": {
"type": "string",
"format": "date-time"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"modifiedAt": {
"type": "string",
"format": "date-time"
},
"datasetId": {
"type": "string",
"format": "uri"
},
"instanceId": {
"type": "string",
"format": "uri"
},
"Property": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Property"
]
},
"value": {
"oneOf": [
"string",
"number",
"boolean",
"array",
"object"
]
},
"observedAt": {
"$ref": "#/components/schemas/observedAt"
},
"createdAt": {
"$ref": "#/components/schemas/createdAt"
},
"modifiedAt": {
"$ref": "#/components/schemas/modifiedAt"
},
"datasetId": {
"$ref": "#/components/schemas/datasetId"
},
"instanceId": {
"$ref": "#/components/schemas/instanceId"
}
},
"required": [
"type",
"value"
],
"additionalProperties": {
"oneOf": [
{
"$ref": "#/components/schemas/Property"
},
{
"$ref": "#/components/schemas/Relationship"
}
]
}
},
"Relationship": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Relationship"
]
},
"object": {
"type": "string",
"format": "uri"
},
"observedAt": {
"$ref": "#/components/schemas/observedAt"
},
"createdAt": {
"$ref": "#/components/schemas/createdAt"
},
"modifiedAt": {
"$ref": "#/components/schemas/modifiedAt"
},
"datasetId": {
"$ref": "#/components/schemas/datasetId"
},
"instanceId": {
"$ref": "#/components/schemas/instanceId"
}
},
"required": [
"type",
"object"
],
"additionalProperties": {
"oneOf": [
{
"$ref": "#/components/schemas/Property"
},
{
"$ref": "#/components/schemas/Relationship"
}
]
}
},
"GeoProperty": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"GeoProperty"
]
},
"value": {
"$ref": "#/components/schemas/Geometry"
},
"observedAt": {
"$ref": "#/components/schemas/observedAt"
},
"createdAt": {
"$ref": "#/components/schemas/createdAt"
},
"modifiedAt": {
"$ref": "#/components/schemas/modifiedAt"
},
"datasetId": {
"$ref": "#/components/schemas/datasetId"
},
"instanceId": {
"$ref": "#/components/schemas/instanceId"
}
},
"required": [
"type",
"value"
],
"additionalProperties": {
"oneOf": [
{
"$ref": "#/components/schemas/Property"
},
{
"$ref": "#/components/schemas/Relationship"
}
]
}
},
"Name": {
"type": "string",
"pattern": "^((\\d|[a-zA-Z]|_)+(:(\\d|[a-zA-Z]|_)+)?(#\\d+)?)$",
"minLength": 1,
"description": "NGSI-LD Name"
},
"EntityFragment": {
"type": "object",
"properties": {
"@context": {
"$ref": "#/components/schemas/LdContext"
},
"location": {
"$ref": "#/components/schemas/GeoProperty"
},
"observationSpace": {
"$ref": "#/components/schemas/GeoProperty"
},
"operationSpace": {
"$ref": "#/components/schemas/GeoProperty"
},
"id": {
"type": "string",
"format": "uri"
},
"type": {
"$ref": "#/components/schemas/Name"
},
"createdAt": {
"$ref": "#/components/schemas/createdAt"
},
"modifiedAt": {
"$ref": "#/components/schemas/modifiedAt"
}
},
"additionalProperties": {
"oneOf": [
{
"$ref": "#/components/schemas/Property"
},
{
"$ref": "#/components/schemas/Relationship"
},
{
"$ref": "#/components/schemas/GeoProperty"
}
]
}
},
"Entity": {
"allOf": [
{
"required": [
"id",
"type"
]
},
{
"$ref": "#/components/schemas/EntityFragment"
}
]
},
"EntityList": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Entity"
}
},
"ProblemDetails": {
"type": "object",
"properties": {
"type": {
"type": "string",
"format": "uri"
},
"title": {
"type": "string"
},
"detail": {
"type": "string"
}
},
"required": [
"type"
]
},
"NotUpdatedDetails": {
"type": "object",
"properties": {
"attributeName": {
"type": "string",
"pattern": ""
},
"reason": {
"type": "string",
"minLength": 1
}
}
},
"UpdateResult": {
"type": "object",
"properties": {
"updated": {
"type": "array",
"items": {
"type": "string",
"pattern": ""
}
},
"notUpdated": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NotUpdatedDetails"
}
}
}
},
"EntityInfo": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uri"
},
"type": {
"$ref": "#/components/schemas/Name"
},
"idPattern": {
"type": "string",
"format": "regex"
}
},
"required": [
"type"
]
},
"GeoQuery": {
"type": "object",
"required": [
"geometry",
"coordinates",
"georel"
],
"properties": {
"georel": {
"$ref": "#/components/schemas/georel"
},
"coordinates": {
"$ref": "#/components/schemas/coordinates"
},
"geometry": {
"$ref": "#/components/schemas/geometry"
}
}
},
"SubscriptionFragment": {
"type": "object",
"properties": {
"@context": {
"$ref": "#/components/schemas/LdContext"
},
"entities": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EntityInfo"
},
"minItems": 1
},
"name": {
"type": "string",
"minLength": 1
},
"description": {
"type": "string",
"minLength": 1
},
"watchedAttributes": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/components/schemas/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": "#/components/schemas/GeoQuery"
},
"csf": {
"type": "string"
}
}
},
"Endpoint": {
"type": "object",
"required": [
"uri"
],
"properties": {
"uri": {
"type": "string",
"format": "uri"
},
"accept": {
"type": "string",
"enum": [
"application/json",
"application/ld+json"
]
}
}
},
"NotificationParams": {
"type": "object",
"properties": {
"attributes": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"minLength": 1
},
"uniqueItems": true
},
"format": {
"type": "string"
},
"endpoint": {
"$ref": "#/components/schemas/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"
]
},
"Subscription": {
"allOf": [
{
"$ref": "#/components/schemas/SubscriptionFragment"
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uri"
},
"type": {
"type": "string",
"enum": [
"Subscription"
]
},
"notification": {
"$ref": "#/components/schemas/NotificationParams"
},
"status": {
"type": "string",
"enum": [
"active",
"paused",
"expired"
]
},
"createdAt": {
"$ref": "#/components/schemas/createdAt"
},
"modifiedAt": {
"$ref": "#/components/schemas/modifiedAt"
}
},
"allOf": [
{
"required": [
"id",
"type",
"notification"
]
},
{
"anyOf": [
{
"required": [
"entities"
]
},
{
"required": [
"watchedAttributes"
]
}
]
}
]
}
]
},
"SubscriptionList": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Subscription"
}
},
"RegistrationInfo": {
"type": "object",
"properties": {
"entities": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/components/schemas/EntityInfo"
}
},
"properties": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/components/schemas/Name"
},
"uniqueItems": true
},
"relationships": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/components/schemas/Name"
},
"uniqueItems": true
}
}
},
"TimeInterval": {
"type": "object",
"required": [
"start"
],
"properties": {
"start": {
"type": "string",
"format": "date-time"
},
"end": {
"type": "string",
"format": "date-time"
}
}
},
"ContextSourceRegistrationFragment": {
"type": "object",
"properties": {
"@context": {
"$ref": "#/components/schemas/LdContext"
},
"information": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/components/schemas/RegistrationInfo"
}
},
"observationInterval": {
"$ref": "#/components/schemas/TimeInterval"
},
"managementInterval": {
"$ref": "#/components/schemas/TimeInterval"
},
"location": {
"$ref": "#/components/schemas/Geometry"
},
"observationSpace": {
"$ref": "#/components/schemas/Geometry"
},
"operationSpace": {
"$ref": "#/components/schemas/Geometry"
},
"expires": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string",
"minLength": 1
},
"description": {
"type": "string",
"minLength": 1
},
"endpoint": {
"type": "string",
"format": "uri"
}
},
"additionalProperties": true
},
"ContextSourceRegistration": {
"allOf": [
{
"$ref": "#/components/schemas/ContextSourceRegistrationFragment"
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uri"
},
"type": {
"type": "string",
"enum": [
"ContextSourceRegistration"
]
},
"createdAt": {
"$ref": "#/components/schemas/createdAt"
},
"modifiedAt": {
"$ref": "#/components/schemas/modifiedAt"
}
},
"required": [
"id",
"type",
"endpoint",
"information"
]
}
]
},
"ContextSourceRegistrationList": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ContextSourceRegistration"
}
},
"BatchEntityError": {
"type": "object",
"properties": {
"entityId": {
"type": "string",
"format": "uri"
},
"error": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
},
"BatchOperationResult": {
"type": "object",
"properties": {
"success": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
}
},
"error": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BatchEntityError"
}
}
}
},
"timerel": {
"type": "string",
"enum": [
"before",
"after",
"between"
]
},
"EntityTemporalFragment": {
"type": "object",
"properties": {
"@context": {
"$ref": "#/components/schemas/LdContext"
},
"location": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GeoProperty"
},
"minItems": 1
},
"observationSpace": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GeoProperty"
},
"minItems": 1
},
"operationSpace": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GeoProperty"
},
"minItems": 1
},
"id": {
"type": "string",
"format": "uri"
},
"type": {
"$ref": "#/components/schemas/Name"
},
"createdAt": {
"$ref": "#/components/schemas/createdAt"
},
"modifiedAt": {
"$ref": "#/components/schemas/modifiedAt"
}
},
"additionalProperties": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/Property"
},
"minItems": 1
},
{
"type": "array",
"items": {
"$ref": "#/components/schemas/Relationship"
},
"minItems": 1
},
{
"type": "array",
"items": {
"$ref": "#/components/schemas/GeoProperty"
},
"minItems": 1
}
]
}
},
"EntityTemporal": {
"allOf": [
{
"$ref": "#/components/schemas/EntityTemporalFragment"
},
{
"type": "object",
"required": [
"type",
"id"
]
}
]
},
"EntityTemporalList": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EntityTemporal"
}
}
}
}
}
\ No newline at end of file
......@@ -48,46 +48,46 @@
],
"paths": {
"/entities/": {
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/paths/%2Fentities%2F"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/paths/%2Fentities%2F"
},
"/entities/{entityId}": {
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entity-by-id-spec.json#/paths/%2Fentities%2F%7BentityId%7D"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entity-by-id-spec.json#/paths/%2Fentities%2F%7BentityId%7D"
},
"/entities/{entityId}/attrs/": {
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entity-attrs-spec.json#/paths/%2Fentities%2F%7BentityId%7D%2Fattrs%2F"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entity-attrs-spec.json#/paths/%2Fentities%2F%7BentityId%7D%2Fattrs%2F"
},
"/entities/{entityId}/attrs/{attrId}": {
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entity-attrs-spec.json#/paths/%2Fentities%2F%7BentityId%7D%2Fattrs%2F%7BattrId%7D"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entity-attrs-spec.json#/paths/%2Fentities%2F%7BentityId%7D%2Fattrs%2F%7BattrId%7D"
},
"/subscriptions/": {
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/subscriptions-spec.json#/paths/%2Fsubscriptions%2F"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/subscriptions/subscriptions-spec.json#/paths/%2Fsubscriptions%2F"
},
"/subscriptions/{subscriptionId}": {
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/subscription-by-id-spec.json#/paths/%2Fsubscriptions%2F%7BsubscriptionId%7D"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/subscriptions/subscription-by-id-spec.json#/paths/%2Fsubscriptions%2F%7BsubscriptionId%7D"
},
"/csourceRegistrations/": {
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/csource-registrations-spec.json#/paths/%2FcsourceRegistrations%2F"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/csourceRegistrations/csource-registrations-spec.json#/paths/%2FcsourceRegistrations%2F"
},
"/csourceRegistrations/{registrationId}": {
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/csource-registration-by-id-spec.json#/paths/%2FcsourceRegistrations%2F%7BregistrationId%7D"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/csourceRegistrations/csource-registration-by-id-spec.json#/paths/%2FcsourceRegistrations%2F%7BregistrationId%7D"
},
"/csourceSubscriptions/": {
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/csource-subscriptions-spec.json#/paths/%2FcsourceSubscriptions%2F"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/csourceSubscriptions/csource-subscriptions-spec.json#/paths/%2FcsourceSubscriptions%2F"
},
"/csourceSubscriptions/{subscriptionId}": {
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/csource-subscription-by-id-spec.json#/paths/%2FcsourceSubscriptions%2F%7BsubscriptionId%7D"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/csourceSubscriptions/csource-subscription-by-id-spec.json#/paths/%2FcsourceSubscriptions%2F%7BsubscriptionId%7D"
},
"/entityOperations/create": {
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entity-operations-spec.json#/paths/%2FentityOperations%2Fcreate"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entity-operations-spec.json#/paths/%2FentityOperations%2Fcreate"
},
"/entityOperations/update": {
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entity-operations-spec.json#/paths/%2FentityOperations%2Fupdate"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entity-operations-spec.json#/paths/%2FentityOperations%2Fupdate"
},
"/entityOperations/upsert": {
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entity-operations-spec.json#/paths/%2FentityOperations%2Fupsert"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entity-operations-spec.json#/paths/%2FentityOperations%2Fupsert"
},
"/entityOperations/delete": {
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entity-operations-spec.json#/paths/%2FentityOperations%2Fdelete"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entity-operations-spec.json#/paths/%2FentityOperations%2Fdelete"
},
"/temporal/entities/": {
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/temporal/temporal-entities-spec.json#/paths/%2Ftemporal%2Fentities%2F"
......
......@@ -22,8 +22,8 @@
"/subscriptions/{subscriptionId}": {
"get": {
"description": "Retrieves a specific Subscription from an NGSI-LD system",
"operationId": "retrieveSubscription",
"tags": ["Context Subscription"],
"operationId": "retrieveSubscriptionById",
"tags": ["Context Subscription", "Subscriptions"],
"parameters": [
{
"$ref": "#/components/parameters/subscriptionId"
......@@ -70,7 +70,7 @@
"patch": {
"description": "Updates a specific Subscription within an NGSI-LD system",
"operationId": "updateSubscription",
"tags": ["Context Subscription"],
"tags": ["Context Subscription", "Subscriptions"],
"parameters": [
{
"$ref": "#/components/parameters/subscriptionId"
......@@ -115,7 +115,7 @@
"delete": {
"description": "Removes a specific Subscription from an NGSI-LD system",
"operationId": "removeSubscription",
"tags": ["Context Subscription"],
"tags": ["Context Subscription", "Subscriptions"],
"parameters": [
{
"$ref": "#/components/parameters/subscriptionId"
......
......@@ -24,7 +24,8 @@
"description": "Retrieves the subscriptions available in an NGSI-LD system",
"operationId": "retrieveSubscriptions",
"tags": [
"Context Subscription"
"Context Subscription",
"Subscriptions"
],
"parameters": [
{
......@@ -63,7 +64,8 @@
"description": "Creates a new Subscription within an NGSI-LD system",
"operationId": "createSubscription",
"tags": [
"Context Subscription"
"Context Subscription",
"Subscriptions"
],
"requestBody": {
"required": true,
......
......@@ -74,34 +74,34 @@
"get": {
"description": "Query temporal evolution of Entities from an NGSI-LD system",
"operationId": "queryTemporalEntities",
"tags": ["Temporal Evolution"],
"tags": ["Temporal Evolution", "Temporal"],
"parameters": [
{
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/id"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/components/parameters/id"
},
{
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/idPattern"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/components/parameters/idPattern"
},
{
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/type"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/components/parameters/type"
},
{
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/attrs"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/components/parameters/attrs"
},
{
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/q"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/components/parameters/q"
},
{
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/georel"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/components/parameters/georel"
},
{
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/geometry"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/components/parameters/geometry"
},
{
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/coordinates"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/components/parameters/coordinates"
},
{
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/geoproperty"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/components/parameters/geoproperty"
},
{
"$ref": "#/components/parameters/timerel"
......@@ -116,10 +116,10 @@
"$ref": "#/components/parameters/endTime"
},
{
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/csf"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/components/parameters/csf"
},
{
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities-spec.json#/components/parameters/limit"
"$ref": "https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/raw/master/spec/updated/entities/entities-spec.json#/components/parameters/limit"
},
{
"$ref": "#/components/parameters/options"
......@@ -159,7 +159,7 @@
"post": {
"description": "Create or update temporal representation of an Entity within an NGSI-LD system",
"operationId": "createUpdateEntityTemporal",
"tags": ["Temporal Evolution"],
"tags": ["Temporal Evolution", "Temporal"],
"requestBody": {
"required": true,
"content": {
......