FIWARE Subscriptions API

The Subscriptions API from FIWARE — 4 operation(s) for subscriptions.

Operations 5

GET /v2/subscriptions List Subscriptions #
POST /v2/subscriptions Create Subscription #
GET /v2/subscriptions/{subscriptionId} Retrieve Subscription #
DELETE /v2/subscriptions/{subscriptionId} Delete subscription #
PATCH /v2/subscriptions/{subscriptionId} Update Subscription #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fiware-subscriptions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

fiware-subscriptions-api-openapi.yml Raw ↑
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