Skip to main content

GrowthBook REST API (1.0.0)

Download OpenAPI specification:Download

GrowthBook offers a full REST API for interacting with the GrowthBook application. This is currently in beta as we add more authenticated API routes and features.

Request data can use either JSON or Form data encoding (with proper Content-Type headers). All response bodies are JSON-encoded.

The API base URL for GrowthBook Cloud is https://api.growthbook.io. For self-hosted deployments, it is the same as your API_HOST environment variable (defaults to http://localhost:3100). The rest of these docs will assume you are using GrowthBook Cloud.

Authentication

We support both the HTTP Basic and Bearer authentication schemes for convenience.

You first need to generate a new API Key in GrowthBook. Different keys have different permissions:

  • Personal Access Tokens: These are sensitive and provide the same level of access as the user has to an organization. These can be created by going to Personal Access Tokens under the your user menu.
  • Secret Keys: These are sensitive and provide the level of access for the role, which currently is either admin or readonly. Only Admins with the manageApiKeys permission can manage Secret Keys on behalf of an organization. These can be created by going to Settings -> API Keys

If using HTTP Basic auth, pass the Secret Key as the username and leave the password blank:

curl https://api.growthbook.io/api/v1 \
  -u secret_abc123DEF456:
# The ":" at the end stops curl from asking for a password

If using Bearer auth, pass the Secret Key as the token:

curl https://api.growthbook.io/api/v1 \
-H "Authorization: Bearer secret_abc123DEF456"

Errors

The API may return the following error status codes:

  • 400 - Bad Request - Often due to a missing required parameter
  • 401 - Unauthorized - No valid API key provided
  • 402 - Request Failed - The parameters are valid, but the request failed
  • 403 - Forbidden - Provided API key does not have the required access
  • 404 - Not Found - Unknown API route or requested resource
  • 429 - Too Many Requests - You exceeded the rate limit of 60 requests per minute. Try again later.
  • 5XX - Server Error - Something went wrong on GrowthBook's end (these are rare)

The response body will be a JSON object with the following properties:

  • message - Information about the error

Projects

Projects are used to organize your feature flags and experiments

Get all projects

Authorizations:
bearerAuthbasicAuth
query Parameters
limit
integer
Default: 10

The number of items to return

offset
integer
Default: 0

How many items to skip (use in conjunction with limit for pagination)

Responses

Request samples

curl https://api.growthbook.io/api/v1/projects \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "projects": [
    ],
  • "limit": 0,
  • "offset": 0,
  • "count": 0,
  • "total": 0,
  • "hasMore": true,
  • "nextOffset": 0
}

Get a single project

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The id of the requested resource

Responses

Request samples

curl https://api.growthbook.io/api/v1/projects/prj_123abc \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "project": {
    }
}

Feature Flags

Control your feature flags programatically

Get all features

Authorizations:
bearerAuthbasicAuth
query Parameters
limit
integer
Default: 10

The number of items to return

offset
integer
Default: 0

How many items to skip (use in conjunction with limit for pagination)

projectId
string

Filter by project id

Responses

Request samples

curl https://api.growthbook.io/api/v1/features \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "features": [
    ],
  • "limit": 0,
  • "offset": 0,
  • "count": 0,
  • "total": 0,
  • "hasMore": true,
  • "nextOffset": 0
}

Create a single feature

Authorizations:
bearerAuthbasicAuth
Request Body schema: application/json
id
required
string

A unique key name for the feature. Feature keys can only include letters, numbers, hyphens, and underscores.

archived
boolean
description
string

Description of the feature

owner
required
string

Email of the person who owns this experiment

project
string

An associated project ID

valueType
required
string
Enum: "boolean" "string" "number" "json"

The data type of the feature payload. Boolean by default.

defaultValue
required
string

Default value when feature is enabled. Type must match valueType.

tags
Array of strings

List of associated tags

object

A dictionary of environments that are enabled for this feature. Keys supply the names of environments. Environments belong to organization and are not specified will be disabled by default.

jsonSchema
string

Use JSON schema to validate the payload of a JSON-type feature value (enterprise only).

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "archived": true,
  • "description": "string",
  • "owner": "string",
  • "project": "string",
  • "valueType": "boolean",
  • "defaultValue": "string",
  • "tags": [
    ],
  • "environments": {
    },
  • "jsonSchema": "string"
}

Response samples

Content type
application/json
{
  • "feature": {
    }
}

Get a single feature

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The id of the requested resource

Responses

Request samples

curl https://api.growthbook.io/api/v1/features/my_feature \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "feature": {
    }
}

Partially update a feature

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The id of the requested resource

Request Body schema: application/json
description
string

Description of the feature

archived
boolean
project
string

An associated project ID

owner
string
defaultValue
string
tags
Array of strings

List of associated tags. Will override tags completely with submitted list

object
jsonSchema
string

Use JSON schema to validate the payload of a JSON-type feature value (enterprise only).

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "archived": true,
  • "project": "string",
  • "owner": "string",
  • "defaultValue": "string",
  • "tags": [
    ],
  • "environments": {
    },
  • "jsonSchema": "string"
}

Response samples

Content type
application/json
{
  • "feature": {
    }
}

Toggle a feature in one or more environments

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The id of the requested resource

Request Body schema: application/json
reason
string
required
object

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "environments": {
    }
}

Response samples

Content type
application/json
{
  • "feature": {
    }
}

Data Sources

How GrowthBook connects and queries your data

Get all data sources

Authorizations:
bearerAuthbasicAuth
query Parameters
limit
integer
Default: 10

The number of items to return

offset
integer
Default: 0

How many items to skip (use in conjunction with limit for pagination)

projectId
string

Filter by project id

Responses

Request samples

curl https://api.growthbook.io/api/v1/data-sources \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "dataSources": [
    ],
  • "limit": 0,
  • "offset": 0,
  • "count": 0,
  • "total": 0,
  • "hasMore": true,
  • "nextOffset": 0
}

Get a single data source

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The id of the requested resource

Responses

Request samples

curl https://api.growthbook.io/api/v1/data-sources/ds_123abc \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "dataSource": {
    }
}

Metrics

Metrics used as goals and guardrails for experiments

Get all metrics

Authorizations:
bearerAuthbasicAuth
query Parameters
limit
integer
Default: 10

The number of items to return

offset
integer
Default: 0

How many items to skip (use in conjunction with limit for pagination)

projectId
string

Filter by project id

datasourceId
string

Filter by Data Source

Responses

Request samples

curl https://api.growthbook.io/api/v1/metrics \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "metrics": [
    ],
  • "limit": 0,
  • "offset": 0,
  • "count": 0,
  • "total": 0,
  • "hasMore": true,
  • "nextOffset": 0
}

Create a single metric

Authorizations:
bearerAuthbasicAuth
Request Body schema: application/json
datasourceId
required
string

ID for the DataSource

owner
string

Name of the person who owns this metric

name
required
string

Name of the metric

description
string

Description of the metric

type
required
string
Enum: "binomial" "count" "duration" "revenue"

Type of metric. See Metrics documentation

tags
Array of strings

List of tags

projects
Array of strings

List of project IDs for projects that can access this metric

archived
boolean
object
object

Preferred way to define SQL. Only one of sql, sqlBuilder or mixpanel allowed, and at least one must be specified.

object

An alternative way to specify a SQL metric, rather than a full query. Using sql is preferred to sqlBuilder. Only one of sql, sqlBuilder or mixpanel allowed, and at least one must be specified.

object

Only use for MixPanel (non-SQL) Data Sources. Only one of sql, sqlBuilder or mixpanel allowed, and at least one must be specified.

Responses

Request samples

Content type
application/json
{
  • "datasourceId": "string",
  • "owner": "string",
  • "name": "string",
  • "description": "string",
  • "type": "binomial",
  • "tags": [
    ],
  • "projects": [
    ],
  • "archived": true,
  • "behavior": {
    },
  • "sql": {
    },
  • "sqlBuilder": {
    },
  • "mixpanel": {
    }
}

Response samples

Content type
application/json
{
  • "metric": {
    }
}

Get a single metric

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The id of the requested resource

Responses

Request samples

curl https://api.growthbook.io/api/v1/metrics/met_123abc \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "metric": {
    }
}

Update a metric

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The id of the requested resource

Request Body schema: application/json
owner
string

Name of the person who owns this metric

name
string

Name of the metric

description
string

Description of the metric

type
string
Enum: "binomial" "count" "duration" "revenue"

Type of metric. See Metrics documentation

tags
Array of strings

List of tags

projects
Array of strings

List of project IDs for projects that can access this metric

archived
boolean
object
object

Preferred way to define SQL. Only one of sql, sqlBuilder or mixpanel allowed.

object

An alternative way to specify a SQL metric, rather than a full query. Using sql is preferred to sqlBuilder. Only one of sql, sqlBuilder or mixpanel allowed

object

Only use for MixPanel (non-SQL) Data Sources. Only one of sql, sqlBuilder or mixpanel allowed.

Responses

Request samples

Content type
application/json
{
  • "owner": "string",
  • "name": "string",
  • "description": "string",
  • "type": "binomial",
  • "tags": [
    ],
  • "projects": [
    ],
  • "archived": true,
  • "behavior": {
    },
  • "sql": {
    },
  • "sqlBuilder": {
    },
  • "mixpanel": {
    }
}

Response samples

Content type
application/json
{
  • "updatedId": "string"
}

Deletes a metric

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The id of the requested resource

Responses

Request samples

curl -X DELETE https://api.growthbook.io/api/v1/metrics/met_123abc \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "deletedId": "string"
}

Experiments

Experiments (A/B Tests)

Get all experiments

Authorizations:
bearerAuthbasicAuth
query Parameters
limit
integer
Default: 10

The number of items to return

offset
integer
Default: 0

How many items to skip (use in conjunction with limit for pagination)

projectId
string

Filter by project id

datasourceId
string

Filter by Data Source

experimentId
string

Filter the returned list by the experiment tracking key (id)

Responses

Request samples

curl https://api.growthbook.io/api/v1/experiments \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "experiments": [
    ],
  • "limit": 0,
  • "offset": 0,
  • "count": 0,
  • "total": 0,
  • "hasMore": true,
  • "nextOffset": 0
}

Create a single experiment

Authorizations:
bearerAuthbasicAuth
Request Body schema: application/json
datasourceId
required
string

ID for the DataSource

assignmentQueryId
required
string

The ID property of one of the assignment query objects associated with the datasource

trackingKey
required
string
name
required
string

Name of the experiment

project
string

Project ID which the experiment belongs to

hypothesis
string

Hypothesis of the experiment

description
string

Description of the experiment

tags
Array of strings
metrics
Array of strings
guardrailMetrics
Array of strings
owner
required
string

Email of the person who owns this experiment

archived
boolean
status
string
Enum: "draft" "running" "stopped"
autoRefresh
boolean
hashAttribute
string
hashVersion
number
Enum: 1 2
releasedVariationId
string
excludeFromPayload
boolean
required
Array of objects >= 2 items
Array of objects

Responses

Request samples

Content type
application/json
{
  • "datasourceId": "string",
  • "assignmentQueryId": "string",
  • "trackingKey": "string",
  • "name": "string",
  • "project": "string",
  • "hypothesis": "string",
  • "description": "string",
  • "tags": [
    ],
  • "metrics": [
    ],
  • "guardrailMetrics": [
    ],
  • "owner": "string",
  • "archived": true,
  • "status": "draft",
  • "autoRefresh": true,
  • "hashAttribute": "string",
  • "hashVersion": 1,
  • "releasedVariationId": "string",
  • "excludeFromPayload": true,
  • "variations": [
    ],
  • "phases": [
    ]
}

Response samples

Content type
application/json
{
  • "experiment": {
    }
}

Get a single experiment

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The id of the requested resource

Responses

Request samples

curl https://api.growthbook.io/api/v1/experiments/exp_123abc \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "experiment": {
    }
}

Update a single experiment

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The id of the requested resource

Request Body schema: application/json
assignmentQueryId
string
trackingKey
string
name
string

Name of the experiment

project
string

Project ID which the experiment belongs to

hypothesis
string

Hypothesis of the experiment

description
string

Description of the experiment

tags
Array of strings
metrics
Array of strings
guardrailMetrics
Array of strings
owner
string

Email of the person who owns this experiment

archived
boolean
status
string
Enum: "draft" "running" "stopped"
autoRefresh
boolean
hashAttribute
string
hashVersion
number
Enum: 1 2
releasedVariationId
string
excludeFromPayload
boolean
Array of objects >= 2 items
Array of objects

Responses

Request samples

Content type
application/json
{
  • "assignmentQueryId": "string",
  • "trackingKey": "string",
  • "name": "string",
  • "project": "string",
  • "hypothesis": "string",
  • "description": "string",
  • "tags": [
    ],
  • "metrics": [
    ],
  • "guardrailMetrics": [
    ],
  • "owner": "string",
  • "archived": true,
  • "status": "draft",
  • "autoRefresh": true,
  • "hashAttribute": "string",
  • "hashVersion": 1,
  • "releasedVariationId": "string",
  • "excludeFromPayload": true,
  • "variations": [
    ],
  • "phases": [
    ]
}

Response samples

Content type
application/json
{
  • "experiment": {
    }
}

Get results for an experiment

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The id of the requested resource

query Parameters
phase
string
dimension
string

Responses

Request samples

curl https://api.growthbook.io/api/v1/experiments/exp_123abc/results \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "result": {
    }
}

Dimensions

Dimensions used during experiment analysis

Get all dimensions

Authorizations:
bearerAuthbasicAuth
query Parameters
limit
integer
Default: 10

The number of items to return

offset
integer
Default: 0

How many items to skip (use in conjunction with limit for pagination)

datasourceId
string

Filter by Data Source

Responses

Request samples

curl https://api.growthbook.io/api/v1/dimensions \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "dimensions": [
    ],
  • "limit": 0,
  • "offset": 0,
  • "count": 0,
  • "total": 0,
  • "hasMore": true,
  • "nextOffset": 0
}

Get a single dimension

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The id of the requested resource

Responses

Request samples

curl https://api.growthbook.io/api/v1/dimensions/dim_123abc \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "dimension": {
    }
}

Segments

Segments used during experiment analysis

Get all segments

Authorizations:
bearerAuthbasicAuth
query Parameters
limit
integer
Default: 10

The number of items to return

offset
integer
Default: 0

How many items to skip (use in conjunction with limit for pagination)

datasourceId
string

Filter by Data Source

Responses

Request samples

curl https://api.growthbook.io/api/v1/segments \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "segments": [
    ],
  • "limit": 0,
  • "offset": 0,
  • "count": 0,
  • "total": 0,
  • "hasMore": true,
  • "nextOffset": 0
}

Get a single segment

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The id of the requested resource

Responses

Request samples

curl https://api.growthbook.io/api/v1/segments/seg_123abc \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "segment": {
    }
}

SDK Connections

Client keys and settings for connecting SDKs to a GrowthBook instance

Get all sdk connections

Authorizations:
bearerAuthbasicAuth
query Parameters
limit
integer
Default: 10

The number of items to return

offset
integer
Default: 0

How many items to skip (use in conjunction with limit for pagination)

projectId
string

Filter by project id

withProxy
string
multiOrg
string

Responses

Request samples

curl https://api.growthbook.io/api/v1/sdk-connections \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "connections": [
    ],
  • "limit": 0,
  • "offset": 0,
  • "count": 0,
  • "total": 0,
  • "hasMore": true,
  • "nextOffset": 0
}

Get a single sdk connection

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The id of the requested resource

Responses

Request samples

curl https://api.growthbook.io/api/v1/sdk-connections/sdk_123abc \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "sdkConnection": {
    }
}

Visual Changesets

Groups of visual changes made by the visual editor to a single page

Get all visual changesets

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The experiment id the visual changesets belong to

Responses

Request samples

curl https://api.growthbook.io/api/v1/experiments/exp_123abc/visual-changesets \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "visualChangesets": [
    ]
}

Get a single visual changeset

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The id of the requested resource

query Parameters
includeExperiment
integer

Include the associated experiment in payload

Responses

Request samples

curl https://api.growthbook.io/api/v1/visual-changesets/ds_123abc \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "visualChangeset": {
    },
  • "experiment": {
    }
}

Update a visual changeset

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The id of the requested resource

Responses

Request samples

curl -XPUT https://api.growthbook.io/api/v1/visual-changesets/vc_123abc
  -u secret_abc123DEF456 \
  -H "Content-Type: application/json" \
                                     -d '{"editorUrl": "https://docs.growthbook.io", "urlPatterns":"[{ ... }]"}'

Response samples

Content type
application/json
{
  • "nModified": 0,
  • "visualChangeset": {
    }
}

Create a visual change for a visual changeset

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The id of the requested resource

Responses

Request samples

curl -XPOST https://api.growthbook.io/api/v1/visual-changesets/vc_123abc/visual-change \
  -u secret_abc123DEF456 \
  -H "Content-Type: application/json" \
  -d '{"variation": "v_123abc", "domMutations":"[]"}'

Response samples

Content type
application/json
{
  • "nModified": 0
}

Update a visual change for a visual changeset

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The id of the requested resource

visualChangeId
required
string

Specify a specific visual change

Responses

Request samples

curl -XPUT https://api.growthbook.io/api/v1/visual-changesets/vc_123abc/visual-change/vch_abc123 \
  -u secret_abc123DEF456 \
  -H "Content-Type: application/json" \
  -d '{"variation": "v_123abc", "domMutations":"[]"}'

Response samples

Content type
application/json
{
  • "nModified": 0
}

Saved Groups

Defined sets of attribute values which can be used with feature rules for targeting features at particular users.

Get all saved group

Authorizations:
bearerAuthbasicAuth
query Parameters
limit
integer
Default: 10

The number of items to return

offset
integer
Default: 0

How many items to skip (use in conjunction with limit for pagination)

Responses

Request samples

curl https://api.growthbook.io/api/v1/saved-groups \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "savedGroups": [
    ],
  • "limit": 0,
  • "offset": 0,
  • "count": 0,
  • "total": 0,
  • "hasMore": true,
  • "nextOffset": 0
}

Create a single saved group

Authorizations:
bearerAuthbasicAuth
Request Body schema: application/json
name
required
string

The display name of the Saved Group

source
string
Enum: "inline" "runtime"
values
Array of strings

An array of values to target (Ex: a list of userIds). Not applicable for runtime groups

attributeKey
required
string

For inline groups, the name of the attribute the values belong to (e.g. user_id). For runtime groups, the group name you reference in your code

owner
string

The person or team that owns this Saved Group. If no owner, you can pass an empty string.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "source": "inline",
  • "values": [
    ],
  • "attributeKey": "string",
  • "owner": "string"
}

Response samples

Content type
application/json
{
  • "savedGroup": {
    }
}

Get a single saved group

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The id of the requested resource

Responses

Request samples

curl https://api.growthbook.io/api/v1/saved-groups/ds_123abc \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "savedGroup": {
    }
}

Partially update a single saved group

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The id of the requested resource

Request Body schema: application/json
name
string

The display name of the Saved Group

values
Array of strings

An array of values to target (Ex: a list of userIds).

owner
string

The person or team that owns this Saved Group. If no owner, you can pass an empty string.

attributeKey
string

(Runtime groups only) The key used to reference the Saved Group in the SDK

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "values": [
    ],
  • "owner": "string",
  • "attributeKey": "string"
}

Response samples

Content type
application/json
{
  • "savedGroup": {
    }
}

Deletes a single saved group

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The id of the requested resource

Responses

Request samples

curl -X DELETE https://api.growthbook.io/api/v1/saved-groups/grp_123abc \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "deletedId": "string"
}

Organizations

Organizations are used for multi-org deployments where different teams can run their own isolated feature flags and experiments. These endpoints are only via a super-admin's Personal Access Token.

Get all organizations (only for super admins on multi-org Enterprise Plan only)

Authorizations:
bearerAuthbasicAuth
query Parameters
search
string

Search string to search organization names, owner emails, and external ids by

limit
integer
Default: 10

The number of items to return

offset
integer
Default: 0

How many items to skip (use in conjunction with limit for pagination)

Responses

Request samples

curl https://api.growthbook.io/api/v1/organizations \
  -u secret_abc123DEF456:

Response samples

Content type
application/json
{
  • "organizations": [
    ],
  • "limit": 0,
  • "offset": 0,
  • "count": 0,
  • "total": 0,
  • "hasMore": true,
  • "nextOffset": 0
}

Create a single organization (only for super admins on multi-org Enterprise Plan only)

Authorizations:
bearerAuthbasicAuth
Request Body schema: application/json
name
required
string

The name of the organization

externalId
string

An optional identifier that you use within your company for the organization

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "externalId": "string"
}

Response samples

Content type
application/json
{
  • "organization": {
    }
}

Edit a single organization (only for super admins on multi-org Enterprise Plan only)

Authorizations:
bearerAuthbasicAuth
path Parameters
id
required
string

The id of the requested resource

Request Body schema: application/json
name
string

The name of the organization

externalId
string

An optional identifier that you use within your company for the organization

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "externalId": "string"
}

Response samples

Content type
application/json
{
  • "organization": {
    }
}

DataSource

id
required
string
dateCreated
required
string <date-time>
dateUpdated
required
string <date-time>
type
required
string
name
required
string
description
required
string
projectIds
required
Array of strings
eventTracker
required
string
required
Array of objects
required
Array of objects
required
Array of objects
object
{
  • "id": "string",
  • "dateCreated": "2019-08-24T14:15:22Z",
  • "dateUpdated": "2019-08-24T14:15:22Z",
  • "type": "string",
  • "name": "string",
  • "description": "string",
  • "projectIds": [
    ],
  • "eventTracker": "string",
  • "identifierTypes": [
    ],
  • "assignmentQueries": [
    ],
  • "identifierJoinQueries": [
    ],
  • "mixpanelSettings": {
    }
}

Dimension

id
required
string
dateCreated
required
string
dateUpdated
required
string
owner
required
string
datasourceId
required
string
identifierType
required
string
name
required
string
query
required
string
{
  • "id": "string",
  • "dateCreated": "string",
  • "dateUpdated": "string",
  • "owner": "string",
  • "datasourceId": "string",
  • "identifierType": "string",
  • "name": "string",
  • "query": "string"
}

Experiment

id
required
string
dateCreated
required
string <date-time>
dateUpdated
required
string <date-time>
name
required
string
project
required
string
hypothesis
required
string
description
required
string
tags
required
Array of strings
owner
required
string
archived
required
boolean
status
required
string
autoRefresh
required
boolean
hashAttribute
required
string
hashVersion
required
number
Enum: 1 2
required
Array of objects
required
Array of objects
required
object (ExperimentAnalysisSettings)
object
{
  • "id": "string",
  • "dateCreated": "2019-08-24T14:15:22Z",
  • "dateUpdated": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "project": "string",
  • "hypothesis": "string",
  • "description": "string",
  • "tags": [
    ],
  • "owner": "string",
  • "archived": true,
  • "status": "string",
  • "autoRefresh": true,
  • "hashAttribute": "string",
  • "hashVersion": 1,
  • "variations": [
    ],
  • "phases": [
    ],
  • "settings": {
    },
  • "resultSummary": {
    }
}

ExperimentAnalysisSettings

datasourceId
required
string
assignmentQueryId
required
string
experimentId
required
string
segmentId
required
string
queryFilter
required
string
inProgressConversions
required
any
Enum: "include" "exclude"
attributionModel
required
any
Enum: "firstExposure" "experimentDuration"
statsEngine
required
any
Enum: "bayesian" "frequentist"
required
Array of objects (ExperimentMetric)
required
Array of objects (ExperimentMetric)
object (ExperimentMetric)
{
  • "datasourceId": "string",
  • "assignmentQueryId": "string",
  • "experimentId": "string",
  • "segmentId": "string",
  • "queryFilter": "string",
  • "inProgressConversions": "include",
  • "attributionModel": "firstExposure",
  • "statsEngine": "bayesian",
  • "goals": [
    ],
  • "guardrails": [
    ],
  • "activationMetric": {
    }
}

ExperimentMetric

metricId
required
string
required
object
{
  • "metricId": "string",
  • "overrides": {
    }
}

ExperimentResults

id
required
string
dateUpdated
required
string
experimentId
required
string
phase
required
string
dateStart
required
string
dateEnd
required
string
required
object
required
object (ExperimentAnalysisSettings)
queryIds
required
Array of strings
required
Array of objects
{
  • "id": "string",
  • "dateUpdated": "string",
  • "experimentId": "string",
  • "phase": "string",
  • "dateStart": "string",
  • "dateEnd": "string",
  • "dimension": {
    },
  • "settings": {
    },
  • "queryIds": [
    ],
  • "results": [
    ]
}

Feature

id
required
string
dateCreated
required
string <date-time>
dateUpdated
required
string <date-time>
archived
required
boolean
description
required
string
owner
required
string
project
required
string
valueType
required
string
Enum: "boolean" "string" "number" "json"
defaultValue
required
string
tags
required
Array of strings
required
object
required
object
{
  • "id": "string",
  • "dateCreated": "2019-08-24T14:15:22Z",
  • "dateUpdated": "2019-08-24T14:15:22Z",
  • "archived": true,
  • "description": "string",
  • "owner": "string",
  • "project": "string",
  • "valueType": "boolean",
  • "defaultValue": "string",
  • "tags": [
    ],
  • "environments": {
    },
  • "revision": {
    }
}

FeatureDefinition

defaultValue
required
string or number or array or object or null
Array of objects
{
  • "defaultValue": "string",
  • "rules": [
    ]
}

FeatureEnvironment

enabled
required
boolean
defaultValue
required
string
required
Array of FeatureForceRule (object) or FeatureRolloutRule (object) or FeatureExperimentRule (object) or FeatureExperimentRefRule (object) (FeatureRule)
definition
string

A JSON stringified FeatureDefinition

object
{
  • "enabled": true,
  • "defaultValue": "string",
  • "rules": [
    ],
  • "definition": "string",
  • "draft": {
    }
}

FeatureExperimentRefRule

description
required
string
id
required
string
enabled
required
boolean
type
required
string
condition
string
required
Array of objects
experimentId
required
string
{
  • "description": "string",
  • "id": "string",
  • "enabled": true,
  • "type": "string",
  • "condition": "string",
  • "variations": [
    ],
  • "experimentId": "string"
}

FeatureExperimentRule

description
required
string
condition
required
string
id
required
string
enabled
required
boolean
type
required
string
trackingKey
string
hashAttribute
string
namespace
obect
coverage
number
Array of objects
{
  • "description": "string",
  • "condition": "string",
  • "id": "string",
  • "enabled": true,
  • "type": "string",
  • "trackingKey": "string",
  • "hashAttribute": "string",
  • "namespace": null,
  • "coverage": 0,
  • "value": [
    ]
}

FeatureForceRule

description
required
string
condition
required
string
Array of objects
id
required
string
enabled
required
boolean
type
required
string
value
required
string
{
  • "description": "string",
  • "condition": "string",
  • "savedGroupTargeting": [
    ],
  • "id": "string",
  • "enabled": true,
  • "type": "string",
  • "value": "string"
}

FeatureRolloutRule

description
required
string
condition
required
string
Array of objects
id
required
string
enabled
required
boolean
type
required
string
value
required
string
coverage
required
number
hashAttribute
required
string
{
  • "description": "string",
  • "condition": "string",
  • "savedGroupTargeting": [
    ],
  • "id": "string",
  • "enabled": true,
  • "type": "string",
  • "value": "string",
  • "coverage": 0,
  • "hashAttribute": "string"
}

FeatureRule

Any of
description
required
string
condition
required
string
Array of objects
id
required
string
enabled
required
boolean
type
required
string
value
required
string
Example
{
  • "description": "string",
  • "condition": "string",
  • "savedGroupTargeting": [
    ],
  • "id": "string",
  • "enabled": true,
  • "type": "string",
  • "value": "string"
}

Metric

id
required
string
dateCreated
required
string
dateUpdated
required
string
owner
required
string
datasourceId
required
string
name
required
string
description
required
string
type
required
string
Enum: "binomial" "count" "duration" "revenue"
tags
required
Array of strings
projects
required
Array of strings
archived
required
boolean
required
object
object
object
object
{
  • "id": "string",
  • "dateCreated": "string",
  • "dateUpdated": "string",
  • "owner": "string",
  • "datasourceId": "string",
  • "name": "string",
  • "description": "string",
  • "type": "binomial",
  • "tags": [
    ],
  • "projects": [
    ],
  • "archived": true,
  • "behavior": {
    },
  • "sql": {
    },
  • "sqlBuilder": {
    },
  • "mixpanel": {
    }
}

Organization

id
string

The Growthbook unique identifier for the organization

externalId
string

An optional identifier that you use within your company for the organization

dateCreated
string <date-time>

The date the organization was created

name
string

The name of the organization

ownerEmail
string

The email address of the organization owner

{
  • "id": "string",
  • "externalId": "string",
  • "dateCreated": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "ownerEmail": "string"
}

PaginationFields

limit
required
integer
offset
required
integer
count
required
integer
total
required
integer
hasMore
required
boolean
nextOffset
required
integer or null
{
  • "limit": 0,
  • "offset": 0,
  • "count": 0,
  • "total": 0,
  • "hasMore": true,
  • "nextOffset": 0
}

Project

id
required
string
name
required
string
dateCreated
required
string <date-time>
dateUpdated
required
string <date-time>
description
string
object
{
  • "id": "string",
  • "name": "string",
  • "dateCreated": "2019-08-24T14:15:22Z",
  • "dateUpdated": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "settings": {
    }
}

SavedGroup

id
required
string
dateCreated
required
string <date-time>
dateUpdated
required
string <date-time>
name
required
string
source
required
string
Enum: "inline" "runtime"
owner
string
attributeKey
required
string
values
required
Array of strings
{
  • "id": "string",
  • "dateCreated": "2019-08-24T14:15:22Z",
  • "dateUpdated": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "source": "inline",
  • "owner": "string",
  • "attributeKey": "string",
  • "values": [
    ]
}

SdkConnection

id
required
string
dateCreated
required
string <date-time>
dateUpdated
required
string <date-time>
name
required
string
organization
required
string
languages
required
Array of strings
environment
required
string
project
required
string

Use 'projects' instead. This is only for backwards compatibility and contains the first project only.

projects
Array of strings
encryptPayload
required
boolean
encryptionKey
required
string
includeVisualExperiments
boolean
includeDraftExperiments
boolean
includeExperimentNames
boolean
key
required
string
proxyEnabled
required
boolean
proxyHost
required
string
proxySigningKey
required
string
sseEnabled
boolean
hashSecureAttributes
boolean
remoteEvalEnabled
boolean
{
  • "id": "string",
  • "dateCreated": "2019-08-24T14:15:22Z",
  • "dateUpdated": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "organization": "string",
  • "languages": [
    ],
  • "environment": "string",
  • "project": "string",
  • "projects": [
    ],
  • "encryptPayload": true,
  • "encryptionKey": "string",
  • "includeVisualExperiments": true,
  • "includeDraftExperiments": true,
  • "includeExperimentNames": true,
  • "key": "string",
  • "proxyEnabled": true,
  • "proxyHost": "string",
  • "proxySigningKey": "string",
  • "sseEnabled": true,
  • "hashSecureAttributes": true,
  • "remoteEvalEnabled": true
}

Segment

id
required
string
owner
required
string
datasourceId
required
string
identifierType
required
string
name
required
string
query
required
string
dateCreated
required
string
dateUpdated
required
string
{
  • "id": "string",
  • "owner": "string",
  • "datasourceId": "string",
  • "identifierType": "string",
  • "name": "string",
  • "query": "string",
  • "dateCreated": "string",
  • "dateUpdated": "string"
}

VisualChange

description
string
css
string
js
string
variation
required
string
Array of objects
{
  • "description": "string",
  • "css": "string",
  • "js": "string",
  • "variation": "string",
  • "domMutations": [
    ]
}

VisualChangeset

id
string
required
Array of objects
editorUrl
required
string
experiment
required
string
required
Array of objects
{
  • "id": "string",
  • "urlPatterns": [
    ],
  • "editorUrl": "string",
  • "experiment": "string",
  • "visualChanges": [
    ]
}