Statsig Roles API

The Roles API from Statsig — 2 operation(s) for roles.

Operations 5

GET /console/v1/roles List Roles #
POST /console/v1/roles Create Role #
GET /console/v1/roles/{id} Get Role #
PATCH /console/v1/roles/{id} Update Role #
DELETE /console/v1/roles/{id} Delete Role #

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-roles-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-roles-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Console Roles 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: Roles
paths:
  /console/v1/roles:
    get:
      summary: List Roles
      parameters:
      - name: limit
        required: false
        in: query
        description: Results per page
        schema:
          example: 10
          oneOf:
          - type: string
          - type: number
          type: integer
      - name: page
        required: false
        in: query
        description: Page number
        schema:
          example: 1
          oneOf:
          - type: string
          - type: number
          type: integer
      responses:
        '200':
          description: List Roles Response
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PaginationResponseWithMessage'
                - properties:
                    data:
                      type: array
                      items:
                        $ref: '#/components/schemas/RoleContractDto'
                example:
                  message: Roles listed successfully.
                  data:
                  - name: Custom Role
                    permissions:
                      invitation_access: false
                      create_configs: false
                      edit_or_delete_configs: false
                      delete_configs: false
                      launch_to_production: false
                      launch_or_disable_configs: false
                      start_experiments: false
                      create_or_edit_templates: false
                      create_or_edit_dashboards: false
                      create_teams: false
                      edit_dynamic_config_schemas: false
                      create_release_pipelines: false
                      approve_required_review_release_pipeline_phase: false
                      self_approve_review: false
                      approve_reviews: false
                      bypass_reviews_for_overrides: false
                      metric_management: false
                      verify_metrics: false
                      use_metrics_explorer: false
                      local_metrics: false
                      manage_alerts: false
                      integrations_edit_access: false
                      source_connection_and_creation: false
                      data_warehouse_ingestion_and_exports_edit_access: false
                      edit_and_tag_configs_with_core_tag: false
                      reset_experiments: false
                  pagination:
                    itemsPerPage: 100
                    pageNumber: 1
                    totalItems: 1
                    nextPage: null
                    previousPage: null
                    all: /console/v1/roles
              example:
                message: Roles listed successfully.
                data:
                - name: Custom Role
                  permissions:
                    invitation_access: false
                    create_configs: false
                    edit_or_delete_configs: false
                    delete_configs: false
                    launch_to_production: false
                    launch_or_disable_configs: false
                    start_experiments: false
                    create_or_edit_templates: false
                    create_or_edit_dashboards: false
                    create_teams: false
                    edit_dynamic_config_schemas: false
                    create_release_pipelines: false
                    approve_required_review_release_pipeline_phase: false
                    self_approve_review: false
                    approve_reviews: false
                    bypass_reviews_for_overrides: false
                    metric_management: false
                    verify_metrics: false
                    use_metrics_explorer: false
                    local_metrics: false
                    manage_alerts: false
                    integrations_edit_access: false
                    source_connection_and_creation: false
                    data_warehouse_ingestion_and_exports_edit_access: false
                    edit_and_tag_configs_with_core_tag: false
                    reset_experiments: false
                pagination:
                  itemsPerPage: 100
                  pageNumber: 1
                  totalItems: 1
                  nextPage: null
                  previousPage: null
                  all: /console/v1/roles
        '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:
      - Roles
      security:
      - STATSIG-API-KEY: []
      operationId: getConsoleV1Roles
      x-operation-id-source: derived
    post:
      summary: Create Role
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleContractDto'
      responses:
        '201':
          description: Create Role Response
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/SingleDataResponse'
                - properties:
                    data:
                      $ref: '#/components/schemas/RoleContractDto'
                example:
                  message: Role created successfully.
                  data:
                    name: Custom Role
                    permissions:
                      invitation_access: false
                      create_configs: false
                      edit_or_delete_configs: false
                      delete_configs: false
                      launch_to_production: false
                      launch_or_disable_configs: false
                      start_experiments: false
                      create_or_edit_templates: false
                      create_or_edit_dashboards: false
                      create_teams: false
                      edit_dynamic_config_schemas: false
                      create_release_pipelines: false
                      approve_required_review_release_pipeline_phase: false
                      self_approve_review: false
                      approve_reviews: false
                      bypass_reviews_for_overrides: false
                      metric_management: false
                      verify_metrics: false
                      use_metrics_explorer: false
                      local_metrics: false
                      manage_alerts: false
                      integrations_edit_access: false
                      source_connection_and_creation: false
                      data_warehouse_ingestion_and_exports_edit_access: false
                      edit_and_tag_configs_with_core_tag: false
                      reset_experiments: false
              example:
                message: Role created successfully.
                data:
                  name: Custom Role
                  permissions:
                    invitation_access: false
                    create_configs: false
                    edit_or_delete_configs: false
                    delete_configs: false
                    launch_to_production: false
                    launch_or_disable_configs: false
                    start_experiments: false
                    create_or_edit_templates: false
                    create_or_edit_dashboards: false
                    create_teams: false
                    edit_dynamic_config_schemas: false
                    create_release_pipelines: false
                    approve_required_review_release_pipeline_phase: false
                    self_approve_review: false
                    approve_reviews: false
                    bypass_reviews_for_overrides: false
                    metric_management: false
                    verify_metrics: false
                    use_metrics_explorer: false
                    local_metrics: false
                    manage_alerts: false
                    integrations_edit_access: false
                    source_connection_and_creation: false
                    data_warehouse_ingestion_and_exports_edit_access: false
                    edit_and_tag_configs_with_core_tag: false
                    reset_experiments: 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:
      - Roles
      security:
      - STATSIG-API-KEY: []
      operationId: postConsoleV1Roles
      x-operation-id-source: derived
  /console/v1/roles/{id}:
    get:
      summary: Get Role
      parameters:
      - name: id
        required: true
        in: path
        description: id
        schema:
          type: string
      responses:
        '200':
          description: Get Role Response
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/SingleDataResponse'
                - properties:
                    data:
                      $ref: '#/components/schemas/RoleContractDto'
                example:
                  message: Role read successfully.
                  data:
                    name: Custom Role
                    permissions:
                      invitation_access: false
                      create_configs: false
                      edit_or_delete_configs: false
                      delete_configs: false
                      launch_to_production: false
                      launch_or_disable_configs: false
                      start_experiments: false
                      create_or_edit_templates: false
                      create_or_edit_dashboards: false
                      create_teams: false
                      edit_dynamic_config_schemas: false
                      create_release_pipelines: false
                      approve_required_review_release_pipeline_phase: false
                      self_approve_review: false
                      approve_reviews: false
                      bypass_reviews_for_overrides: false
                      metric_management: false
                      verify_metrics: false
                      use_metrics_explorer: false
                      local_metrics: false
                      manage_alerts: false
                      integrations_edit_access: false
                      source_connection_and_creation: false
                      data_warehouse_ingestion_and_exports_edit_access: false
                      edit_and_tag_configs_with_core_tag: false
                      reset_experiments: false
              example:
                message: Role read successfully.
                data:
                  name: Custom Role
                  permissions:
                    invitation_access: false
                    create_configs: false
                    edit_or_delete_configs: false
                    delete_configs: false
                    launch_to_production: false
                    launch_or_disable_configs: false
                    start_experiments: false
                    create_or_edit_templates: false
                    create_or_edit_dashboards: false
                    create_teams: false
                    edit_dynamic_config_schemas: false
                    create_release_pipelines: false
                    approve_required_review_release_pipeline_phase: false
                    self_approve_review: false
                    approve_reviews: false
                    bypass_reviews_for_overrides: false
                    metric_management: false
                    verify_metrics: false
                    use_metrics_explorer: false
                    local_metrics: false
                    manage_alerts: false
                    integrations_edit_access: false
                    source_connection_and_creation: false
                    data_warehouse_ingestion_and_exports_edit_access: false
                    edit_and_tag_configs_with_core_tag: false
                    reset_experiments: 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:
      - Roles
      security:
      - STATSIG-API-KEY: []
      operationId: getConsoleV1RolesById
      x-operation-id-source: derived
    patch:
      summary: Update Role
      parameters:
      - name: id
        required: true
        in: path
        description: id
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleUpdateContractDto'
      responses:
        '200':
          description: Update Role Response
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/SingleDataResponse'
                - properties:
                    data:
                      $ref: '#/components/schemas/RoleContractDto'
                example:
                  message: Role updated successfully.
                  data:
                    name: Custom Role
                    permissions:
                      invitation_access: true
                      create_configs: false
                      edit_or_delete_configs: false
                      delete_configs: false
                      launch_to_production: false
                      launch_or_disable_configs: false
                      start_experiments: false
                      create_or_edit_templates: false
                      create_or_edit_dashboards: false
                      create_teams: false
                      edit_dynamic_config_schemas: false
                      create_release_pipelines: false
                      approve_required_review_release_pipeline_phase: false
                      self_approve_review: false
                      approve_reviews: false
                      bypass_reviews_for_overrides: false
                      metric_management: false
                      verify_metrics: false
                      use_metrics_explorer: false
                      local_metrics: false
                      manage_alerts: false
                      integrations_edit_access: false
                      source_connection_and_creation: false
                      data_warehouse_ingestion_and_exports_edit_access: false
                      edit_and_tag_configs_with_core_tag: false
                      reset_experiments: false
              example:
                message: Role updated successfully.
                data:
                  name: Custom Role
                  permissions:
                    invitation_access: true
                    create_configs: false
                    edit_or_delete_configs: false
                    delete_configs: false
                    launch_to_production: false
                    launch_or_disable_configs: false
                    start_experiments: false
                    create_or_edit_templates: false
                    create_or_edit_dashboards: false
                    create_teams: false
                    edit_dynamic_config_schemas: false
                    create_release_pipelines: false
                    approve_required_review_release_pipeline_phase: false
                    self_approve_review: false
                    approve_reviews: false
                    bypass_reviews_for_overrides: false
                    metric_management: false
                    verify_metrics: false
                    use_metrics_explorer: false
                    local_metrics: false
                    manage_alerts: false
                    integrations_edit_access: false
                    source_connection_and_creation: false
                    data_warehouse_ingestion_and_exports_edit_access: false
                    edit_and_tag_configs_with_core_tag: false
                    reset_experiments: 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:
      - Roles
      security:
      - STATSIG-API-KEY: []
      operationId: patchConsoleV1RolesById
      x-operation-id-source: derived
    delete:
      summary: Delete Role
      parameters:
      - name: id
        required: true
        in: path
        description: id
        schema:
          type: string
      responses:
        '200':
          description: Delete Role Response
          content:
            application/json:
              schema:
                properties:
                  message:
                    type: string
                example:
                  message: Role deleted successfully.
              example:
                message: Role deleted successfully.
        '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:
      - Roles
      security:
      - STATSIG-API-KEY: []
      operationId: deleteConsoleV1RolesById
      x-operation-id-source: derived
components:
  schemas:
    PaginationResponseWithMessage:
      type: object
      properties:
        message:
          type: string
          description: A simple string explaining the result of the operation.
        data:
          description: Array of results returned by pagination limit.
          type: array
          items:
            type: object
        pagination:
          description: Pagination metadata for checking if there is next page for example.
          allOf:
          - $ref: '#/components/schemas/PaginationResponseMetadataDto'
      required:
      - message
      - data
      - pagination
    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
    PaginationResponseMetadataDto:
      type: object
      properties:
        itemsPerPage:
          type: number
          format: double
        pageNumber:
          type: number
          format: double
        nextPage:
          type:
          - string
          - 'null'
        previousPage:
          type:
          - string
          - 'null'
        totalItems:
          type: number
          format: double
        all:
          type: string
      required:
      - itemsPerPage
      - pageNumber
      - nextPage
      - previousPage
    RoleUpdateContractDto:
      type: object
      properties:
        permissions:
          type: object
          properties:
            invitation_access:
              type: boolean
            create_configs:
              type: boolean
            edit_or_delete_configs:
              type: boolean
            delete_configs:
              type: boolean
            launch_to_production:
              type: boolean
            launch_or_disable_configs:
              type: boolean
            start_experiments:
              type: boolean
            create_or_edit_templates:
              type: boolean
            create_or_edit_dashboards:
              type: boolean
            create_teams:
              type: boolean
            edit_dynamic_config_schemas:
              type: boolean
            create_release_pipelines:
              type: boolean
            approve_required_review_release_pipeline_phase:
              type: boolean
            self_approve_review:
              type: boolean
            approve_reviews:
              type: boolean
            bypass_reviews_for_overrides:
              type: boolean
            bypass_precommit_webhook:
              type: boolean
            metric_management:
              type: boolean
            event_dimensions_access:
              type: boolean
            verify_metrics:
              type: boolean
            use_metrics_explorer:
              type: boolean
            local_metrics:
              type: boolean
            manage_alerts:
              type: boolean
            integrations_edit_access:
              type: boolean
            source_connection_and_creation:
              type: boolean
            whn_connection:
              type: boolean
            data_warehouse_ingestion_and_exports_edit_access:
              type: boolean
            edit_and_tag_configs_with_core_tag:
              type: boolean
            reset_experiments:
              type: boolean
            manual_whn_reload:
              type: boolean
          description: The permissions of the role.
      required:
      - permissions
    RoleContractDto:
      type: object
      properties:
        name:
          type: string
          description: The name of the role.
        permissions:
          type: object
          properties:
            invitation_access:
              type: boolean
            create_configs:
              type: boolean
            edit_or_delete_configs:
              type: boolean
            delete_configs:
              type: boolean
            launch_to_production:
              type: boolean
            launch_or_disable_configs:
              type: boolean
            start_experiments:
              type: boolean
            create_or_edit_templates:
              type: boolean
            create_or_edit_dashboards:
              type: boolean
            create_teams:
              type: boolean
            edit_dynamic_config_schemas:
              type: boolean
            create_release_pipelines:
              type: boolean
            approve_required_review_release_pipeline_phase:
              type: boolean
            self_approve_review:
              type: boolean
            approve_reviews:
              type: boolean
            bypass_reviews_for_overrides:
              type: boolean
            bypass_precommit_webhook:
              type: boolean
            metric_management:
              type: boolean
            event_dimensions_access:
              type: boolean
            verify_metrics:
              type: boolean
            use_metrics_explorer:
              type: boolean
            local_metrics:
              type: boolean
            manage_alerts:
              type: boolean
            integrations_edit_access:
              type: boolean
            source_connection_and_creation:
              type: boolean
            whn_connection:
              type: boolean
            data_warehouse_ingestion_and_exports_edit_access:
              type: boolean
            edit_and_tag_configs_with_core_tag:
              type: boolean
            reset_experiments:
              type: boolean
            manual_whn_reload:
              type: boolean
          description: The permissions of the role.
      required:
      - name
      - permissions
  securitySchemes:
    STATSIG-API-KEY:
      type: apiKey
      name: STATSIG-API-KEY
      in: header