Gremlin external-integrations API
Used for managing authentication for Status Checks and Load Generators
Used for managing authentication for Status Checks and Load Generators
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-external-integrations-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 External Integrations 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: external-integrations
description: Used for managing authentication for Status Checks and Load Generators
paths:
/external-integrations:
get:
tags:
- external-integrations
summary: Get external integrations by type.
description: Requires the privilege [`INTEGRATIONS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: get_4
parameters:
- name: type
in: query
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/ExternalIntegrationResponse'
'403':
description: 'User requires privilege for target team: INTEGRATIONS_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- INTEGRATIONS_READ
delete:
tags:
- external-integrations
summary: Delete an external integration.
description: Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: revoke
parameters:
- name: type
in: query
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: {}
'403':
description: 'User requires privilege for target team: INTEGRATIONS_WRITE'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- INTEGRATIONS_WRITE
/external-integrations/load-generator:
get:
tags:
- external-integrations
summary: Get team integrations that are compatible with Load Generators.
description: Requires the privilege [`INTEGRATIONS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: getLoadGeneratorIntegrations
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/TeamExternalIntegrationsResponse'
'403':
description: 'User requires privilege for target team: INTEGRATIONS_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- INTEGRATIONS_READ
put:
tags:
- external-integrations
summary: Update a team integration that is compatible with Load Generators.
description: Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: updateLoadGeneratorIntegration
parameters:
- name: type
in: query
required: true
schema:
type: string
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
- name: name
in: query
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/CreateTeamExternalIntegrationRequest'
required: true
responses:
default:
description: default response
content:
application/json:
schema:
$ref: '#/components/schemas/TeamExternalIntegrationResponse'
'403':
description: 'User requires privilege for target team: INTEGRATIONS_WRITE'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- INTEGRATIONS_WRITE
post:
tags:
- external-integrations
summary: Create new team integration that is compatible with Load Generators.
description: Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: createLoadGeneratorIntegration
parameters:
- name: type
in: query
required: true
schema:
type: string
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
- name: teamId
in: query
description: Required when using company session token.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTeamExternalIntegrationRequest'
required: true
responses:
default:
description: default response
content:
application/json:
schema:
$ref: '#/components/schemas/TeamExternalIntegrationResponse'
'403':
description: 'User requires privilege for target team: INTEGRATIONS_WRITE'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- INTEGRATIONS_WRITE
delete:
tags:
- external-integrations
summary: Remove a team integration that is compatible with Load Generators.
description: Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: removeLoadGeneratorIntegration
parameters:
- name: type
in: query
required: true
schema:
type: string
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
- name: name
in: query
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: {}
'403':
description: 'User requires privilege for target team: INTEGRATIONS_WRITE'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- INTEGRATIONS_WRITE
/external-integrations/status-check:
get:
tags:
- external-integrations
summary: Get team integrations that are compatible with Health Checks.
description: Requires the privilege [`INTEGRATIONS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: getStatusCheckIntegrations
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/TeamExternalIntegrationsResponse'
'403':
description: 'User requires privilege for target team: INTEGRATIONS_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- INTEGRATIONS_READ
put:
tags:
- external-integrations
summary: Update a team integration that is compatible with Health Checks.
description: Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: updateStatusCheckIntegration
parameters:
- name: type
in: query
schema:
type: string
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
- name: observabilityToolType
in: query
schema:
type: string
enum:
- DATADOG
- PAGERDUTY
- NEWRELIC
- GRAFANA
- DYNATRACE
- APPDYNAMICS
- PROMETHEUS
- CUSTOM
- AWS
- AZURE
- name: domain
in: query
schema:
maxLength: 255
minLength: 0
type: string
- name: name
in: query
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/CreateTeamExternalIntegrationRequest'
required: true
responses:
default:
description: default response
content:
application/json:
schema:
$ref: '#/components/schemas/TeamExternalIntegrationResponse'
'403':
description: 'User requires privilege for target team: INTEGRATIONS_WRITE'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- INTEGRATIONS_WRITE
post:
tags:
- external-integrations
summary: Create new team integration that is compatible with Health Checks.
description: Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: createStatusCheckIntegration
parameters:
- name: type
in: query
schema:
type: string
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
- name: observabilityToolType
in: query
schema:
type: string
enum:
- DATADOG
- PAGERDUTY
- NEWRELIC
- GRAFANA
- DYNATRACE
- APPDYNAMICS
- PROMETHEUS
- CUSTOM
- AWS
- AZURE
- name: domain
in: query
schema:
maxLength: 255
minLength: 0
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/CreateTeamExternalIntegrationRequest'
required: true
responses:
default:
description: default response
content:
application/json:
schema:
$ref: '#/components/schemas/TeamExternalIntegrationResponse'
'403':
description: 'User requires privilege for target team: INTEGRATIONS_WRITE'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- INTEGRATIONS_WRITE
delete:
tags:
- external-integrations
summary: Remove a team integration that is compatible with Health Checks.
description: Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: removeStatusCheckIntegration
parameters:
- name: type
in: query
schema:
type: string
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
- name: observabilityToolType
in: query
schema:
type: string
enum:
- DATADOG
- PAGERDUTY
- NEWRELIC
- GRAFANA
- DYNATRACE
- APPDYNAMICS
- PROMETHEUS
- CUSTOM
- AWS
- AZURE
- name: domain
in: query
schema:
maxLength: 255
minLength: 0
type: string
- name: name
in: query
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: {}
'403':
description: 'User requires privilege for target team: INTEGRATIONS_WRITE'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- INTEGRATIONS_WRITE
components:
schemas:
TeamExternalIntegrationsResponse:
type: object
properties:
integrations:
type: array
items:
$ref: '#/components/schemas/TeamExternalIntegrationResponse'
CreateTeamExternalIntegrationRequest:
required:
- lastAuthenticationStatus
- name
- privateNetwork
type: object
properties:
url:
type: string
description: Uri of the configuration
format: url
headers:
type: object
additionalProperties:
type: string
description: Headers of configuration
description: Headers of configuration
headersArn:
type: string
description: Arn of remote header configuration
name:
type: string
description: Name of configuration
privateNetwork:
type: boolean
description: Is private network
lastAuthenticationStatus:
type: string
description: Last authentication status
enum:
- AUTHENTICATED
- UNAUTHENTICATED
- UNTESTED
integrationSpecificValues:
type: object
additionalProperties:
type: string
description: Map of values required for a specific integration, for example AWS credentials AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
description: Map of values required for a specific integration, for example AWS credentials AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
multiSelectTags:
type: object
additionalProperties:
type: array
description: The tags associated with this integration
items:
type: string
description: The tags associated with this integration
description: The tags associated with this integration
description: Represents the configuration for an external integration
ExternalIntegrationResponse:
type: object
properties:
userId:
type: string
type:
type: string
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
accountId:
type: string
url:
type: string
TeamExternalIntegrationResponse:
type: object
properties:
identifier:
type: string
userId:
type: string
type:
type: string
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
enum:
- DATADOG
- PAGERDUTY
- NEWRELIC
- GRAFANA
- DYNATRACE
- APPDYNAMICS
- PROMETHEUS
- CUSTOM
- AWS
- AZURE
domain:
type: string
url:
type: string
format: url
headers:
type: object
additionalProperties:
type: string
headersArn:
type: string
name:
type: string
teamId:
type: string
privateNetwork:
type: boolean
canBeUsedAsStatusCheck:
type: boolean
lastAuthenticationStatus:
type: string
enum:
- AUTHENTICATED
- UNAUTHENTICATED
- UNTESTED
integrationSpecificValues:
type: object
additionalProperties:
type: string
createdAt:
type: string
format: date-time
multiSelectTags:
type: object
additionalProperties:
type: array
items:
type: string