Gremlin disaster-recovery-test-reports API
Get and list disaster recovery test reports
Get and list disaster recovery test reports
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/gremlin-disaster-recovery-test-reports-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.0.1
info:
title: Gremlin agents disaster-recovery-test-reports 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: disaster-recovery-test-reports
description: Get and list disaster recovery test reports
paths:
/disaster-recovery-test-reports/{identifier}:
get:
tags:
- disaster-recovery-test-reports
summary: Gets a disaster recovery test report
description: Requires the privilege [`DISASTER_RECOVERY_TESTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: getLargeScaleTest
parameters:
- name: identifier
in: path
required: true
schema:
type: string
responses:
default:
description: default response
content:
application/json:
schema:
$ref: '#/components/schemas/LargeScaleTestReportResponse'
'403':
description: 'User requires privilege: DISASTER_RECOVERY_TESTS_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- DISASTER_RECOVERY_TESTS_READ
/disaster-recovery-test-reports/{identifier}/pdf:
get:
tags:
- disaster-recovery-test-reports
summary: Gets a disaster recovery test report as PDF
description: Requires the privilege [`DISASTER_RECOVERY_TESTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: getLargeScaleTestPDF
parameters:
- name: identifier
in: path
required: true
schema:
type: string
responses:
default:
description: default response
content:
application/octet-stream: {}
'403':
description: 'User requires privilege: DISASTER_RECOVERY_TESTS_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- DISASTER_RECOVERY_TESTS_READ
/disaster-recovery-test-reports:
get:
tags:
- disaster-recovery-test-reports
summary: Gets a page of disaster recovery test reports
description: Requires the privilege [`DISASTER_RECOVERY_TESTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: getLargeScaleTests
parameters:
- name: pageToken
in: query
schema:
type: string
- name: pageSize
in: query
description: This value determines how many results will be returned per call.
schema:
maximum: 100
type: integer
format: int32
responses:
default:
description: default response
content:
application/json:
schema:
$ref: '#/components/schemas/PagedResponseLargeScaleTestReportResponse'
'403':
description: 'User requires privilege: DISASTER_RECOVERY_TESTS_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- DISASTER_RECOVERY_TESTS_READ
components:
schemas:
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'
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
StatusCheckNodeRequest:
type: object
properties:
type:
type: string
discriminator:
propertyName: type
HasCompareFunctionObject:
type: object
LargeScaleTestReportResponse:
type: object
properties:
companyId:
type: string
identifier:
type: string
name:
type: string
reliabilityTest:
$ref: '#/components/schemas/ReliabilityTestResponse'
actualTestDurationMillis:
type: integer
format: int64
startTime:
type: string
format: date-time
endTime:
type: string
format: date-time
sortedRunResults:
type: array
items:
$ref: '#/components/schemas/ServiceRunDetails'
participationSummary:
type: object
additionalProperties:
type: integer
format: int64
statusChecks:
type: array
items:
$ref: '#/components/schemas/StatusCheckNode'
scenarioOverrides:
$ref: '#/components/schemas/ScenarioOverrides'
PagedResponseLargeScaleTestReportResponse:
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/LargeScaleTestReportResponse'
ServiceRunDetails:
type: object
properties:
teamId:
type: string
teamName:
type: string
serviceId:
type: string
serviceName:
type: string
multiSelectTags:
type: object
additionalProperties:
type: array
items:
type: string
scenarioRunId:
type: string
scenarioRunNumber:
type: integer
format: int64
scenarioRunStage:
type: string
scenarioPassCriteria:
type: string
enum:
- ALL_PASS
- AT_LEAST_ONE_FAILED
scenarioRunStatus:
type: string
scenarioRunStartTime:
type: string
format: date-time
scenarioRunEndTime:
type: string
format: date-time
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
ExternalActionRequest:
required:
- type
type: object
properties:
semanticType:
type: string
type:
type: string
discriminator:
propertyName: type
ReliabilityTestResponse:
type: object
properties:
accessType:
type: string
enum:
- Global
- Company
- Team
guid:
type: string
scenario:
$ref: '#/components/schemas/ScenarioResponse'
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
ScenarioOverrides:
type: object
properties:
zones:
type: array
items:
type: string
dns:
type: string
failureFlag:
$ref: '#/components/schemas/Selector'
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
GraphNodeObject:
type: object
properties:
type:
type: string
enum:
- Concurrent
- ContinuousStatusCheck
- StatusCheckNode
- Delay
- InfraAttack
- SynchronousStatusCheck
- Continuous
- FailureFlag
- ExternalAction
- RollbackExternalAction
id:
type: string
state:
type: object
readOnly: true
guid:
type: string
next:
type: string
discriminator:
propertyName: type
State:
type: object
properties:
lifecycle:
type: string
enum:
- NotStarted
- Active
- HaltRequested
- Successful
- Halted
- Failed
startTime:
type: string
format: date-time
endTime:
type: string
format: date-time
failedReason:
type: string
nodeHaltedByGuid:
type: string
nodeHaltedById:
type: string
readOnly: true
EvaluationConfiguration:
required:
- okStatusCodes
type: object
properties:
okLatencyMaxMs:
type: integer
description: The maximum latency in milliseconds for a successful status check
format: int32
okStatusCodes:
type: array
description: The list of successful response status codes for a successful status check
items:
type: string
description: The list of successful response status codes for a successful status check
responseBodyEvaluation:
$ref: '#/components/schemas/ResponseBodyEvaluation'
description: The configuration for evaluating the success/failure of a status check
Selector:
required:
- labels
- name
type: object
properties:
name:
type: string
labels:
type: object
additionalProperties:
type: array
description: Label selectors for matching resources
example:
foo:
- bar
- baz
items:
type: string
description: Label selectors for matching resources
example: '{"foo":["bar","baz"]}'
description: Label selectors for matching resources
example:
foo:
- bar
- baz
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
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
PredicateObject:
required:
- jpQuery
- rValue
- type
type: object
properties:
comparator:
$ref: '#/components/schemas/HasCompareFunctionObject'
type:
type: string
description: The type of primitive this predicate operates on
enum:
- String
- Number
- Boolean
jpQuery:
type: string
description: The json path query to run to read from the response body
rValue:
type: object
description: The right hand value of the predicate
description: The list of predicates to evaluate against the status check response body
discriminator:
propertyName: type
ScenarioGraph:
type: object
properties:
nodes:
type: object
additionalProperties:
$ref: '#/components/schemas/GraphNodeObject'
startId:
type: string
observers:
type: array
items:
$ref: '#/components/schemas/StatusCheckNode'
externalActions:
type: array
items:
$ref: '#/components/schemas/ExternalActionNode'
externalRollbacks:
type: array
readOnly: true
items:
$ref: '#/components/schemas/RollbackExternalActionNode'
nodesRecursive:
type: array
items:
$ref: '#/components/schemas/GraphNodeObject'
expectedLengthWithDelays:
type: integer
format: int32
readOnly: true
eligibleForServiceCreation:
type: boolean
expectedLength:
type: integer
format: int32
readOnly: true
attackTypeQuantity:
type: object
additionalProperties:
type: integer
format: int64
readOnly: true
readOnly: true
providersCountForNodes:
type: object
additionalProperties:
type: integer
format: int32
readOnly: true
readOnly: true