Gremlin external-integrations API
Used for managing authentication for Status Checks and Load Generators
Used for managing authentication for Status Checks and Load Generators
openapi: 3.0.1
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:
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
TeamExternalIntegrationsResponse:
type: object
properties:
integrations:
type: array
items:
$ref: '#/components/schemas/TeamExternalIntegrationResponse'
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