Gremlin load-generators API
Create, read, update, and delete LoadGenerators
Create, read, update, and delete LoadGenerators
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-load-generators-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Gremlin agents Load Generators 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: load-generators
description: Create, read, update, and delete LoadGenerators
paths:
/load-generator:
post:
tags:
- load-generators
summary: Create Load Generator
description: Requires the privilege [`WEBHOOKS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: createLoadGenerator
parameters:
- name: serviceId
in: query
description: Filter LoadGenerator by service id
required: true
schema:
type: string
- name: teamId
in: query
description: Required when using company session token.
required: true
schema:
type: string
requestBody:
description: LoadGenerator to create
content:
application/json:
schema:
$ref: '#/components/schemas/LoadGeneratorRequest'
required: true
responses:
default:
description: default response
content:
'*/*': {}
'403':
description: 'User requires privilege for target team: WEBHOOKS_WRITE'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- WEBHOOKS_WRITE
/load-generator/{guid}:
get:
tags:
- load-generators
summary: Retrieve Load Generator by id
description: Requires the privilege [`WEBHOOKS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: getLoadGenerators
parameters:
- name: guid
in: path
description: This value represents the globally unique identifier of the record to fetch.
required: true
schema:
type: string
- name: serviceId
in: query
description: Filter LoadGenerator by service id
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:
$ref: '#/components/schemas/LoadGeneratorResponse'
'403':
description: 'User requires privilege for target team: WEBHOOKS_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- WEBHOOKS_READ
put:
tags:
- load-generators
summary: Update a given Load Generator
description: Requires the privilege [`WEBHOOKS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: updateLoadGenerator
parameters:
- name: guid
in: path
description: This value represents the globally unique identifier of the record to fetch.
required: true
schema:
type: string
- name: serviceId
in: query
description: Filter LoadGenerator by service id
required: true
schema:
type: string
- name: teamId
in: query
description: Required when using company session token.
required: true
schema:
type: string
requestBody:
description: LoadGenerator to create
content:
application/json:
schema:
$ref: '#/components/schemas/LoadGeneratorRequest'
required: true
responses:
default:
description: default response
content:
'*/*': {}
'403':
description: 'User requires privilege for target team: WEBHOOKS_WRITE'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- WEBHOOKS_WRITE
delete:
tags:
- load-generators
summary: Delete a given LoadGenerator
description: Requires the privilege [`WEBHOOKS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: deleteLoadGenerator
parameters:
- name: guid
in: path
description: This value represents the globally unique identifier of the record to fetch.
required: true
schema:
type: string
- name: serviceId
in: query
description: Filter LoadGenerator by service id
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:
'*/*': {}
'403':
description: 'User requires privilege for target team: WEBHOOKS_WRITE'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- WEBHOOKS_WRITE
components:
schemas:
LoadGeneratorResponse:
required:
- name
- webhookStartLoadTrigger
type: object
properties:
identifier:
type: string
description: The identifier of this load generator
name:
type: string
description: The name of the load generator to be created/updated
webhookStartLoadTrigger:
$ref: '#/components/schemas/Webhook'
webhookStatusCheck:
$ref: '#/components/schemas/Webhook'
webhookStopLoadTrigger:
$ref: '#/components/schemas/Webhook'
active:
type: boolean
description: Load generator is active
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
WebhookEndpoint:
type: object
properties:
uri:
type: string
description: The uri of this webhook endpoint
format: url
headers:
type: object
additionalProperties:
type: string
description: The request headers to be included when invoking this webhook endpoint
description: The request headers to be included when invoking this webhook endpoint
method:
type: string
description: The request method to be used when invoking this webhook endpoint
enum:
- GET
- POST
- PUT
- PATCH
description: The webhook endpoint configuration for this webhook
Webhook:
type: object
properties:
teamId:
type: string
description: The identifier of the team to which this webhook belongs
identifier:
type: string
description: The identifier of this webhook
type:
type: string
description: The type of this webhook
enum:
- TASK
- STATUS_CHECK
- LOAD_GENERATOR_TRIGGER
- LOAD_GENERATOR_STATUS_CHECK
- PREREQUISITE
webhookEndpoint:
$ref: '#/components/schemas/WebhookEndpoint'
name:
type: string
description: The name of this webhook
description:
type: string
description: The description of this webhook
createdBy:
type: string
description: The identifier of the user that created this webhook
createdAt:
type: string
description: The time of creation of this webhook
format: date-time
updatedBy:
type: string
description: The identifier of the user that most recently updated this webhook (if applicable)
updatedAt:
type: string
description: The time of the most recent update for this webhook (if applicable)
format: date-time
isPrivateNetwork:
type: boolean
description: Is this webhook executed in a private network
triggerEvents:
type: array
description: The types of events that will trigger this webhook to fire
items:
type: string
description: The types of events that will trigger this webhook to fire
enum:
- INITIALIZING
- RUNNING
- FINISHED
state:
type: string
description: The state of this webhook (ACTIVE / DEACTIVATED
enum:
- ACTIVE
- DEACTIVATED
payload:
type: string
description: The payload to be sent when the webhook is invoked
teamExternalIntegration:
$ref: '#/components/schemas/TeamExternalIntegrationReference'
evaluationConfiguration:
$ref: '#/components/schemas/EvaluationConfiguration'
multiSelectTags:
type: object
additionalProperties:
type: array
description: The tags associated with this webhook
items:
type: string
description: The tags associated with this webhook
description: The tags associated with this webhook
TeamExternalIntegrationReference:
title: StatusCheckRequest.TeamExternalIntegrationReference
required:
- name
type: object
properties:
type:
type: string
description: The type of the external integration for the health check to be created/updated
enum:
- JIRA
- DATADOG
- DATADOG_EU
- DATADOG_US3
- DATADOG_US5
- DATADOG_US1_FED
- PAGERDUTY
- NEWRELIC
- GRAFANA
- DYNATRACE
- APPDYNAMICS
- PROMETHEUS
- CUSTOM
- K6
- LOAD_GENERATOR_CUSTOM
- AWS
- AZURE
observabilityToolType:
type: string
description: The observability tool type of the external integration for the health check to be created/updated
enum:
- DATADOG
- PAGERDUTY
- NEWRELIC
- GRAFANA
- DYNATRACE
- APPDYNAMICS
- PROMETHEUS
- CUSTOM
- AWS
- AZURE
domain:
type: string
description: The domain of the observability tool type of the external integration for the health check to be created/updated
name:
type: string
description: The name of the external integration for the health check to be created/updated
description: Represents the configuration for referencing an external integration
LoadGeneratorRequest:
required:
- name
- webhookStartLoadTrigger
type: object
properties:
identifier:
type: string
description: The identifier of this load generator
name:
type: string
description: The name of the load generator to be created/updated
webhookStartLoadTrigger:
$ref: '#/components/schemas/WebhookRequest'
webhookStatusCheck:
$ref: '#/components/schemas/WebhookRequest'
webhookStopLoadTrigger:
$ref: '#/components/schemas/WebhookRequest'
active:
type: boolean
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
WebhookRequest:
required:
- method
- name
- uri
type: object
properties:
identifier:
type: string
description: The identifier of this webhook
name:
type: string
description: The name of the webhook to be created/updated
description:
type: string
description: The description of the webhook to be created/updated
isPrivateNetwork:
type: boolean
uri:
type: string
description: The URI of the webhook
format: url
method:
type: string
description: The HTTP request method to use when the webhook is invoked
enum:
- GET
- POST
- PUT
- PATCH
headers:
type: object
additionalProperties:
type: string
description: Optional request headers to be used when the webhook is invoked
description: Optional request headers to be used when the webhook is invoked
triggerEvents:
type: array
description: The list of attack events that should cause the webhook to be invoked
items:
type: string
description: The list of attack events that should cause the webhook to be invoked
enum:
- INITIALIZING
- RUNNING
- FINISHED
state:
type: string
description: State (active/deactivated) of the webhook
enum:
- ACTIVE
- DEACTIVATED
payload:
type: string
description: The payload to be sent when the webhook is invoked
teamExternalIntegration:
$ref: '#/components/schemas/TeamExternalIntegrationReference'
evaluationConfiguration:
$ref: '#/components/schemas/EvaluationConfiguration'
type:
type: string
description: The type of this webhook
enum:
- TASK
- STATUS_CHECK
- LOAD_GENERATOR_TRIGGER
- LOAD_GENERATOR_STATUS_CHECK
- PREREQUISITE
multiSelectTags:
type: object
additionalProperties:
type: array
description: The tags associated with this webhook
items:
type: string
description: The tags associated with this webhook
description: The tags associated with this webhook
HasCompareFunctionObject:
type: object
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