Register client usage metrics
POST /api/client/metrics
Registers usage metrics. Stores information about how many times each flag was evaluated to enabled and disabled within a time frame. If provided, this operation will also store data on how many times each feature flag's variants were displayed to the end user.
Request
- application/json
Body
required
clientMetricsSchema
- appName string required
The name of the application that is evaluating toggles
- instanceId string
A (somewhat) unique identifier for the application
- environment string deprecated
Which environment the application is running in. This property was deprecated in v5. This can be determined by the API key calling this endpoint.
- sdkVersion string
An SDK version identifier. Usually formatted as "unleash-client-
: " - platformName string
The platform the application is running on. For languages that compile to binaries, this can be omitted
- platformVersion string
The version of the platform the application is running on. Languages that compile to binaries, this is expected to be the compiler version used to assemble the binary.
- yggdrasilVersion string
The semantic version of the Yggdrasil engine used by the client. If the client is using a native engine this can be omitted.
- specVersion string
The version of the Unleash client specification the client supports
bucket objectrequired
Holds all metrics gathered over a window of time. Typically 1 hour wide
start objectrequired
The start of the time window these metrics are valid for. The window is usually 1 hour wide
oneOf- MOD1
- MOD2
string date-timeAn RFC-3339-compliant timestamp.
integerstop objectrequired
The end of the time window these metrics are valid for. The window is 1 hour wide
oneOf- MOD1
- MOD2
string date-timeAn RFC-3339-compliant timestamp.
integertoggles objectrequired
an object containing feature names with yes/no plus variant usage
property name* object
yes numberHow many times the toggle evaluated to true
no integerHow many times the toggle evaluated to false
variants object
An object describing how many times each variant was returned. Variant names are used as properties, and the number of times they were exposed is the corresponding value (i.e.
{ [variantName]: number }
).property name* integer
- 202
- 204
- 400
This response has no body.
This response has no body.
The request data does not match what we expect.
- application/json
- Schema
- Example (from schema)
Schema
- id string
The ID of the error instance
- name string
The name of the error kind
- message string
A description of what went wrong.
{
"id": "9c40958a-daac-400e-98fb-3bb438567008",
"name": "ValidationError",
"message": "The request payload you provided doesn't conform to the schema. The .parameters property should be object. You sent []."
}