Orange Business Event processing - Firing API

FiringRules and FiringGuards management

Operations 9

GET /api/v0/eventprocessing/firing-rule/{firingRuleId} Retrieve a FiringRule #
PUT /api/v0/eventprocessing/firing-rule/{firingRuleId} Update a FiringRule #
DELETE /api/v0/eventprocessing/firing-rule/{firingRuleId} Delete a FiringRule #
GET /api/v0/eventprocessing/firing-rule Retrieve the list of all the FiringRules or get a FiringRule by its name #
POST /api/v0/eventprocessing/firing-rule Create a FiringRule #
POST /api/v0/eventprocessing/firing-guard/search Get FiringGuards linked to a FiringRule, and where FiringGuards selection criteria match. #
GET /api/v0/eventprocessing/firing-guard/{firingGuardId} Get a FiringGuard #
DELETE /api/v0/eventprocessing/firing-guard/{firingGuardId} Remove a FiringGuard #
DELETE /api/v0/eventprocessing/firing-guard Remove the FiringGuards linked to FiringRule, and where FiringGuards selection criteria match. #

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/orange-business-event-processing-firing-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

orange-business-event-processing-firing-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Live Objects REST API Guide Event processing - Firing API
  description: API description for Live Objects service
  contact:
    name: Live Objects Support
    url: https://liveobjects.orange-business.com/#/cms/support
  version: 2026.7.0
servers:
- url: https://liveobjects.orange-business.com
security:
- X-API-KEY: []
  OAuth2.0: []
tags:
- name: Event processing - Firing
  description: FiringRules and FiringGuards management
paths:
  /api/v0/eventprocessing/firing-rule/{firingRuleId}:
    get:
      tags:
      - Event processing - Firing
      summary: Retrieve a FiringRule
      description: 'A FiringRule applies to the matches triggered by one or many matching rules and defines when fired events must be generated.<br/><br/>Restricted to API keys with at least one of the following roles: DATA_PROCESSING_R.'
      operationId: getFiringRule
      parameters:
      - name: firingRuleId
        in: path
        description: id of the FiringRule to retrieve
        required: true
        schema:
          type: string
      responses:
        '200':
          description: FiringRule
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FiringRule'
    put:
      tags:
      - Event processing - Firing
      summary: Update a FiringRule
      description: 'A FiringRule applies to the matches triggered by one or many matching rules and defines when fired events must be generated.<br/><br/>Usage of this API will be reported in your access log under ''alarming'' category.<br/><br/>Restricted to API keys with at least one of the following roles: DATA_PROCESSING_W.'
      operationId: updateFiringRule
      parameters:
      - name: firingRuleId
        in: path
        description: id of the FiringRule to update
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FiringRule'
        required: true
      responses:
        '204':
          description: The FiringRule has been updated
    delete:
      tags:
      - Event processing - Firing
      summary: Delete a FiringRule
      description: 'A FiringRule applies to the matches triggered by one or many matching rules and defines when fired events must be generated.<br/><br/>Usage of this API will be reported in your access log under ''alarming'' category.<br/><br/>Restricted to API keys with at least one of the following roles: DATA_PROCESSING_W.'
      operationId: deleteFiringRule
      parameters:
      - name: firingRuleId
        in: path
        description: id of the FiringRule to delete
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Delete request has been accepted. Return true if the FiringRule did exist, false else.
  /api/v0/eventprocessing/firing-rule:
    get:
      tags:
      - Event processing - Firing
      summary: Retrieve the list of all the FiringRules or get a FiringRule by its name
      description: 'A FiringRule applies to the matches triggered by one or many matching rules and defines when fired events must be generated.<br/><br/>Restricted to API keys with at least one of the following roles: DATA_PROCESSING_R.'
      operationId: listFiringRules
      parameters:
      - name: name
        in: query
        description: name of the FiringRule to retrieve
        required: false
        schema:
          type: string
      responses:
        '200':
          description: list of FiringRules
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FiringRule'
    post:
      tags:
      - Event processing - Firing
      summary: Create a FiringRule
      description: 'A FiringRule applies to the matches triggered by one or many matching rules and defines when fired events must be generated. Total number of FiringRules is limited. Contact the commercial team or see developer guide to get more information.<br/><br/>Usage of this API will be reported in your access log under ''alarming'' category.<br/><br/>Restricted to API keys with at least one of the following roles: DATA_PROCESSING_W.'
      operationId: createFiringRule
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FiringRule'
        required: true
      responses:
        '201':
          description: FiringRule stored
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FiringRule'
  /api/v0/eventprocessing/firing-guard/search:
    post:
      tags:
      - Event processing - Firing
      summary: Get FiringGuards linked to a FiringRule, and where FiringGuards selection criteria match.
      description: 'A FiringGuard keeps a FiringRule with an already ''fired'' context from re-firing again. It applies only for ''ONCE'' and ''SLEEP'' types of FiringRule; and take into account the aggregationKeys values of data messages that triggered the previous event.<br/><br/>Restricted to API keys with at least one of the following roles: DATA_PROCESSING_R.'
      operationId: getFiringGuards
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FiringGuardMatchRequest'
        required: true
      responses:
        '200':
          description: FiringGuards that match the criteria.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FiringGuard'
  /api/v0/eventprocessing/firing-guard/{firingGuardId}:
    get:
      tags:
      - Event processing - Firing
      summary: Get a FiringGuard
      description: 'A FiringGuard keeps a FiringRule with an already ''fired'' context from re-firing again. It applies only for ''ONCE'' and ''SLEEP'' types of FiringRule; and take into account the aggregationKeys values of data messages that triggered the previous event.<br/><br/>Restricted to API keys with at least one of the following roles: DATA_PROCESSING_R.'
      operationId: getFiringGuard
      parameters:
      - name: firingGuardId
        in: path
        description: id of the FiringGuard
        required: true
        schema:
          type: string
      responses:
        '200':
          description: FiringGuard
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FiringGuard'
    delete:
      tags:
      - Event processing - Firing
      summary: Remove a FiringGuard
      description: 'A FiringGuard keeps a FiringRule with an already ''fired'' context from re-firing again. It applies only for ''ONCE'' and ''SLEEP'' types of FiringRule; and take into account the aggregationKeys values of data messages that triggered the previous event.<br/><br/>Restricted to API keys with at least one of the following roles: DATA_PROCESSING_W.'
      operationId: removeFiringGuard
      parameters:
      - name: firingGuardId
        in: path
        description: id of the FiringGuard to remove
        required: true
        schema:
          type: string
      responses:
        '204':
          description: FiringGuard has been reset.
  /api/v0/eventprocessing/firing-guard:
    delete:
      tags:
      - Event processing - Firing
      summary: Remove the FiringGuards linked to FiringRule, and where FiringGuards selection criteria match.
      description: 'A FiringGuard keeps a FiringRule with an already ''fired'' context from re-firing again. It applies only for ''ONCE'' and ''SLEEP'' types of FiringRule; and take into account the aggregationKeys values of data messages that triggered the previous event.<br/><br/>Restricted to API keys with at least one of the following roles: DATA_PROCESSING_W.'
      operationId: removeFiringGuards
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FiringGuardMatchRequest'
        required: true
      responses:
        '200':
          description: FiringGuards have been removed. Return actual number of removed FiringGuards.
          content:
            application/json:
              schema:
                type: integer
                format: int32
components:
  schemas:
    FiringGuard:
      type: object
      description: Hold a FiringRule from triggering a FiredEvent if it has already been sent for the same aggregationKeys. Will exist only for FiringRule of type ONCE or SLEEP.
      properties:
        id:
          type: string
          description: id of the FiringGuard.
        firingRuleId:
          type: string
          description: id of the FiringRule linked to this FiringGuard.
        tenantId:
          type: string
          description: identifier of tenant account this FiringRule belongs to .
        matchingContext:
          $ref: '#/components/schemas/MatchingContext'
          description: matchingContext that triggered this FringGuard.
        guardCriteria:
          type: array
          description: pairs of aggregationKey/value that are hold by this FiringGuard
          items:
            $ref: '#/components/schemas/SelectionCriteria'
        created:
          type: string
          format: date-time
          description: creation of this FiringGuard
        expireAt:
          type: string
          format: date-time
          description: expiration of this FiringGuard
      required:
      - created
      - firingRuleId
      - guardCriteria
      - id
      - matchingContext
      - tenantId
    MatchingContext:
      type: object
      description: 'hold the Matching context : data, MatchingRule and timestamp of the match'
      properties:
        tenantId:
          type: string
        timestamp:
          type: string
        matchingRule:
          $ref: '#/components/schemas/MatchingRule'
          description: MatchingRule with dataPredicate that match the data
        data:
          $ref: '#/components/schemas/NewData'
          description: data that triggered the match
      required:
      - data
      - matchingRule
    MatchingRule:
      type: object
      description: Defines the dataPredicate that will be applied to all new data. When it matches, then it may trigger a FiredEvent based on linked FiringRules defined.
      properties:
        id:
          type: string
          description: id of the MatchingRule. Should be null when used for POST, and set for PUT.
          readOnly: true
        name:
          type: string
          description: name of the MatchingRule. Must be unique.
        enabled:
          type: boolean
          description: activate or not the MatchingRule. Default is false.
        dataPredicate:
          description: the JsonLogic (http://jsonlogic.com/) pattern matching that will trigger an event for each new data that match this predicate. The JsonLogic predicate needs to return a boolean. In addition to the existing JsonLogic operators (logic and boolean, numeric, string, array), Live Objects provides geographic operators (distance, inside, insideindex, closeto, closetoindex), context operator (ctx) to retrieve data stored via the Context APIs and miscellaneous operators ('get' to retrieve an element from an array)...e.g. '{">":[{"var":"value.temp"},{"ctx":"temperature.threshold"}]}'.
      required:
      - dataPredicate
      - name
    Location:
      type: object
      description: geographic location
      properties:
        lat:
          type: number
          format: double
          description: Latitude value
          example: 45.000009
        lon:
          type: number
          format: double
          description: Longitude value
          example: -30.00001
        alt:
          type: number
          format: double
          description: Altitude value
          example: 5.00001
        accuracy:
          type: number
          format: double
          description: Accuracy value
          example: 10.0
        provider:
          type: string
          description: Provider of the location
          example: GPS
      required:
      - lat
      - lon
    NewData:
      type: object
      properties:
        streamId:
          type: string
        timestamp:
          type: string
        location:
          $ref: '#/components/schemas/Location'
        model:
          type: string
        value: {}
        tags:
          type: array
          items:
            type: string
        extra:
          type: object
          additionalProperties:
            type: string
        metadata: {}
        created:
          type: string
      required:
      - streamId
      - timestamp
    FiringRule:
      type: object
      description: Defines if and how the matched data from MatchingRules will fire an event. You can restrict it for instance to trigger maximum 1 event per hour, or only once until you use the FiringGuard API to re-allow it. Associated to aggregationKeys, it will apply the firing type (eg 1 per hour) based on the value of these keys (eg 'streamId').
      properties:
        id:
          type: string
          description: id of the FiringRule. Should be null when used for POST, and set for PUT.
          readOnly: true
        name:
          type: string
          description: name of the FiringRule. Must be unique.
        enabled:
          type: boolean
          description: activate or not the FiringRule. Default is false.
        matchingRuleIds:
          type: array
          description: the list of MatchingRule ids that will be handeld by this FiringRule.
          items:
            type: string
        aggregationKeys:
          type: array
          description: the list of jsonPath in the Data that will define on which group of data this FiringRule should be set. For instance 'streamId', 'metadata.source', 'value.type'. This field has no use in 'ALWAYS' firingType. For 'ONCE' or 'SLEEP' firingType, the rule will be triggerred based on the value of these keys. For instance, if aggregationKeys is set to ['streamId'] and firingType is set to 'ONCE', then only 1 event will be fired per distinct streamId.
          items:
            type: string
        firingType:
          type: string
          description: 'Defines the type of firing mechanism : ONCE, SLEEP, or ALWAYS. If the frequency of the firing rule is defined as ONCE or SLEEP then firing guards are created in the system to prevent new generation of fired events for a given firing context, built by the aggregationKeys parameter. You can then manage these FiringGuards through dedicated APIs. SLEEP mode will automatically remove the linked FiringGuard after the duration defined by the ''sleepDuration'' parameter.'
          enum:
          - ALWAYS
          - ONCE
          - SLEEP
        sleepDuration:
          type: string
          description: 'sleep duration of the FiringRule. Is defined as a ISO-8601 Period string, restricted to days, hours, minutes and seconds. 1 day will always be equivalent to 24H, regardless of daylight saving time. eg. : ''P1D'', ''PT30M''. Must be set only for ''SLEEP'' FiringType.'
      required:
      - firingType
      - name
    FiringGuardMatchRequest:
      type: object
      description: search parameters to select FiringGuard to remove
      properties:
        firingRuleId:
          type: string
          description: firingRuleId linked to the FiringGuard to reset
          minLength: 1
        selectionCriteria:
          type: array
          description: criteria that should match the FiringGuard to reset
          items:
            $ref: '#/components/schemas/SelectionCriteria'
      required:
      - firingRuleId
    SelectionCriteria:
      type: object
      properties:
        keyPath:
          type: string
          description: json path of the field to select, defined by the FiringRule's aggregationKeys. e.g. 'streamId', 'metadata.connector'...
        value:
          description: value of the aggregationKey to match. e.g. 'urn:lo:mqtt:device001', 'lwm2m', ...
      required:
      - keyPath
      - value
  securitySchemes:
    X-API-KEY:
      type: apiKey
      name: X-API-KEY
      in: header
    OAuth2.0:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://liveobjects.orange-business.com/api/v1/oauth2/authorize
          tokenUrl: https://liveobjects.orange-business.com/api/v1/oauth2/token
          refreshUrl: https://liveobjects.orange-business.com/api/v1/oauth2/token
          scopes:
            API_KEY_R: Read parameters and status of an API key.
            API_KEY_W: Create, modify, disable an API key.
            BOOTSTRAP_R: Read parameters and status of the LwM2M Bootstrap configurations and entries.
            BOOTSTRAP_W: Create ans modify LwM2M Bootstrap configurations and entries.
            BUS_CONFIG_R: Read config parameters of a FIFO queue.
            BUS_CONFIG_W: Create, modify a FIFO queue.
            BUS_R: Read data on the Live Objects bus. Minimum permission for the API key of an application collecting data on Live Objects in MQTT(s).
            BUS_W: Publish data on the Live Objects bus.
            CAMPAIGN_R: Read parameters and status of a massive deployment campaign on your Device Fleet.
            CAMPAIGN_W: Create, modify a campaign on your Device Fleet.
            CONNECTOR_ACCESS: Role to set on a external connector API key to allow only MQTT external connector mode
            DATA_PROCESSING_R: Read parameters and status of an event processing rule or a Data decoder.
            DATA_PROCESSING_W: Create, modify, disable an event processing rule or a Data decoder.
            DATA_R: Read the data collected by the Store Service or search into this data using the Search Service.
            DATA_W: Insert a data record to the Store Service. Minimum permission required for the API key of a device pushing data to Live Objects in HTTPS.
            DEVICE_ACCESS: Role to set on a Device API key to allow only MQTT Device mode
            DEVICE_R: Read parameters and status of a Device management.
            DEVICE_W: Create, modify, disable a Device management, send command, modify config, update resource of a Device.
            LOGS_R: Read the logs collected by the Audit Log service. This right allows users to use the Audit Log service as debugging tool.
            SETTINGS_R: Read the tenant account custom settings.
            SETTINGS_W: Create, modify tenant account custom settings.
            USER_R: Read parameters and status of a user.
            USER_W: Create, modify, disable a user.
externalDocs:
  description: Live Objects Developer Guide
  url: https://liveobjects.orange-business.com/doc/html/lo_manual_v2.html
x-examples: ''