Insights

Get list of all messages passing through your flows and usage information (telemetry).

Get Logs and Histogram

GET https://api.YOUR_TENANT.appmixer.cloud/logs

Get logs for a single flow or list of flows or all user's flows. Filtering and sorting supported. Logs contain data messages getting into the component's input port(s) and messages sent to the component's output port(s). They also contain any errors that occurred during the flow run or while trying to start/stop a flow. curl "https://api.appmixer.com/logs?from=0&size=30&sort=gridTimestamp:desc&query=gridTimestamp:[2019-03-04+TO+2019-03-08]&flowId=9c4673d7-a550-45a2-91c1-ad057fac0385" -H "Authorization: Bearer [ACCESS_TOKEN]" curl "https://api.appmixer.com/logs?from=0&size=30&sort=gridTimestamp:desc&query=gridTimestamp:[2019-03-04+TO+2019-03-08]" -H "Authorization: Bearer [ACCESS_TOKEN]"

Pagination with searchAfter

For efficient pagination through large result sets, use searchAfter instead of from. Rather than skipping over results (which gets slower on deeper pages), searchAfter picks up exactly where the previous page left off.

How it works:

  1. Make your first request normally (without searchAfter).

  2. From the last log entry in the response, take its sort field value(s) and _id.

  3. Pass those values back as searchAfter parameters in the next request.

  4. Repeat for each subsequent page.

Important: The number of searchAfter values must match the number of sort parameters. Each searchAfter value corresponds to a sort field in the same order. If they don't match, the API returns an error.

Example — paginating with gridTimestamp and _id as a tiebreaker:

https://api.appmixer.com/logs?flowId=9c4673d7-a550-45a2-91c1-ad057fac0385&size=30&sort=gridTimestamp:asc&sort=_id:asc&query=gridTimestamp:[* TO *]&searchAfter=2023-10-25T15:03:17.721Z&searchAfter=wC5cZ4sB5dpG2lX0gmxi

Here, searchAfter=2023-10-25T15:03:17.721Z matches sort=gridTimestamp:asc and searchAfter=wC5cZ4sB5dpG2lX0gmxi (the _id of the last log) matches sort=_id:asc. Using _id as a secondary sort ensures no duplicates or missed records when multiple logs share the same timestamp.

Query Parameters

Name
Type
Description

portType

string

string: in or out . Or it can be array portType=in&portType=out. Used to filter only input messages or output messages. in and out by default.

flowId

string

The flow ID to filter on. This parameter can be used multiple times to filter on more flows. If not present, it will return logs for all user's flows (even flows that are being shared with signed in user).

excludes

string

A comma separated field names to exclude from the log objects returned.

includes

string

A comma separated field names to include from the log objects returned.

query

string

Query string. Uses the Lucene query syntax: https://lucene.apache.org/core/2_9_4/queryparsersyntax.html

sort

string

A parameter to sort the result. Optionally followed by ":desc" to change the order. asc by default. This parameter can be passed multiple times to use multiple sortings.

size

number

Maximum number of logs returned. Useful for pagination. 50 records by default.

from

number

Index of the first log returned. Useful for pagination.

searchAfter

string

Cursor-based pagination parameter, more efficient than from for deep pagination. Pass the sort value(s) and _id of the last document from the previous page. The number of searchAfter values must match the number of sort parameters. It is recommended to always use _id as a secondary sort to avoid duplicates. See the Pagination with searchAfter section above for details.

Get Log Detail

GET https://api.YOUR_TENANT.appmixer.cloud/log/:logIndex/:logId

DEPRECATED. You can get the log details with /logs API:

curl "https://api.appmixer.com/logs?query=_id:AWKbQ6Vr9I6rzDWu4NbG&sort=@timestamp:desc" -H "Authorization: Bearer [ACCESS_TOKEN]"

Get a detail of a log. Log detail gives you information on the actual data of the message between two components. curl "https://api.appmixer.com/log/93198d48-e680-49bb-855c-58c2c11d1857/appmixer-201804/AWKbQ6Vr9I6rzDWu4NbG" -H "Authorization: Bearer [ACCESS_TOKEN]"

Path Parameters

Name
Type
Description

logId

string

Log ID. Use the "_id" property of the log object returned from flow logs.

logIndex

string

Log index. Use the "_index" property of the log object returned from flow logs.

Get Logs (Aggregations)

POST https://api.YOUR_TENANT.appmixer.cloud/logs

This method works the same as its /GET counterpart, but it also allows to get aggregations within the matched data, by passing a request body specifying desired aggregations.

Query Parameters

Name
Type
Description

flowId

string

The flow ID to filter on. This parameter can be used multiple times to filter on more flows.

excludes

string

A comma separated field names to exclude from the log objects returned.

includes

string

A comma separated field names to include from the log objects returned.

query

string

Query string. Uses the Lucene query syntax: https://lucene.apache.org/core/2_9_4/queryparsersyntax.html

sort

string

A parameter to sort the result. Optionally followed by ":desc" to change the order. asc by default. This parameter can be passed multiple times to use multiple sortings.

size

number

Maximum number of logs returned. Useful for pagination.

from

number

Index of the first log returned. Useful for pagination.

search_after

string

Cursor-based pagination parameter, more efficient than from for deep pagination. Pass the sort value(s) and _id of the last document from the previous page. The number of searchAfter values must match the number of sort parameters. It is recommended to always use _id as a secondary sort to avoid duplicates. See the Pagination with searchAfter section above for details.

Request Body

Name
Type
Description

aggs

object

An object describing the desired aggregations. Uses Elasticsearch aggregation search structure: https://elastic.co/guide/en/elasticsearch/reference/current/search-aggregations.html

Get Usage Information for Current User

GET https://api.YOUR_TENANT.appmixer.cloud/telemetry

Get usage information. curl "https://api.appmixer.com/telemetry?from=2018-03-17&to=2018-04-17" -H "Authorization: Bearer [ACCESS_TOKEN]"

Query Parameters

Name
Type
Description

to

string

To date.

from

string

From date.

Get Usage Information For Other Users

GET https://api.appmixer.com/telemetry/messages

Get usage information for a user identified by the userId query parameter. This call requires admin privileges. curl "https://api.appmixer.com/telemetry/messages?userId=54324413432141432&from=2024-01&to=2024-02 -H "Authorization: Bearer [ACCESS_TOKEN]"

Query Parameters

Name
Type
Description

to

string

To date.

from

string

From date.

userId

string

A user ID.

Get Flow Usage Information

GET https://api.appmixer.com/telemetry/flows/:flowId

Get usage information for a flow identified by flowId. This call requires admin privileges. curl "https://api.appmixer.com/telemetry/flows/ef4324-431ff-434fadf-424 -H "Authorization: Bearer [ACCESS_TOKEN]"

Last updated

Was this helpful?