Gremlin · Capability

Gremlin API — scenarios

Gremlin API — scenarios. 30 operations. Lead operation: List all runnable scenarios.. Self-contained Naftiko capability covering one Gremlin business surface.

Run with Naftiko Gremlinscenarios

What You Can Do

GET
Getrunnable — List all runnable scenarios.
/v1/scenarios
POST
Createnewscenario — Create a new scenario.
/v1/scenarios
GET
Getactive1 — List all active scenarios.
/v1/scenarios/active
GET
Getactiveruns — List all active scenarios.
/v1/scenarios/active-runs
GET
Getpaginatedactiveruns — Get a team's active FI scenario runs ordered by start time desc.
/v1/scenarios/active/paged
GET
Getarchived — List all archived scenarios.
/v1/scenarios/archived
GET
Getpaginatedcompletedscenarioruns — Get a team's completed FI scenario runs ordered by start time desc.
/v1/scenarios/completed/paged
GET
Getdrafts — List all draft scenarios.
/v1/scenarios/drafts
POST
Haltaspost2 — Idempotently halt all scenario runs and active attacks.
/v1/scenarios/halt
POST
Haltaspost3 — Idempotently halt the specified scenario run.
/v1/scenarios/halt/{guid}/runs/{runnumber}
GET
Getallrunsforteam — List all scenario runs for your team.
/v1/scenarios/runs
GET
Getscenariossharedwithteam — Get all scenarios shared with this team.
/v1/scenarios/shared
POST
Createnewsharedscenario — Create new shared scenarios.
/v1/scenarios/shared
GET
Getsharedscenario — Get details on a shared scenarios.
/v1/scenarios/shared/{guid}
DELETE
Unsharescenario — Unshare a company shared scenario.
/v1/scenarios/shared/{guid}
GET
Getscenario — Get details about a scenario.
/v1/scenarios/{guid}
PUT
Updatescenario — Update a scenario
/v1/scenarios/{guid}
DELETE
Delete4 — Delete a scenario.
/v1/scenarios/{guid}
POST
Archive — Archive a scenario.
/v1/scenarios/{guid}/archive
POST
Restore — Restore an archived scenario.
/v1/scenarios/{guid}/restore
GET
Getruns — List all runs for a scenario.
/v1/scenarios/{guid}/runs
POST
Runscenario — Run a scenario.
/v1/scenarios/{guid}/runs
GET
Getrunspaged — Paged list runs for a scenario. Scenarios are monotonically increasing and use their run number as the pagination key
/v1/scenarios/{guid}/runs/paged
GET
Getscenariorun — Get details about a scenario run.
/v1/scenarios/{guid}/runs/{runnumber}
PUT
Setscenariorunresultflags — This functionality has been replaced by PUT /{guid}/runs/{runNumber}/results.
/v1/scenarios/{guid}/runs/{runnumber}/resultflags
PUT
Setscenariorunresultnotes — Update the result notes of a scenario run.
/v1/scenarios/{guid}/runs/{runnumber}/resultnotes
PUT
Setscenariorunresults — Update the results of a scenario run.
/v1/scenarios/{guid}/runs/{runnumber}/results
GET
Getscenarioschedules — Get all schedules for a scenario.
/v1/scenarios/{guid}/schedules
DELETE
Deleteimage — Deletes a given images associated with a given scenario
/v1/scenarios/{scenarioid}/runs/{runnumber}/images/{imagename}
PATCH
Addimage — Uploads an image to a given scenario
/v1/scenarios/{scenarioid}/runs/{runnumber}/images/{imagename}

MCP Tools

list-all-runnable-scenarios

List all runnable scenarios.

read-only idempotent
create-new-scenario

Create a new scenario.

list-all-active-scenarios

List all active scenarios.

read-only idempotent
list-all-active-scenarios-2

List all active scenarios.

read-only idempotent
get-team-s-active-fi-scenario

Get a team's active FI scenario runs ordered by start time desc.

read-only idempotent
list-all-archived-scenarios

List all archived scenarios.

read-only idempotent
get-team-s-completed-fi-scenario

Get a team's completed FI scenario runs ordered by start time desc.

read-only idempotent
list-all-draft-scenarios

List all draft scenarios.

read-only idempotent
idempotently-halt-all-scenario-runs

Idempotently halt all scenario runs and active attacks.

idempotently-halt-specified-scenario-run

Idempotently halt the specified scenario run.

list-all-scenario-runs-your

List all scenario runs for your team.

read-only idempotent
get-all-scenarios-shared-this

Get all scenarios shared with this team.

read-only idempotent
create-new-shared-scenarios

Create new shared scenarios.

get-details-shared-scenarios

Get details on a shared scenarios.

read-only idempotent
unshare-company-shared-scenario

Unshare a company shared scenario.

idempotent
get-details-about-scenario

Get details about a scenario.

read-only idempotent
update-scenario

Update a scenario

idempotent
delete-scenario

Delete a scenario.

idempotent
archive-scenario

Archive a scenario.

restore-archived-scenario

Restore an archived scenario.

list-all-runs-scenario

List all runs for a scenario.

read-only idempotent
run-scenario

Run a scenario.

paged-list-runs-scenario-scenarios

Paged list runs for a scenario. Scenarios are monotonically increasing and use their run number as the pagination key

read-only idempotent
get-details-about-scenario-run

Get details about a scenario run.

read-only idempotent
this-functionality-has-been-replaced

This functionality has been replaced by PUT /{guid}/runs/{runNumber}/results.

idempotent
update-result-notes-scenario-run

Update the result notes of a scenario run.

idempotent
update-results-scenario-run

Update the results of a scenario run.

idempotent
get-all-schedules-scenario

Get all schedules for a scenario.

read-only idempotent
deletes-given-images-associated-given

Deletes a given images associated with a given scenario

idempotent
uploads-image-given-scenario

Uploads an image to a given scenario

idempotent

Capability Spec

gremlin-scenarios.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Gremlin API — scenarios
  description: 'Gremlin API — scenarios. 30 operations. Lead operation: List all runnable scenarios.. Self-contained Naftiko
    capability covering one Gremlin business surface.'
  tags:
  - Gremlin
  - scenarios
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GREMLIN_API_KEY: GREMLIN_API_KEY
capability:
  consumes:
  - type: http
    namespace: gremlin-scenarios
    baseUri: https://api.gremlin.com/v1
    description: Gremlin API — scenarios business capability. Self-contained, no shared references.
    resources:
    - name: scenarios
      path: /scenarios
      operations:
      - name: getrunnable
        method: GET
        description: List all runnable scenarios.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
      - name: createnewscenario
        method: POST
        description: Create a new scenario.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: scenarios-active
      path: /scenarios/active
      operations:
      - name: getactive1
        method: GET
        description: List all active scenarios.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
    - name: scenarios-active-runs
      path: /scenarios/active-runs
      operations:
      - name: getactiveruns
        method: GET
        description: List all active scenarios.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
    - name: scenarios-active-paged
      path: /scenarios/active/paged
      operations:
      - name: getpaginatedactiveruns
        method: GET
        description: Get a team's active FI scenario runs ordered by start time desc.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: pageSize
          in: query
          type: integer
          description: This value determines how many results will be returned per call.
        - name: pageToken
          in: query
          type: string
          description: Pass the pageToken to get the next page of active FI scenario runs
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
    - name: scenarios-archived
      path: /scenarios/archived
      operations:
      - name: getarchived
        method: GET
        description: List all archived scenarios.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
    - name: scenarios-completed-paged
      path: /scenarios/completed/paged
      operations:
      - name: getpaginatedcompletedscenarioruns
        method: GET
        description: Get a team's completed FI scenario runs ordered by start time desc.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: pageSize
          in: query
          type: integer
          description: This value determines how many results will be returned per call.
        - name: pageToken
          in: query
          type: string
          description: Pass the pageToken to get the next page of completed reliability test runs
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
    - name: scenarios-drafts
      path: /scenarios/drafts
      operations:
      - name: getdrafts
        method: GET
        description: List all draft scenarios.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
    - name: scenarios-halt
      path: /scenarios/halt
      operations:
      - name: haltaspost2
        method: POST
        description: Idempotently halt all scenario runs and active attacks.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: teamId
          in: query
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: scenarios-halt-guid-runs-runNumber
      path: /scenarios/halt/{guid}/runs/{runNumber}
      operations:
      - name: haltaspost3
        method: POST
        description: Idempotently halt the specified scenario run.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: guid
          in: path
          type: string
          description: This value represents the globally unique identifier of the record to fetch.
          required: true
        - name: runNumber
          in: path
          type: integer
          required: true
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: scenarios-runs
      path: /scenarios/runs
      operations:
      - name: getallrunsforteam
        method: GET
        description: List all scenario runs for your team.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: state
          in: query
          type: string
        - name: includeArchived
          in: query
          type: string
        - name: startDate
          in: query
          type: string
        - name: endDate
          in: query
          type: string
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
    - name: scenarios-shared
      path: /scenarios/shared
      operations:
      - name: getscenariossharedwithteam
        method: GET
        description: Get all scenarios shared with this team.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
      - name: createnewsharedscenario
        method: POST
        description: Create new shared scenarios.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: scenarios-shared-guid
      path: /scenarios/shared/{guid}
      operations:
      - name: getsharedscenario
        method: GET
        description: Get details on a shared scenarios.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: guid
          in: path
          type: string
          description: This value represents the globally unique identifier of the record to fetch.
          required: true
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
      - name: unsharescenario
        method: DELETE
        description: Unshare a company shared scenario.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: guid
          in: path
          type: string
          description: This value represents the globally unique identifier of the record to fetch.
          required: true
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
    - name: scenarios-guid
      path: /scenarios/{guid}
      operations:
      - name: getscenario
        method: GET
        description: Get details about a scenario.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: guid
          in: path
          type: string
          description: This value represents the globally unique identifier of the record to fetch.
          required: true
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
      - name: updatescenario
        method: PUT
        description: Update a scenario
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: guid
          in: path
          type: string
          description: This value represents the globally unique identifier of the record to fetch.
          required: true
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: delete4
        method: DELETE
        description: Delete a scenario.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: guid
          in: path
          type: string
          description: This value represents the globally unique identifier of the record to fetch.
          required: true
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
    - name: scenarios-guid-archive
      path: /scenarios/{guid}/archive
      operations:
      - name: archive
        method: POST
        description: Archive a scenario.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: guid
          in: path
          type: string
          description: This value represents the globally unique identifier of the record to fetch.
          required: true
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
    - name: scenarios-guid-restore
      path: /scenarios/{guid}/restore
      operations:
      - name: restore
        method: POST
        description: Restore an archived scenario.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: guid
          in: path
          type: string
          description: This value represents the globally unique identifier of the record to fetch.
          required: true
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
    - name: scenarios-guid-runs
      path: /scenarios/{guid}/runs
      operations:
      - name: getruns
        method: GET
        description: List all runs for a scenario.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: guid
          in: path
          type: string
          description: This value represents the globally unique identifier of the record to fetch.
          required: true
        - name: startDate
          in: query
          type: string
        - name: endDate
          in: query
          type: string
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
      - name: runscenario
        method: POST
        description: Run a scenario.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: guid
          in: path
          type: string
          description: This value represents the globally unique identifier of the record to fetch.
          required: true
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: scenarios-guid-runs-paged
      path: /scenarios/{guid}/runs/paged
      operations:
      - name: getrunspaged
        method: GET
        description: Paged list runs for a scenario.  Scenarios are monotonically increasing and use their run number as the
          pagination key
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: guid
          in: path
          type: string
          description: This value represents the globally unique identifier of the record to fetch.
          required: true
        - name: runNumber
          in: query
          type: integer
        - name: limit
          in: query
          type: integer
        - name: forward
          in: query
          type: boolean
          description: Used to indicate querying forward or backwards from the supplied runNumber (defaults to forward)
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
    - name: scenarios-guid-runs-runNumber
      path: /scenarios/{guid}/runs/{runNumber}
      operations:
      - name: getscenariorun
        method: GET
        description: Get details about a scenario run.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: guid
          in: path
          type: string
          description: This value represents the globally unique identifier of the record to fetch.
          required: true
        - name: runNumber
          in: path
          type: integer
          required: true
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
    - name: scenarios-guid-runs-runNumber-resultFlags
      path: /scenarios/{guid}/runs/{runNumber}/resultFlags
      operations:
      - name: setscenariorunresultflags
        method: PUT
        description: This functionality has been replaced by PUT /{guid}/runs/{runNumber}/results.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: guid
          in: path
          type: string
          description: This value represents the globally unique identifier of the record to fetch.
          required: true
        - name: runNumber
          in: path
          type: integer
          required: true
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: scenarios-guid-runs-runNumber-resultNotes
      path: /scenarios/{guid}/runs/{runNumber}/resultNotes
      operations:
      - name: setscenariorunresultnotes
        method: PUT
        description: Update the result notes of a scenario run.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: guid
          in: path
          type: string
          description: This value represents the globally unique identifier of the record to fetch.
          required: true
        - name: runNumber
          in: path
          type: integer
          required: true
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: scenarios-guid-runs-runNumber-results
      path: /scenarios/{guid}/runs/{runNumber}/results
      operations:
      - name: setscenariorunresults
        method: PUT
        description: Update the results of a scenario run.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: guid
          in: path
          type: string
          description: This value represents the globally unique identifier of the record to fetch.
          required: true
        - name: runNumber
          in: path
          type: integer
          required: true
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: scenarios-guid-schedules
      path: /scenarios/{guid}/schedules
      operations:
      - name: getscenarioschedules
        method: GET
        description: Get all schedules for a scenario.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: guid
          in: path
          type: string
          description: This value represents the globally unique identifier of the record to fetch.
          required: true
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
    - name: scenarios-scenarioId-runs-runNumber-images-imageName
      path: /scenarios/{scenarioId}/runs/{runNumber}/images/{imageName}
      operations:
      - name: deleteimage
        method: DELETE
        description: Deletes a given images associated with a given scenario
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: imageName
          in: path
          type: string
          required: true
        - name: scenarioId
          in: path
          type: string
          required: true
        - name: runNumber
          in: path
          type: integer
          required: true
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
      - name: addimage
        method: PATCH
        description: Uploads an image to a given scenario
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: imageName
          in: path
          type: string
          required: true
        - name: scenarioId
          in: path
          type: string
          required: true
        - name: runNumber
          in: path
          type: integer
          required: true
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
  exposes:
  - type: rest
    namespace: gremlin-scenarios-rest
    port: 8080
    description: REST adapter for Gremlin API — scenarios. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/scenarios
      name: scenarios
      description: REST surface for scenarios.
      operations:
      - method: GET
        name: getrunnable
        description: List all runnable scenarios.
        call: gremlin-scenarios.getrunnable
        with:
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createnewscenario
        description: Create a new scenario.
        call: gremlin-scenarios.createnewscenario
        with:
          teamId: rest.teamId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scenarios/active
      name: scenarios-active
      description: REST surface for scenarios-active.
      operations:
      - method: GET
        name: getactive1
        description: List all active scenarios.
        call: gremlin-scenarios.getactive1
        with:
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scenarios/active-runs
      name: scenarios-active-runs
      description: REST surface for scenarios-active-runs.
      operations:
      - method: GET
        name: getactiveruns
        description: List all active scenarios.
        call: gremlin-scenarios.getactiveruns
        with:
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scenarios/active/paged
      name: scenarios-active-paged
      description: REST surface for scenarios-active-paged.
      operations:
      - method: GET
        name: getpaginatedactiveruns
        description: Get a team's active FI scenario runs ordered by start time desc.
        call: gremlin-scenarios.getpaginatedactiveruns
        with:
          pageSize: rest.pageSize
          pageToken: rest.pageToken
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scenarios/archived
      name: scenarios-archived
      description: REST surface for scenarios-archived.
      operations:
      - method: GET
        name: getarchived
        description: List all archived scenarios.
        call: gremlin-scenarios.getarchived
        with:
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scenarios/completed/paged
      name: scenarios-completed-paged
      description: REST surface for scenarios-completed-paged.
      operations:
      - method: GET
        name: getpaginatedcompletedscenarioruns
        description: Get a team's completed FI scenario runs ordered by start time desc.
        call: gremlin-scenarios.getpaginatedcompletedscenarioruns
        with:
          pageSize: rest.pageSize
          pageToken: rest.pageToken
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scenarios/drafts
      name: scenarios-drafts
      description: REST surface for scenarios-drafts.
      operations:
      - method: GET
        name: getdrafts
        description: List all draft scenarios.
        call: gremlin-scenarios.getdrafts
        with:
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scenarios/halt
      name: scenarios-halt
      description: REST surface for scenarios-halt.
      operations:
      - method: POST
        name: haltaspost2
        description: Idempotently halt all scenario runs and active attacks.
        call: gremlin-scenarios.haltaspost2
        with:
          teamId: rest.teamId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scenarios/halt/{guid}/runs/{runnumber}
      name: scenarios-halt-guid-runs-runnumber
      description: REST surface for scenarios-halt-guid-runs-runNumber.
      operations:
      - method: POST
        name: haltaspost3
        description: Idempotently halt the specified scenario run.
        call: gremlin-scenarios.haltaspost3
        with:
          guid: rest.guid
          runNumber: rest.runNumber
          teamId: rest.teamId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scenarios/runs
      name: scenarios-runs
      description: REST surface for scenarios-runs.
      operations:
      - method: GET
        name: getallrunsforteam
        description: List all scenario runs for your team.
        call: gremlin-scenarios.getallrunsforteam
        with:
          state: rest.state
          includeArchived: rest.includeArchived
          startDate: rest.startDate
          endDate: rest.endDate
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scenarios/shared
      name: scenarios-shared
      description: REST surface for scenarios-shared.
      operations:
      - method: GET
        name: getscenariossharedwithteam
        description: Get all scenarios shared with this team.
        call: gremlin-scenarios.getscenariossharedwithteam
        with:
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createnewsharedscenario
        description: Create new shared scenarios.
        call: gremlin-scenarios.createnewsharedscenario
        with:
          teamId: rest.teamId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scenarios/shared/{guid}
      name: scenarios-shared-guid
      description: REST surface for scenarios-shared-guid.
      operations:
      - method: GET
        name: getsharedscenario
        description: Get details on a shared scenarios.
        call: gremlin-scenarios.getsharedscenario
        with:
          guid: rest.guid
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: unsharescenario
        description: Unshare a company shared scenario.
        call: gremlin-scenarios.unsharescenario
        with:
          guid: rest.guid
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scenarios/{guid}
      name: scenarios-guid
      description: REST surface for scenarios-guid.
      operations:
      - method: GET
        name: getscenario
        description: Get details about a scenario.
        call: gremlin-scenarios.getscenario
        with:
          guid: rest.guid
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatescenario
        description: Update a scenario
        call: gremlin-scenarios.updatescenario
        with:
          guid: rest.guid
          teamId: rest.teamId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: delete4
        description: Delete a scenario.
        call: gremlin-scenarios.delete4
        with:
          guid: rest.guid
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scenarios/{guid}/archive
      name: scenarios-guid-archive
      description: REST surface for scenarios-guid-archive.
      operations:
      - method: POST
        name: archive
        description: Archive a scenario.
        call: gremlin-scenarios.archive
        with:
          guid: rest.guid
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scenarios/{guid}/restore
      name: scenarios-guid-restore
      description: REST surface for scenarios-guid-restore.
      operations:
      - method: POST
        name: restore
        description: Restore an archived scenario.
        call: gremlin-scenarios.restore
        with:
          guid: rest.guid
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scenarios/{guid}/runs
      name: scenarios-guid-runs
      description: REST surface for scenarios-guid-runs.
      operations:
      - method: GET
        name: getruns
        description: List all runs for a scenario.
        call: gremlin-scenarios.getruns
        with:
          guid: rest.guid
          startDate: rest.startDate
          endDate: rest.endDate
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: runscenario
        description: Run a scenario.
        call: gremlin-scenarios.runscenario
        with:
          guid: rest.guid
          teamId: rest.teamId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scenarios/{guid}/runs/paged
      name: scenarios-guid-runs-paged
      description: REST surface for scenarios-guid-runs-paged.
      operations:
      - method: GET
        name: getrunspaged
        description: Paged list runs for a scenario.  Scenarios are monotonically increasing and use their run number as the
          pagination key
        call: gremlin-scenarios.getrunspaged
        with:
          guid: rest.guid
          runNumber: rest.runNumber
          limit: rest.limit
          forward: rest.forward
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scenarios/{guid}/runs/{runnumber}
      name: scenarios-guid-runs-runnumber
      description: REST surface for scenarios-guid-runs-runNumber.
      operations:
      - method: GET
        name: getscenariorun
        description: Get details about a scenario run.
        call: gremlin-scenarios.getscenariorun
        with:
          guid: rest.guid
          runNumber: rest.runNumber
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scenarios/{guid}/runs/{runnumber}/resultflags
      name: scenarios-guid-runs-runnumber-resultflags
      description: REST surface for scenarios-guid-runs-runNumber-resultFlags.
      operations:
      - method: PUT
        name: setscenariorunresultflags
        description: This functionality has been replaced by PUT /{guid}/runs/{runNumber}/results.
        call: gremlin-scenarios.setscenariorunresultflags
        with:
          guid: rest.guid
          runNumber: rest.runNumber
      

# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gremlin/refs/heads/main/capabilities/gremlin-scenarios.yaml