Download OpenAPI specification:Download
Usage Engine offers several different APIs for performing various tasks using external systems.
Describes the standard HTTP error codes returned by the API, including their meanings and typical scenarios.
The following error response codes are used in the system:
| Error code | Explanation |
|---|---|
400 |
Bad request |
401 |
Unauthorized |
404 |
Not found |
405 |
Method not allowed |
409 |
Conflict |
413 |
Request body too large |
429 |
Too many requests |
500 |
An unexpected internal error occurred even though the request was valid |
503 |
Service unavailable |
Generates a bearer access token for authenticating OAuth clients with the Usage Engine REST API. Requires an Application Access client ID and secret. See Application Access for setup instructions.
Rate Limits
Each client can make up to 10 request(s) every 1s. The burst capacity is 5 request(s).
| Content-Type | string |
| Authorization | string |
Credentials used for authenticating the client to the authorization server.
| audience required | string The intended recipients which should accept and process the token. Use the base URL for the environment you are accessing. |
| client_id required | string The client ID generated when creating the Application Access in Usage Engine CE. |
| client_secret required | string The client secret generated when creating the Application Access in Usage Engine CE. |
| grant_type required | string The OAuth grant type that will be used to generate the token. The value of this parameter must be |
{- "client_id": "u4grtTy18E2DYANsv0G174aSxR3EeOiA",
- "client_secret": "U6qN9NTgis3MLeleRXtLgIxtRE-qhpZcPJ_5eoNtNQYcodiY9q0Abs3afgpbX3M6",
- "grant_type": "client_credentials"
}{- "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImZUYU5saGpnclFERE0xYkdVZG1WeiJ9.eyJhY2NvdW50SWQiOiJhZDZmZWM5NS1lMDYzLTQ5MmItOTJjYy01MmJiNjJjMGU3NTAiLCJpc3MiOiJodHRwczovL2F1dGguZGlnaXRhbHJvdXRlLmlvLyIsInN1YiI6IjhtMUhUMHA2SkdMOVJjbzhWNEZjWGZ2Y2dHejcwcms4QGNsaWVudHMiLCJhdWQiOiJodHRwczovL2FwaS5kaWdpdGFscm91dGUuaW8vIiwiaWF0IjoxNzEyMTQ0OTQzLCJleHAiOjE3MTIxNDg1NDMsInNjb3BlIjoiY3JlYXRlOm1ldGVyX3R5cGVzIGNyZWF0ZTptZXRlcnMgZGVsZXRlOm1ldGVyX3R5cGVzIGRlbGV0ZTptZXRlcnMgcmVhZDptZXRlcl90eXBlcyByZWFkOm1ldGVycyB1cGRhdGU6bWV0ZXJfdHlwZXMiLCJndHkiOiJjbGllbnQtY3JlZGVudGlhbHMiLCJhenAiOiI4bTFIVDBwNkpHTDlSY284VjRGY1hmdmNnR3o3MHJrOCJ9.VS8Ti1zTK4b8qGRKXJg8b0-aMpNpTTL1_nwsPbCeM7CFlUYu45ZUQGWvUqC6XGK-Xl3j9k5Tkth8TtFbbXNEW4mEV0e1qQbDu_ZlvH-bH2nCNJhk-7mFriGYfTF0U-erqNiMsk4Tbrmm2Voy9CJ4_WyVrCjTLBqRBKb_bU4KHFJtgadlqwaTVNZUiI-sIV3Y2V_gid_4qPTO1Vr01ybID_F8uNII9goDqPJBRh6hmcKHqt65U5n2xzbmBcNqRPoXqxh1g9OaYEPDjojp2lHttqs2EkGG9KxzTFqhdX4lcrjfHGgzNk7LD7S7mGJTO0V-n57geptxM7gFGr-hAQ4Ikg",
- "expires_in": 3600,
- "scope": "usage-metering:create:meter_types usage-metering:create:meters usage-metering:delete:meter_types usage-metering:delete:meters usage-metering:read:meter_types usage-metering:read:meters usage-metering:update:meter_types usage-metering:update:meters",
- "token_type": "Bearer"
}Defines categories for usage-based billing, representing products or services available to customers.
Creates a new meter type definition in the account. Meter types define the structure and behavior of usage meters, including what is being measured, how it is counted, and any associated metadata or external system references. Once created, the meter type can be used to instantiate individual meters for tracking user consumption. Meter types must have a unique name and optional external reference within the account.
Rate Limits
Each client can make up to 20 request(s) every 1s. The burst capacity is 5 request(s).
Authorization scopes
Requires at least one of the following scopes: usage-metering:create:meter_types, create:meter_types.
| Authorization required | string Bearer token for authentication |
| activeFrom | string Determines from which date and time the meter type will be active, with the time based on |
| activeTo | string Determines to which date and time the meter type will be active, with the time based on |
required | object Choose the aggregation type for aggregating data within a defined interval.
The aggregation type cannot be updated. |
| capacity | number >= 0 The total capacity allocated for meters of this meter type. This value serves as a reference of upper limit for each meter of this type. |
| category | string <= 50 characters Specify the category to which the meter type should be assigned. By using the category when configuring the Meter processor, meter types can be added, edited, or deleted without necessarily affecting the Meter processor configuration. If no category is specified, the meter type will be assigned to the DEFAULT category. |
| description | string <= 200 characters You can add a more detailed description for the meter type with this parameter. |
| externalRef | string <= 100 characters If the meter type is registered as a product in an external system, you can add the external ID to reference it. |
| name required | string <= 80 characters ^[\w\s().-]+$ Name of the meter type. Only alphanumeric characters, spaces, and the following special characters are supported |
required | object Determines how often the usage counting data should be reset and sent to downstream systems defined in crontab format. |
Array of Using absolute value (object) or Using percentage of capacity (object) <= 5 items A list of one or more thresholds that define usage checkpoints for meters of this meter type. When meter value reaches the defined threshold, a signal or action can be triggered. | |
| timezone required | string The canonical timezone that should be applied for reset time. See IANA time zones for the complete available list. |
| unit required | string <= 50 characters Specify the unit which the meters should be measuring, such as MB, minutes, etc. |
{- "activeFrom": "2023-07-26T09:00:15.690+00:00",
- "activeTo": "2024-11-22T00:00:00.000+00:00",
- "aggregation": {
- "type": "increment"
}, - "capacity": 1000,
- "category": "API Counts",
- "description": "Meter definition to count the number of API requests per customer",
- "externalRef": "878752b4-4ddf",
- "name": "Usage based API counter",
- "resetSchedule": {
- "day": "L",
- "hour": "0",
- "minute": "0",
- "month": "*",
- "weekday": "*"
}, - "thresholds": [
- {
- "absoluteValue": 990,
- "name": "Threshold 1"
}, - {
- "capacityPercentage": 70,
- "customFields": {
- "action": "alert",
- "notifyTeam": true,
- "severity": "high"
}, - "name": "Threshold 2"
}
], - "timezone": "Etc/UTC",
- "unit": "requests"
}{- "accountId": "4d6548c8-1793-498f-9306-9ec101cb9bf8",
- "activeFrom": "2023-07-26T09:00:15.690+00:00",
- "activeTo": "2024-11-22T00:00:00.000+00:00",
- "aggregation": {
- "type": "increment"
}, - "capacity": 1000,
- "category": "API Counts",
- "createdAt": "2023-07-26T09:00:15.690+00:00",
- "description": "Meter definition to count the number of API requests per customer",
- "externalRef": "878752b4-4ddf",
- "id": "645ed240-02b5-400c-9a3c-21857e8f2ac4",
- "name": "Usage based API counter",
- "numberOfMeters": 0,
- "resetSchedule": {
- "day": "L",
- "hour": "0",
- "minute": "0",
- "month": "*",
- "weekday": "*"
}, - "thresholds": [
- {
- "absoluteValue": 990,
- "name": "Threshold 1"
}, - {
- "capacityPercentage": 70,
- "customFields": {
- "action": "alert",
- "notifyTeam": true,
- "severity": "high"
}, - "name": "Threshold 2"
}
], - "timezone": "Etc/UTC",
- "unit": "requests",
- "updatedAt": "2023-07-26T09:00:15.690+00:00"
}Permanently removes the specified meter type definition from the account. A meter type can only be deleted if no active meters are instantiated from it. Before deleting a meter type, you must first delete all associated meters to ensure data integrity and prevent orphaned meter instances. This action cannot be undone and will remove the meter type definition permanently.
Rate Limits
Each client can make up to 20 request(s) every 1s. The burst capacity is 5 request(s).
Authorization scopes
Requires at least one of the following scopes: usage-metering:delete:meter_types, delete:meter_types.
| id required | string The unique ID of meter type. |
| Authorization required | string Bearer token for authentication |
{- "deletedCount": 1
}Retrieves the complete definition and configuration of a specific meter type by its unique identifier. Returns the meter type's name, description, external references, and any associated metadata that defines how meters of this type will track and count usage.
Rate Limits
Each client can make up to 20 request(s) every 1s. The burst capacity is 5 request(s).
Authorization scopes
Requires at least one of the following scopes: usage-metering:read:meter_types, read:meter_types.
| id required | string The unique ID of meter type. |
| Authorization required | string Bearer token for authentication |
{- "accountId": "4d6548c8-1793-498f-9306-9ec101cb9bf8",
- "activeFrom": "2023-07-26T09:00:15.690+00:00",
- "activeTo": "2024-11-22T00:00:00.000+00:00",
- "aggregation": {
- "type": "increment"
}, - "capacity": 1000,
- "category": "API Counts",
- "createdAt": "2023-07-26T09:00:15.690+00:00",
- "description": "Meter definition to count the number of API requests per customer",
- "externalRef": "878752b4-4ddf",
- "id": "645ed240-02b5-400c-9a3c-21857e8f2ac4",
- "name": "Usage based API counter",
- "numberOfMeters": 0,
- "resetSchedule": {
- "day": "L",
- "hour": "0",
- "minute": "0",
- "month": "*",
- "weekday": "*"
}, - "thresholds": [
- {
- "absoluteValue": 990,
- "name": "Threshold 1"
}, - {
- "capacityPercentage": 70,
- "customFields": {
- "action": "alert",
- "notifyTeam": true,
- "severity": "high"
}, - "name": "Threshold 2"
}
], - "timezone": "Etc/UTC",
- "unit": "requests",
- "updatedAt": "2023-07-26T09:00:15.690+00:00"
}Retrieves a paginated and sortable list of meter types configured for the account. Meter types define the structure and behavior of usage meters, including what is being measured and how it is counted. This endpoint supports filtering by name (full or partial match) and sorting by various fields to help locate specific meter type definitions.
Rate Limits
Each client can make up to 20 request(s) every 1s. The burst capacity is 5 request(s).
Authorization scopes
Requires at least one of the following scopes: usage-metering:read:meter_types, read:meter_types.
| limit | integer Defines the number of meter types to be returned. A maximum of 100 items can be returned. |
| skip | integer Defines an offset for the meter types to be returned. If you set skip to 10, the first 10 meter types will be skipped in the returned list. |
| sortOrder | string Enum: "ASC" "DESC" Determines the sort order of the returned list; ASC for ascending or DESC for descending. |
| sortBy | string Determines the field in the meter type by which the returned list will be sorted. |
| name | string Defines the name for which meter type should be returned. You may provide full or partial name. |
| Authorization required | string Bearer token for authentication |
{- "meterTypes": [
- {
- "accountId": "4d6548c8-1793-498f-9306-9ec101cb9bf8",
- "activeFrom": "2023-07-26T09:00:15.690+00:00",
- "activeTo": "2024-11-22T00:00:00.000+00:00",
- "aggregation": {
- "type": "increment"
}, - "capacity": 1000,
- "category": "API Counts",
- "createdAt": "2023-07-26T09:00:15.690+00:00",
- "description": "Meter definition to count the number of API requests per customer",
- "externalRef": "878752b4-4ddf",
- "id": "string",
- "name": "Usage based API counter",
- "numberOfMeters": 0,
- "resetSchedule": {
- "day": "L",
- "hour": "0",
- "minute": "0",
- "month": "*",
- "weekday": "*"
}, - "thresholds": [
- {
- "absoluteValue": 990,
- "name": "Threshold 1"
}, - {
- "capacityPercentage": 70,
- "customFields": {
- "action": "alert",
- "notifyTeam": true,
- "severity": "high"
}, - "name": "Threshold 2"
}
], - "timezone": "Etc/UTC",
- "unit": "requests",
- "updatedAt": "2023-07-26T09:00:15.690+00:00"
}
]
}Updates the configurable properties of a specified meter type definition. Allows modification of the meter type's name, description, and metadata while maintaining its unique identifier. Changes to the meter type affect the definition but do not retroactively modify existing meters instantiated from this type. The updated name and external reference must remain unique within the account.
Rate Limits
Each client can make up to 20 request(s) every 1s. The burst capacity is 5 request(s).
Authorization scopes
Requires at least one of the following scopes: usage-metering:update:meter_types, update:meter_types.
| id required | string The unique ID of meter type. |
| Authorization required | string Bearer token for authentication |
string or null The new active from date you want the meter type to use. | |
string or null The new active to date you want the meter type to use. | |
| capacity | number >= 0 A new total capacity allocated for meters of this meter type. |
string or null <= 50 characters The new category you want the meter type to use. You may need to revise the configuration in the Meter processor following the category update. | |
| description | string <= 200 characters The updated description you want the meter type to have. |
string or null <= 100 characters The new external ID you want to associate with the meter type. | |
| name | string <= 80 characters ^[\w\s().-]+$ The new name you want the meter type to have. Only alphanumeric characters, spaces, and the following special characters are supported |
object The new reset schedule you want the meter type to use. The new reset schedule takes effect after the current period has ended and meters have been reset. | |
Array of Using absolute value (object) or Using percentage of capacity (object) <= 5 items A new list of threshold objects, each of which can specify either an absolute value or a percentage of capacity. | |
| timezone | string The new canonical timezone you want the meter type to use. See IANA time zones for the complete available list. |
| unit | string <= 50 characters Specify the unit which the meters should be measuring, such as MB, minutes, etc. |
{- "activeFrom": "2023-07-26T09:00:15.690+00:00",
- "activeTo": "2024-11-22T00:00:00.000+00:00",
- "capacity": 1000,
- "category": "API Counts",
- "description": "Meter definition to count the number of API requests per customer",
- "externalRef": "878752b4-4ddf",
- "name": "Usage based API counter",
- "resetSchedule": {
- "day": "L",
- "hour": "0",
- "minute": "0",
- "month": "*",
- "weekday": "*"
}, - "thresholds": [
- {
- "absoluteValue": 990,
- "name": "Threshold 1"
}, - {
- "capacityPercentage": 70,
- "customFields": {
- "action": "alert",
- "notifyTeam": true,
- "severity": "high"
}, - "name": "Threshold 2"
}
], - "timezone": "Etc/UTC",
- "unit": "requests"
}{- "accountId": "4d6548c8-1793-498f-9306-9ec101cb9bf8",
- "activeFrom": "2023-07-26T09:00:15.690+00:00",
- "activeTo": "2024-11-22T00:00:00.000+00:00",
- "aggregation": {
- "type": "increment"
}, - "capacity": 1000,
- "category": "API Counts",
- "createdAt": "2023-07-26T09:00:15.690+00:00",
- "description": "Meter definition to count the number of API requests per customer",
- "externalRef": "878752b4-4ddf",
- "id": "645ed240-02b5-400c-9a3c-21857e8f2ac4",
- "name": "Usage based API counter",
- "numberOfMeters": 0,
- "resetSchedule": {
- "day": "L",
- "hour": "0",
- "minute": "0",
- "month": "*",
- "weekday": "*"
}, - "thresholds": [
- {
- "absoluteValue": 990,
- "name": "Threshold 1"
}, - {
- "capacityPercentage": 70,
- "customFields": {
- "action": "alert",
- "notifyTeam": true,
- "severity": "high"
}, - "name": "Threshold 2"
}
], - "timezone": "Etc/UTC",
- "unit": "requests",
- "updatedAt": "2023-07-26T09:00:15.690+00:00"
}Creates a new meter to track usage consumption for a specific user and meter type. Meters continuously count usage events based on their associated meter type definition and meter key. Each meter is uniquely identified by the combination of meter type ID (or external reference), meter key, and user ID. Custom fields can be added to enrich the metered output with additional metadata.
Rate Limits
Each client can make up to 50 request(s) every 1s. The burst capacity is 5 request(s).
Authorization scopes
Requires at least one of the following scopes: usage-metering:create:meters, create:meters.
| Authorization required | string Bearer token for authentication |
object Custom fields to enrich the metered output. | |
| meterKey required | string <= 36 characters The meter key for the Meter processor counting the usage for the meter. |
| meterTypeId required | string <= 36 characters The unique ID of the meter type that the meter should count usage for. |
| userId required | string <= 320 characters Unique ID of the user the meter belongs to, for example an email address, user name or MSISDN number. |
{- "customFields": {
- "billingId": 778899,
- "organizationName": "Alpha group",
- "usageLocation": "Stockholm"
}, - "meterKey": "a1f8797b-c827-4483-b6cf-6d3d3baa18a7",
- "meterTypeId": "645ed240-02b5-400c-9a3c-21857e8f2ac4",
- "userId": "user0@example.com"
}{- "capacity": 1000,
- "carryFirst": {
- "country": "Norway"
}, - "carryLast": {
- "timestamp": "2023-07-05T22:01:04.431Z"
}, - "createdAt": "2023-07-01T00:00:00.000Z",
- "customFields": {
- "billingId": 778899,
- "organizationName": "Alpha group",
- "usageLocation": "Stockholm"
}, - "deleteOnReset": false,
- "groupBreakdowns": [
- {
- "groups": [
- {
- "carryFirst": {
- "country": "Norway"
}, - "carryLast": {
- "timestamp": "2023-07-05T22:01:04.431Z"
}, - "fields": {
- "API name": "createUser"
}, - "key": "API name:createUser",
- "value": 10
}, - {
- "carryFirst": {
- "country": "Norway"
}, - "carryLast": {
- "timestamp": "2023-07-05T22:01:04.431Z"
}, - "fields": {
- "API name": "updateCounter"
}, - "key": "API name:updateCounter",
- "value": 15
}
], - "name": "API name"
}
], - "groups": [
- {
- "fields": {
- "API name": "createUser"
}, - "key": "API name:createUser",
- "value": 10
}, - {
- "fields": {
- "API name": "updateCounter"
}, - "key": "API name:updateCounter",
- "value": 15
}
], - "id": "8a76066d-ff29-417c-a18e-abde22e44310",
- "meterKey": "a1f8797b-c827-4483-b6cf-6d3d3baa18a7",
- "meterMetaData": {
- "firstEvent": "2023-07-01T13:37:11.111Z",
- "lastEvent": "2023-07-05T22:01:04.431Z"
}, - "meterTypeId": "645ed240-02b5-400c-9a3c-21857e8f2ac4",
- "meterTypeName": "Usage based API counter",
- "periodEnd": "2023-08-01T00:00:00.000Z",
- "periodStart": "2023-07-01T00:00:00.000Z",
- "thresholds": [
- {
- "absoluteValue": 990,
- "name": "Threshold 1",
- "reachedAt": "2023-08-01T12:34:56.000Z"
}, - {
- "capacityPercentage": 70,
- "customFields": {
- "action": "alert",
- "notifyTeam": true,
- "severity": "high"
}, - "name": "Threshold 2"
}
], - "timezone": "Etc/UTC",
- "unit": "requests",
- "updatedAt": "2023-07-05T22:01:04.431Z",
- "userId": "user0@example.com",
- "value": 25
}Permanently removes the specified meter from the account. After deletion, usage tracking for the associated user and meter type combination will cease. This action cannot be undone.
Rate Limits
Each client can make up to 50 request(s) every 1s. The burst capacity is 5 request(s).
Authorization scopes
Requires at least one of the following scopes: usage-metering:delete:meters, delete:meters.
| id required | string The unique ID of meter. |
| Authorization required | string Bearer token for authentication |
{- "deletedCount": 1
}Retrieves the configuration and current state of a specific meter by its unique identifier. Returns the meter's associated meter type, meter key, user ID, custom fields, and timestamps. Use this endpoint to verify meter configuration or retrieve meter details for usage analysis.
Rate Limits
Each client can make up to 50 request(s) every 1s. The burst capacity is 5 request(s).
Authorization scopes
Requires at least one of the following scopes: usage-metering:read:meters, read:meters.
| id required | string The unique ID of meter. |
| Authorization required | string Bearer token for authentication |
{- "capacity": 1000,
- "carryFirst": {
- "country": "Norway"
}, - "carryLast": {
- "timestamp": "2023-07-05T22:01:04.431Z"
}, - "createdAt": "2023-07-01T00:00:00.000Z",
- "customFields": {
- "billingId": 778899,
- "organizationName": "Alpha group",
- "usageLocation": "Stockholm"
}, - "deleteOnReset": false,
- "groupBreakdowns": [
- {
- "groups": [
- {
- "carryFirst": {
- "country": "Norway"
}, - "carryLast": {
- "timestamp": "2023-07-05T22:01:04.431Z"
}, - "fields": {
- "API name": "createUser"
}, - "key": "API name:createUser",
- "value": 10
}, - {
- "carryFirst": {
- "country": "Norway"
}, - "carryLast": {
- "timestamp": "2023-07-05T22:01:04.431Z"
}, - "fields": {
- "API name": "updateCounter"
}, - "key": "API name:updateCounter",
- "value": 15
}
], - "name": "API name"
}
], - "groups": [
- {
- "fields": {
- "API name": "createUser"
}, - "key": "API name:createUser",
- "value": 10
}, - {
- "fields": {
- "API name": "updateCounter"
}, - "key": "API name:updateCounter",
- "value": 15
}
], - "id": "8a76066d-ff29-417c-a18e-abde22e44310",
- "meterKey": "a1f8797b-c827-4483-b6cf-6d3d3baa18a7",
- "meterMetaData": {
- "firstEvent": "2023-07-01T13:37:11.111Z",
- "lastEvent": "2023-07-05T22:01:04.431Z"
}, - "meterTypeId": "645ed240-02b5-400c-9a3c-21857e8f2ac4",
- "meterTypeName": "Usage based API counter",
- "periodEnd": "2023-08-01T00:00:00.000Z",
- "periodStart": "2023-07-01T00:00:00.000Z",
- "thresholds": [
- {
- "absoluteValue": 990,
- "name": "Threshold 1",
- "reachedAt": "2023-08-01T12:34:56.000Z"
}, - {
- "capacityPercentage": 70,
- "customFields": {
- "action": "alert",
- "notifyTeam": true,
- "severity": "high"
}, - "name": "Threshold 2"
}
], - "timezone": "Etc/UTC",
- "unit": "requests",
- "updatedAt": "2023-07-05T22:01:04.431Z",
- "userId": "user0@example.com",
- "value": 25
}Retrieves a paginated list of meters configured for the account. Meters track usage consumption for specific users and meter types. This endpoint supports filtering by meter key, meter type ID, and user ID to locate specific meter instances. Use pagination with limit and skip parameters to navigate large meter collections efficiently.
Rate Limits
Each client can make up to 50 request(s) every 1s. The burst capacity is 5 request(s).
Authorization scopes
Requires at least one of the following scopes: usage-metering:read:meters, read:meters.
| limit | integer Defines the number of meters to be returned. A maximum of 100 items can be returned. |
| skip | integer Defines an offset for the meters to be returned. If you set skip to 10, the first 10 meters will be skipped in the returned list. |
| meterKey | string Defines the meter key for which meters should be returned. |
| meterTypeId | string Defines the meter type ID for which meters should be returned. |
| userId | string Defines the user ID for which meters should be returned. |
| Authorization required | string Bearer token for authentication |
{- "meters": [
- {
- "capacity": 1000,
- "carryFirst": {
- "country": "Norway"
}, - "carryLast": {
- "timestamp": "2023-07-05T22:01:04.431Z"
}, - "createdAt": "2023-07-01T00:00:00.000Z",
- "customFields": {
- "billingId": 778899,
- "organizationName": "Alpha group",
- "usageLocation": "Stockholm"
}, - "deleteOnReset": false,
- "groupBreakdowns": [
- {
- "groups": [
- {
- "carryFirst": {
- "country": "Norway"
}, - "carryLast": {
- "timestamp": "2023-07-05T22:01:04.431Z"
}, - "fields": {
- "API name": "createUser"
}, - "key": "API name:createUser",
- "value": 10
}, - {
- "carryFirst": {
- "country": "Norway"
}, - "carryLast": {
- "timestamp": "2023-07-05T22:01:04.431Z"
}, - "fields": {
- "API name": "updateCounter"
}, - "key": "API name:updateCounter",
- "value": 15
}
], - "name": "API name"
}
], - "groups": [
- {
- "fields": {
- "API name": "createUser"
}, - "key": "API name:createUser",
- "value": 10
}, - {
- "fields": {
- "API name": "updateCounter"
}, - "key": "API name:updateCounter",
- "value": 15
}
], - "id": "8a76066d-ff29-417c-a18e-abde22e44310",
- "meterKey": "a1f8797b-c827-4483-b6cf-6d3d3baa18a7",
- "meterMetaData": {
- "firstEvent": "2023-07-01T13:37:11.111Z",
- "lastEvent": "2023-07-05T22:01:04.431Z"
}, - "meterTypeId": "645ed240-02b5-400c-9a3c-21857e8f2ac4",
- "meterTypeName": "Usage based API counter",
- "periodEnd": "2023-08-01T00:00:00.000Z",
- "periodStart": "2023-07-01T00:00:00.000Z",
- "thresholds": [
- {
- "absoluteValue": 990,
- "name": "Threshold 1",
- "reachedAt": "2023-08-01T12:34:56.000Z"
}, - {
- "capacityPercentage": 70,
- "customFields": {
- "action": "alert",
- "notifyTeam": true,
- "severity": "high"
}, - "name": "Threshold 2"
}
], - "timezone": "Etc/UTC",
- "unit": "requests",
- "updatedAt": "2023-07-05T22:01:04.431Z",
- "userId": "user0@example.com",
- "value": 25
}
]
}Updates the mutable properties of a specified meter. Allows modification of custom fields and other configurable attributes while preserving the meter's core identity (meter type, meter key, and user ID). Use this endpoint to enrich meters with updated metadata or adjust operational parameters without recreating the meter.
Rate Limits
Each client can make up to 50 request(s) every 1s. The burst capacity is 5 request(s).
Authorization scopes
Requires at least one of the following scopes: usage-metering:update:meters, update:meters.
| id required | string The unique ID of meter. |
| Authorization required | string Bearer token for authentication |
| capacity | number >= 0 The new total capacity allocated to this meter after the update, representing reference of usage limit. This value is used as the reference for evaluating capacityPercentage thresholds for this meter. |
object Custom fields to enrich the metered output. | |
| deleteOnReset | boolean Determine whether the meter should be deleted after the next reset. |
Array of Using absolute value (object) or Using percentage of capacity (object) <= 5 items A new list of threshold objects, each of which can specify either an absolute value or a percentage of capacity. |
{- "capacity": 1000,
- "customFields": {
- "billingId": 778899,
- "organizationName": "Alpha group",
- "usageLocation": "Stockholm"
}, - "deleteOnReset": true,
- "thresholds": [
- {
- "absoluteValue": 990,
- "name": "Threshold 1"
}, - {
- "capacityPercentage": 70,
- "customFields": {
- "action": "alert",
- "notifyTeam": true,
- "severity": "high"
}, - "name": "Threshold 2"
}
]
}{- "capacity": 1000,
- "carryFirst": {
- "country": "Norway"
}, - "carryLast": {
- "timestamp": "2023-07-05T22:01:04.431Z"
}, - "createdAt": "2023-07-01T00:00:00.000Z",
- "customFields": {
- "billingId": 778899,
- "organizationName": "Alpha group",
- "usageLocation": "Stockholm"
}, - "deleteOnReset": false,
- "groupBreakdowns": [
- {
- "groups": [
- {
- "carryFirst": {
- "country": "Norway"
}, - "carryLast": {
- "timestamp": "2023-07-05T22:01:04.431Z"
}, - "fields": {
- "API name": "createUser"
}, - "key": "API name:createUser",
- "value": 10
}, - {
- "carryFirst": {
- "country": "Norway"
}, - "carryLast": {
- "timestamp": "2023-07-05T22:01:04.431Z"
}, - "fields": {
- "API name": "updateCounter"
}, - "key": "API name:updateCounter",
- "value": 15
}
], - "name": "API name"
}
], - "groups": [
- {
- "fields": {
- "API name": "createUser"
}, - "key": "API name:createUser",
- "value": 10
}, - {
- "fields": {
- "API name": "updateCounter"
}, - "key": "API name:updateCounter",
- "value": 15
}
], - "id": "8a76066d-ff29-417c-a18e-abde22e44310",
- "meterKey": "a1f8797b-c827-4483-b6cf-6d3d3baa18a7",
- "meterMetaData": {
- "firstEvent": "2023-07-01T13:37:11.111Z",
- "lastEvent": "2023-07-05T22:01:04.431Z"
}, - "meterTypeId": "645ed240-02b5-400c-9a3c-21857e8f2ac4",
- "meterTypeName": "Usage based API counter",
- "periodEnd": "2023-08-01T00:00:00.000Z",
- "periodStart": "2023-07-01T00:00:00.000Z",
- "thresholds": [
- {
- "absoluteValue": 990,
- "name": "Threshold 1",
- "reachedAt": "2023-08-01T12:34:56.000Z"
}, - {
- "capacityPercentage": 70,
- "customFields": {
- "action": "alert",
- "notifyTeam": true,
- "severity": "high"
}, - "name": "Threshold 2"
}
], - "timezone": "Etc/UTC",
- "unit": "requests",
- "updatedAt": "2023-07-05T22:01:04.431Z",
- "userId": "user0@example.com",
- "value": 25
}Creates a new online collection collector to ingest usage data from external sources. Collectors define the ingestion endpoint and configuration for receiving usage records. Once created, the collector provides a unique ID that is used in the ingestion API to submit data. Each account is limited to a maximum of five collectors.
Rate Limits
Each client can make up to 1 request(s) every 1s. The burst capacity is 1 request(s).
Authorization scopes
Requires the scope online-collection:create:collectors.
| Authorization required | string Bearer token for authentication |
| name required | string [ 1 .. 80 ] characters ^[\w\s().-]+$ The name of the collector. Only alphanumeric characters, spaces, and the following special characters are supported |
{- "name": "Collector Name"
}{- "createdAt": "2023-07-01T00:00:00.000Z",
- "id": "8a76066d-ff29-417c-a18e-abde22e44310",
- "name": "Collector Name",
- "status": "CREATING",
- "updatedAt": "2023-07-05T22:01:04.431Z"
}Permanently removes the specified online collection collector from the account. After deletion, the collector's ingestion endpoint will no longer accept data, and any streams or configurations referencing this collector will need to be updated. This action cannot be undone.
Rate Limits
Each client can make up to 1 request(s) every 1s. The burst capacity is 1 request(s).
Authorization scopes
Requires the scope online-collection:delete:collectors.
| id required | string The unique ID of the collector. |
| Authorization required | string Bearer token for authentication |
{- "deletedCount": 1
}Retrieves the complete configuration and status details for a specific online collection collector by its unique identifier. Returns the collector's name, operational status, creation and update timestamps, and any associated configuration metadata.
Rate Limits
Each client can make up to 5 request(s) every 1m. The burst capacity is 5 request(s).
Authorization scopes
Requires the scope online-collection:read:collectors.
| id required | string The unique ID of the collector. |
| Authorization required | string Bearer token for authentication |
{- "createdAt": "2023-07-01T00:00:00.000Z",
- "id": "8a76066d-ff29-417c-a18e-abde22e44310",
- "name": "Collector Name",
- "status": "ACTIVE",
- "updatedAt": "2023-07-05T22:01:04.431Z"
}Retrieves a paginated and sortable list of online collection collectors configured for the account. Collectors define how usage data is ingested from external sources into the system. This endpoint supports sorting by name, status, and timestamps, and returns collectors with their current configuration and operational status. Use pagination to manage large collector deployments.
Rate Limits
Each client can make up to 5 request(s) every 1m. The burst capacity is 5 request(s).
Authorization scopes
Requires the scope online-collection:read:collectors.
| limit | integer Defines the number of collectors to be returned. A maximum of 100 items can be returned. |
| skip | integer Defines an offset for the collectors to be returned. If you set skip to 10, the first 10 collectors will be skipped in the returned list. |
| sortOrder | string Enum: "ASC" "DESC" Determines the sort order of the returned list. |
| sortBy | string Enum: "name" "status" "createdAt" "updatedAt" Determines the field in the collector by which the returned list will be sorted. |
| Authorization required | string Bearer token for authentication |
{- "collectors": [
- {
- "createdAt": "2023-07-01T00:00:00.000Z",
- "id": "8a76066d-ff29-417c-a18e-abde22e44310",
- "name": "Example collector 1",
- "status": "ACTIVE",
- "updatedAt": "2023-07-05T22:01:04.431Z"
}
]
}Updates the specified online collection collector's properties. Currently, only the collector's name field can be modified. The collector's unique identifier and operational status remain unchanged. The updated name must be unique within the account.
Rate Limits
Each client can make up to 1 request(s) every 1s. The burst capacity is 1 request(s).
Authorization scopes
Requires the scope online-collection:update:collectors.
| id required | string The unique ID of the collector. |
| Authorization required | string Bearer token for authentication |
| name | string [ 1 .. 80 ] characters ^[\w\s().-]+$ The name of the collector. Only alphanumeric characters, spaces, and the following special characters are supported |
{- "name": "Collector Name"
}{- "createdAt": "2023-07-01T00:00:00.000Z",
- "id": "8a76066d-ff29-417c-a18e-abde22e44310",
- "name": "Collector Name",
- "status": "ACTIVE",
- "updatedAt": "2023-07-05T22:01:04.431Z"
}Submits usage records to the online collection storage for the specified collector.
Rate Limits
Each client can make up to 2000 request(s) every 1s. The burst capacity is 5 request(s).
Authorization scopes
Requires the scope online-collection:ingest:collectors.
| id required | string The unique ID of the collector. |
| Authorization required | string Bearer token for authentication |
required | string or object |
{- "data": {
- "customerId": "cust-456",
- "usageAmount": 42.5,
- "usageType": "api-call"
}
}{- "ingestionId": "645ed240-02b5-400c-9a3c-21857e8f2ac4"
}Exports the full configuration of a stream in a format designed for seamless import into another solution or environment. This enables easy backup, migration, or duplication of stream configurations across environments.
Rate Limits
Each client can make up to 20 request(s) every 1s. The burst capacity is 5 request(s).
Authorization scopes
Requires the scope stream-management:read:streams.
| id required | string Example: 514c23cd-301d-4922-bc9d-d8a3dcb11819 The unique identifier of the stream to export. |
| tag | string Example: tag=v1.0.1 A version tag that identifies which version of the stream configuration to export. If not provided, the latest version will be returned. |
| Authorization required | string Bearer token for authentication |
{- "annotation": {
- "color": "blue",
- "text": "This is my example stream."
}, - "description": "Initial draft version",
- "edges": [
- {
- "config": { },
- "from": "d3ac8f10-9f8a-11f0-aecf-d383d406af6c",
- "id": "e0fac740-9f8a-11f0-aecf-d383d406af6c",
- "to": "d78d99d0-9f8a-11f0-aecf-d383d406af6c"
}, - {
- "config": { },
- "from": "d78d99d0-9f8a-11f0-aecf-d383d406af6c",
- "id": "e3cad730-9f8a-11f0-aecf-d383d406af6c",
- "output": "8812b101-c9ef-4824-9aee-5c0cfd2fc984",
- "to": "dacfa570-9f8a-11f0-aecf-d383d406af6c"
}
], - "name": "My Stream",
- "nodeGroups": [
- {
- "annotation": {
- "color": "blue",
- "text": "Responsible for collecting and validating input records."
}, - "id": "4d8ad4e0-9f8b-11f0-aecf-d383d406af6c",
- "name": "Collect and Validate",
- "nodeIds": [
- "d3ac8f10-9f8a-11f0-aecf-d383d406af6c",
- "d78d99d0-9f8a-11f0-aecf-d383d406af6c"
]
}
], - "nodes": [
- {
- "id": "d3ac8f10-9f8a-11f0-aecf-d383d406af6c",
- "name": "Count",
- "params": {
- "max": 10
}, - "schemaVersion": 2,
- "type": "readers/counter",
- "x": 700,
- "y": 200
}, - {
- "id": "d78d99d0-9f8a-11f0-aecf-d383d406af6c",
- "name": "Validate",
- "params": {
- "multiOutput": {
- "fixed": {
- "valid": {
- "id": "8812b101-c9ef-4824-9aee-5c0cfd2fc984"
}
}
}, - "schema": {
- "properties": {
- "value": {
- "multipleOf": 2
}
}, - "required": [ ]
}, - "suspenseManagement": {
- "abortOnDisabled": false,
- "enabled": true,
- "eventThreshold": 10000,
- "onThresholdExceeded": "ABORT",
- "resetOnValidEvent": true
}
}, - "schemaVersion": 1,
- "type": "transforms/validate",
- "x": 900,
- "y": 200
}, - {
- "id": "dacfa570-9f8a-11f0-aecf-d383d406af6c",
- "name": "Log",
- "params": { },
- "schemaVersion": 1,
- "type": "writers/log",
- "x": 1100,
- "y": 200
}
], - "tag": "v1.0"
}Retrieve the full configuration and metadata for a specific stream by its unique ID. Allows clients to specify which fields to include in the response for efficiency.
Rate Limits
Each client can make up to 20 request(s) every 1s. The burst capacity is 5 request(s).
Authorization scopes
Requires the scope stream-management:read:streams.
| id required | string Example: 514c23cd-301d-4922-bc9d-d8a3dcb11819 The unique ID of the stream to fetch. |
| fields | string Example: fields=name,nodes.name A comma-separated list of fields to include in each stream object in the response. Only the specified fields will be included. If omitted, all fields will be returned. Supports dot notation for nested fields (e.g., nodes.name). |
| tag | string Example: tag=v1.0.1 A version tag that identifies which version of the stream to fetch. If not provided, the latest version will be returned. |
| Authorization required | string Bearer token for authentication |
{- "cas": 7,
- "createdAt": "2025-10-21T14:52:54.232Z",
- "createdBy": {
- "email": "some.user@digitalroute.com",
- "id": "fe15c5a3-2ef2-4fcb-a157-07060c34b285",
- "type": "user"
}, - "description": "Initial draft version",
- "edges": [
- {
- "config": { },
- "from": "d3ac8f10-9f8a-11f0-aecf-d383d406af6c",
- "id": "e0fac740-9f8a-11f0-aecf-d383d406af6c",
- "to": "d78d99d0-9f8a-11f0-aecf-d383d406af6c"
}, - {
- "config": { },
- "from": "d78d99d0-9f8a-11f0-aecf-d383d406af6c",
- "id": "e3cad730-9f8a-11f0-aecf-d383d406af6c",
- "output": "8812b101-c9ef-4824-9aee-5c0cfd2fc984",
- "to": "dacfa570-9f8a-11f0-aecf-d383d406af6c"
}
], - "id": "239268d1-f26f-434c-9365-0625027a8ea3",
- "name": "My Stream",
- "nodeGroups": [
- {
- "annotation": {
- "color": "blue",
- "text": "Responsible for collecting and validating input records."
}, - "id": "4d8ad4e0-9f8b-11f0-aecf-d383d406af6c",
- "name": "Collect and Validate",
- "nodeIds": [
- "d3ac8f10-9f8a-11f0-aecf-d383d406af6c",
- "d78d99d0-9f8a-11f0-aecf-d383d406af6c"
]
}
], - "nodes": [
- {
- "id": "d3ac8f10-9f8a-11f0-aecf-d383d406af6c",
- "name": "Count",
- "params": {
- "max": 10
}, - "schemaVersion": 2,
- "type": "readers/counter",
- "x": 700,
- "y": 200
}, - {
- "id": "d78d99d0-9f8a-11f0-aecf-d383d406af6c",
- "name": "Validate",
- "params": {
- "multiOutput": {
- "fixed": {
- "valid": {
- "id": "8812b101-c9ef-4824-9aee-5c0cfd2fc984"
}
}
}, - "schema": {
- "properties": {
- "value": {
- "multipleOf": 2
}
}, - "required": [ ]
}, - "suspenseManagement": {
- "abortOnDisabled": false,
- "enabled": true,
- "eventThreshold": 10000,
- "onThresholdExceeded": "ABORT",
- "resetOnValidEvent": true
}
}, - "schemaVersion": 1,
- "type": "transforms/validate",
- "x": 900,
- "y": 200
}, - {
- "id": "dacfa570-9f8a-11f0-aecf-d383d406af6c",
- "name": "Log",
- "params": { },
- "schemaVersion": 1,
- "type": "writers/log",
- "x": 1100,
- "y": 200
}
], - "processingType": "batch",
- "schemaVersion": 1,
- "solutionId": "73253be8-0c7c-4670-9631-5a29fe59b4d2",
- "tag": "v1.0",
- "updatedAt": "2025-10-21T14:53:25.828Z",
- "updatedBy": {
- "id": "zd1Cp3xV2bbV1gS1YkZPUAqQCYvjfG3i",
- "name": "My Application",
- "type": "application"
}
}Imports a stream configuration into the specified solution. This endpoint allows clients to create a new stream or update an existing one by providing a complete stream definition. When a tag is not provided in the stream configuration, the import overwrites the latest autosaved version of the stream. When a tag is provided, the import saves both the autosaved version and a tagged version, enabling version control and tracking of stream changes. The endpoint supports flexible conflict resolution strategies for handling name collisions and can optionally allow node deletions when overwriting existing streams.
Rate Limits
Each client can make up to 20 request(s) every 1s. The burst capacity is 5 request(s).
Authorization scopes
Requires the scope stream-management:write:streams.
| Authorization required | string Bearer token for authentication |
| allowNodeDeletion | boolean If set to true, allows the import to overwrite an existing stream even if the imported configuration omits nodes that are present in the target stream (permitting node deletions). By default (false), the API will return an error if the import would result in the removal of any existing nodes. |
| onNameConflict | string Enum: "overwrite" "create-new" "skip" Specifies how to handle name conflicts during import: |
| solutionId required | string <= 36 characters The ID of the solution to which the stream will be imported. |
required | object Defines a complete stream configuration, composed of nodes (instantiated functions) and edges that describe the data flow between them. |
{- "allowNodeDeletion": true,
- "onNameConflict": "overwrite",
- "solutionId": "73253be8-0c7c-4670-9631-5a29fe59b4d2",
- "streamConfig": {
- "annotation": {
- "color": "blue",
- "text": "This is my example stream."
}, - "description": "Initial draft version",
- "edges": [
- {
- "config": { },
- "from": "d3ac8f10-9f8a-11f0-aecf-d383d406af6c",
- "id": "e0fac740-9f8a-11f0-aecf-d383d406af6c",
- "to": "d78d99d0-9f8a-11f0-aecf-d383d406af6c"
}, - {
- "config": { },
- "from": "d78d99d0-9f8a-11f0-aecf-d383d406af6c",
- "id": "e3cad730-9f8a-11f0-aecf-d383d406af6c",
- "output": "8812b101-c9ef-4824-9aee-5c0cfd2fc984",
- "to": "dacfa570-9f8a-11f0-aecf-d383d406af6c"
}
], - "name": "My Stream",
- "nodeGroups": [
- {
- "annotation": {
- "color": "blue",
- "text": "Responsible for collecting and validating input records."
}, - "id": "4d8ad4e0-9f8b-11f0-aecf-d383d406af6c",
- "name": "Collect and Validate",
- "nodeIds": [
- "d3ac8f10-9f8a-11f0-aecf-d383d406af6c",
- "d78d99d0-9f8a-11f0-aecf-d383d406af6c"
]
}
], - "nodes": [
- {
- "id": "d3ac8f10-9f8a-11f0-aecf-d383d406af6c",
- "name": "Count",
- "params": {
- "max": 10
}, - "schemaVersion": 2,
- "type": "readers/counter",
- "x": 700,
- "y": 200
}, - {
- "id": "d78d99d0-9f8a-11f0-aecf-d383d406af6c",
- "name": "Validate",
- "params": {
- "multiOutput": {
- "fixed": {
- "valid": {
- "id": "8812b101-c9ef-4824-9aee-5c0cfd2fc984"
}
}
}, - "schema": {
- "properties": {
- "value": {
- "multipleOf": 2
}
}, - "required": [ ]
}, - "suspenseManagement": {
- "abortOnDisabled": false,
- "enabled": true,
- "eventThreshold": 10000,
- "onThresholdExceeded": "ABORT",
- "resetOnValidEvent": true
}
}, - "schemaVersion": 1,
- "type": "transforms/validate",
- "x": 900,
- "y": 200
}, - {
- "id": "dacfa570-9f8a-11f0-aecf-d383d406af6c",
- "name": "Log",
- "params": { },
- "schemaVersion": 1,
- "type": "writers/log",
- "x": 1100,
- "y": 200
}
], - "tag": "v1.0"
}
}{- "importAction": "created",
- "stream": {
- "cas": 0,
- "createdAt": "2025-10-21T14:52:54.232Z",
- "createdBy": {
- "email": "some.user@digitalroute.com",
- "id": "fe15c5a3-2ef2-4fcb-a157-07060c34b285",
- "type": "user"
}, - "id": "239268d1-f26f-434c-9365-0625027a8ea3",
- "name": "My Stream",
- "solutionId": "73253be8-0c7c-4670-9631-5a29fe59b4d2",
- "updatedAt": "2025-10-21T14:52:54.232Z",
- "updatedBy": {
- "email": "some.user@digitalroute.com",
- "id": "fe15c5a3-2ef2-4fcb-a157-07060c34b285",
- "type": "user"
}
}, - "tag": "v1.0"
}Retrieves a paginated list of all available versions for a specific stream. Each stream version represents a tagged snapshot of the stream configuration, enabling version control, rollback capabilities, and tracking of configuration changes over time. This endpoint supports filtering by resource references to identify versions that use specific collectors, meter keys, or storage resources. Use pagination to navigate through the version history efficiently.
Rate Limits
Each client can make up to 20 request(s) every 1s. The burst capacity is 5 request(s).
Authorization scopes
Requires the scope stream-management:read:streams.
| id required | string Example: 514c23cd-301d-4922-bc9d-d8a3dcb11819 The unique identifier of the stream. |
| skip | integer The number of stream versions to skip before starting to return results. Use for pagination. |
| limit | integer Example: limit=50 The maximum number of stream versions to return. Use for pagination. The maximum allowed value is 100. |
| resourceRefs | Array of arrays Example: resourceRefs=onlineCollector:8a76066d-ff29-417c-a18e-abde22e44310&resourceRefs=meterKey:* Filter streams versions by associated resource references. Accepts an array of resource references; the response will include versions that reference any of the specified resources (logical OR relationship). Each resource reference must be in the format |
| Authorization required | string Bearer token for authentication |
{- "total": 3,
- "versions": [
- {
- "createdAt": "2025-10-08T13:50:19.464Z",
- "createdBy": {
- "id": "zd1Cp3xV2bbV1gS1YkZPUAqQCYvjfG3i",
- "name": "My Application",
- "type": "application"
}, - "description": "Latest untagged version",
- "tag": null
}, - {
- "createdAt": "2025-10-08T13:50:09.624Z",
- "createdBy": {
- "email": "some.user@digitalroute.com",
- "id": "fe15c5a3-2ef2-4fcb-a157-07060c34b285",
- "type": "user"
}, - "description": "Patched draft version",
- "tag": "1.1"
}, - {
- "createdAt": "2025-10-08T13:39:58.262Z",
- "createdBy": {
- "email": "some.user@digitalroute.com",
- "id": "fe15c5a3-2ef2-4fcb-a157-07060c34b285",
- "type": "user"
}, - "description": "Initial draft version",
- "tag": "1.0"
}
]
}Retrieves a paginated list of streams. Supports filtering by stream name, associated resources, and solution ID. Allows clients to specify which fields to include in the response for efficiency. Results are sorted by createdAt in ascending order (oldest first, newest last), ensuring stable cursor-based pagination where newly created streams appear at the end of the list without interfering with existing pages.
Rate Limits
Each client can make up to 20 request(s) every 1s. The burst capacity is 5 request(s).
Authorization scopes
Requires the scope stream-management:read:streams.
| solutionId | string Example: solutionId=73253be8-0c7c-4670-9631-5a29fe59b4d2 Filter streams belonging to a specific solution by its unique solution ID. |
| fields | string Example: fields=name,updatedAt A comma-separated list of fields to include in each stream object in the response. Only the specified fields will be included. If omitted, all fields will be returned. |
| name | string Example: name=My Stream Filter results to streams whose name exactly matches the specified value. Matching is case-sensitive. Wildcards and partial matches are not supported. |
| resourceRefs | Array of arrays Example: resourceRefs=onlineCollector:8a76066d-ff29-417c-a18e-abde22e44310&resourceRefs=meterKey:* Filter streams by associated resource references. Accepts an array of resource references; the response will include streams that reference any of the specified resources (logical OR relationship). Each resource reference must be in the format |
| cursor | string Example: cursor=eyJjcmVhdGVkQXQiOiIyMDI0LTAxLTAxVDAwOjAwOjAwLjAwMFoiLCJpZCI6IjNmZGVmYTc5LWZlNjMtNDQzNS05ODQ2LTkzNjgyNTkxMjE3MSJ9 To paginate results, use the |
| limit | integer Example: limit=50 Defines the number of streams to be returned per page. A maximum of 100 items can be returned. |
| Authorization required | string Bearer token for authentication |
{- "nextCursor": "eyJjcmVhdGVkQXQiOiIyMDI0LTAxLTAxVDAwOjAwOjAwLjAwMFoiLCJpZCI6IjNmZGVmYTc5LWZlNjMtNDQzNS05ODQ2LTkzNjgyNTkxMjE3MSJ9",
- "streams": [
- {
- "cas": 7,
- "createdAt": "2025-10-21T14:52:54.232Z",
- "createdBy": {
- "email": "some.user@digitalroute.com",
- "id": "fe15c5a3-2ef2-4fcb-a157-07060c34b285",
- "type": "user"
}, - "id": "239268d1-f26f-434c-9365-0625027a8ea3",
- "name": "My Stream",
- "solutionId": "73253be8-0c7c-4670-9631-5a29fe59b4d2",
- "updatedAt": "2025-10-21T14:53:25.828Z",
- "updatedBy": {
- "id": "zd1Cp3xV2bbV1gS1YkZPUAqQCYvjfG3i",
- "name": "My Application",
- "type": "application"
}
}
]
}Retrieves a session by calculating its session key from the provided fieldValues, which must be in the same order as the fields defined in your Script aggregator configuration. This endpoint enables direct lookup of a session in the specified aggregation store without pagination.
How it works:
The API uses the values you provide (in the correct order) to generate a unique session key, just like your script aggregation function does. It then looks up and returns the session that matches this key.
Tip: Before using this endpoint, make sure your values match the field order in your Script aggregator function configuration.
Rate Limits
Each client can make up to 50 request(s) every 1s. The burst capacity is 5 request(s).
Authorization scopes
Requires the scope aggregation:read:sessions.
| id required | string Example: 514c23cd-301d-4922-bc9d-d8a3dcb11819 The unique identifier of the aggregation store in which to search for the session. Required to scope the lookup to the correct store. |
| fieldValues required | string Example: fieldValues=customer123&fieldValues=order456 Array of values, in the same order as the fields defined in your script aggregation function configuration, used to generate the session key. Example: |
| Authorization required | string Bearer token for authentication |
{- "createdAt": "2025-10-27T14:04:31.648Z",
- "data": {
- "location": "Stockholm",
- "name": "bob.jones",
- "subscription": "Basic",
- "usage": 255
}, - "meta": {
- "count": 14,
- "firstEvent": "2025-10-27T14:04:31.510Z",
- "lastEvent": "2025-10-27T16:00:17.645Z"
}, - "timeoutAt": "2025-10-28T16:00:17.645Z",
- "updatedAt": "2025-10-27T16:00:17.809Z"
}Use POST /parameters to create a new parameter. Each account is limited to a maximum of 100 parameters.
Rate Limits
Each client can make up to 2 request(s) every 1s. The burst capacity is 4 request(s).
Authorization scopes
Requires the scope global-parameters:create:parameters.
| Authorization required | string Bearer token for authentication. |
| description | string <= 1024 characters The description of the parameter. |
| name required | string [ 1 .. 900 ] characters ^[\w.-]+(?:/[\w.-]+)*$ Must contain only alphanumeric characters, underscores (_), hyphens (-), periods (.), and forward slashes (/). Forward slashes create a hierarchy (e.g., group/subgroup/name). Maximum hierarchy depth: 10 levels. Length: 1-900 characters. |
| type required | string Enum: "standard" "sensitive" Choose the type on how the data is stored. This is case-sensitive.
The parameter type cannot be updated. |
| value required | string [ 1 .. 8192 ] characters The value of the parameter. |
{- "description": "API key for third-party payment gateway",
- "name": "credentials/payment-gateway/api-key",
- "type": "standard",
- "value": "sk_val_51H8KJ8eXAMPLEKEY1234567890"
}{- "name": "credentials/payment-gateway/api-key"
}Use DELETE /parameters to delete one or more parameters.
Rate Limits
Each client can make up to 1 request(s) every 1s. The burst capacity is 2 request(s).
Authorization scopes
Requires the scope global-parameters:delete:parameters.
| Authorization required | string Bearer token for authentication. |
A list of parameters that are to be deleted.
| parameters required | Array of strings An array of unique parameter names to be deleted. |
{- "parameters": [
- "credentials/payment-gateway/api-key",
- "email/alerts/address"
]
}{- "deletedCount": 1,
- "deletedParameters": [
- "credentials/payment-gateway/api-key"
], - "invalidParameters": [
- "email/alerts/address"
]
}Use GET /parameters/{parameter-name} to retrieve information about a specified parameter.
Rate Limits
Each client can make up to 2 request(s) every 1s. The burst capacity is 4 request(s).
Authorization scopes
Requires the scope global-parameters:read:parameters.
| Authorization required | string Bearer token for authentication. |
{- "description": "API gateway key for external integrations",
- "name": "credentials/payment-gateway/api-key",
- "type": "standard",
- "updatedAt": "2025-01-01T00:00:00.000Z",
- "value": "sk_val_51H8KJ8eXAMPLEKEY1234567890"
}Use GET /parameters to get a list of parameters.
Rate Limits
Each client can make up to 2 request(s) every 1s. The burst capacity is 4 request(s).
Authorization scopes
Requires the scope global-parameters:read:parameters.
| limit | string Defines the number of parameters to be returned. A maximum of 100 items can be returned. |
| skip | string Defines an offset for the parameters to be returned. If you set skip to 10, the first 10 parameters will be skipped in the returned list. |
| sortBy | string Enum: "name" "description" "updatedAt" Determines the field in the parameter by which the returned list will be sorted. |
| sortOrder | string Determines the sort order of the returned list; ASC for ascending or DESC for descending. |
| name | string Defines the name for which parameter should be returned. You may provide full or partial name. |
| Authorization required | string Bearer token for authentication. |
{- "parameters": [
- {
- "description": "API gateway key for external integrations",
- "name": "credentials/payment-gateway/api-key",
- "type": "sensitive",
- "updatedAt": "2025-01-01T00:00:00.000Z"
}, - {
- "description": "MongoDB connection string for production database",
- "name": "database/production/mongo-connection-string",
- "type": "standard",
- "updatedAt": "2025-01-01T00:00:00.000Z"
}
]
}Use PATCH /parameters/{parameter-name} to update the description, the value, or both for a parameter. At least one field (description or value) must be provided.
Rate Limits
Each client can make up to 2 request(s) every 1s. The burst capacity is 4 request(s).
Authorization scopes
Requires the scope global-parameters:update:parameters.
| Authorization required | string Bearer token for authentication. |
| description | string <= 1024 characters The description of the parameter. |
| value | string [ 1 .. 8192 ] characters The value of the parameter. |
{- "description": "Updated API gateway key for external integrations",
- "value": "sk_val_1He58KJ81XAMPLEKEY78956210"
}{- "name": "credentials/payment-gateway/api-key"
}