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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/gremlin-reliability-tests-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
openapi: 3.2.0
info:
title: Gremlin agents Reliability Tests 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: reliability-tests
description: Get and run reliability tests
paths:
/reliability-tests/active:
get:
tags:
- reliability-tests
summary: Get active reliability tests.
description: Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: getActiveReliabilityTests
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/ReliabilityTestRunResponse'
'403':
description: 'User requires privilege for target team: SERVICES_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- SERVICES_READ
/reliability-tests/runs:
get:
tags:
- reliability-tests
summary: Get all reliability test runs ordered by createdDate desc.
description: Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: getAllReliabilityRuns
parameters:
- name: serviceId
in: query
description: serviceId for which to look for runs
required: true
schema:
type: string
- name: pageSize
in: query
description: This value determines how many results will be returned per call.
schema:
type: integer
format: int32
example: None (unlimited)
- 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:
$ref: '#/components/schemas/PagedResponseReliabilityTestRunResponse'
'403':
description: 'User requires privilege for target team: SERVICES_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- SERVICES_READ
/reliability-tests/{reliabilityTestId}/runs:
get:
tags:
- reliability-tests
summary: Get all reliability test runs for a reliabilityTest ordered by createdDate desc.
description: Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: getAllReliabilityRunsForReliabilityTest
parameters:
- name: reliabilityTestId
in: path
required: true
schema:
type: string
- name: serviceId
in: query
description: serviceId for which to look for runs
required: true
schema:
type: string
- name: dependencyId
in: query
description: dependency for which to look for runs
schema:
type: string
- name: failureFlagName
in: query
description: failureFlagName for which to look for runs
schema:
type: string
- name: pageSize
in: query
description: This value determines how many results will be returned per call.
schema:
type: integer
format: int32
example: None (unlimited)
- 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:
$ref: '#/components/schemas/PagedResponseReliabilityTestRunResponse'
'403':
description: 'User requires privilege for target team: SERVICES_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- SERVICES_READ
post:
tags:
- reliability-tests
summary: Run a reliability test for a service.
description: Requires the privilege [`SERVICES_RUN`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: runReliabilityTestForService
parameters:
- name: reliabilityTestId
in: path
required: true
schema:
type: string
- name: teamId
in: query
description: Required when using company session token.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReliabilityTestRunParameters'
required: true
responses:
default:
description: default response
content:
application/json:
schema:
$ref: '#/components/schemas/ReliabilityTestRunResponse'
'403':
description: 'User requires privilege for target team: SERVICES_RUN'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- SERVICES_RUN
/reliability-tests:
get:
tags:
- reliability-tests
summary: Get all reliability tests.
description: Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: getAllReliabilityTests
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:
$ref: '#/components/schemas/ReliabilityResponse'
'403':
description: 'User requires privilege for target team: SERVICES_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- SERVICES_READ
/reliability-tests/notifications:
get:
tags:
- reliability-tests
summary: Get all notifications for a team
description: Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: getNotificationsForTeam
parameters:
- name: sinceDays
in: query
description: Notifications since days
schema:
type: integer
format: int32
example: 7
- 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:
$ref: '#/components/schemas/NotificationResponse'
'403':
description: 'User requires privilege for target team: SERVICES_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- SERVICES_READ
/reliability-tests/active/paged:
get:
tags:
- reliability-tests
summary: Get a team's active reliability tests in descending order by start time.
description: Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: getPaginatedActiveReliabilityTests
parameters:
- name: pageSize
in: query
description: This value determines how many results will be returned per call.
schema:
type: integer
format: int32
default: 1000
example: None (defaults to 1000)
- name: pageToken
in: query
description: Pass the pageToken to get the next page of active reliability test runs
schema:
type: string
example: None (returns first page)
- 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:
$ref: '#/components/schemas/PagedResponseReliabilityTestRunResponse'
'403':
description: 'User requires privilege for target team: SERVICES_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- SERVICES_READ
/reliability-tests/completed/paged:
get:
tags:
- reliability-tests
summary: Get a team's completed reliability test runs ordered by start time desc.
description: Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: getPaginatedCompletedReliabilityTestRuns
parameters:
- name: pageSize
in: query
description: This value determines how many results will be returned per call.
schema:
type: integer
format: int32
default: 1000
example: None (defaults to 1000)
- name: pageToken
in: query
description: Pass the pageToken to get the next page of completed reliability test runs
schema:
type: string
example: None (returns first page)
- 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:
$ref: '#/components/schemas/PagedResponseCompletedReliabilityTestRunResponse'
'403':
description: 'User requires privilege for target team: SERVICES_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- SERVICES_READ
/reliability-tests/next-runs:
get:
tags:
- reliability-tests
summary: Get pending reliability test runs for service, ordered by expected trigger time via schedule or Run All.
description: Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: getPendingServiceReliabilityRuns
parameters:
- name: serviceId
in: query
description: serviceId for which to look for runs
required: true
schema:
type: string
- 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/PendingReliabilityTestRunResponse'
'403':
description: 'User requires privilege for target team: SERVICES_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- SERVICES_READ
/reliability-tests/recent-runs:
get:
tags:
- reliability-tests
summary: Get recently completed reliability test runs ordered by endDate desc. for a service
description: Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: getRecentReliabilityTestRuns
parameters:
- name: serviceId
in: query
description: serviceId for which to look for runs
required: true
schema:
type: string
- name: pageSize
in: query
description: This value determines how many results will be returned per call.
schema:
type: integer
format: int32
default: 1000
example: None (defaults to 1000)
- 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/CompletedReliabilityTestRunResponse'
'403':
description: 'User requires privilege for target team: SERVICES_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- SERVICES_READ
/reliability-tests/{reliabilityTestId}:
get:
tags:
- reliability-tests
summary: Get a single company-scoped reliability test.
description: Requires the privilege [`TEST_SUITES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: getReliabilityTest
parameters:
- name: reliabilityTestId
in: path
required: true
schema:
type: string
responses:
default:
description: default response
content:
application/json:
schema:
$ref: '#/components/schemas/ReliabilityTestResponse'
'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
/reliability-tests/preview:
get:
tags:
- reliability-tests
summary: Takes a given scenario and transforms it for turning into a reliability test
description: 'This endpoint provides a preview of the translation between scenarios and ReliabilityTests. As such it can be used to understand what modifications are made when a given Scenario is promoted to a ReliabilityTest and debug them
Requires the privilege [`TEST_SUITES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)'
operationId: previewGraph
parameters:
- name: scenarioType
in: query
required: true
schema:
type: string
enum:
- RECOMMENDED
- SHARED
- GENERAL
- name: scenarioId
in: query
required: true
schema:
type: string
- name: policyCategory
in: query
required: true
schema:
type: string
enum:
- OTHER
- REDUNDANCY
- SCALABILITY
- DEPENDENCIES
- RISKS
- EXTRA_CREDIT
responses:
default:
description: default response
content:
application/json:
schema:
$ref: '#/components/schemas/GraphPreviewResponse'
'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:
PagedResponseReliabilityTestRunResponse:
type: object
properties:
pageNumber:
type: integer
format: int32
pageSize:
type: integer
description: 'The size of the page requested. If none was supplied this is a default value (depending on the endpoint).
If the length of items is less than this number that means there are _no_ more pages to request.
NOTE: if the length *is* equal there may or may not be additional pages to request, it is unknowable until they are requested
'
format: int32
pageToken:
type: string
description: Supply this token on successive requests to retrieve the next page if there is one
items:
type: array
items:
$ref: '#/components/schemas/ReliabilityTestRunResponse'
ScenarioResponse:
type: object
properties:
orgId:
type: string
guid:
type: string
name:
type: string
description:
type: string
hypothesis:
type: string
steps:
type: array
items:
type: object
additionalProperties:
type: object
graph:
$ref: '#/components/schemas/ScenarioGraph'
state:
type: string
createSource:
type: string
createdBy:
type: string
updatedBy:
type: string
createdAt:
type: string
updatedAt:
type: string
lastRunAt:
type: string
recommendedScenarioId:
type: string
multiSelectTags:
type: object
additionalProperties:
type: array
items:
type: string
createdFromType:
type: string
enum:
- Recommended
- Shared
createdFromId:
type: string
editCounter:
type: integer
format: int32
version:
type: integer
format: int64
passCriteria:
type: string
enum:
- ALL_PASS
- AT_LEAST_ONE_FAILED
eligibleForServiceCreation:
type: boolean
NotificationResponse:
type: object
properties:
sinceDays:
type: integer
format: int32
totalNotifications:
type: integer
format: int32
title:
type: string
subHeading:
type: string
notifications:
type: array
items:
$ref: '#/components/schemas/NotificationDetail'
HasCompareFunctionObject:
type: object
CompletedReliabilityTestRunResponse:
type: object
properties:
serviceId:
type: string
reliabilityTestId:
type: string
reliabilityTestName:
type: string
dependencyId:
type: string
dependencyName:
type: string
failureFlagName:
type: string
runNumber:
type: integer
format: int64
triggerSource:
type: string
enum:
- MANUAL
- RUN_ALL
- SCHEDULED
- RECURRING_SCHEDULE
triggeredBy:
type: string
status:
type: string
enum:
- Passed
- Failed
- Unsure
passCriteria:
type: string
enum:
- ALL_PASS
- AT_LEAST_ONE_FAILED
endTime:
type: string
format: date-time
createdAt:
type: string
format: date-time
diagnosisAvailable:
type: boolean
ReliabilityTestResponse:
type: object
properties:
accessType:
type: string
enum:
- Global
- Company
- Team
guid:
type: string
scenario:
$ref: '#/components/schemas/ScenarioResponse'
ResponseBodyEvaluation:
required:
- op
- predicates
type: object
properties:
op:
type: string
description: The operation to logically combine predicates into a success or failure
enum:
- AND
- OR
predicates:
type: array
description: The list of predicates to evaluate against the status check response body
items:
$ref: '#/components/schemas/PredicateObject'
description: The configuration for evaluating the success of a response body
ExternalCallFailedException:
type: object
properties:
cause:
type: object
properties:
stackTrace:
type: array
items:
type: object
properties:
classLoaderName:
type: string
moduleName:
type: string
moduleVersion:
type: string
methodName:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
className:
type: string
nativeMethod:
type: boolean
message:
type: string
localizedMessage:
type: string
stackTrace:
type: array
items:
type: object
properties:
classLoaderName:
type: string
moduleName:
type: string
moduleVersion:
type: string
methodName:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
className:
type: string
nativeMethod:
type: boolean
errorCode:
type: string
requestId:
type: string
statusCode:
type: integer
format: int32
message:
type: string
suppressed:
type: array
items:
type: object
properties:
stackTrace:
type: array
items:
type: object
properties:
classLoaderName:
type: string
moduleName:
type: string
moduleVersion:
type: string
methodName:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
className:
type: string
nativeMethod:
type: boolean
message:
type: string
localizedMessage:
type: string
localizedMessage:
type: string
NotificationDetail:
type: object
properties:
text:
type: string
notificationType:
type: string
enum:
- ScheduleTestFailure
- NewDependencyDiscovery
serviceId:
type: string
path:
type: string
elements:
type: array
items:
$ref: '#/components/schemas/NotificationElement'
ReliabilityTestRunResponse:
type: object
properties:
guid:
type: string
serviceId:
type: string
dependencyId:
type: string
dependencyName:
type: string
failureFlagName:
type: string
isDependencySpof:
type: boolean
runNumber:
type: integer
format: int64
run:
$ref: '#/components/schemas/ScenarioRunResponse'
StatusCheckNode:
type: object
allOf:
- $ref: '#/components/schemas/GraphNodeObject'
- type: object
properties:
state:
$ref: '#/components/schemas/State'
name:
type: string
description:
type: string
thirdPartyPresets:
type: string
category:
type: string
enum:
- ERRORS
- LATENCY
- REQUESTS
- UNKNOWN
requestConfiguration:
$ref: '#/components/schemas/StatusCheckNodeRequest'
endpointConfiguration:
$ref: '#/components/schemas/EndpointConfiguration'
rawEndpointConfiguration:
$ref: '#/components/schemas/EndpointConfiguration'
evaluationConfiguration:
$ref: '#/components/schemas/EvaluationConfiguration'
statusCheckId:
type: string
externalIntegrationId:
type: string
statusCheckReferenceId:
type: string
isPrivateNetwork:
type: boolean
isHaltable:
type: boolean
payload:
type: string
isAutoGenerated:
type: boolean
autoGeneratedStatusCheckId:
type: string
resourceIdentifier:
type: string
statusCheckRequest:
$ref: '#/components/schemas/StatusCheckNodeRequest'
intervalSeconds:
type: integer
format: int32
additionalTimeInSecsToRunAfterCompletion:
type: integer
format: int32
NotificationElement:
type: object
properties:
reliabilityTestId:
type: string
dependencyId:
type: string
runNumber:
type: integer
format: int64
GraphPreviewResponse:
type: object
properties:
metadata:
type: object
additionalProperties:
type: array
items:
type: string
graph:
$ref: '#/components/schemas/ScenarioGraph'
EndpointConfiguration:
required:
- url
type: object
properties:
url:
type: string
description: The URL of the status check
format: url
method:
type: string
description: The method type of the status check
enum:
- GET
- POST
- PUT
- PATCH
headers:
type: object
additionalProperties:
type: string
description: Optional request headers to be used when the status check is invoked
description: Optional request headers to be used when the status check is invoked
payload:
type: string
description: Payload for POST type of request
headersArn:
type: string
description: Optional request headers pulled from a remote AWS resource holding JSON-encoded key-values that make up the headers
GameDayInfo:
type: object
properties:
guid:
type: string
name:
type: string
RollbackExternalActionNode:
type: object
allOf:
- $ref: '#/components/schemas/GraphNodeObject'
- type: object
properties:
referenceExternalActionId:
type: string
state:
$ref: '#/components/schemas/State'
stateDetails:
$ref: '#/components/schemas/ExternalCallFailedException'
externalActionRequest:
$ref: '#/components/schemas/ExternalActionRequest'
externalActionLifecycle:
type: string
enum:
- NotStarted
- Active
- HaltRequested
- Successful
- Halted
- Failed
didExternalActionNoOp:
type: boolean
ScenarioRunResults:
type: object
properties:
status:
type: string
enum:
- Passed
- Failed
- Unsure
incidentDetected:
type: boolean
incidentMitigated:
type: boolean
PendingReliabilityTestRunResponse:
type: object
properties:
reliabilityTestId:
type: string
reliabilityTestName:
type: string
dependencyId:
type: string
dependencyName:
type: string
failureFlagName:
type: string
triggerSource:
type: string
enum:
- MANUAL
- RUN_ALL
- SCHEDULED
- RECURRING_SCHEDULE
triggeredBy:
type: string
expectedTriggerTime:
type: string
format: date-time
ReliabilityTestRunParameters:
title: ReliabilityTestRunParameters
required:
- serviceId
type: object
properties:
serviceId:
type: string
dependencyId:
type: string
failureFlagName:
type: string
description: Represents a request with parameters necessary to run a reliability test for a service, dependency (optional) or failure flag name (optional)
PagedResponseCompletedReliabilityTestRunResponse:
type: object
properties:
pageNumber:
type: integer
format: int32
pageSize:
type: integer
description: 'The size of the page requested. If none was supplied this is a default value (depending on the endpoint).
If the length of items is less than this number that means there are _no_ more pages to request.
NOTE: if the length *is* equal there may or may not be additional pages to request, it is unknowable until they are requested
'
format: int32
pageToken:
type: string
description: Supply this token on successive requests to retrieve the next page if there is one
items:
type: array
items:
$ref: '#/components/schemas/CompletedReliabilityTestRunResponse'
ExternalActionNode:
type: object
allOf:
- $ref: '#/components/schemas/GraphNodeObject'
- type: object
properties:
externalActionRequest:
$ref: '#/components/schemas/ExternalActionRequest'
state:
$ref: '#/components/schemas/State'
stateDetails:
$ref: '#/components/schemas/ExternalCallFailedException'
ScenarioRunResponse:
type: object
properties:
scenarioId:
type: string
runNumber:
type: integer
format: int64
orgId:
type: string
name:
type: string
description:
type: string
hypothesis:
type: string
stageInfo:
type: object
additionalProperties:
type: object
createdBy:
type: string
createdByFirstName:
type: string
createdByLastName:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
endTime:
type: string
format: date-time
createSource:
type: string
triggerSource:
type: string
enum:
- MANUAL
- RUN_ALL
- SCHEDULED
- RECURRING_SCHEDULE
graph:
$ref: '#/co
# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gremlin/refs/heads/main/openapi/gremlin-reliability-tests-api-openapi.yml