Gremlin · Capability

Gremlin API — disaster-recovery-tests

Gremlin API — disaster-recovery-tests. 10 operations. Lead operation: Creates a disaster recovery test for a company. Self-contained Naftiko capability covering one Gremlin business surface.

Run with Naftiko Gremlindisaster-recovery-tests

What You Can Do

POST
Createlargescaletest — Creates a disaster recovery test for a company
/v1/disaster-recovery-tests
GET
Getactivelargescaletests — Gets all active disaster recovery tests for a company
/v1/disaster-recovery-tests/active
GET
Getdraftlargescaletests — Gets all draft disaster recovery tests for a company
/v1/disaster-recovery-tests/draft
GET
Getlargescaletest1 — Gets a disaster recovery test, complete with service details
/v1/disaster-recovery-tests/{identifier}
PUT
Updatelargescaletest — Updates a disaster recovery test for a company
/v1/disaster-recovery-tests/{identifier}
DELETE
Deletelargescaletest — Submits a task to delete a disaster recovery test for a company
/v1/disaster-recovery-tests/{identifier}
POST
Completelargescaletest — Marks a disaster recovery test for a company as completed, generating a report
/v1/disaster-recovery-tests/{identifier}/complete
POST
Haltallserviceruns — Halts all active scenario runs for all services for the disaster recovery test
/v1/disaster-recovery-tests/{identifier}/halt-all
POST
Runtestforsingleservice — Creates a scenario run for the specified service as part of the disaster recovery test
/v1/disaster-recovery-tests/{identifier}/run
POST
Runtestforallservices — Creates scenario runs for all eligible services for the disaster recovery test
/v1/disaster-recovery-tests/{identifier}/run-all

MCP Tools

creates-disaster-recovery-test-company

Creates a disaster recovery test for a company

read-only
gets-all-active-disaster-recovery

Gets all active disaster recovery tests for a company

read-only idempotent
gets-all-draft-disaster-recovery

Gets all draft disaster recovery tests for a company

read-only idempotent
gets-disaster-recovery-test-complete

Gets a disaster recovery test, complete with service details

read-only idempotent
updates-disaster-recovery-test-company

Updates a disaster recovery test for a company

idempotent
submits-task-delete-disaster-recovery

Submits a task to delete a disaster recovery test for a company

idempotent
marks-disaster-recovery-test-company

Marks a disaster recovery test for a company as completed, generating a report

read-only
halts-all-active-scenario-runs

Halts all active scenario runs for all services for the disaster recovery test

creates-scenario-run-specified-service

Creates a scenario run for the specified service as part of the disaster recovery test

creates-scenario-runs-all-eligible

Creates scenario runs for all eligible services for the disaster recovery test

Capability Spec

gremlin-disaster-recovery-tests.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Gremlin API — disaster-recovery-tests
  description: 'Gremlin API — disaster-recovery-tests. 10 operations. Lead operation: Creates a disaster recovery test for
    a company. Self-contained Naftiko capability covering one Gremlin business surface.'
  tags:
  - Gremlin
  - disaster-recovery-tests
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GREMLIN_API_KEY: GREMLIN_API_KEY
capability:
  consumes:
  - type: http
    namespace: gremlin-disaster-recovery-tests
    baseUri: https://api.gremlin.com/v1
    description: Gremlin API — disaster-recovery-tests business capability. Self-contained, no shared references.
    resources:
    - name: disaster-recovery-tests
      path: /disaster-recovery-tests
      operations:
      - name: createlargescaletest
        method: POST
        description: Creates a disaster recovery test for a company
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: disaster-recovery-tests-active
      path: /disaster-recovery-tests/active
      operations:
      - name: getactivelargescaletests
        method: GET
        description: Gets all active disaster recovery tests for a company
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: disaster-recovery-tests-draft
      path: /disaster-recovery-tests/draft
      operations:
      - name: getdraftlargescaletests
        method: GET
        description: Gets all draft disaster recovery tests for a company
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: disaster-recovery-tests-identifier
      path: /disaster-recovery-tests/{identifier}
      operations:
      - name: getlargescaletest1
        method: GET
        description: Gets a disaster recovery test, complete with service details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: identifier
          in: path
          type: string
          required: true
      - name: updatelargescaletest
        method: PUT
        description: Updates a disaster recovery test for a company
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: identifier
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletelargescaletest
        method: DELETE
        description: Submits a task to delete a disaster recovery test for a company
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: identifier
          in: path
          type: string
          required: true
    - name: disaster-recovery-tests-identifier-complete
      path: /disaster-recovery-tests/{identifier}/complete
      operations:
      - name: completelargescaletest
        method: POST
        description: Marks a disaster recovery test for a company as completed, generating a report
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: identifier
          in: path
          type: string
          required: true
    - name: disaster-recovery-tests-identifier-halt-all
      path: /disaster-recovery-tests/{identifier}/halt-all
      operations:
      - name: haltallserviceruns
        method: POST
        description: Halts all active scenario runs for all services for the disaster recovery test
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: identifier
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: disaster-recovery-tests-identifier-run
      path: /disaster-recovery-tests/{identifier}/run
      operations:
      - name: runtestforsingleservice
        method: POST
        description: Creates a scenario run for the specified service as part of the disaster recovery test
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: identifier
          in: path
          type: string
          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: disaster-recovery-tests-identifier-run-all
      path: /disaster-recovery-tests/{identifier}/run-all
      operations:
      - name: runtestforallservices
        method: POST
        description: Creates scenario runs for all eligible services for the disaster recovery test
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: identifier
          in: path
          type: string
          required: true
  exposes:
  - type: rest
    namespace: gremlin-disaster-recovery-tests-rest
    port: 8080
    description: REST adapter for Gremlin API — disaster-recovery-tests. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/disaster-recovery-tests
      name: disaster-recovery-tests
      description: REST surface for disaster-recovery-tests.
      operations:
      - method: POST
        name: createlargescaletest
        description: Creates a disaster recovery test for a company
        call: gremlin-disaster-recovery-tests.createlargescaletest
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/disaster-recovery-tests/active
      name: disaster-recovery-tests-active
      description: REST surface for disaster-recovery-tests-active.
      operations:
      - method: GET
        name: getactivelargescaletests
        description: Gets all active disaster recovery tests for a company
        call: gremlin-disaster-recovery-tests.getactivelargescaletests
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/disaster-recovery-tests/draft
      name: disaster-recovery-tests-draft
      description: REST surface for disaster-recovery-tests-draft.
      operations:
      - method: GET
        name: getdraftlargescaletests
        description: Gets all draft disaster recovery tests for a company
        call: gremlin-disaster-recovery-tests.getdraftlargescaletests
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/disaster-recovery-tests/{identifier}
      name: disaster-recovery-tests-identifier
      description: REST surface for disaster-recovery-tests-identifier.
      operations:
      - method: GET
        name: getlargescaletest1
        description: Gets a disaster recovery test, complete with service details
        call: gremlin-disaster-recovery-tests.getlargescaletest1
        with:
          identifier: rest.identifier
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatelargescaletest
        description: Updates a disaster recovery test for a company
        call: gremlin-disaster-recovery-tests.updatelargescaletest
        with:
          identifier: rest.identifier
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletelargescaletest
        description: Submits a task to delete a disaster recovery test for a company
        call: gremlin-disaster-recovery-tests.deletelargescaletest
        with:
          identifier: rest.identifier
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/disaster-recovery-tests/{identifier}/complete
      name: disaster-recovery-tests-identifier-complete
      description: REST surface for disaster-recovery-tests-identifier-complete.
      operations:
      - method: POST
        name: completelargescaletest
        description: Marks a disaster recovery test for a company as completed, generating a report
        call: gremlin-disaster-recovery-tests.completelargescaletest
        with:
          identifier: rest.identifier
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/disaster-recovery-tests/{identifier}/halt-all
      name: disaster-recovery-tests-identifier-halt-all
      description: REST surface for disaster-recovery-tests-identifier-halt-all.
      operations:
      - method: POST
        name: haltallserviceruns
        description: Halts all active scenario runs for all services for the disaster recovery test
        call: gremlin-disaster-recovery-tests.haltallserviceruns
        with:
          identifier: rest.identifier
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/disaster-recovery-tests/{identifier}/run
      name: disaster-recovery-tests-identifier-run
      description: REST surface for disaster-recovery-tests-identifier-run.
      operations:
      - method: POST
        name: runtestforsingleservice
        description: Creates a scenario run for the specified service as part of the disaster recovery test
        call: gremlin-disaster-recovery-tests.runtestforsingleservice
        with:
          identifier: rest.identifier
          teamId: rest.teamId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/disaster-recovery-tests/{identifier}/run-all
      name: disaster-recovery-tests-identifier-run-all
      description: REST surface for disaster-recovery-tests-identifier-run-all.
      operations:
      - method: POST
        name: runtestforallservices
        description: Creates scenario runs for all eligible services for the disaster recovery test
        call: gremlin-disaster-recovery-tests.runtestforallservices
        with:
          identifier: rest.identifier
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: gremlin-disaster-recovery-tests-mcp
    port: 9090
    transport: http
    description: MCP adapter for Gremlin API — disaster-recovery-tests. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: creates-disaster-recovery-test-company
      description: Creates a disaster recovery test for a company
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: gremlin-disaster-recovery-tests.createlargescaletest
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: gets-all-active-disaster-recovery
      description: Gets all active disaster recovery tests for a company
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gremlin-disaster-recovery-tests.getactivelargescaletests
      outputParameters:
      - type: object
        mapping: $.
    - name: gets-all-draft-disaster-recovery
      description: Gets all draft disaster recovery tests for a company
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gremlin-disaster-recovery-tests.getdraftlargescaletests
      outputParameters:
      - type: object
        mapping: $.
    - name: gets-disaster-recovery-test-complete
      description: Gets a disaster recovery test, complete with service details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gremlin-disaster-recovery-tests.getlargescaletest1
      with:
        identifier: tools.identifier
      outputParameters:
      - type: object
        mapping: $.
    - name: updates-disaster-recovery-test-company
      description: Updates a disaster recovery test for a company
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: gremlin-disaster-recovery-tests.updatelargescaletest
      with:
        identifier: tools.identifier
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: submits-task-delete-disaster-recovery
      description: Submits a task to delete a disaster recovery test for a company
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: gremlin-disaster-recovery-tests.deletelargescaletest
      with:
        identifier: tools.identifier
      outputParameters:
      - type: object
        mapping: $.
    - name: marks-disaster-recovery-test-company
      description: Marks a disaster recovery test for a company as completed, generating a report
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: gremlin-disaster-recovery-tests.completelargescaletest
      with:
        identifier: tools.identifier
      outputParameters:
      - type: object
        mapping: $.
    - name: halts-all-active-scenario-runs
      description: Halts all active scenario runs for all services for the disaster recovery test
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: gremlin-disaster-recovery-tests.haltallserviceruns
      with:
        identifier: tools.identifier
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: creates-scenario-run-specified-service
      description: Creates a scenario run for the specified service as part of the disaster recovery test
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: gremlin-disaster-recovery-tests.runtestforsingleservice
      with:
        identifier: tools.identifier
        teamId: tools.teamId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: creates-scenario-runs-all-eligible
      description: Creates scenario runs for all eligible services for the disaster recovery test
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: gremlin-disaster-recovery-tests.runtestforallservices
      with:
        identifier: tools.identifier
      outputParameters:
      - type: object
        mapping: $.