{
  "service": "statsig",
  "displayName": "Statsig",
  "categories": [
    "Developer Tools",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Console API Key",
      "placeholder": "console-xxxxxxxxxxxxxxxx",
      "description": "Statsig Console API key sent with the STATSIG-API-KEY header. Create or view it from Project Settings > Environments & Keys in the Statsig Console: https://console.statsig.com/api_keys."
    }
  ],
  "homepageUrl": "https://www.statsig.com/",
  "actions": [
    {
      "id": "statsig.get_dynamic_config",
      "service": "statsig",
      "name": "get_dynamic_config",
      "description": "Read one Statsig dynamic config by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Statsig dynamic config ID."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for reading a Statsig dynamic config."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "The message returned by Statsig."
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Statsig dynamic config returned by the Console API."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Statsig API response object."
          }
        },
        "additionalProperties": false,
        "description": "The response returned with a Statsig dynamic config."
      }
    },
    {
      "id": "statsig.get_gate",
      "service": "statsig",
      "name": "get_gate",
      "description": "Read one Statsig feature gate by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Statsig gate ID."
          },
          "includeArchiveMetadata": {
            "type": "boolean",
            "description": "Whether to include archive metadata for an archived gate."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "The input payload for reading a Statsig gate."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "The message returned by Statsig."
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Statsig gate returned by the Console API."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Statsig API response object."
          }
        },
        "additionalProperties": false,
        "description": "The response returned with a Statsig gate."
      }
    },
    {
      "id": "statsig.get_project",
      "service": "statsig",
      "name": "get_project",
      "description": "Retrieve the Statsig project information visible to the Console API key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for getting Statsig project information."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "The message returned by Statsig."
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Statsig project information."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Statsig API response object."
          }
        },
        "additionalProperties": false,
        "description": "The response returned with Statsig project information."
      }
    },
    {
      "id": "statsig.get_segment",
      "service": "statsig",
      "name": "get_segment",
      "description": "Read one Statsig segment by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Statsig segment ID."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for reading a Statsig segment."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "The message returned by Statsig."
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Statsig segment returned by the Console API."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Statsig API response object."
          }
        },
        "additionalProperties": false,
        "description": "The response returned with a Statsig segment."
      }
    },
    {
      "id": "statsig.list_dynamic_configs",
      "service": "statsig",
      "name": "list_dynamic_configs",
      "description": "List Statsig dynamic configs with optional lifecycle, ownership, and paging filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "TEMPORARY",
              "PERMANENT",
              "STALE"
            ],
            "description": "The Statsig lifecycle type to filter by."
          },
          "typeReason": {
            "type": "string",
            "enum": [
              "NONE",
              "STALE_PROBABLY_LAUNCHED",
              "STALE_PROBABLY_UNLAUNCHED",
              "STALE_PROBABLY_FORGOTTEN",
              "STALE_NO_RULES",
              "STALE_PROBABLY_DEAD_CHECK"
            ],
            "description": "The Statsig stale classification reason to filter by."
          },
          "releasePipelineID": {
            "type": "string",
            "minLength": 1,
            "description": "Filter by the associated Statsig release pipeline ID."
          },
          "teamID": {
            "type": "string",
            "minLength": 1,
            "description": "Filter by the Statsig team ID."
          },
          "targetAppID": {
            "type": "string",
            "minLength": 1,
            "description": "Filter by the Statsig target app ID."
          },
          "creatorName": {
            "type": "string",
            "minLength": 1,
            "description": "Filter by the creator name."
          },
          "creatorID": {
            "type": "string",
            "minLength": 1,
            "description": "Filter by the creator ID."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Statsig tag."
            },
            "description": "Filter by Statsig tags.",
            "minItems": 1
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of results to return per page."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The page number to return."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Statsig dynamic configs."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "The message returned by Statsig."
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Statsig object returned by the Console API."
            },
            "description": "The Statsig dynamic configs returned by the Console API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "itemsPerPage": {
                "type": "number",
                "description": "The number of items returned per page."
              },
              "pageNumber": {
                "type": "number",
                "description": "The current page number."
              },
              "nextPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The next page URL or token when Statsig returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The previous page URL or token when Statsig returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "totalItems": {
                "type": "number",
                "description": "The total number of matching items when Statsig returns it."
              },
              "all": {
                "type": "string",
                "description": "The URL for all results when Statsig returns it."
              }
            },
            "additionalProperties": true,
            "description": "Statsig pagination metadata."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Statsig API response object."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Statsig dynamic configs."
      }
    },
    {
      "id": "statsig.list_gates",
      "service": "statsig",
      "name": "list_gates",
      "description": "List Statsig feature gates with optional lifecycle, ownership, and paging filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "idTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Statsig ID type."
            },
            "description": "Filter by Statsig ID types.",
            "minItems": 1
          },
          "type": {
            "type": "string",
            "enum": [
              "TEMPORARY",
              "PERMANENT",
              "STALE",
              "TEMPLATE"
            ],
            "description": "The Statsig gate lifecycle type to filter by."
          },
          "typeReason": {
            "type": "string",
            "enum": [
              "NONE",
              "STALE_PROBABLY_LAUNCHED",
              "STALE_PROBABLY_UNLAUNCHED",
              "STALE_PROBABLY_FORGOTTEN",
              "STALE_NO_RULES",
              "STALE_PROBABLY_DEAD_CHECK",
              "STALE_EMPTY_CHECKS",
              "STALE_ALL_TRUE",
              "STALE_ALL_FALSE"
            ],
            "description": "The Statsig gate stale classification reason to filter by."
          },
          "passRates": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "0",
                "100",
                "INBETWEEN"
              ],
              "description": "The Statsig rate bucket to filter by."
            },
            "description": "Filter by sampled pass-rate buckets.",
            "minItems": 1
          },
          "rolloutRates": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "0",
                "100",
                "INBETWEEN"
              ],
              "description": "The Statsig rate bucket to filter by."
            },
            "description": "Filter by rollout-rate buckets.",
            "minItems": 1
          },
          "includeArchived": {
            "type": "boolean",
            "description": "Whether to include archived gates."
          },
          "includeArchiveMetadata": {
            "type": "boolean",
            "description": "Whether to include archive metadata for archived gates."
          },
          "store0100Exposures": {
            "type": "boolean",
            "description": "Filter by whether Store 0/100 Exposures is enabled."
          },
          "releasePipelineID": {
            "type": "string",
            "minLength": 1,
            "description": "Filter by the associated Statsig release pipeline ID."
          },
          "teamID": {
            "type": "string",
            "minLength": 1,
            "description": "Filter by the Statsig team ID."
          },
          "targetAppID": {
            "type": "string",
            "minLength": 1,
            "description": "Filter by the Statsig target app ID."
          },
          "creatorName": {
            "type": "string",
            "minLength": 1,
            "description": "Filter by the creator name."
          },
          "creatorID": {
            "type": "string",
            "minLength": 1,
            "description": "Filter by the creator ID."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Statsig tag."
            },
            "description": "Filter by Statsig tags.",
            "minItems": 1
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of results to return per page."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The page number to return."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Statsig gates."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "The message returned by Statsig."
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Statsig object returned by the Console API."
            },
            "description": "The Statsig gates returned by the Console API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "itemsPerPage": {
                "type": "number",
                "description": "The number of items returned per page."
              },
              "pageNumber": {
                "type": "number",
                "description": "The current page number."
              },
              "nextPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The next page URL or token when Statsig returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The previous page URL or token when Statsig returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "totalItems": {
                "type": "number",
                "description": "The total number of matching items when Statsig returns it."
              },
              "all": {
                "type": "string",
                "description": "The URL for all results when Statsig returns it."
              }
            },
            "additionalProperties": true,
            "description": "Statsig pagination metadata."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Statsig API response object."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Statsig gates."
      }
    },
    {
      "id": "statsig.list_segments",
      "service": "statsig",
      "name": "list_segments",
      "description": "List Statsig segments using page-based pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of results to return per page."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The page number to return."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Statsig segments."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "The message returned by Statsig."
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Statsig object returned by the Console API."
            },
            "description": "The Statsig segments returned by the Console API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "itemsPerPage": {
                "type": "number",
                "description": "The number of items returned per page."
              },
              "pageNumber": {
                "type": "number",
                "description": "The current page number."
              },
              "nextPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The next page URL or token when Statsig returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The previous page URL or token when Statsig returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "totalItems": {
                "type": "number",
                "description": "The total number of matching items when Statsig returns it."
              },
              "all": {
                "type": "string",
                "description": "The URL for all results when Statsig returns it."
              }
            },
            "additionalProperties": true,
            "description": "Statsig pagination metadata."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Statsig API response object."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Statsig segments."
      }
    }
  ]
}
