Metrics (beta)

Create metric group

POST
/api/v2/projects/{projectKey}/metric-groups

Create a new metric group in the specified project

Authorization

ApiKey read, write
Authorization<token>

In: header

Scope: read, write

Path Parameters

projectKey*string

The project key

Formatstring

Request Body

application/json

key*string

A unique key to reference the metric group

name*string

A human-friendly name for the metric group

kind*string

The type of the metric group

Value in

  • "funnel"
  • "standard"
description?string

Description of the metric group

maintainerId*string

The ID of the member who maintains this metric group

tags*array<string>

Tags for the metric group

metrics*array<>

An ordered list of the metrics in this metric group

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v2/projects/string/metric-groups" \  -H "Content-Type: application/json" \  -d '{    "key": "metric-group-key-123abc",    "name": "My metric group",    "kind": "funnel",    "maintainerId": "569fdeadbeef1644facecafe",    "tags": [      "ops"    ],    "metrics": [      {        "key": "metric-key-123abc",        "nameInGroup": "Step 1"      }    ]  }'
{  "_id": "bc3e5be1-02d2-40c7-9926-26d0aacd7aab",  "key": "metric-group-key-123abc",  "name": "My metric group",  "kind": "funnel",  "description": "Description of the metric group",  "_links": {    "parent": {      "href": "/api/v2/projects/my-project",      "type": "application/json"    },    "self": {      "href": "/api/v2/projects/my-project/metric-groups/my-metric-group",      "type": "application/json"    }  },  "_access": {    "denied": [      {        "action": "string",        "reason": {          "resources": [            "proj/*:env/*;qa_*:/flag/*"          ],          "notResources": [            "string"          ],          "actions": [            "*"          ],          "notActions": [            "string"          ],          "effect": "allow",          "role_name": "string"        }      }    ],    "allowed": [      {        "action": "string",        "reason": {          "resources": [            "proj/*:env/*;qa_*:/flag/*"          ],          "notResources": [            "string"          ],          "actions": [            "*"          ],          "notActions": [            "string"          ],          "effect": "allow",          "role_name": "string"        }      }    ]  },  "tags": [    "ops"  ],  "_creationDate": "1628192791148",  "_lastModified": "1628192791148",  "maintainer": {    "key": "569fdeadbeef1644facecafe",    "kind": "member",    "_member": {      "_links": {        "self": {          "href": "/api/v2/members/569f183514f4432160000007",          "type": "application/json"        }      },      "_id": "569f183514f4432160000007",      "firstName": "Ariel",      "lastName": "Flores",      "role": "admin",      "email": "ariel@acme.com"    },    "_team": {      "customRoleKeys": [        "access-to-test-projects"      ],      "key": "team-key-123abc",      "_links": {        "property1": {          "href": "string",          "type": "string"        },        "property2": {          "href": "string",          "type": "string"        }      },      "name": "QA Team"    }  },  "metrics": [    {      "key": "metric-key-123abc",      "_versionId": "version-id-123abc",      "name": "Example metric",      "kind": "custom",      "isNumeric": true,      "unitAggregationType": "sum",      "analysisType": "mean",      "eventKey": "event-key-123abc",      "analysisUnit": "string",      "_links": {        "self": {          "href": "/api/v2/metrics/my-project/my-metric",          "type": "application/json"        }      },      "nameInGroup": "Step 1",      "randomizationUnits": [        "user"      ],      "analysisUnits": [        "user"      ]    }  ],  "_version": 1,  "experiments": [    {      "key": "experiment-key-123abc",      "name": "Example experiment",      "environmentId": "1234a56b7c89d012345e678f",      "environmentKey": "production",      "creationDate": "1654104600000",      "archivedDate": "1654104600000",      "_links": {        "parent": {          "href": "/api/v2/projects/my-project/environments/my-environment",          "type": "application/json"        },        "self": {          "href": "/api/v2/projects/my-project/environments/my-environment/experiments/example-experiment",          "type": "application/json"        }      }    }  ],  "experimentCount": 0,  "activeExperimentCount": 0,  "activeGuardedRolloutCount": 0}

List metric groups GET

Get a list of all metric groups for the specified project. ### Expanding the metric groups response This endpoint does not support response expansion. Although the API accepts an `expand` query parameter for compatibility reasons, it does not currently modify the response. The parameter is reserved for future use. ### Filtering metric groups The `filter` parameter supports the following operators: `contains`, `equals`, `anyOf`. #### Supported fields and operators You can only filter certain fields in metrics when using the `filter` parameter. Additionally, you can only filter some fields with certain operators. When you search for metrics, the `filter` parameter supports the following fields and operators: |<div style="width:120px">Field</div> |Description |Supported operators | |---|---|---| | `experimentStatus` | The experiment's status. One of `not_started`, `running`, `stopped`, `started`. | `equals` | | `hasConnections` | Whether the metric group has connections to experiments or guarded rollouts. One of `true`, `false`. | `equals` | | `kind` | The metric group kind. One of `funnel`, `standard`. | `equals` | | `maintainerIds` | The metric maintainer IDs. | `anyOf` | | `maintainerTeamKey` | The metric maintainer team key. | `equals` | | `query` | A "fuzzy" search across metric group key and name. Supply a string or list of strings to the operator. | `equals` | ### Sorting metric groups LaunchDarkly supports the following fields for sorting: - `name` sorts by metric group name. - `createdAt` sorts by the creation date of the metric group. - `connectionCount` sorts by the number of connections to experiments the metric group has. By default, the sort is in ascending order. Use `-` to sort in descending order. For example, `?sort=name` sorts the response by metric group name in ascending order, and `?sort=-name` sorts in descending order. #### Sample query `filter=experimentStatus equals 'not_started' and query equals 'metric name'`

Get metric group GET

Get information for a single metric group from the specific project. ### Expanding the metric group response LaunchDarkly supports two fields for expanding the "Get metric group" response. By default, these fields are **not** included in the response. To expand the response, append the `expand` query parameter and add a comma-separated list with either or both of the following fields: - `experiments` includes all experiments from the specific project that use the metric group - `experimentCount` includes the number of experiments from the specific project that use the metric group For example, `expand=experiments` includes the `experiments` field in the response.