statsig · Capability

Statsig Console API — Gates

Statsig Console API — Gates. 17 operations. Lead operation: List all gates. Self-contained Naftiko capability covering one Statsig business surface.

Run with Naftiko StatsigGates

What You Can Do

GET
Listgates — List all gates
/v1/gates
POST
Creategate — Create a gate
/v1/gates
GET
Getgate — Get a gate
/v1/gates/{id}
PATCH
Partiallyupdategate — Partially update a gate
/v1/gates/{id}
DELETE
Deletegate — Delete a gate
/v1/gates/{id}
PUT
Archivegate — Archive a gate
/v1/gates/{id}/archive
PUT
Disablegate — Disable a gate
/v1/gates/{id}/disable
PUT
Enablegate — Enable a gate
/v1/gates/{id}/enable
PUT
Launchgate — Launch a gate
/v1/gates/{id}/launch
GET
Getgateoverrides — Get gate overrides
/v1/gates/{id}/overrides
POST
Addgateoverrides — Add gate overrides
/v1/gates/{id}/overrides
PUT
Updategateoverrides — Update gate overrides
/v1/gates/{id}/overrides
DELETE
Deletegateoverrides — Delete gate overrides
/v1/gates/{id}/overrides
GET
Listgaterules — List gate rules
/v1/gates/{id}/rules
POST
Addgaterule — Add a gate rule
/v1/gates/{id}/rules
PUT
Updategaterules — Update gate rules
/v1/gates/{id}/rules
DELETE
Deletegaterule — Delete a gate rule
/v1/gates/{id}/rules/{ruleid}

MCP Tools

list-all-gates

List all gates

read-only idempotent
create-gate

Create a gate

get-gate

Get a gate

read-only idempotent
partially-update-gate

Partially update a gate

idempotent
delete-gate

Delete a gate

idempotent
archive-gate

Archive a gate

idempotent
disable-gate

Disable a gate

idempotent
enable-gate

Enable a gate

idempotent
launch-gate

Launch a gate

idempotent
get-gate-overrides

Get gate overrides

read-only idempotent
add-gate-overrides

Add gate overrides

update-gate-overrides

Update gate overrides

idempotent
delete-gate-overrides

Delete gate overrides

idempotent
list-gate-rules

List gate rules

read-only idempotent
add-gate-rule

Add a gate rule

update-gate-rules

Update gate rules

idempotent
delete-gate-rule

Delete a gate rule

idempotent

Capability Spec

console-gates.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Statsig Console API — Gates
  description: 'Statsig Console API — Gates. 17 operations. Lead operation: List all gates. Self-contained Naftiko capability
    covering one Statsig business surface.'
  tags:
  - Statsig
  - Gates
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    STATSIG_API_KEY: STATSIG_API_KEY
capability:
  consumes:
  - type: http
    namespace: console-gates
    baseUri: https://statsigapi.net/console/v1
    description: Statsig Console API — Gates business capability. Self-contained, no shared references.
    resources:
    - name: gates
      path: /gates
      operations:
      - name: listgates
        method: GET
        description: List all gates
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: creategate
        method: POST
        description: Create a gate
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: gates-id
      path: /gates/{id}
      operations:
      - name: getgate
        method: GET
        description: Get a gate
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: partiallyupdategate
        method: PATCH
        description: Partially update a gate
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletegate
        method: DELETE
        description: Delete a gate
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gates-id-archive
      path: /gates/{id}/archive
      operations:
      - name: archivegate
        method: PUT
        description: Archive a gate
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gates-id-disable
      path: /gates/{id}/disable
      operations:
      - name: disablegate
        method: PUT
        description: Disable a gate
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gates-id-enable
      path: /gates/{id}/enable
      operations:
      - name: enablegate
        method: PUT
        description: Enable a gate
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gates-id-launch
      path: /gates/{id}/launch
      operations:
      - name: launchgate
        method: PUT
        description: Launch a gate
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gates-id-overrides
      path: /gates/{id}/overrides
      operations:
      - name: getgateoverrides
        method: GET
        description: Get gate overrides
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: addgateoverrides
        method: POST
        description: Add gate overrides
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: updategateoverrides
        method: PUT
        description: Update gate overrides
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletegateoverrides
        method: DELETE
        description: Delete gate overrides
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: gates-id-rules
      path: /gates/{id}/rules
      operations:
      - name: listgaterules
        method: GET
        description: List gate rules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: addgaterule
        method: POST
        description: Add a gate rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: updategaterules
        method: PUT
        description: Update gate rules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: gates-id-rules-ruleID
      path: /gates/{id}/rules/{ruleID}
      operations:
      - name: deletegaterule
        method: DELETE
        description: Delete a gate rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ruleID
          in: path
          type: string
          description: The identifier of the rule to delete.
          required: true
    authentication:
      type: apikey
      key: STATSIG-API-KEY
      value: '{{env.STATSIG_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: console-gates-rest
    port: 8080
    description: REST adapter for Statsig Console API — Gates. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/gates
      name: gates
      description: REST surface for gates.
      operations:
      - method: GET
        name: listgates
        description: List all gates
        call: console-gates.listgates
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: creategate
        description: Create a gate
        call: console-gates.creategate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/gates/{id}
      name: gates-id
      description: REST surface for gates-id.
      operations:
      - method: GET
        name: getgate
        description: Get a gate
        call: console-gates.getgate
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: partiallyupdategate
        description: Partially update a gate
        call: console-gates.partiallyupdategate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletegate
        description: Delete a gate
        call: console-gates.deletegate
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/gates/{id}/archive
      name: gates-id-archive
      description: REST surface for gates-id-archive.
      operations:
      - method: PUT
        name: archivegate
        description: Archive a gate
        call: console-gates.archivegate
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/gates/{id}/disable
      name: gates-id-disable
      description: REST surface for gates-id-disable.
      operations:
      - method: PUT
        name: disablegate
        description: Disable a gate
        call: console-gates.disablegate
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/gates/{id}/enable
      name: gates-id-enable
      description: REST surface for gates-id-enable.
      operations:
      - method: PUT
        name: enablegate
        description: Enable a gate
        call: console-gates.enablegate
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/gates/{id}/launch
      name: gates-id-launch
      description: REST surface for gates-id-launch.
      operations:
      - method: PUT
        name: launchgate
        description: Launch a gate
        call: console-gates.launchgate
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/gates/{id}/overrides
      name: gates-id-overrides
      description: REST surface for gates-id-overrides.
      operations:
      - method: GET
        name: getgateoverrides
        description: Get gate overrides
        call: console-gates.getgateoverrides
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: addgateoverrides
        description: Add gate overrides
        call: console-gates.addgateoverrides
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updategateoverrides
        description: Update gate overrides
        call: console-gates.updategateoverrides
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletegateoverrides
        description: Delete gate overrides
        call: console-gates.deletegateoverrides
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/gates/{id}/rules
      name: gates-id-rules
      description: REST surface for gates-id-rules.
      operations:
      - method: GET
        name: listgaterules
        description: List gate rules
        call: console-gates.listgaterules
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: addgaterule
        description: Add a gate rule
        call: console-gates.addgaterule
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updategaterules
        description: Update gate rules
        call: console-gates.updategaterules
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/gates/{id}/rules/{ruleid}
      name: gates-id-rules-ruleid
      description: REST surface for gates-id-rules-ruleID.
      operations:
      - method: DELETE
        name: deletegaterule
        description: Delete a gate rule
        call: console-gates.deletegaterule
        with:
          ruleID: rest.ruleID
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: console-gates-mcp
    port: 9090
    transport: http
    description: MCP adapter for Statsig Console API — Gates. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: list-all-gates
      description: List all gates
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: console-gates.listgates
      outputParameters:
      - type: object
        mapping: $.
    - name: create-gate
      description: Create a gate
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: console-gates.creategate
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-gate
      description: Get a gate
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: console-gates.getgate
      outputParameters:
      - type: object
        mapping: $.
    - name: partially-update-gate
      description: Partially update a gate
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: console-gates.partiallyupdategate
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-gate
      description: Delete a gate
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: console-gates.deletegate
      outputParameters:
      - type: object
        mapping: $.
    - name: archive-gate
      description: Archive a gate
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: console-gates.archivegate
      outputParameters:
      - type: object
        mapping: $.
    - name: disable-gate
      description: Disable a gate
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: console-gates.disablegate
      outputParameters:
      - type: object
        mapping: $.
    - name: enable-gate
      description: Enable a gate
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: console-gates.enablegate
      outputParameters:
      - type: object
        mapping: $.
    - name: launch-gate
      description: Launch a gate
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: console-gates.launchgate
      outputParameters:
      - type: object
        mapping: $.
    - name: get-gate-overrides
      description: Get gate overrides
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: console-gates.getgateoverrides
      outputParameters:
      - type: object
        mapping: $.
    - name: add-gate-overrides
      description: Add gate overrides
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: console-gates.addgateoverrides
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: update-gate-overrides
      description: Update gate overrides
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: console-gates.updategateoverrides
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-gate-overrides
      description: Delete gate overrides
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: console-gates.deletegateoverrides
      outputParameters:
      - type: object
        mapping: $.
    - name: list-gate-rules
      description: List gate rules
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: console-gates.listgaterules
      outputParameters:
      - type: object
        mapping: $.
    - name: add-gate-rule
      description: Add a gate rule
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: console-gates.addgaterule
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: update-gate-rules
      description: Update gate rules
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: console-gates.updategaterules
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-gate-rule
      description: Delete a gate rule
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: console-gates.deletegaterule
      with:
        ruleID: tools.ruleID
      outputParameters:
      - type: object
        mapping: $.