How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

ETSI NGSI-LD API (ISG CIM)

The NGSI-LD API standardised by ETSI ISG CIM in GS CIM 009, a JSON-LD context information management API for entities, attributes, relationships, subscriptions, temporal queries, entity types, context source registration and distributed federation. It is the API layer beneath most European smart-city and FIWARE deployments and is published as OpenAPI 3.0.3 and 3.1.0.

ETSI NGSI-LD API (ISG CIM) is one of 24 APIs that ETSI publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Context Information, NGSI-LD, Smart Cities, IoT, and JSON-LD. The published artifact set on APIs.io includes API documentation, an API reference, and an OpenAPI specification.

This API exposes 49 operations across 28 paths, organized into 9 resource areas, and defines 65 schemas. It is described by OpenAPI 3.0.3, at version 1.7.1.

Requests are made against a single base URL, {protocol}://{hostname}:{port}/ngsi-ld/v1.

49 operations 28 paths 65 schemas 9 DELETE16 GET7 PATCH15 POST2 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.3
API Version
1.7.1
Server
{protocol}://{hostname}:{port}/ngsi-ld/v1
Resource Areas
9

Paths & Operations 49

Across 28 paths, the API surfaces 49 operations — 9 DELETE, 16 GET, 7 PATCH, 15 POST, 2 PUT. They span 9 resource areas: Context Information Provision, Context Information Consumption, Context Source Registration, Context Source Discovery, Context Information Subscription, Context Source Registration Subscription, Temporal Context Information Provision, Temporal Context Information Consumption, JSON-LD Context API. Each is listed below with its method, path, parameters, and response codes.

Context Information Provision 14
POST
/entities
Entity creation
createEntity 3 params body → 201207400409422
DELETE
/entities/{entityId}
Entity deletion by id
deleteEntity 5 params → 204207400404
PATCH
/entities/{entityId}
Entity merge by id
mergeEntity 8 params body → 204207400404
PUT
/entities/{entityId}
Entity replacement by id
replaceEntity 5 params body → 204207400404
POST
/entities/{entityId}/attrs
Append Attributes to Entity
appendAttrs 6 params body → 204207400404
PATCH
/entities/{entityId}/attrs
Update Attributes of an Entity
updateEntity 5 params body → 204207400404
PATCH
/entities/{entityId}/attrs/{attrId}
Partial Attribute Update
updateAttrs 6 params body → 204207400404
DELETE
/entities/{entityId}/attrs/{attrId}
Attribute delete
deleteAttrs 8 params → 204207400404
PUT
/entities/{entityId}/attrs/{attrId}
Attribute replace
replaceAttrs 6 params body → 204207400404
POST
/entityOperations/create
Batch Entity Creation
createBatch 3 params body → 201207400
POST
/entityOperations/upsert
Batch Entity Creation or Update (Upsert)
upsertBatch 4 params body → 201204207400
POST
/entityOperations/update
Batch Entity Update
updateBatch 4 params body → 204207400
POST
/entityOperations/delete
Batch Entity Delete
deleteBatch 3 params body → 204207400
POST
/entityOperations/merge
Batch Entity Merge
mergeBatch 3 params body → 204207400
Context Information Consumption 7
GET
/entities
Query entities
queryEntity 19 params → 200400501
GET
/entities/{entityId}
Entity retrieval by id
retrieveEntity 9 params → 200400404501
POST
/entityOperations/query
Query entities based on POST
queryBatch 6 params body → 200400
GET
/types
Retrieve available entity types
retrieveEntityTypes 4 params → 200400
GET
/types/{type}
Details about available entity type
retrieveEntityTypeInfo 4 params → 200400404
GET
/attributes
Available attributes
retrieveAttrTypes 4 params → 200400
GET
/attributes/{attrId}
Details about available attribute
retrieveAttrTypeInfo 4 params → 200400404
Context Source Registration 3
POST
/csourceRegistrations
Csource registration creation
createCSR 3 params body → 201400409422
PATCH
/csourceRegistrations/{registrationId}
Csource registration update by id
updateCSR 4 params body → 204400404
DELETE
/csourceRegistrations/{registrationId}
Csource registration deletion by id
deleteCSR 4 params → 204400404
Context Source Discovery 2
GET
/csourceRegistrations
Discover Csource registrations
queryCSR 23 params → 200400
GET
/csourceRegistrations/{registrationId}
Csource registration retrieval by id
retrieveCSR 5 params → 200400404
Context Information Subscription 5
POST
/subscriptions
Create Subscription
createSubscription 3 params body → 201400409
GET
/subscriptions
Retrieve list of Subscriptions
querySubscription 6 params → 200400
GET
/subscriptions/{subscriptionId}
Subscription retrieval by id
retrieveSubscription 5 params → 200400404
PATCH
/subscriptions/{subscriptionId}
Subscription update by id
updateSubscription 4 params body → 204400404
DELETE
/subscriptions/{subscriptionId}
Subscription deletion by id
deleteSubscription 4 params → 204400404
Context Source Registration Subscription 5
POST
/csourceSubscriptions
Create subscription to Csource registration
createCSRSubscription 3 params body → 201400409
GET
/csourceSubscriptions
Retrieval of list of subscriptions to Csource registrations
queryCSRSubscription 6 params → 200400
GET
/csourceSubscriptions/{subscriptionId}
Csource registration subscription update by id
retrieveCSRSubscription 5 params → 200400404
PATCH
/csourceSubscriptions/{subscriptionId}
Csource registration subscription update by id
updateCSRSubscription 4 params body → 204400404
DELETE
/csourceSubscriptions/{subscriptionId}
Csource registration subscription deletion by id
deleteCSRSubscription 4 params → 204400404
Temporal Context Information Provision 6
POST
/temporal/entities
Temporal Representation of Entity creation
upsertTemporal 3 params body → 201204400422
DELETE
/temporal/entities/{entityId}
Temporal Representation of Entity deletion by id
deleteTemporal 4 params → 204400404
POST
/temporal/entities/{entityId}/attrs
Temporal Representation of Entity Attribute instance addition
appendAttrsTemporal 4 params body → 204400404
DELETE
/temporal/entities/{entityId}/attrs/{attrId}
Attribute from Temporal Representation of Entity deletion
deleteAttrsTemporal 7 params → 204400404
PATCH
/temporal/entities/{entityId}/attrs/{attrId}/{instanceId}
Attribute Instance update
updateAttrsTemporal 6 params body → 204400404
DELETE
/temporal/entities/{entityId}/attrs/{attrId}/{instanceId}
Attribute Instance deletion by instance id
deleteAttrInstanceTemporal 6 params → 204400404
Temporal Context Information Consumption 3
GET
/temporal/entities
Query temporal evolution of Entities
queryTemporal 26 params → 200400
GET
/temporal/entities/{entityId}
Temporal Representation of Entity retrieval by id
retrieveTemporal 15 params → 200400404
POST
/temporal/entityOperations/query
Temporal Representation of Entity Query based on POST
temporalQueryBatch 3 params body → 200400
JSON-LD Context API 4
POST
/jsonldContexts
Add a user @context to the internal cache
createContext 1 param body → 201400
GET
/jsonldContexts
List all cached @contexts
listContexts 3 params → 200400
GET
/jsonldContexts/{contextId}
Serve one specific user @context
retrieveContext 3 params → 200400404422
DELETE
/jsonldContexts/{contextId}
Delete one specific @context from internal cache, possibly re-inserting a freshly downloaded copy of it
deleteContext 3 params → 204400404503

Schemas 65

The contract defines 65 schemas that model the data the API accepts and returns. The most detailed are CsourceRegistration (27 properties), Subscription.Common (20 properties), NotificationParams (11 properties), Property (10 properties). Each schema is shown below with its type and property counts.

AnyValue
Any JSON value as defined by IETF RFC 8259.
options.noOverwrite
string
6.16.3 For POST method associated to the operations "Batch Entity Update" and "Append Entity Attributes", the "noOvevwrite" options query parameter indicates t…
options.representation
string
6.3.7 Representation of Entities. When its value includes the keyword "normalized", a normalized representation of Entities shall be provided as defined by cla…
options.sysAttrs
string
6.3.11 Including system generated attributes. When its value includes the keyword "sysAttrs", a representation of NGSI-LD Elements shall be provided so that th…
options.temporal
string
6.3.12 Simplified or aggregated temporal representation of entities. When its value includes the keyword "temporalValues", a simplified temporal representation…
options.upsert
string
6.15.3 Upsert configuration. "replace". Indicates that all the existing Entity content shall be replaced (default mode); "update". Indicates that existing Enti…
CreatedAt
string
It is defined as the temporal Property at which the Entity, Property or Relationship was entered into an NGSI-LD system. Entity creation timestamp. See clause…
ModifiedAt
string
It is defined as the temporal Property at which the Entity, Property or Relationship was last modified in an NGSI-LD system, e.g. in order to correct a previou…
DeletedAt
string
It is defined as the temporal Property at which the Entity, Property or Relationship was deleted from an NGSI-LD system. Entity deletion timestamp. See clause…
ObservedAt
string
It is defined as the temporal Property at which a certain Property or Relationship became valid or was observed. For example, a temperature Value was measured…
Attribute
object
5.2.28 This type represents the data needed to define the attribute information.
6 properties 3 required
AttributeList
object
5.2.27 This type represents the data needed to define the attribute list representation as mandated by clause 4.5.13.
3 properties 3 required
BatchEntityError
object
5.2.17 This datatype represents an error raised (associated to a particular Entity) during the execution of a batch or distributed operation.
3 properties 2 required
BatchOperationResult
object
5.2.16 The datatype represents the result of a batch operation.
2 properties 2 required
CsourceNotification
object
5.3.2 This datatype represents the parameters that allow building a Context Source Notification to be sent to a subscriber.
6 properties 6 required
CsourceRegistration
object
5.2.9 This type represents the data needed to register a new Context Source.
27 properties
DateTimeValue
object
Date representation as mandated by C.6 "Date Representation".
2 properties 2 required
Endpoint
object
5.2.15 This datatype represents the parameters that are required in order to define an endpoint for notifications.
6 properties 1 required
Entity
object
5.2.4 NGSI-LD Entity.
9 properties
EntityInfo
object
5.2.8 This type represents what Entities, Entity Types or group of Entity ids (as a regular expression pattern mandated by IEEE 1003.2TM) can be provided (by C…
3 properties 1 required
EntitySelector
object
5.2.33 This type selects which entity or group of entities are queried or subscribed to by Context Consumers. The id takes precedence over idPattern.
3 properties 1 required
EntityTemporal
object
5.2.20 This is the same data type as mandated by clause 5.2.4 with the only deviation that the representation of Properties and Relationships shall be the temp…
9 properties
EntityType
object
5.2.25 This type represents the data needed to define the elements of the detailed entity type list representation as mandated by clause 4.5.11.
4 properties 4 required
EntityTypeInfo
object
5.2.26 This type represents the data needed to define the detailed entity type information representation as mandated by clause 4.5.12.
5 properties 5 required
EntityTypeList
object
5.2.24 This type represents the data needed to define the entity type list representation as mandated by clause 4.5.10.
3 properties 3 required
Feature
object
5.2.29 This data type represents a spatially bounded Entity in GeoJSON format, as mandated by IETF RFC 7946.
5 properties 4 required
FeatureCollection
object
5.2.30 This data type represents a list of spatially bounded Entities in GeoJSON format, as mandated by IETF RFC 7946.
3 properties 1 required
FeatureProperties
object
5.2.31 This data type represents the type and the associated attributes (Properties and Relationships) of an Entity in GeoJSON format.
1 property 1 required
Geometry.position
array
A single position.
Geometry.positionArray
array
An array of positions.
Geometry.lineString
An array of two or more positions.
Geometry.linearRing
An array of four positions where the first equals the last (i.e., a closed LineString).
Geometry.polygon
array
An array of linear rings.
Geometry.Point
object
2 properties
Geometry.MultiPoint
object
2 properties
Geometry.Polygon
object
2 properties
Geometry.LineString
object
2 properties
Geometry.MultiLineString
object
2 properties
Geometry.MultiPolygon
object
2 properties
Geometry
A valid GeoJSON geometry object (as mandated by RFC7946).
GeoProperty
object
5.2.7 NGSI-LD GeoProperty.
9 properties
GeoQuery
object
5.2.13 This datatype represents a geoquery used for Subscriptions.
4 properties 3 required
KeyValuePair
object
5.2.22 This datatype represents the optional information that is required when contacting an endpoint for notifications.
2 properties 2 required
LanguageProperty
object
5.2.32 NGSI-LD LanguageProperty.
9 properties
LdContext
5.2.3 JSON-LD @context When encoding NGSI-LD Entities, Context Source Registrations, Subscriptions and Notifications, as pure JSON-LD (MIME type "application/l…
LdContextMetadata
array
JSON object which represents information (metadata) about an @context currently stored by the Broker as defined in 5.13.3.5. It contains information about the…
NotUpdatedDetails
object
5.2.19 This datatype represents additional information provided by an implementation when an Attribute update did not happen.
3 properties 2 required
Notification
object
5.3.1 This datatype represents the parameters that allow building a notification to be sent to a subscriber.
5 properties 5 required
NotificationParams
object
5.2.14 This datatype represents the parameters that allow to convey the details of a notification.
11 properties 1 required
Path
string
Common schema for URI data type in path parameters.
ProblemDetails
object
The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in I…
5 properties 2 required
Property
object
5.2.5 NGSI-LD Property.
10 properties
Query
object
5.2.23 This datatype represents the information that is required in order to convey a query when a "Query Entities" operation is to be performed (as per clause…
8 properties 1 required
Query.temporal
5.2.23 This datatype represents the information that is required in order to convey a query when a "Query Temporal Evolution of Entities" operation is to be pe…
RegistrationInfo
object
5.2.10 RegistrationInfo.
3 properties
RegistrationManagementInfo
object
5.2.34 This type represents the data to alter the default behaviour of a Context Broker when making a distributed operation request to a registered Context Sou…
4 properties
Relationship
object
5.2.6 NGSI-LD Relationship.
9 properties
Subscription
Subscription.Common
object
5.2.12 This datatype represents a Context Subscription.
20 properties
Subscription.Periodic
Subscription.OnChange
TemporalQuery
object
5.2.21 This datatype represents a temporal query.
4 properties 2 required
TimeInterval
object
5.2.11 NGSI-LD TimeInterval.
2 properties 1 required
UpdateResult
object
5.2.18 This datatype represents the result of Attribute update (append or update) operations in the NGSI-LD API regardless of whether local or distributed.
2 properties 2 required
VocabularyProperty
object
5.2.35 NGSI-LD VocabularyProperty.
9 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

ngsi-ld-api-3.0.3.yaml Raw ↑

Other APIs ETSI publishes across the network.

ETSI MEC 011 Edge Platform Application Enablement API
ETSI MEC 012 Radio Network Information API
ETSI MEC 013 Location API
ETSI MEC 014 UE Identity API
ETSI MEC 015 Traffic Management APIs
ETSI MEC 016 UE Application Interface API
ETSI MEC 010-2 Application Package and Lifecycle Management APIs
ETSI MEC 021 Application Mobility Service API
ETSI MEC 028 WLAN Information API
ETSI MEC 029 Fixed Access Information API
ETSI MEC 030 V2X Information Services API
ETSI MEC 033 IoT API
Where this information came from

This is an independent, third-party profile of ETSI NGSI-LD API (ISG CIM), published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.