GrowthBook · Capability

GrowthBook REST API — feature-revisions

GrowthBook REST API — feature-revisions. 24 operations. Lead operation: List revisions for a feature. Self-contained Naftiko capability covering one Growthbook business surface.

Run with Naftiko Growthbookfeature-revisions

What You Can Do

GET
Getfeaturerevisions — List revisions for a feature
/v1/v1/features/{id}/revisions
POST
Postfeaturerevision — Create a draft revision
/v1/v1/features/{id}/revisions
GET
Getfeaturerevisionlatest — Get the most recent active draft revision
/v1/v1/features/{id}/revisions/latest
GET
Getfeaturerevision — Get a single feature revision
/v1/v1/features/{id}/revisions/{version}
PUT
Putfeaturerevisionarchive — Set archived state in a draft revision
/v1/v1/features/{id}/revisions/{version}/archive
PUT
Putfeaturerevisiondefaultvalue — Set the default value in a draft revision
/v1/v1/features/{id}/revisions/{version}/default-value
POST
Postfeaturerevisiondiscard — Discard a draft revision
/v1/v1/features/{id}/revisions/{version}/discard
PUT
Putfeaturerevisionholdout — Set holdout in a draft revision
/v1/v1/features/{id}/revisions/{version}/holdout
GET
Getfeaturerevisionmergestatus — Get merge status for a draft revision
/v1/v1/features/{id}/revisions/{version}/merge-status
PUT
Putfeaturerevisionmetadata — Update revision metadata (comment, title, feature metadata)
/v1/v1/features/{id}/revisions/{version}/metadata
PUT
Putfeaturerevisionprerequisites — Set feature-level prerequisites in a draft revision
/v1/v1/features/{id}/revisions/{version}/prerequisites
POST
Postfeaturerevisionpublish — Publish a draft revision
/v1/v1/features/{id}/revisions/{version}/publish
POST
Postfeaturerevisionrebase — Rebase a draft revision onto the current live version
/v1/v1/features/{id}/revisions/{version}/rebase
POST
Postfeaturerevisionrequestreview — Request review for a draft revision
/v1/v1/features/{id}/revisions/{version}/request-review
POST
Postfeaturerevisionrevert — Revert the feature to a prior revision
/v1/v1/features/{id}/revisions/{version}/revert
POST
Postfeaturerevisionruleadd — Add a rule to a draft revision
/v1/v1/features/{id}/revisions/{version}/rules
POST
Postfeaturerevisionrulesreorder — Reorder rules in an environment
/v1/v1/features/{id}/revisions/{version}/rules/reorder
PUT
Putfeaturerevisionrule — Update a rule in a draft revision
/v1/v1/features/{id}/revisions/{version}/rules/{ruleid}
DELETE
Deletefeaturerevisionrule — Delete a rule from a draft revision
/v1/v1/features/{id}/revisions/{version}/rules/{ruleid}
PUT
Putfeaturerevisionrulerampschedule — Set ramp schedule for a rule
/v1/v1/features/{id}/revisions/{version}/rules/{ruleid}/ramp-schedule
DELETE
Deletefeaturerevisionrulerampschedule — Remove ramp schedule from a rule
/v1/v1/features/{id}/revisions/{version}/rules/{ruleid}/ramp-schedule
POST
Postfeaturerevisionsubmitreview — Submit a review on a draft revision
/v1/v1/features/{id}/revisions/{version}/submit-review
POST
Postfeaturerevisiontoggle — Toggle an environment on/off in a draft revision
/v1/v1/features/{id}/revisions/{version}/toggle
GET
Listrevisions — List feature revisions
/v1/v1/revisions

MCP Tools

list-revisions-feature

List revisions for a feature

read-only idempotent
create-draft-revision

Create a draft revision

get-most-recent-active-draft

Get the most recent active draft revision

read-only idempotent
get-single-feature-revision

Get a single feature revision

read-only idempotent
set-archived-state-draft-revision

Set archived state in a draft revision

idempotent
set-default-value-draft-revision

Set the default value in a draft revision

idempotent
discard-draft-revision

Discard a draft revision

set-holdout-draft-revision

Set holdout in a draft revision

idempotent
get-merge-status-draft-revision

Get merge status for a draft revision

read-only idempotent
update-revision-metadata-comment-title

Update revision metadata (comment, title, feature metadata)

idempotent
set-feature-level-prerequisites-draft

Set feature-level prerequisites in a draft revision

idempotent
publish-draft-revision

Publish a draft revision

rebase-draft-revision-onto-current

Rebase a draft revision onto the current live version

request-review-draft-revision

Request review for a draft revision

revert-feature-prior-revision

Revert the feature to a prior revision

add-rule-draft-revision

Add a rule to a draft revision

reorder-rules-environment

Reorder rules in an environment

update-rule-draft-revision

Update a rule in a draft revision

idempotent
delete-rule-draft-revision

Delete a rule from a draft revision

idempotent
set-ramp-schedule-rule

Set ramp schedule for a rule

idempotent
remove-ramp-schedule-rule

Remove ramp schedule from a rule

idempotent
submit-review-draft-revision

Submit a review on a draft revision

toggle-environment-off-draft-revision

Toggle an environment on/off in a draft revision

list-feature-revisions

List feature revisions

read-only idempotent

Capability Spec

growthbook-feature-revisions.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: GrowthBook REST API — feature-revisions
  description: 'GrowthBook REST API — feature-revisions. 24 operations. Lead operation: List revisions for a feature. Self-contained
    Naftiko capability covering one Growthbook business surface.'
  tags:
  - Growthbook
  - feature-revisions
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GROWTHBOOK_API_KEY: GROWTHBOOK_API_KEY
capability:
  consumes:
  - type: http
    namespace: growthbook-feature-revisions
    baseUri: https://api.growthbook.io/api
    description: GrowthBook REST API — feature-revisions business capability. Self-contained, no shared references.
    resources:
    - name: v1-features-id-revisions
      path: /v1/features/{id}/revisions
      operations:
      - name: getfeaturerevisions
        method: GET
        description: List revisions for a feature
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: postfeaturerevision
        method: POST
        description: Create a draft revision
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-features-id-revisions-latest
      path: /v1/features/{id}/revisions/latest
      operations:
      - name: getfeaturerevisionlatest
        method: GET
        description: Get the most recent active draft revision
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: mine
          in: query
          type: string
          description: If true, return only the most recent active draft authored by or contributed to by the calling user.
            Requires a user-scoped API key.
    - name: v1-features-id-revisions-version
      path: /v1/features/{id}/revisions/{version}
      operations:
      - name: getfeaturerevision
        method: GET
        description: Get a single feature revision
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
    - name: v1-features-id-revisions-version-archive
      path: /v1/features/{id}/revisions/{version}/archive
      operations:
      - name: putfeaturerevisionarchive
        method: PUT
        description: Set archived state in a draft revision
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: version
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-features-id-revisions-version-default-value
      path: /v1/features/{id}/revisions/{version}/default-value
      operations:
      - name: putfeaturerevisiondefaultvalue
        method: PUT
        description: Set the default value in a draft revision
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: version
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-features-id-revisions-version-discard
      path: /v1/features/{id}/revisions/{version}/discard
      operations:
      - name: postfeaturerevisiondiscard
        method: POST
        description: Discard a draft revision
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-features-id-revisions-version-holdout
      path: /v1/features/{id}/revisions/{version}/holdout
      operations:
      - name: putfeaturerevisionholdout
        method: PUT
        description: Set holdout in a draft revision
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: version
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-features-id-revisions-version-merge-status
      path: /v1/features/{id}/revisions/{version}/merge-status
      operations:
      - name: getfeaturerevisionmergestatus
        method: GET
        description: Get merge status for a draft revision
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
    - name: v1-features-id-revisions-version-metadata
      path: /v1/features/{id}/revisions/{version}/metadata
      operations:
      - name: putfeaturerevisionmetadata
        method: PUT
        description: Update revision metadata (comment, title, feature metadata)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: version
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-features-id-revisions-version-prerequisites
      path: /v1/features/{id}/revisions/{version}/prerequisites
      operations:
      - name: putfeaturerevisionprerequisites
        method: PUT
        description: Set feature-level prerequisites in a draft revision
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: version
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-features-id-revisions-version-publish
      path: /v1/features/{id}/revisions/{version}/publish
      operations:
      - name: postfeaturerevisionpublish
        method: POST
        description: Publish a draft revision
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-features-id-revisions-version-rebase
      path: /v1/features/{id}/revisions/{version}/rebase
      operations:
      - name: postfeaturerevisionrebase
        method: POST
        description: Rebase a draft revision onto the current live version
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-features-id-revisions-version-request-review
      path: /v1/features/{id}/revisions/{version}/request-review
      operations:
      - name: postfeaturerevisionrequestreview
        method: POST
        description: Request review for a draft revision
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-features-id-revisions-version-revert
      path: /v1/features/{id}/revisions/{version}/revert
      operations:
      - name: postfeaturerevisionrevert
        method: POST
        description: Revert the feature to a prior revision
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-features-id-revisions-version-rules
      path: /v1/features/{id}/revisions/{version}/rules
      operations:
      - name: postfeaturerevisionruleadd
        method: POST
        description: Add a rule to a draft revision
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: version
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-features-id-revisions-version-rules-reorder
      path: /v1/features/{id}/revisions/{version}/rules/reorder
      operations:
      - name: postfeaturerevisionrulesreorder
        method: POST
        description: Reorder rules in an environment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: version
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-features-id-revisions-version-rules-ruleId
      path: /v1/features/{id}/revisions/{version}/rules/{ruleId}
      operations:
      - name: putfeaturerevisionrule
        method: PUT
        description: Update a rule in a draft revision
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: version
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletefeaturerevisionrule
        method: DELETE
        description: Delete a rule from a draft revision
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: version
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-features-id-revisions-version-rules-ruleId-ramp-schedule
      path: /v1/features/{id}/revisions/{version}/rules/{ruleId}/ramp-schedule
      operations:
      - name: putfeaturerevisionrulerampschedule
        method: PUT
        description: Set ramp schedule for a rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: version
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletefeaturerevisionrulerampschedule
        method: DELETE
        description: Remove ramp schedule from a rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: version
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-features-id-revisions-version-submit-review
      path: /v1/features/{id}/revisions/{version}/submit-review
      operations:
      - name: postfeaturerevisionsubmitreview
        method: POST
        description: Submit a review on a draft revision
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-features-id-revisions-version-toggle
      path: /v1/features/{id}/revisions/{version}/toggle
      operations:
      - name: postfeaturerevisiontoggle
        method: POST
        description: Toggle an environment on/off in a draft revision
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: version
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-revisions
      path: /v1/revisions
      operations:
      - name: listrevisions
        method: GET
        description: List feature revisions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      token: '{{env.GROWTHBOOK_API_KEY}}'
  exposes:
  - type: rest
    namespace: growthbook-feature-revisions-rest
    port: 8080
    description: REST adapter for GrowthBook REST API — feature-revisions. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/v1/features/{id}/revisions
      name: v1-features-id-revisions
      description: REST surface for v1-features-id-revisions.
      operations:
      - method: GET
        name: getfeaturerevisions
        description: List revisions for a feature
        call: growthbook-feature-revisions.getfeaturerevisions
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postfeaturerevision
        description: Create a draft revision
        call: growthbook-feature-revisions.postfeaturerevision
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/features/{id}/revisions/latest
      name: v1-features-id-revisions-latest
      description: REST surface for v1-features-id-revisions-latest.
      operations:
      - method: GET
        name: getfeaturerevisionlatest
        description: Get the most recent active draft revision
        call: growthbook-feature-revisions.getfeaturerevisionlatest
        with:
          id: rest.id
          mine: rest.mine
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/features/{id}/revisions/{version}
      name: v1-features-id-revisions-version
      description: REST surface for v1-features-id-revisions-version.
      operations:
      - method: GET
        name: getfeaturerevision
        description: Get a single feature revision
        call: growthbook-feature-revisions.getfeaturerevision
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/features/{id}/revisions/{version}/archive
      name: v1-features-id-revisions-version-archive
      description: REST surface for v1-features-id-revisions-version-archive.
      operations:
      - method: PUT
        name: putfeaturerevisionarchive
        description: Set archived state in a draft revision
        call: growthbook-feature-revisions.putfeaturerevisionarchive
        with:
          id: rest.id
          version: rest.version
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/features/{id}/revisions/{version}/default-value
      name: v1-features-id-revisions-version-default-value
      description: REST surface for v1-features-id-revisions-version-default-value.
      operations:
      - method: PUT
        name: putfeaturerevisiondefaultvalue
        description: Set the default value in a draft revision
        call: growthbook-feature-revisions.putfeaturerevisiondefaultvalue
        with:
          id: rest.id
          version: rest.version
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/features/{id}/revisions/{version}/discard
      name: v1-features-id-revisions-version-discard
      description: REST surface for v1-features-id-revisions-version-discard.
      operations:
      - method: POST
        name: postfeaturerevisiondiscard
        description: Discard a draft revision
        call: growthbook-feature-revisions.postfeaturerevisiondiscard
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/features/{id}/revisions/{version}/holdout
      name: v1-features-id-revisions-version-holdout
      description: REST surface for v1-features-id-revisions-version-holdout.
      operations:
      - method: PUT
        name: putfeaturerevisionholdout
        description: Set holdout in a draft revision
        call: growthbook-feature-revisions.putfeaturerevisionholdout
        with:
          id: rest.id
          version: rest.version
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/features/{id}/revisions/{version}/merge-status
      name: v1-features-id-revisions-version-merge-status
      description: REST surface for v1-features-id-revisions-version-merge-status.
      operations:
      - method: GET
        name: getfeaturerevisionmergestatus
        description: Get merge status for a draft revision
        call: growthbook-feature-revisions.getfeaturerevisionmergestatus
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/features/{id}/revisions/{version}/metadata
      name: v1-features-id-revisions-version-metadata
      description: REST surface for v1-features-id-revisions-version-metadata.
      operations:
      - method: PUT
        name: putfeaturerevisionmetadata
        description: Update revision metadata (comment, title, feature metadata)
        call: growthbook-feature-revisions.putfeaturerevisionmetadata
        with:
          id: rest.id
          version: rest.version
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/features/{id}/revisions/{version}/prerequisites
      name: v1-features-id-revisions-version-prerequisites
      description: REST surface for v1-features-id-revisions-version-prerequisites.
      operations:
      - method: PUT
        name: putfeaturerevisionprerequisites
        description: Set feature-level prerequisites in a draft revision
        call: growthbook-feature-revisions.putfeaturerevisionprerequisites
        with:
          id: rest.id
          version: rest.version
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/features/{id}/revisions/{version}/publish
      name: v1-features-id-revisions-version-publish
      description: REST surface for v1-features-id-revisions-version-publish.
      operations:
      - method: POST
        name: postfeaturerevisionpublish
        description: Publish a draft revision
        call: growthbook-feature-revisions.postfeaturerevisionpublish
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/features/{id}/revisions/{version}/rebase
      name: v1-features-id-revisions-version-rebase
      description: REST surface for v1-features-id-revisions-version-rebase.
      operations:
      - method: POST
        name: postfeaturerevisionrebase
        description: Rebase a draft revision onto the current live version
        call: growthbook-feature-revisions.postfeaturerevisionrebase
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/features/{id}/revisions/{version}/request-review
      name: v1-features-id-revisions-version-request-review
      description: REST surface for v1-features-id-revisions-version-request-review.
      operations:
      - method: POST
        name: postfeaturerevisionrequestreview
        description: Request review for a draft revision
        call: growthbook-feature-revisions.postfeaturerevisionrequestreview
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/features/{id}/revisions/{version}/revert
      name: v1-features-id-revisions-version-revert
      description: REST surface for v1-features-id-revisions-version-revert.
      operations:
      - method: POST
        name: postfeaturerevisionrevert
        description: Revert the feature to a prior revision
        call: growthbook-feature-revisions.postfeaturerevisionrevert
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/features/{id}/revisions/{version}/rules
      name: v1-features-id-revisions-version-rules
      description: REST surface for v1-features-id-revisions-version-rules.
      operations:
      - method: POST
        name: postfeaturerevisionruleadd
        description: Add a rule to a draft revision
        call: growthbook-feature-revisions.postfeaturerevisionruleadd
        with:
          id: rest.id
          version: rest.version
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/features/{id}/revisions/{version}/rules/reorder
      name: v1-features-id-revisions-version-rules-reorder
      description: REST surface for v1-features-id-revisions-version-rules-reorder.
      operations:
      - method: POST
        name: postfeaturerevisionrulesreorder
        description: Reorder rules in an environment
        call: growthbook-feature-revisions.postfeaturerevisionrulesreorder
        with:
          id: rest.id
          version: rest.version
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/features/{id}/revisions/{version}/rules/{ruleid}
      name: v1-features-id-revisions-version-rules-ruleid
      description: REST surface for v1-features-id-revisions-version-rules-ruleId.
      operations:
      - method: PUT
        name: putfeaturerevisionrule
        description: Update a rule in a draft revision
        call: growthbook-feature-revisions.putfeaturerevisionrule
        with:
          id: rest.id
          version: rest.version
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletefeaturerevisionrule
        description: Delete a rule from a draft revision
        call: growthbook-feature-revisions.deletefeaturerevisionrule
        with:
          id: rest.id
          version: rest.version
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/features/{id}/revisions/{version}/rules/{ruleid}/ramp-schedule
      name: v1-features-id-revisions-version-rules-ruleid-ramp-schedule
      description: REST surface for v1-features-id-revisions-version-rules-ruleId-ramp-schedule.
      operations:
      - method: PUT
        name: putfeaturerevisionrulerampschedule
        description: Set ramp schedule for a rule
        call: growthbook-feature-revisions.putfeaturerevisionrulerampschedule
        with:
          id: rest.id
          version: rest.version
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletefeaturerevisionrulerampschedule
        description: Remove ramp schedule from a rule
        call: growthbook-feature-revisions.deletefeaturerevisionrulerampschedule
        with:
          id: rest.id
          version: rest.version
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/features/{id}/revisions/{version}/submit-review
      name: v1-features-id-revisions-version-submit-review
      description: REST surface for v1-features-id-revisions-version-submit-review.
      operations:
      - method: POST
        name: postfeaturerevisionsubmitreview
        description: Submit a review on a draft revision
        call: growthbook-feature-revisions.postfeaturerevisionsubmitreview
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/features/{id}/revisions/{version}/toggle
      name: v1-features-id-revisions-version-toggle
      description: REST surface for v1-features-id-revisions-version-toggle.
      operations:
      - method: POST
        name: postfeaturerevisiontoggle
        description: Toggle an environment on/off in a draft revision
        call: growthbook-feature-revisions.postfeaturerevisiontoggle
        with:
          id: rest.id
          version: rest.version
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/revisions
      name: v1-revisions
      description: REST surface for v1-revisions.
      operations:
      - method: GET
        name: listrevisions
        description: List feature revisions
        call: growthbook-feature-revisions.listrevisions
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: growthbook-feature-revisions-mcp
    port: 9090
    transport: http
    description: MCP adapter for GrowthBook REST API — feature-revisions. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: list-revisions-feature
      description: List revisions for a feature
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: growthbook-feature-revisions.getfeaturerevisions
      outputParameters:
      - type: object
        mapping: $.
    - name: create-draft-revision
      description: Create a draft revision
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: growthbook-feature-revisions.postfeaturerevision
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-most-recent-active-draft
      description: Get the most recent active draft revision
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: growthbook-feature-revisions.getfeaturerevisionlatest
      with:
        id: tools.id
        mine: tools.mine
      outputParameters:
      - type: object
        mapping: $.
    - name: get-single-feature-revision
      description: Get a single feature revision
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: growthbook-feature-revisions.getfeaturerevision
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: set-archived-state-draft-revision
      description: Set archived state in a draft revision
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: growthbook-feature-revisions.putfeaturerevisionarchive
      with:
        id: tools.id
        version: tools.version
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: set-default-value-draft-revision
      description: Set the default value in a draft revision
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: growthbook-feature-revisions.putfeaturerevisiondefaultvalue
      with:
        id: tools.id
        version: tools.version
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: discard-draft-revision
      description: Discard a draft revision
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: growthbook-feature-revisions.postfeaturerevisiondiscard
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: set-holdout-draft-revision
      description: Set holdout in a draft revision
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: growthbook-feature-revisions.putfeaturerevisionholdout
      with:
        id: tools.id
        version: tools.version
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-merge-status-draft-revision
      description: Get merge status for a draft revision
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: growthbook-feature-revisions.getfeaturerevisionmergestatus
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-revision-metadata-comment-title
      description: Update revision metadata (comment, title, feature metadata)
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: growthbook-feature-revisions.putfeaturerevisionmetadata
      with:
        id: tools.id
        version: tools.version
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: set-feature-level-prerequisites-draft
      description: Set feature-level prerequisites in a draft revision
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: growthbook-feature-revisions.putfeaturerevisionprerequisites
      with:
        id: tools.id
        version: tools.version
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: publish-draft-revision
      description: Publish a draft revision
      hints:
        readOnly: false
        destructive: false
        idempotent: false

# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/growthbook/refs/heads/main/capabilities/growthbook-feature-revisions.yaml