openapi: 3.2.0 info: version: 1.0.0 title: GrowthBook REST Metric Groups API description: GrowthBook offers a full REST API for interacting with the application. servers: - url: https://api.growthbook.io/api description: GrowthBook Cloud - url: https://{domain}/api description: Self-hosted GrowthBook security: - bearerAuth: [] - basicAuth: [] tags: - name: Metric Groups x-displayName: Metric Groups description: '' paths: /v1/metric-groups/{id}: get: operationId: getMetricGroup summary: Get a single metricGroup tags: - Metric Groups parameters: - name: id in: path required: true description: '' schema: type: string responses: '200': content: application/json: schema: type: object properties: metricGroup: $ref: '#/components/schemas/MetricGroup' required: - metricGroup additionalProperties: false x-codeSamples: - lang: cURL source: "curl -X GET 'https://api.growthbook.io/api/v1/metric-groups/{id}' \\\n -H 'Authorization: Bearer YOUR_API_KEY'" delete: operationId: deleteMetricGroup summary: Delete a single metricGroup tags: - Metric Groups parameters: - name: id in: path required: true description: '' schema: type: string responses: '200': content: application/json: schema: type: object properties: deletedId: type: string required: - deletedId additionalProperties: false x-codeSamples: - lang: cURL source: "curl -X DELETE 'https://api.growthbook.io/api/v1/metric-groups/{id}' \\\n -H 'Authorization: Bearer YOUR_API_KEY'" put: operationId: updateMetricGroup summary: Update a single metricGroup tags: - Metric Groups parameters: - name: id in: path required: true description: '' schema: type: string requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: type: string tags: type: array items: type: string projects: type: array items: type: string metrics: type: array items: type: string datasource: type: string owner: description: The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. type: string archived: type: boolean additionalProperties: false responses: '200': content: application/json: schema: type: object properties: metricGroup: $ref: '#/components/schemas/MetricGroup' required: - metricGroup additionalProperties: false x-codeSamples: - lang: cURL source: "curl -X PUT 'https://api.growthbook.io/api/v1/metric-groups/{id}' \\\n -H 'Authorization: Bearer YOUR_API_KEY'" /v1/metric-groups: post: operationId: createMetricGroup summary: Create a single metricGroup tags: - Metric Groups requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: type: string tags: type: array items: type: string projects: type: array items: type: string metrics: type: array items: type: string datasource: type: string owner: description: The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. type: string archived: type: boolean required: - name - description - projects - metrics - datasource additionalProperties: false responses: '200': content: application/json: schema: type: object properties: metricGroup: $ref: '#/components/schemas/MetricGroup' required: - metricGroup additionalProperties: false x-codeSamples: - lang: cURL source: "curl -X POST 'https://api.growthbook.io/api/v1/metric-groups' \\\n -H 'Authorization: Bearer YOUR_API_KEY'" get: operationId: listMetricGroups summary: Get all metricGroups tags: - Metric Groups responses: '200': content: application/json: schema: type: object properties: metricGroups: type: array items: $ref: '#/components/schemas/MetricGroup' required: - metricGroups additionalProperties: false x-codeSamples: - lang: cURL source: "curl -X GET 'https://api.growthbook.io/api/v1/metric-groups' \\\n -H 'Authorization: Bearer YOUR_API_KEY'" components: schemas: MetricGroup: type: object properties: id: type: string dateCreated: type: string format: date-time pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$ dateUpdated: type: string format: date-time pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$ owner: description: The userId of the owner (or raw owner name/email for legacy records) type: string ownerEmail: description: The email address of the owner, when the owner can be resolved to a known user. type: string name: type: string description: type: string tags: type: array items: type: string projects: type: array items: type: string metrics: type: array items: type: string datasource: type: string archived: type: boolean required: - id - dateCreated - dateUpdated - owner - name - description - tags - projects - metrics - datasource - archived additionalProperties: false securitySchemes: bearerAuth: type: http scheme: bearer description: 'If using Bearer auth, pass the Secret Key as the token: ```bash curl https://api.growthbook.io/api/v1/features -H "Authorization: Bearer secret_abc123DEF456" ``` ' basicAuth: type: http scheme: basic description: 'If using HTTP Basic auth, pass the Secret Key as the username and leave the password blank: ```bash curl https://api.growthbook.io/api/v1/features -u secret_abc123DEF456: # The ":" at the end stops curl from asking for a password ``` ' x-tagGroups: - name: Endpoints tags: - projects - environments - features-v2 - feature-revisions-v2 - features - feature-revisions - ramp-schedules - data-sources - fact-tables - fact-metrics - metrics - experiments - namespaces - snapshots - dimensions - segments - sdk-connections - visual-changesets - saved-groups - organizations - members - code-references - archetypes - queries - settings - attributes - usage - Dashboards - CustomFields - MetricGroups - Teams - ExperimentTemplates - AnalyticsExplorations - RampScheduleTemplates - name: Models tags: - AnalyticsExploration_model - Archetype_model - Attribute_model - CodeRef_model - CustomField_model - Dashboard_model - DataSource_model - Dimension_model - Environment_model - Experiment_model - ExperimentAnalysisSettings_model - ExperimentDecisionFrameworkSettings_model - ExperimentMetric_model - ExperimentMetricOverrideEntry_model - ExperimentResults_model - ExperimentSnapshot_model - ExperimentTemplate_model - ExperimentWithEnhancedStatus_model - FactMetric_model - FactTable_model - FactTableColumn_model - FactTableFilter_model - Feature_model - FeatureBaseRule_model - FeatureDefinition_model - FeatureEnvironment_model - FeatureEnvironmentV2_model - FeatureExperimentRefRule_model - FeatureExperimentRule_model - FeatureForceRule_model - FeatureRevision_model - FeatureRevisionV2_model - FeatureRolloutRule_model - FeatureRule_model - FeatureRuleV2_model - FeatureSafeRolloutRule_model - FeatureV2_model - FeatureWithRevisions_model - FeatureWithRevisionsV2_model - InformationSchema_model - InformationSchemaTable_model - LookbackOverride_model - Member_model - Metric_model - MetricAnalysis_model - MetricGroup_model - MetricUsage_model - Namespace_model - NamespaceExperimentMember_model - Organization_model - PaginationFields_model - Project_model - Query_model - RampSchedule_model - RampScheduleTemplate_model - SavedGroup_model - ScheduleRule_model - SdkConnection_model - Segment_model - Settings_model - Team_model - VisualChange_model - VisualChangeset_model