Gremlin test-suites API

Create custom test suites

Operations 6

GET /test-suites Gets all reliability test suites for a company, starting with Gremlin's default global test suite, followed by other global suites and company's custom test suites #
POST /test-suites Creates a reliability test suite #
GET /test-suites/{testSuiteId} Gets a reliability test suite #
DELETE /test-suites/{testSuiteId} Delete a Test Suite. #
PATCH /test-suites/{testSuiteId} Updates a reliability test suite #
GET /test-suites/detected-risks Retrieve the default list of available risks to add to a given TestSuite #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/gremlin-test-suites-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

gremlin-test-suites-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Gremlin agents Test Suites API
  description: The API for interacting with the Gremlin Failure-as-a-Service platform
  termsOfService: https://www.gremlin.com/terms_of_service_2017_03_24
  contact:
    name: Gremlin Support
    email: support@gremlin.com
  license:
    name: Gremlin License
    url: https://www.gremlin.com/license_2017_03_24
  version: '1.0'
servers:
- url: https://api.gremlin.com/v1
  description: Gremlin API v1
tags:
- name: test-suites
  description: Create custom test suites
paths:
  /test-suites:
    get:
      tags:
      - test-suites
      summary: Gets all reliability test suites for a company, starting with Gremlin's default global test suite, followed by other global suites and company's custom test suites
      description: Requires the privilege [`TEST_SUITES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
      operationId: getAllTestSuites
      parameters:
      - name: teamId
        in: query
        description: Required when using company session token.
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TestSuiteResponse'
        '403':
          description: 'User requires privilege: TEST_SUITES_READ'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - TEST_SUITES_READ
    post:
      tags:
      - test-suites
      summary: Creates a reliability test suite
      description: Requires the privilege [`TEST_SUITES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
      operationId: createTestSuite
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTestSuiteRequest'
        required: true
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestSuiteResponse'
        '403':
          description: 'User requires privilege: TEST_SUITES_WRITE'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - TEST_SUITES_WRITE
  /test-suites/{testSuiteId}:
    get:
      tags:
      - test-suites
      summary: Gets a reliability test suite
      description: Requires the privilege [`TEST_SUITES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
      operationId: getTestSuite
      parameters:
      - name: testSuiteId
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestSuiteResponse'
        '403':
          description: 'User requires privilege: TEST_SUITES_READ'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - TEST_SUITES_READ
    delete:
      tags:
      - test-suites
      summary: Delete a Test Suite.
      description: Requires the privilege [`TEST_SUITES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
      operationId: deleteTestSuite
      parameters:
      - name: testSuiteId
        in: path
        required: true
        schema:
          type: string
      responses:
        '404':
          description: test suite not found
        '403':
          description: 'User requires privilege: TEST_SUITES_WRITE'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - TEST_SUITES_WRITE
    patch:
      tags:
      - test-suites
      summary: Updates a reliability test suite
      description: Requires the privilege [`TEST_SUITES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
      operationId: updateTestSuite
      parameters:
      - name: testSuiteId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTestSuiteRequest'
        required: true
      responses:
        '200':
          description: Updates a test suite.
        '400':
          description: Bad request
        '404':
          description: Not found
        '403':
          description: 'User requires privilege: TEST_SUITES_WRITE'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - TEST_SUITES_WRITE
  /test-suites/detected-risks:
    get:
      tags:
      - test-suites
      summary: Retrieve the default list of available risks to add to a given TestSuite
      description: Requires the privilege [`TEST_SUITES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
      operationId: getRisks
      parameters: []
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RiskResponse'
        '403':
          description: 'User requires privilege: TEST_SUITES_READ'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - TEST_SUITES_READ
components:
  schemas:
    TestSuiteScenario:
      required:
      - description
      - name
      - policyCategory
      - scenarioToPromote
      type: object
      properties:
        name:
          type: string
        description:
          type: string
        policyCategory:
          type: string
          enum:
          - OTHER
          - REDUNDANCY
          - SCALABILITY
          - DEPENDENCIES
          - RISKS
          - EXTRA_CREDIT
        scenarioToPromote:
          $ref: '#/components/schemas/ScenarioToPromote'
    TestSuiteResponse:
      type: object
      properties:
        identifier:
          type: string
        name:
          type: string
        description:
          type: string
        testResponses:
          type: array
          items:
            $ref: '#/components/schemas/TestResponse'
        targetTeamIds:
          type: array
          items:
            type: string
        excludedRiskIds:
          type: array
          items:
            type: string
        default:
          type: boolean
        isDefault:
          type: boolean
        official:
          type: boolean
        isOfficial:
          type: boolean
    TestResponse:
      type: object
      properties:
        testPolicy:
          $ref: '#/components/schemas/TestPolicyResponse'
        sourceScenarioId:
          type: string
        sourceScenarioType:
          type: string
          enum:
          - RECOMMENDED
          - SHARED
          - GENERAL
        sourceScenarioEditCounter:
          type: integer
          format: int32
    ScenarioInfo:
      required:
      - description
      - name
      - policyCategory
      - scenarioId
      - scenarioType
      type: object
      properties:
        scenarioId:
          type: string
        name:
          type: string
        description:
          type: string
        policyCategory:
          type: string
          enum:
          - OTHER
          - REDUNDANCY
          - SCALABILITY
          - DEPENDENCIES
          - RISKS
          - EXTRA_CREDIT
        scenarioType:
          type: string
          enum:
          - RECOMMENDED
          - SHARED
          - GENERAL
        reliabilityTestId:
          type: string
        teamId:
          type: string
    TestPolicyResponse:
      type: object
      properties:
        name:
          type: string
        description:
          type: string
        policyCategory:
          type: string
          enum:
          - OTHER
          - REDUNDANCY
          - SCALABILITY
          - DEPENDENCIES
          - RISKS
          - EXTRA_CREDIT
        policyTarget:
          type: string
          enum:
          - SERVICE
          - SERVICE_DEPENDENCY
        reliabilityTestId:
          type: string
    RiskResponse:
      type: object
      properties:
        name:
          type: string
        id:
          type: string
        mappingExpression:
          type: string
        evaluationExpression:
          type: string
        document:
          type: string
        queryType:
          type: string
          enum:
          - KUBERNETES_OBJECT
          - AGENT
          - AWS_LOAD_BALANCER
          - AWS_AUTO_SCALING_GROUP
        disabled:
          type: boolean
    CreateTestSuiteRequest:
      title: CreateTestSuiteRequest.Input
      required:
      - name
      - scenarios
      type: object
      properties:
        name:
          type: string
        targetTeamIds:
          type: array
          items:
            type: string
        scenarios:
          type: array
          items:
            $ref: '#/components/schemas/TestSuiteScenario'
        excludedRiskIds:
          type: array
          items:
            type: string
      description: Create a request to create a test suite for a team
    UpdateTestSuiteRequest:
      title: UpdateTestSuiteRequest.Input
      type: object
      properties:
        name:
          type: string
        targetTeamIds:
          type: array
          items:
            type: string
        scenarios:
          type: array
          items:
            $ref: '#/components/schemas/ScenarioInfo'
        excludedRiskIds:
          type: array
          items:
            type: string
      description: Update a test suite for a team
    ScenarioToPromote:
      required:
      - scenarioId
      - scenarioType
      type: object
      properties:
        scenarioId:
          type: string
        scenarioType:
          type: string
          enum:
          - RECOMMENDED
          - SHARED
          - GENERAL
        teamId:
          type: string