Statsig Settings API

The Settings API from Statsig — 4 operation(s) for settings.

Operations 8

GET /console/v1/settings/project Get Project Settings #
POST /console/v1/settings/project Update Project Settings #
GET /console/v1/settings/reviews Get Reviews Settings #
POST /console/v1/settings/reviews Update Reviews Settings #
GET /console/v1/settings/roles Get Roles Settings #
POST /console/v1/settings/roles Update Roles Settings #
GET /console/v1/settings/teams Get Teams Settings #
POST /console/v1/settings/teams Update Teams Settings #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/statsig-settings-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

statsig-settings-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Console Settings API
  description: The "Console API" is the CRUD API for performing the actions offered on console.statsig.com without needing to go through the web UI.
  version: 20240601.0.0
  contact: {}
servers:
- url: https://statsigapi.net
tags:
- name: Settings
paths:
  /console/v1/settings/project:
    get:
      summary: Get Project Settings
      parameters: []
      responses:
        '200':
          description: Get Project Settings Response
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/SingleDataResponse'
                - properties:
                    data:
                      $ref: '#/components/schemas/SettingsProjectContractDto'
                example:
                  message: Settings read successfully.
                  data:
                    name: Test Project
                    visibility: CLOSED
                    default_unit_type: user_id
              example:
                message: Settings read successfully.
                data:
                  name: Test Project
                  visibility: CLOSED
                  default_unit_type: user_id
        '400':
          description: Invalid request. Please check the request input and try again.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    enum:
                    - 400
                  message:
                    type: string
                required:
                - status
                - message
              examples:
                Invalid Request:
                  value:
                    status: 400
                    message: Invalid request. Please check the request input and try again.
        '401':
          description: 'This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx'
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    enum:
                    - 401
                  message:
                    type: string
                required:
                - status
                - message
              examples:
                Invalid Endpoint:
                  value:
                    status: 401
                    message: 'This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx'
      tags:
      - Settings
      security:
      - STATSIG-API-KEY: []
      operationId: getConsoleV1SettingsProject
      x-operation-id-source: derived
    post:
      summary: Update Project Settings
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SettingsProjectContractDto'
      responses:
        '200':
          description: Update Project Settings Response
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/SingleDataResponse'
                - properties:
                    data:
                      $ref: '#/components/schemas/SettingsProjectContractDto'
                example:
                  message: Settings read successfully.
                  data:
                    name: Test Project
                    visibility: closed
                    default_unit_type: stable_id
              example:
                message: Settings read successfully.
                data:
                  name: Test Project
                  visibility: closed
                  default_unit_type: stable_id
        '400':
          description: Invalid request. Please check the request input and try again.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    enum:
                    - 400
                  message:
                    type: string
                required:
                - status
                - message
              examples:
                Invalid Request:
                  value:
                    status: 400
                    message: Invalid request. Please check the request input and try again.
        '401':
          description: 'This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx'
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    enum:
                    - 401
                  message:
                    type: string
                required:
                - status
                - message
              examples:
                Invalid Endpoint:
                  value:
                    status: 401
                    message: 'This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx'
      tags:
      - Settings
      security:
      - STATSIG-API-KEY: []
      operationId: postConsoleV1SettingsProject
      x-operation-id-source: derived
  /console/v1/settings/reviews:
    get:
      summary: Get Reviews Settings
      parameters: []
      responses:
        '200':
          description: Get Reviews Settings Response
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/SingleDataResponse'
                - properties:
                    data:
                      $ref: '#/components/schemas/SettingsReviewsContractDto'
                example:
                  message: Settings read successfully.
                  data:
                    is_config_review_required: true
                    is_metric_review_required: true
                    is_metric_review_required_on_verified_only: false
              example:
                message: Settings read successfully.
                data:
                  is_config_review_required: true
                  is_metric_review_required: true
                  is_metric_review_required_on_verified_only: false
        '400':
          description: Invalid request. Please check the request input and try again.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    enum:
                    - 400
                  message:
                    type: string
                required:
                - status
                - message
              examples:
                Invalid Request:
                  value:
                    status: 400
                    message: Invalid request. Please check the request input and try again.
        '401':
          description: 'This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx'
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    enum:
                    - 401
                  message:
                    type: string
                required:
                - status
                - message
              examples:
                Invalid Endpoint:
                  value:
                    status: 401
                    message: 'This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx'
      tags:
      - Settings
      security:
      - STATSIG-API-KEY: []
      operationId: getConsoleV1SettingsReviews
      x-operation-id-source: derived
    post:
      summary: Update Reviews Settings
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SettingsReviewsContractDto'
      responses:
        '200':
          description: Update Reviews Settings Response
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/SingleDataResponse'
                - properties:
                    data:
                      $ref: '#/components/schemas/SettingsReviewsContractDto'
                example:
                  message: Settings updated successfully.
                  data:
                    is_config_review_required: true
                    is_metric_review_required: true
                    is_metric_review_required_on_verified_only: true
              example:
                message: Settings updated successfully.
                data:
                  is_config_review_required: true
                  is_metric_review_required: true
                  is_metric_review_required_on_verified_only: true
        '400':
          description: Invalid request. Please check the request input and try again.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    enum:
                    - 400
                  message:
                    type: string
                required:
                - status
                - message
              examples:
                Invalid Request:
                  value:
                    status: 400
                    message: Invalid request. Please check the request input and try again.
        '401':
          description: 'This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx'
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    enum:
                    - 401
                  message:
                    type: string
                required:
                - status
                - message
              examples:
                Invalid Endpoint:
                  value:
                    status: 401
                    message: 'This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx'
      tags:
      - Settings
      security:
      - STATSIG-API-KEY: []
      operationId: postConsoleV1SettingsReviews
      x-operation-id-source: derived
  /console/v1/settings/roles:
    get:
      summary: Get Roles Settings
      parameters: []
      responses:
        '200':
          description: Get Roles Settings Response
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/SingleDataResponse'
                - properties:
                    data:
                      $ref: '#/components/schemas/SettingsRolesContractDto'
                example:
                  message: Settings read successfully.
                  data:
                    default_project_role: Member
              example:
                message: Settings read successfully.
                data:
                  default_project_role: Member
        '400':
          description: Invalid request. Please check the request input and try again.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    enum:
                    - 400
                  message:
                    type: string
                required:
                - status
                - message
              examples:
                Invalid Request:
                  value:
                    status: 400
                    message: Invalid request. Please check the request input and try again.
        '401':
          description: 'This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx'
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    enum:
                    - 401
                  message:
                    type: string
                required:
                - status
                - message
              examples:
                Invalid Endpoint:
                  value:
                    status: 401
                    message: 'This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx'
      tags:
      - Settings
      security:
      - STATSIG-API-KEY: []
      operationId: getConsoleV1SettingsRoles
      x-operation-id-source: derived
    post:
      summary: Update Roles Settings
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SettingsRolesContractDto'
      responses:
        '200':
          description: Update Roles Settings Response
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/SingleDataResponse'
                - properties:
                    data:
                      $ref: '#/components/schemas/SettingsRolesContractDto'
                example:
                  message: Settings updated successfully.
                  data:
                    default_project_role: Read Only
              example:
                message: Settings updated successfully.
                data:
                  default_project_role: Read Only
        '400':
          description: Invalid request. Please check the request input and try again.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    enum:
                    - 400
                  message:
                    type: string
                required:
                - status
                - message
              examples:
                Invalid Request:
                  value:
                    status: 400
                    message: Invalid request. Please check the request input and try again.
        '401':
          description: 'This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx'
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    enum:
                    - 401
                  message:
                    type: string
                required:
                - status
                - message
              examples:
                Invalid Endpoint:
                  value:
                    status: 401
                    message: 'This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx'
      tags:
      - Settings
      security:
      - STATSIG-API-KEY: []
      operationId: postConsoleV1SettingsRoles
      x-operation-id-source: derived
  /console/v1/settings/teams:
    get:
      summary: Get Teams Settings
      parameters: []
      responses:
        '200':
          description: Get Teams Settings Response
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/SingleDataResponse'
                - properties:
                    data:
                      $ref: '#/components/schemas/SettingsTeamsContractDto'
                example:
                  message: Settings read successfully.
                  data:
                    require_teams_on_configs: true
              example:
                message: Settings read successfully.
                data:
                  require_teams_on_configs: true
        '400':
          description: Invalid request. Please check the request input and try again.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    enum:
                    - 400
                  message:
                    type: string
                required:
                - status
                - message
              examples:
                Invalid Request:
                  value:
                    status: 400
                    message: Invalid request. Please check the request input and try again.
        '401':
          description: 'This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx'
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    enum:
                    - 401
                  message:
                    type: string
                required:
                - status
                - message
              examples:
                Invalid Endpoint:
                  value:
                    status: 401
                    message: 'This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx'
      tags:
      - Settings
      security:
      - STATSIG-API-KEY: []
      operationId: getConsoleV1SettingsTeams
      x-operation-id-source: derived
    post:
      summary: Update Teams Settings
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SettingsTeamsContractDto'
      responses:
        '200':
          description: Update Teams Settings Response
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/SingleDataResponse'
                - properties:
                    data:
                      $ref: '#/components/schemas/SettingsTeamsContractDto'
                example:
                  message: Settings updated successfully.
                  data:
                    require_teams_on_configs: false
              example:
                message: Settings updated successfully.
                data:
                  require_teams_on_configs: false
        '400':
          description: Invalid request. Please check the request input and try again.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    enum:
                    - 400
                  message:
                    type: string
                required:
                - status
                - message
              examples:
                Invalid Request:
                  value:
                    status: 400
                    message: Invalid request. Please check the request input and try again.
        '401':
          description: 'This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx'
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    enum:
                    - 401
                  message:
                    type: string
                required:
                - status
                - message
              examples:
                Invalid Endpoint:
                  value:
                    status: 401
                    message: 'This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx'
      tags:
      - Settings
      security:
      - STATSIG-API-KEY: []
      operationId: postConsoleV1SettingsTeams
      x-operation-id-source: derived
components:
  schemas:
    SettingsTeamsContractDto:
      type: object
      properties:
        require_teams_on_configs:
          type: boolean
          description: Whether a team is required on each new config.
      required:
      - require_teams_on_configs
    SettingsRolesContractDto:
      type: object
      properties:
        default_project_role:
          type: string
          description: The name of the default project role. This is the role that will be initially assigned to new users joining the project.
      required:
      - default_project_role
    SingleDataResponse:
      type: object
      properties:
        message:
          type: string
          description: A simple string explaining the result of the operation.
        data:
          type: object
          description: A single result.
      required:
      - message
      - data
    SettingsProjectContractDto:
      type: object
      properties:
        name:
          type: string
          description: The name of the project.
        visibility:
          type: string
          enum:
          - OPEN
          - CLOSED
          - EXTERNAL
          description: The visibility type of the project.
        default_unit_type:
          type: string
          description: The default unit ID type of the project for newly created gates, experiments, and metrics. If not provided, there will be no default unit type.
      required:
      - name
      - visibility
    SettingsReviewsContractDto:
      type: object
      properties:
        is_config_review_required:
          type: boolean
          description: Whether config reviews are required.
        is_metric_review_required:
          type: boolean
          description: Whether metric reviews are required.
        is_metric_review_required_on_verified_only:
          type: boolean
          description: Whether metric reviews are only required for verified metrics.
        is_whn_analysis_only_review_required:
          type: boolean
          description: Whether analysis-only experiment reviews are required. Only applicable to WHN projects.
        is_whn_source_review_required:
          type: boolean
          description: Whether metric/assignment/entity property source reviews are required. Only applicable to WHN projects.
      required:
      - is_config_review_required
      - is_metric_review_required
      - is_metric_review_required_on_verified_only
  securitySchemes:
    STATSIG-API-KEY:
      type: apiKey
      name: STATSIG-API-KEY
      in: header