---
title: "Create insight group"
method: POST
path: "/api/v2/engineering-insights/insights/group"
tags: ["Insights scores (beta)"]
---

# Create insight group

`POST /api/v2/engineering-insights/insights/group`

Create insight group

## Request body

- PostInsightGroupParams
  - `name` string, required — The name of the insight group
  - `key` string, required — The key of the insight group
  - `projectKey` string, required — The projectKey to be associated with the insight group
  - `environmentKey` string, required — The environmentKey to be associated with the insight group
  - `applicationKeys` string[] — The application keys to associate with the insight group. If not provided, the insight group will include data from all applications.

## Response `201`

Created

- InsightGroup
  - `environment` Environment
    - `_links` object, required — The location and content type of related resources
    - `_id` string, required — The ID for the environment. Use this as the client-side ID for authorization in some client-side SDKs, and to associate LaunchDarkly environments with CDN integrations in edge SDKs.
    - `key` string, required — A project-unique key for the new environment
    - `name` string, required — A human-friendly name for the new environment
    - `apiKey` string, required — The SDK key for the environment. Use this for authorization in server-side SDKs.
    - `mobileKey` string, required — The mobile key for the environment. Use this for authorization in mobile SDKs.
    - `color` string, required — The color used to indicate this environment in the UI
    - `defaultTtl` integer, required — The default time (in minutes) that the PHP SDK can cache feature flag rules locally
    - `secureMode` boolean, required — Ensures that one end user of the client-side SDK cannot inspect the variations for another end user
    - `_access` Access
      - `denied` AccessDenied[], required
        - `action` string, required
        - `reason` AccessDeniedReason, required
          - `resources` string[] — Resource specifier strings
          - `notResources` string[] — Targeted resources are the resources NOT in this list. The <code>resources</code> and <code>notActions</code> fields must be empty to use this field.
          - `actions` ActionSpecifier[] — Actions to perform on a resource
          - `notActions` ActionSpecifier[] — Targeted actions are the actions NOT in this list. The <code>actions</code> and <code>notResources</code> fields must be empty to use this field.
          - `effect` 'allow' | 'deny', required — Whether this statement should allow or deny actions on the resources.
          - `role_name` string
      - `allowed` AccessAllowedRep[], required
        - `action` string, required
        - `reason` AccessAllowedReason, required
          - `resources` string[] — Resource specifier strings
          - `notResources` string[] — Targeted resources are the resources NOT in this list. The <code>resources</code> and <code>notActions</code> fields must be empty to use this field.
          - `actions` ActionSpecifier[] — Actions to perform on a resource
          - `notActions` ActionSpecifier[] — Targeted actions are the actions NOT in this list. The <code>actions</code> and <code>notResources</code> fields must be empty to use this field.
          - `effect` 'allow' | 'deny', required — Whether this statement should allow or deny actions on the resources.
          - `role_name` string
    - `defaultTrackEvents` boolean, required — Enables tracking detailed information for new flags by default
    - `requireComments` boolean, required — Whether members who modify flags and segments through the LaunchDarkly user interface are required to add a comment
    - `confirmChanges` boolean, required — Whether members who modify flags and segments through the LaunchDarkly user interface are required to confirm those changes
    - `tags` string[], required — A list of tags for this environment
    - `approvalSettings` ApprovalSettings
      - `required` boolean, required — If approvals are required for this environment
      - `bypassApprovalsForPendingChanges` boolean, required — Whether to skip approvals for pending changes
      - `minNumApprovals` integer, required — Sets the amount of approvals required before a member can apply a change. The minimum is one and the maximum is five.
      - `canReviewOwnRequest` boolean, required — Allow someone who makes an approval request to apply their own change
      - `canApplyDeclinedChanges` boolean, required — Allow applying the change as long as at least one person has approved
      - `autoApplyApprovedChanges` boolean — Automatically apply changes that have been approved by all reviewers. This field is only applicable for approval services other than LaunchDarkly.
      - `serviceKind` string, required — Which service to use for managing approvals
      - `serviceConfig` object, required
      - `requiredApprovalTags` string[], required — Require approval only on flags with the provided tags. Otherwise all flags will require approval.
      - `serviceKindConfigurationId` string — Optional field for integration configuration ID of a custom approval integration. This is an Enterprise-only feature.
      - `resourceKind` string — The kind of resource for which the approval settings apply, for example, flag or segment
    - `resourceApprovalSettings` object — Details on the approval settings for this environment for each resource kind
    - `critical` boolean, required — Whether the environment is critical
  - `scores` InsightGroupScores
    - `overall` InsightsMetricScore, required
      - `score` integer, required — The score for the metric
      - `aggregateOf` string[] — The keys of the metrics that were aggregated to calculate this score
      - `diffVsLastPeriod` integer
      - `indicator` string, required
      - `indicatorRange` InsightsMetricIndicatorRange, required
        - `min` integer, required — The minimum value for the indicator range
        - `max` integer, required — The maximum value for the indicator range
      - `lastPeriod` InsightsMetricScore — recursive
    - `deploymentFrequency` InsightsMetricScore, required
      - `score` integer, required — The score for the metric
      - `aggregateOf` string[] — The keys of the metrics that were aggregated to calculate this score
      - `diffVsLastPeriod` integer
      - `indicator` string, required
      - `indicatorRange` InsightsMetricIndicatorRange, required
        - `min` integer, required — The minimum value for the indicator range
        - `max` integer, required — The maximum value for the indicator range
      - `lastPeriod` InsightsMetricScore — recursive
    - `deploymentFailureRate` InsightsMetricScore, required
      - `score` integer, required — The score for the metric
      - `aggregateOf` string[] — The keys of the metrics that were aggregated to calculate this score
      - `diffVsLastPeriod` integer
      - `indicator` string, required
      - `indicatorRange` InsightsMetricIndicatorRange, required
        - `min` integer, required — The minimum value for the indicator range
        - `max` integer, required — The maximum value for the indicator range
      - `lastPeriod` InsightsMetricScore — recursive
    - `leadTime` InsightsMetricScore, required
      - `score` integer, required — The score for the metric
      - `aggregateOf` string[] — The keys of the metrics that were aggregated to calculate this score
      - `diffVsLastPeriod` integer
      - `indicator` string, required
      - `indicatorRange` InsightsMetricIndicatorRange, required
        - `min` integer, required — The minimum value for the indicator range
        - `max` integer, required — The maximum value for the indicator range
      - `lastPeriod` InsightsMetricScore — recursive
    - `impactSize` InsightsMetricScore, required
      - `score` integer, required — The score for the metric
      - `aggregateOf` string[] — The keys of the metrics that were aggregated to calculate this score
      - `diffVsLastPeriod` integer
      - `indicator` string, required
      - `indicatorRange` InsightsMetricIndicatorRange, required
        - `min` integer, required — The minimum value for the indicator range
        - `max` integer, required — The maximum value for the indicator range
      - `lastPeriod` InsightsMetricScore — recursive
    - `experimentationCoverage` InsightsMetricScore, required
      - `score` integer, required — The score for the metric
      - `aggregateOf` string[] — The keys of the metrics that were aggregated to calculate this score
      - `diffVsLastPeriod` integer
      - `indicator` string, required
      - `indicatorRange` InsightsMetricIndicatorRange, required
        - `min` integer, required — The minimum value for the indicator range
        - `max` integer, required — The maximum value for the indicator range
      - `lastPeriod` InsightsMetricScore — recursive
    - `flagHealth` InsightsMetricScore, required
      - `score` integer, required — The score for the metric
      - `aggregateOf` string[] — The keys of the metrics that were aggregated to calculate this score
      - `diffVsLastPeriod` integer
      - `indicator` string, required
      - `indicatorRange` InsightsMetricIndicatorRange, required
        - `min` integer, required — The minimum value for the indicator range
        - `max` integer, required — The maximum value for the indicator range
      - `lastPeriod` InsightsMetricScore — recursive
    - `velocity` InsightsMetricScore, required
      - `score` integer, required — The score for the metric
      - `aggregateOf` string[] — The keys of the metrics that were aggregated to calculate this score
      - `diffVsLastPeriod` integer
      - `indicator` string, required
      - `indicatorRange` InsightsMetricIndicatorRange, required
        - `min` integer, required — The minimum value for the indicator range
        - `max` integer, required — The maximum value for the indicator range
      - `lastPeriod` InsightsMetricScore — recursive
    - `risk` InsightsMetricScore, required
      - `score` integer, required — The score for the metric
      - `aggregateOf` string[] — The keys of the metrics that were aggregated to calculate this score
      - `diffVsLastPeriod` integer
      - `indicator` string, required
      - `indicatorRange` InsightsMetricIndicatorRange, required
        - `min` integer, required — The minimum value for the indicator range
        - `max` integer, required — The maximum value for the indicator range
      - `lastPeriod` InsightsMetricScore — recursive
    - `efficiency` InsightsMetricScore, required
      - `score` integer, required — The score for the metric
      - `aggregateOf` string[] — The keys of the metrics that were aggregated to calculate this score
      - `diffVsLastPeriod` integer
      - `indicator` string, required
      - `indicatorRange` InsightsMetricIndicatorRange, required
        - `min` integer, required — The minimum value for the indicator range
        - `max` integer, required — The maximum value for the indicator range
      - `lastPeriod` InsightsMetricScore — recursive
    - `creationRatio` InsightsMetricScore
      - `score` integer, required — The score for the metric
      - `aggregateOf` string[] — The keys of the metrics that were aggregated to calculate this score
      - `diffVsLastPeriod` integer
      - `indicator` string, required
      - `indicatorRange` InsightsMetricIndicatorRange, required
        - `min` integer, required — The minimum value for the indicator range
        - `max` integer, required — The maximum value for the indicator range
      - `lastPeriod` InsightsMetricScore — recursive
  - `scoreMetadata` InsightGroupCollectionScoreMetadata
    - `period` InsightPeriod, required
      - `startTime` integer, required
      - `endTime` integer, required
    - `lastPeriod` InsightPeriod, required
      - `startTime` integer, required
      - `endTime` integer, required
  - `key` string, required — The insight group key
  - `name` string, required — The insight group name
  - `projectKey` string, required — The project key
  - `environmentKey` string, required — The environment key
  - `applicationKeys` string[] — The application keys
  - `createdAt` integer, required

## Other responses

- `400` — Invalid request
- `401` — Invalid access token
- `403` — Forbidden
- `404` — Invalid resource identifier
- `409` — Status conflict
- `429` — Rate limited

## Changes

- **2026-02-28** `69c5c9aafe78` — 1 info
  - added the optional property `environment/_access` to the response with the `201` status

[Change history](https://skmtc.dev/launchdarkly/apis/launchdarkly-rest-api/changes/api/v2/engineering-insights/insights/group/post.md)

---

[API](https://skmtc.dev/launchdarkly/apis/launchdarkly-rest-api.md) · [All operations](https://skmtc.dev/launchdarkly/apis/launchdarkly-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/launchdarkly/launchdarkly-rest-api/revisions/69c5c9aafe78/schema)
