FIWARE Subscriptions API
The Subscriptions API from FIWARE — 4 operation(s) for subscriptions.
The Subscriptions API from FIWARE — 4 operation(s) for subscriptions.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/fiware-subscriptions-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: '1.0'
title: FIWARE-NGSI v2 Specification Subscriptions API
description: 'TODO: Add a description'
servers:
- url: http://orion.lab.fiware.org/
tags:
- name: Subscriptions
paths:
/v2/subscriptions:
get:
description: "Returns a list of all the subscriptions present in the system.\nResponse:\n* Successful operation uses 200 OK\n* Errors use a non-2xx and (optionally) an error payload. See subsection on \"Error Responses\" for\n more details."
summary: List Subscriptions
tags:
- Subscriptions
operationId: List Subscriptions
parameters:
- name: limit
in: query
required: false
description: Limit the number of subscriptions to be retrieved
schema:
type: number
format: double
- name: offset
in: query
required: false
description: Skip a number of subscriptions
schema:
type: number
format: double
- name: options
in: query
required: false
x-enum-elements:
- name: count
description: ''
description: Options dictionary
schema:
type: string
enum:
- count
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ListSubscriptionsResponse'
example:
- id: abcdefg
description: One subscription to rule them all
subject:
entities:
- id: Bcn_Welt
type: Room
condition:
attrs:
- 'temperature '
expression:
q: temperature>40
notification:
httpCustom:
url: http://localhost:1234
headers:
X-MyHeader: foo
qs:
authToken: bar
attrsFormat: keyValues
attrs:
- temperature
- humidity
timesSent: 12
lastNotification: '2015-10-05T16:00:00Z'
lastFailure: '2015-10-06T16:00:00Z'
expires: '2016-04-05T14:00:00Z'
status: failed
throttling: 5
x-unitTests:
- request:
method: GET
uri: /v2/subscriptions?limit=10&offset=20
expectedResponse:
x-allowExtraHeaders: true
x-bodyMatchMode: RAW
x-arrayOrderedMatching: false
x-arrayCheckCount: false
x-matchResponseSchema: true
headers: {}
body: '[ { "id": "abcdefg", "description": "One subscription to rule them all", "subject": { "entities": [ { "id": "Bcn_Welt", "type": "Room" } ], "condition": { "attrs": [ "temperature " ], "expression": { "q": "temperature>40" } } }, "notification": { "httpCustom": { "url": "http://localhost:1234", "headers": { "X-MyHeader": "foo" }, "qs": { "authToken": "bar" } }, "attrsFormat": "keyValues", "attrs": ["temperature", "humidity"], "timesSent": 12, "lastNotification": "2015-10-05T16:00:00.00Z", "lastFailure": "2015-10-06T16:00:00.00Z" }, "expires": "2016-04-05T14:00:00.00Z", "status": "failed", "throttling": 5 }]'
x-testShouldPass: true
x-testEnabled: true
x-testName: List Subscriptions1
x-testDescription: "Returns a list of all the subscriptions present in the system.\nResponse:\n* Successful operation uses 200 OK\n* Errors use a non-2xx and (optionally) an error payload. See subsection on \"Error Responses\" for\n more details."
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
post:
description: "Creates a new subscription.\nThe subscription is represented by a JSON object as described at the beginning of this section.\nResponse:\n* Successful operation uses 201 Created\n* Errors use a non-2xx and (optionally) an error payload. See subsection on \"Error Responses\" for\n more details."
summary: Create Subscription
tags:
- Subscriptions
operationId: Create Subscription
parameters:
- name: Content-Type
in: header
required: true
description: ''
schema:
type: string
responses:
'201':
description: ''
x-unitTests:
- request:
method: POST
uri: /v2/subscriptions
headers:
Content-Type: application/json
body: '{ "description": "One subscription to rule them all", "subject": { "entities": [ { "idPattern": ".*", "type": "Room" } ], "condition": { "attrs": [ "temperature" ], "expression": { "q": "temperature>40" } } }, "notification": { "http": { "url": "http://localhost:1234" }, "attrs": ["temperature", "humidity"] }, "expires": "2016-04-05T14:00:00.00Z", "throttling": 5}'
expectedResponse:
x-allowExtraHeaders: true
x-bodyMatchMode: NONE
x-arrayOrderedMatching: false
x-arrayCheckCount: false
x-matchResponseSchema: true
headers:
Location: /v2/subscriptions/abcde98765
x-testShouldPass: true
x-testEnabled: true
x-testName: Create Subscription1
x-testDescription: "Creates a new subscription.\nThe subscription is represented by a JSON object as described at the beginning of this section.\nResponse:\n* Successful operation uses 201 Created\n* Errors use a non-2xx and (optionally) an error payload. See subsection on \"Error Responses\" for\n more details."
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSubscriptionRequest'
required: true
/v2/subscriptions/{subscriptionId}:
get:
description: "The response is the subscription represented by a JSON object as described at the beginning of this\nsection.\nResponse:\n* Successful operation uses 200 OK\n* Errors use a non-2xx and (optionally) an error payload. See subsection on \"Error Responses\" for\n more details."
summary: Retrieve Subscription
tags:
- Subscriptions
operationId: Retrieve Subscription
parameters:
- name: subscriptionId
in: path
required: true
description: subscription Id.
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
x-unitTests: []
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
delete:
description: "Cancels subscription.\nResponse:\n* Successful operation uses 204 No Content\n* Errors use a non-2xx and (optionally) an error payload. See subsection on \"Error Responses\" for\n more details."
summary: Delete subscription
tags:
- Subscriptions
operationId: Delete subscription
parameters:
- name: subscriptionId
in: path
required: true
description: subscription Id.
schema:
type: string
responses:
'204':
description: ''
x-unitTests:
- request:
method: DELETE
uri: /v2/subscriptions/abcdef
expectedResponse:
x-allowExtraHeaders: true
x-bodyMatchMode: NONE
x-arrayOrderedMatching: false
x-arrayCheckCount: false
x-matchResponseSchema: true
headers: {}
x-testShouldPass: true
x-testEnabled: true
x-testName: Delete subscription1
x-testDescription: "Cancels subscription.\nResponse:\n* Successful operation uses 204 No Content\n* Errors use a non-2xx and (optionally) an error payload. See subsection on \"Error Responses\" for\n more details."
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
patch:
description: "Only the fields included in the request are updated in the subscription.\nResponse:\n* Successful operation uses 204 No Content\n* Errors use a non-2xx and (optionally) an error payload. See subsection on \"Error Responses\" for\n more details."
summary: Update Subscription
tags:
- Subscriptions
operationId: Update Subscription
parameters:
- name: subscriptionId
in: path
required: true
description: subscription Id.
schema:
type: string
- name: Content-Type
in: header
required: true
description: ''
schema:
type: string
responses:
'204':
description: ''
x-unitTests:
- request:
method: PATCH
uri: /v2/subscriptions/abcdef
headers:
Content-Type: application/json
body: '{ "expires": "2016-04-05T14:00:00.00Z"}'
expectedResponse:
x-allowExtraHeaders: true
x-bodyMatchMode: NONE
x-arrayOrderedMatching: false
x-arrayCheckCount: false
x-matchResponseSchema: true
headers: {}
x-testShouldPass: true
x-testEnabled: true
x-testName: Update Subscription1
x-testDescription: "Only the fields included in the request are updated in the subscription.\nResponse:\n* Successful operation uses 204 No Content\n* Errors use a non-2xx and (optionally) an error payload. See subsection on \"Error Responses\" for\n more details."
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSubscriptionRequest'
required: true
components:
schemas:
ListSubscriptionsResponse:
title: List Subscriptions response
example:
id: abcdefg
description: One subscription to rule them all
subject:
entities:
- id: Bcn_Welt
type: Room
condition:
attrs:
- 'temperature '
expression:
q: temperature>40
notification:
httpCustom:
url: http://localhost:1234
headers:
X-MyHeader: foo
qs:
authToken: bar
attrsFormat: keyValues
attrs:
- temperature
- humidity
timesSent: 12
lastNotification: '2015-10-05T16:00:00Z'
lastFailure: '2015-10-06T16:00:00Z'
expires: '2016-04-05T14:00:00Z'
status: failed
throttling: 5
type: object
properties:
id:
description: ''
example: abcdefg
type: string
description:
description: ''
example: One subscription to rule them all
type: string
subject:
description: ''
example:
entities:
- id: Bcn_Welt
type: Room
condition:
attrs:
- 'temperature '
expression:
q: temperature>40
type: object
notification:
description: ''
example:
httpCustom:
url: http://localhost:1234
headers:
X-MyHeader: foo
qs:
authToken: bar
attrsFormat: keyValues
attrs:
- temperature
- humidity
timesSent: 12
lastNotification: '2015-10-05T16:00:00Z'
lastFailure: '2015-10-06T16:00:00Z'
type: object
expires:
description: ''
example: 4/5/2016 2:00:00 PM
type: string
status:
description: ''
example: failed
type: string
throttling:
description: ''
example: 5
type: integer
format: int32
required:
- id
- description
- subject
- notification
- expires
- status
- throttling
UpdateSubscriptionRequest:
title: Update Subscription request
example:
expires: '2016-04-05T14:00:00Z'
type: object
properties:
expires:
description: ''
example: 4/5/2016 2:00:00 PM
type: string
required:
- expires
CreateSubscriptionRequest:
title: Create Subscription request
example:
description: One subscription to rule them all
subject:
entities:
- idPattern: .*
type: Room
condition:
attrs:
- temperature
expression:
q: temperature>40
notification:
http:
url: http://localhost:1234
attrs:
- temperature
- humidity
expires: '2016-04-05T14:00:00Z'
throttling: 5
type: object
properties:
description:
description: ''
example: One subscription to rule them all
type: string
subject:
description: ''
example:
entities:
- idPattern: .*
type: Room
condition:
attrs:
- temperature
expression:
q: temperature>40
type: object
notification:
description: ''
example:
http:
url: http://localhost:1234
attrs:
- temperature
- humidity
type: object
expires:
description: ''
example: 4/5/2016 2:00:00 PM
type: string
throttling:
description: ''
example: 5
type: integer
format: int32
required:
- subject
- notification