openapi: 3.0.1 info: title: Gremlin 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: attacks description: Create, halt, and list attacks - name: halts description: Halt impacts across the Gremlin platform - name: kubernetes.attacks description: Create, halt, and list Kubernetes attacks - name: metadata description: Get metadata about the Gremlin commands. - name: users.auth.mfa description: Endpoints for multi-factor user auth (MFA) and for managing MFA providers and secrets - name: Notification Integrations description: Manage company level integrations with Slack/Datadog - name: oauth description: OAuth callback endpoints - name: roles description: List and modify roles - name: users.auth description: Endpoints for non-MFA user auth - name: aws.metadata description: Get metadata about the AWS IAM role creation for health checks - name: datadog description: Read Datadog items - name: grafana description: Get Grafana alerts - name: jira description: Create, read Jira tickets - name: newrelic description: Read New Relic items - name: pagerduty description: Get Pagerduty services and incidents - name: external-integrations description: Used for managing authentication for Status Checks and Load Generators - name: failure-flags.apps description: Get, list, and protect applications - name: failure-flags.experiments description: Get, list, and protect experiments - name: failure-flags.flags description: Get, list, and protect failure flags - name: gamedays description: Create, update and run GameDays - name: images description: Manage images for different entities - name: google-cloud.integration description: Fetch setup instructions for configuring a Google Cloud integration. - name: google-cloud.integration.resources description: List resources Gremlin has discovered through a configured integration. - name: agents description: List and modify all infrastructure and failure flag agents - name: clients description: List and modify all clients - name: integration-clients description: Handle client integrations - name: integration-invocations description: Used for interacting with the Private Network Integration - name: apikeys description: Create, delete, activate, deactivate and list apikeys - name: companies description: Update company preferences, get all users or clients for a company, and get company details - name: orgs description: Get and update org preferences. Generate new and delete old client certificates - name: reports description: Get users, clients, and attacks summaries - name: reports.security description: Endpoints for receiving access and event logs - name: notification-settings description: View and modify a team's notification settings - name: teams description: Create, Retrieve, Update, and Delete endpoints for Teams - name: users description: Get users (all or active) and activate, deactivate, update, and invite users. - name: disaster-recovery-test-reports description: Get and list disaster recovery test reports - name: disaster-recovery-tests description: Create, get, list, run, and complete disaster recovery tests - name: metrics description: Metrics for charting purposes - name: reliability-report description: Retrieve reliability report for a given service - name: reliability-management description: API to access resources for reliability management - name: test-suites description: Create custom test suites - name: reliability-tests description: Get and run reliability tests - name: scenarios.recommended description: Get/List recommended scenarios - name: scenarios description: Create, update, run, halt, and list scenarios - name: health checks description: Create, read, update, delete health checks as well as test health check endpoint and evaluation configuration - name: schedules description: Get, create, and delete schedules - name: containers description: Get all active containers - name: services description: Get metrics about intelligent health check target for a service - name: kubernetes.targets description: Get information on attackable kubernetes targets - name: providers description: Get a list of supported infrastructure providers and supported services by provider - name: service-overview description: Overview of a service, including all activity that impacts a service - name: sharedAssets description: Used for sharing agent assets (eg. K8s Namespaces) between teams - name: load-generators description: Create, read, update, and delete LoadGenerators - name: webhooks description: Create, read, update, and delete webhooks paths: /attacks/active: get: tags: - attacks summary: List all active attacks. description: 'This endpoint will return all active attacks for the team. Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: active parameters: - name: source in: query description: Filter attacks to either adhoc or scenario. schema: type: string enum: - Adhoc - Scenario example: Adhoc - name: pageSize in: query description: This value determines how many results will be returned per call. schema: type: integer format: int32 - 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/TaskResponse' '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ /attacks/active/paged: get: tags: - attacks summary: Return a page of active ad-hoc experiments. description: 'This endpoint will return a paged response of active ad-hoc experiments for a team. Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: activePaged 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 ad-hoc experiments 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/PagedResponseExperimentsResponse' '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ /attacks/{guid}/annotations: put: tags: - attacks summary: Add annotations to an attack description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: addAnnotations parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. 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/AttackAnnotationsInputRequest' required: true responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/TaskResponse' '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /attacks: get: tags: - attacks summary: List all attacks. description: Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: all parameters: - name: source in: query description: Filter attacks to either adhoc or scenario. schema: type: string enum: - Adhoc - Scenario example: Adhoc - name: pageSize in: query description: This value determines how many results will be returned per call. schema: type: integer format: int32 - 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/TaskResponse' '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ post: tags: - attacks summary: Create a new attack. description: 'Create a new attack by specifying the attack configuration, targets and sampling configuration Requires the privilege [`EXPERIMENTS_RUN`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: createNewAttack parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateAttackRequest' required: true responses: default: description: default response content: application/json: schema: type: array items: $ref: '#/components/schemas/AttackForServiceResponse' text/plain: schema: type: array items: $ref: '#/components/schemas/AttackForServiceResponse' '403': description: 'User requires privilege for target team: EXPERIMENTS_RUN' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_RUN delete: tags: - attacks summary: Idempotently halt all active attacks operationId: halt parameters: [] responses: default: description: default response content: application/json: schema: type: array items: $ref: '#/components/schemas/TaskResponse' '403': description: 'User requires privilege: HALT_ALL' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. /attacks/range: get: tags: - attacks summary: List all attacks in a given time range (defaults to all attacks up to now) description: Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: allAttacksInRange parameters: - name: startTime in: query schema: type: string format: date-time - name: endTime in: query schema: type: string format: date-time - name: pageSize in: query description: This value determines how many results will be returned per call. schema: type: integer format: int32 - name: pageToken in: query 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/PagedResponseTaskResponse' '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ /attacks/completed: get: tags: - attacks summary: List all completed attacks. description: 'This endpoint will return all completed attacks that the team has performed. Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: completed parameters: - name: source in: query description: Filter attacks to either adhoc or scenario. schema: type: string enum: - Adhoc - Scenario example: Adhoc - name: pageSize in: query description: This value determines how many results will be returned per call. schema: type: integer format: int32 - 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/TaskResponse' '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ /attacks/completed/paged: get: tags: - attacks summary: Return a page of completed ad-hoc experiments. description: 'This endpoint will return a paged response of completed ad-hoc experiments for a team. Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: completedPaged 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 ad-hoc experiments 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/PagedResponseExperimentsResponse' '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ /attacks/new: post: tags: - attacks summary: Legacy Create Attack. description: 'Note that this endpoint is considered deprecated but is maintained for existing consumers. Please consider using the new `POST /attacks` endpoint instead. For a list of attack parameters, please visit: https://www.gremlin.com/docs/infrastructure-layer/attacks/#parameter-reference. Please note that if the `labels` or `tags` fields are not provided, no filtering will be employed and an attack will target all active clients within your team. For more information on creating a new attack using the API, please visit: https://www.gremlin.com/docs/api-reference/examples/ Requires the privilege [`EXPERIMENTS_RUN`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: create parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateAttackInput' required: true responses: default: description: default response content: text/plain: schema: type: string '403': description: 'User requires privilege for target team: EXPERIMENTS_RUN' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. deprecated: true security: - privilege: - EXPERIMENTS_RUN /attacks/{guid}: get: tags: - attacks summary: Get details about an attack. description: 'This endpoint will allow you to get info on a specific attack based on its guid. Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: get parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. 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/TaskResponse' '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ delete: tags: - attacks summary: Idempotently halt the specified active attack. description: Requires the privilege [`HALT_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: halt_1 parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. 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/TaskResponse' '403': description: 'User requires privilege for target team: HALT_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - HALT_WRITE /attacks/halt: post: tags: - attacks summary: Idempotently halt all active attacks. This is a POST version of the DELETE operation. operationId: haltAsPost parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/HaltRequest' responses: default: description: default response content: application/json: schema: type: array items: $ref: '#/components/schemas/TaskResponse' '403': description: 'User requires privilege: HALT_ALL' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. /attacks/{guid}/halt: post: tags: - attacks summary: Idempotently halt the specified active attack. description: Requires the privilege [`HALT_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: haltAsPost_1 parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. 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/HaltRequest' responses: default: description: default response content: application/json: schema: type: array items: $ref: '#/components/schemas/TaskResponse' '403': description: 'User requires privilege for target team: HALT_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - HALT_WRITE /executions: get: tags: - executions summary: Get a list of executions associated with an attack. description: Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: forAttack parameters: - name: taskId in: query 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/ExecutionResponse' '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ /halts: post: tags: - halts summary: Idempotently halt all active impacts across the Gremlin platform operationId: haltAll parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/HaltRequest' responses: default: description: default response content: '*/*': {} '403': description: 'User requires privilege: HALT_ALL' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. /kubernetes/attacks/{guid}: get: tags: - kubernetes.attacks summary: Get an attack by it's guid description: Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: attack parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. 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: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ /kubernetes/attacks: get: tags: - kubernetes.attacks summary: List all attacks. description: Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: attacks parameters: - name: source in: query description: Filter Kubernetes attacks to either Adhoc or Scenario. schema: type: string enum: - Adhoc - Scenario example: Adhoc - 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: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ /kubernetes/attacks/new: post: tags: - kubernetes.attacks summary: Legacy endpoint for creating K8s attacks. Please consider `POST /attacks` endpoint instead description: Requires the privilege [`EXPERIMENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: createAttack parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Attack' responses: HttpStatus.SC_CREATED: description: Attack created, attackId returned '403': description: 'User requires privilege for target team: EXPERIMENTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. deprecated: true security: - privilege: - EXPERIMENTS_WRITE /kubernetes/attacks/{uid}/halt: post: tags: - kubernetes.attacks summary: Halt an active attack description: Requires the privilege [`HALT_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: halt_2 parameters: - name: uid 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/HaltRequest' responses: HttpStatus.SC_ACCEPTED: description: Halt successfully triggered '403': description: 'User requires privilege for target team: HALT_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - HALT_WRITE /kubernetes/attacks/halt: post: tags: - kubernetes.attacks summary: Halt all active attacks operationId: haltAll_1 parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/HaltRequest' responses: '202': description: Halt successfully triggered '403': description: 'User requires privilege: HALT_ALL' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. /metadata: get: tags: - metadata summary: Get metadata about the Gremlin commands. description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: metadata 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/InfraAttackMetadata' '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /users/auth/mfa/auth: post: tags: - users.auth.mfa summary: Authenticate a user with MFA. operationId: auth parameters: - name: getCompanySession in: query schema: type: boolean requestBody: content: application/x-www-form-urlencoded: schema: required: - email - password type: object properties: email: type: string password: type: string token: maximum: 999999 type: integer format: int32 companyName: type: string responses: default: description: default response content: application/json: {} '403': description: Response was sent via HTTP, please retry using HTTPS /users/auth/mfa/disable: post: tags: - users.auth.mfa summary: Removes the MFA provider and secret, disabling MFA login. operationId: disable parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: required: - email - password type: object properties: email: type: string password: type: string token: maximum: 999999 type: integer format: int32 responses: default: description: default response content: text/plain: {} '403': description: Response was sent via HTTP, please retry using HTTPS /users/auth/mfa/enable: post: tags: - users.auth.mfa summary: Generate a secret key and enables it for the user. operationId: enable parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: required: - email - password type: object properties: email: type: string password: type: string responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/MfaEnableResponse' '403': description: Response was sent via HTTP, please retry using HTTPS /users/auth/mfa/forceDisable: post: tags: - users.auth.mfa summary: Removes the MFA provider and secret, disabling MFA login. description: 'COMPANY_OWNER and COMPANY_ADMIN users only Requires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: forceDisable parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: required: - email type: object properties: email: type: string responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: COMPANY_USERS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_USERS_WRITE /users/auth/mfa/info: get: tags: - users.auth.mfa summary: Returns the enabled/disabled status and provider if set, of MFA for the user. description: Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getInfo parameters: [] responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/MfaInfoResponse' '403': description: 'User requires privilege: MINIMUM_COMPANY_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_COMPANY_PRIVILEGES /users/auth/mfa/{email}/enabled: get: tags: - users.auth.mfa summary: Returns the enabled/disabled status of MFA for a user. description: 'Company Owners and Admins users only Requires the privilege [`SECURITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: isEnabled parameters: - name: email in: path required: true schema: type: string responses: default: description: default response content: application/json: schema: type: boolean '403': description: 'User requires privilege: SECURITY_REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SECURITY_REPORTS_READ /users/auth/mfa/validate: post: tags: - users.auth.mfa summary: Validate a MFA token for a user operationId: validate parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: required: - email type: object properties: email: type: string token: maximum: 999999 type: integer format: int32 responses: default: description: default response content: text/plain: {} '403': description: Response was sent via HTTP, please retry using HTTPS /integrations/{type}: get: tags: - Notification Integrations summary: Get the integration for your company that is identified by the supplied type description: Requires the privilege [`COMPANY_INTEGRATIONS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: get_2 parameters: - name: type in: path required: true schema: type: string responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/NotificationIntegrationResponse' '403': description: 'User requires privilege: COMPANY_INTEGRATIONS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_INTEGRATIONS_READ put: tags: - Notification Integrations summary: Puts the integration identified by the supplied type on your company description: Requires the privilege [`COMPANY_INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: put parameters: - name: type in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateIntegrationRequest' responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: COMPANY_INTEGRATIONS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_INTEGRATIONS_WRITE delete: tags: - Notification Integrations summary: Idempotently deletes the integration associated with your company, identified by the supplied type description: Requires the privilege [`COMPANY_INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: delete parameters: - name: type in: path required: true schema: type: string responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: COMPANY_INTEGRATIONS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_INTEGRATIONS_WRITE /integrations: get: tags: - Notification Integrations summary: List all integrations associated with your company description: Requires the privilege [`COMPANY_INTEGRATIONS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: list parameters: [] responses: default: description: default response content: application/json: schema: type: array items: $ref: '#/components/schemas/NotificationIntegrationResponse' '403': description: 'User requires privilege: COMPANY_INTEGRATIONS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_INTEGRATIONS_READ /oauth/callback: get: tags: - oauth summary: Handle receiving a code from an OAuth flow. operationId: oAuthCallback parameters: - name: code in: query description: The code from authenticating with the oauth provider required: true schema: type: string - name: state in: query description: The state value set when initiating the OAuth login required: true schema: type: string responses: default: description: default response content: application/json: {} text/plain: {} '403': description: Response was sent via HTTP, please retry using HTTPS /oauth/login: get: tags: - oauth summary: Initiates a OAuth login. operationId: oAuthLogin parameters: - name: companyName in: query description: The name of the company to authenticate too required: true schema: type: string - name: redirectUri in: query description: Where to redirect the user to after authenticating, for use when authenticating via OAuth in the Gremlin UI schema: type: string format: uri responses: default: description: default response content: text/plain: {} '403': description: Response was sent via HTTP, please retry using HTTPS /roles: get: tags: - roles summary: Returns all roles and privileges description: This operation will return all possible roles at both the team and company levels, along with their associated privileges. operationId: getRolesAndPrivileges parameters: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RolesResponse' '403': description: Response was sent via HTTP, please retry using HTTPS post: tags: - roles summary: Create a new custom role description: 'This operation will create a new custom role. Requires the privilege [`ROLES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: createCustomRole parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCustomRoleRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/RoleResponse' '400': description: Bad arguments content: application/json: schema: type: string '403': description: 'User requires privilege: ROLES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - ROLES_WRITE /roles/{roleId}: get: tags: - roles summary: Get a custom role description: This operation will return a custom role. operationId: getRole parameters: - name: roleId in: path description: identifier of the role required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/RoleResponse' '400': description: Bad arguments content: application/json: schema: type: string '403': description: Response was sent via HTTP, please retry using HTTPS delete: tags: - roles summary: Delete a custom role description: 'This operation will delete a custom role. Requires the privilege [`ROLES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: deleteCustomRole parameters: - name: roleId in: path description: identifier of the role required: true schema: type: string responses: '400': description: Bad arguments content: application/json: schema: type: string '403': description: 'User requires privilege: ROLES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - ROLES_WRITE patch: tags: - roles summary: Update a custom role description: 'This operation will update a custom role. Requires the privilege [`ROLES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: updateCustomRole parameters: - name: roleId in: path description: identifier of the role required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCustomRoleRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/RoleResponse' '400': description: Bad arguments content: application/json: schema: type: string '403': description: 'User requires privilege: ROLES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - ROLES_WRITE /users/auth: post: tags: - users.auth summary: Authenticate a user. operationId: auth_1 parameters: - name: getCompanySession in: query schema: type: boolean requestBody: content: application/x-www-form-urlencoded: schema: required: - email - password type: object properties: email: type: string password: type: string companyName: type: string responses: default: description: default response content: application/json: {} '403': description: Response was sent via HTTP, please retry using HTTPS delete: tags: - users.auth summary: Invalidates a user's current session, if it exists. description: Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: invalidate parameters: [] responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: MINIMUM_COMPANY_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_COMPANY_PRIVILEGES /users/auth/emailCompanies: get: tags: - users.auth summary: Email active company affiliations. operationId: companyAffiliationsEmail parameters: - name: email in: query required: true schema: type: string responses: default: description: default response content: text/plain: {} '403': description: Response was sent via HTTP, please retry using HTTPS /users/auth/password/reset: post: tags: - users.auth summary: Reset a user's password via email. operationId: passwordReset parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: required: - email type: object properties: email: type: string responses: default: description: default response content: text/plain: {} '403': description: Response was sent via HTTP, please retry using HTTPS /users/auth/password: put: tags: - users.auth summary: Update an authenticated user's password directly. description: Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: passwordReset_1 parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: required: - currentPassword - newPassword type: object properties: currentPassword: type: string newPassword: type: string responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: MINIMUM_COMPANY_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_COMPANY_PRIVILEGES post: tags: - users.auth summary: Update a user's password. operationId: passwordUpdate parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: required: - code - email - password type: object properties: email: type: string password: type: string code: type: string responses: default: description: default response content: text/plain: {} '403': description: Response was sent via HTTP, please retry using HTTPS /users/auth/saml/failures: get: tags: - users.auth summary: View SAML auth failures for the current company and optional user. description: Requires the privilege [`COMPANY_SECURITY_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: samlFailures parameters: - name: email in: query schema: type: string responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: COMPANY_SECURITY_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_SECURITY_READ /users/auth/saml/metadata: get: tags: - users.auth summary: Gets SAML Service Provider metadata. operationId: samlMetadata parameters: - name: companyName in: query schema: type: string responses: default: description: default response content: application/xml: {} '403': description: Response was sent via HTTP, please retry using HTTPS /aws/metadata/autoscaling-groups: get: tags: - aws.metadata summary: Queries Gremlin's view of Autoscaling Groups in a given AWS account description: "This endpoint returns Gremlin's view of Autoscaling Groups in a given AWS account. The `domain` parameter\ \ refers to the AWS AccountId. \nNOTE: This endpoint may (or may not) return Autoscaling Groups which have already\ \ been assigned to Gremlin Services, or ones which we cannot assign to Gremlin Services\nRequires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" operationId: getAutoscalingGroupsForAccount parameters: - name: domain in: query required: true schema: type: string - name: mode in: query schema: type: string enum: - Onboarding - 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/AwsAutoscalingGroupsForAccount' '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /aws/metadata/iam-role: get: tags: - aws.metadata summary: Returns the policy document necessary for Gremlin to access AWS resources. description: "This endpoint provides the policy document and associated trust policies so that Gremlin can access an\ \ arbitrary AWS account. This endpoint also provides a link to a CloudFormationTemplate for applying this to your\ \ AWS account. \nSee: https://www.gremlin.com/docs/aws-quick-start-guide for more info\n\nRequires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" operationId: getAwsMetadataIamRole 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/AwsMetadataIamRoleResponse' '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /aws/metadata/load-balancers: get: tags: - aws.metadata summary: Queries Gremlin's view of Load balancers in a given AWS account description: "This endpoint returns Gremlin's view of Load Balancers in a given AWS account. These can then be used\ \ to create Gremlin Services or Intelligent Health checks. \nThe `domain` parameter refers to the AWS AccountId.\ \ \nNOTE: This endpoint may (or may not) return Load Balancers which have already been assigned to Gremlin Services,\ \ or ones which we cannot assign to Gremlin Services (eg. LBs with no hosts behind them)\nRequires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" operationId: getLoadBalancersForAccount parameters: - name: domain in: query required: true schema: type: string - name: mode in: query schema: type: string enum: - Onboarding - 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/AwsLoadBalancersForAccount' '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /datadog/monitors/{monitorId}: get: tags: - datadog summary: Get a monitor by id. description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getMonitor parameters: - name: monitorId in: path required: true schema: type: string - name: datadogIntegrationName in: query required: true schema: type: string - name: domain in: query schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Returns monitor if exists '400': description: Bad request '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '429': description: Datadog rate limit exceeded '404': description: Datadog resource not found '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /datadog/monitors: get: tags: - datadog summary: Search for monitors. description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: searchMonitors parameters: - name: searchString in: query schema: type: string - name: page in: query schema: type: integer format: int32 - name: perPage in: query schema: type: integer format: int32 - name: sort in: query schema: type: string - name: datadogIntegrationName in: query required: true schema: type: string - name: domain in: query schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Returns monitors '400': description: Bad request '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '429': description: Datadog rate limit exceeded '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /grafana/alerts: get: tags: - grafana summary: Get all alerts description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: alerts parameters: - name: name in: query schema: type: string - name: grafanaUri in: query required: true schema: type: string format: uri - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Returns all alerts '404': description: Not found '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /grafana/dashboards: get: tags: - grafana summary: Get all dashboards description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: dashboards parameters: - name: name in: query schema: type: string - name: grafanaUri in: query required: true schema: type: string format: uri - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Returns all dashboards '404': description: Not found '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /grafana/rules: get: tags: - grafana summary: Get all rules description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: rules parameters: - name: name in: query schema: type: string - name: grafanaUri in: query required: true schema: type: string format: uri - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Returns all rules '404': description: Not found '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /grafana/monitors: get: tags: - grafana summary: Searches for Grafana alert monitors description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: searchMonitors_1 parameters: - name: searchString in: query schema: type: string - name: grafanaIntegrationName in: query required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Returns matching monitors '400': description: Bad request '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /jira/issues: get: tags: - jira summary: Returns issues for entity ids with details. description: Requires the privilege [`INTEGRATIONS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: issuesForGremlinEntityIds parameters: - name: gremlinEntityIds in: query description: A list of Gremlin entity ids required: true schema: type: array items: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Returns issues created for entity ids '400': description: Bad request '404': description: No Jira integration exists '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 post: tags: - jira summary: Creates new issue. description: Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: issue parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateJiraIssueRequest' required: true responses: '200': description: Issue successfully created '400': description: Bad request '404': description: No Jira integration exists '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 /jira/issues/count: get: tags: - jira summary: Returns total issues for entity ids with details. description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: issueCount parameters: - name: gremlinEntityIds in: query required: true schema: type: array items: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Returns total issues created for entity ids '400': description: Bad request '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /jira/issue-meta: get: tags: - jira summary: Returns the fields and data available and required for creating issues. description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: issueMeta parameters: - name: projectId in: query required: true schema: type: string - name: issueTypeId in: query required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Returns the fields and data by project id or key and issue type id or key '404': description: Not found '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /jira/issues/services: get: tags: - jira summary: Returns issues for an entity id with details. description: Requires the privilege [`INTEGRATIONS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: issuesForGremlinEntityIdOfType parameters: - name: gremlinEntityId in: query description: A Gremlin entity id required: true schema: type: string - name: type in: query required: true schema: type: string enum: - SCENARIO_RUN - GAME_DAY - SERVICE - ATTACK - SCENARIO - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Returns issues created for an entity id '400': description: Bad request '404': description: No Jira integration exists '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 /jira/labels: get: tags: - jira summary: Returns all labels of Jira instance. description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: labels parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Returns all jira labels '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /jira/priorities: get: tags: - jira summary: Returns the list of issue priorities. description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: priorities 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/JiraPriority' '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /jira/projects/{projectIdOrKey}: get: tags: - jira summary: Returns project with given id or key. description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: projectById parameters: - name: projectIdOrKey in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Returns projects by id or key '404': description: Not found '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /jira/projects: get: tags: - jira summary: Search for projects. description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: projectSearch parameters: - name: query in: query schema: type: string - name: startAt in: query schema: type: integer format: int64 - name: maxResults in: query schema: type: integer format: int32 - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Returns projects '404': description: Not found '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /jira/projects/{projectIdOrKey}/users: get: tags: - jira summary: Returns users assignable to given project. description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: projectUsers parameters: - name: projectIdOrKey in: path required: true schema: type: string - name: startAt in: query schema: type: integer format: int64 - name: maxResults in: query schema: type: integer format: int32 - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Returns users assignable to given project '404': description: Not found '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /newrelic/incidents/{incidentId}: get: tags: - newrelic summary: Get an incident by id. description: Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: incident parameters: - name: name in: query schema: type: string - name: incidentId in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Returns an incident '404': description: Not found '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 /pagerduty/incidents: get: tags: - pagerduty summary: Get incidents from a service description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: incidentsForService parameters: - name: name in: query schema: type: string - name: serviceId in: query schema: type: string - name: incidentId in: query schema: type: string - name: statuses in: query schema: type: array items: type: string enum: - TRIGGERED - ACKNOWLEDGED - RESOLVED - name: limit in: query schema: type: integer format: int32 - name: offset in: query schema: type: integer format: int32 - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Returns all incidents from a service '404': description: Not found '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /pagerduty/services: get: tags: - pagerduty summary: Get all services description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: services parameters: - name: name in: query schema: type: string - name: limit in: query schema: type: integer format: int32 - name: offset in: query schema: type: integer format: int32 - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Returns all services '404': description: Not found '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /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 /failure-flags/apps/{name}: get: tags: - failure-flags.apps summary: Get Application by name. description: Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getApplicationForNameAndTeam parameters: - name: name in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Get an Application by name and team content: application/json: schema: $ref: '#/components/schemas/Application' '404': description: Not found '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ /failure-flags/apps: get: tags: - failure-flags.apps summary: List Applications by team. description: Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getApplicationsForTeam parameters: - name: onlyWithMetricsEnabled in: query schema: type: boolean - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: List Applications by team content: application/json: schema: type: array items: $ref: '#/components/schemas/Application' '404': description: Not found '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ /failure-flags/apps/{name}/protect: post: tags: - failure-flags.apps summary: Protect Application by name. description: Requires the privilege [`EXPERIMENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: protectApplication parameters: - name: name in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Protect an Application by name and team '404': description: Not found '403': description: 'User requires privilege for target team: EXPERIMENTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_WRITE /failure-flags/apps/{name}/unprotect: post: tags: - failure-flags.apps summary: Unprotect Application by name. description: Requires the privilege [`EXPERIMENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: unprotectApplication parameters: - name: name in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '201': description: Protect an Application by name and team '404': description: Not found '403': description: 'User requires privilege for target team: EXPERIMENTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_WRITE /failure-flags/experiments/{id}/runs: get: tags: - failure-flags.experiments summary: List all runs of an Experiment by team and ID. description: Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: allRunsForExperiment parameters: - name: id in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: List all runs of an Experiment by team and ID content: application/json: schema: type: array items: $ref: '#/components/schemas/ExperimentRunSummary' '404': description: Not found '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ /failure-flags/experiments: get: tags: - failure-flags.experiments summary: Get all Experiments for a team. description: Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getExperimentsForTeam parameters: - name: includeScenarios in: query schema: type: boolean - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Get all Experiments for a team content: application/json: schema: type: array items: $ref: '#/components/schemas/Experiment' '404': description: Not found '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ post: tags: - failure-flags.experiments summary: Create an Experiment. description: Requires the privilege [`EXPERIMENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: createExperiment parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Experiment' responses: '201': description: Create an Experiment content: application/json: schema: $ref: '#/components/schemas/Experiment' '404': description: Not found '403': description: 'User requires privilege for target team: EXPERIMENTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_WRITE /failure-flags/experiments/{id}: get: tags: - failure-flags.experiments summary: Get Experiment by ID. description: Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getExperimentForTeamAndId parameters: - name: id in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Get an Experiment by team and ID content: application/json: schema: $ref: '#/components/schemas/Experiment' '404': description: Not found '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ delete: tags: - failure-flags.experiments summary: Delete an Experiment by team and ID. description: Requires the privilege [`EXPERIMENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: deleteExperiment parameters: - name: id in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '204': description: Delete an Experiment by team and ID '404': description: Not found '409': description: Cannot delete an Experiment while it is running '403': description: 'User requires privilege for target team: EXPERIMENTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_WRITE /failure-flags/experiments/active: get: tags: - failure-flags.experiments summary: Get all active Experiments for a team. description: Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getActiveExperimentsForTeam parameters: - name: pageSize in: query description: This value determines how many results will be returned per call. schema: type: integer format: int32 example: 20 - name: pageToken in: query description: Token corresponding to the last page of team summaries retrieved. Pass the pageToken to get the next page of team summaries 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: '200': description: Get all active Experiments for a team content: application/json: schema: $ref: '#/components/schemas/ExperimentPagedResponse' '404': description: Not found '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ /failure-flags/experiments/completed/paged: get: tags: - failure-flags.experiments summary: Get all completed Experiments for a team. description: Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getCompletedExperimentsForTeam 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: 20 - name: pageToken in: query description: Token corresponding to the last page of team summaries retrieved. Pass the pageToken to get the next page of team summaries 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: '200': description: Get all completed Experiments for a team content: application/json: schema: $ref: '#/components/schemas/CompletedExperimentPagedResponse' '404': description: Not found '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ /failure-flags/experiments/{id}/run/{startTime}: get: tags: - failure-flags.experiments summary: Get details for a single Experiment run by ID and run start time. description: Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getExperimentRunDetailsForIdAndStartTime parameters: - name: id in: path required: true schema: type: string - name: startTime in: path description: Epoch MS timestamp of the start of the experiment required: true schema: type: integer format: int64 - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Get an Experiment by team and ID content: application/json: schema: $ref: '#/components/schemas/Experiment' '404': description: Not found '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ /failure-flags/experiments/{id}/halt: post: tags: - failure-flags.experiments summary: Halt an Experiment by team and ID. description: Requires the privilege [`HALT_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: haltExperiment parameters: - name: id in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Halt an Experiment by team and ID '404': description: Not found '403': description: 'User requires privilege for target team: HALT_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - HALT_WRITE /failure-flags/experiments/{id}/protect: post: tags: - failure-flags.experiments summary: Protect an Experiment by team and ID. description: Requires the privilege [`EXPERIMENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: protectExperiment parameters: - name: id in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Protect an Experiment by team and ID '404': description: Not found '409': description: Cannot protect an Experiment while it is running '403': description: 'User requires privilege for target team: EXPERIMENTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_WRITE /failure-flags/experiments/{id}/run: post: tags: - failure-flags.experiments summary: Run an Experiment by team and ID. description: Requires the privilege [`EXPERIMENTS_RUN`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: runExperiment parameters: - name: id in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Run an Experiment by team and ID content: application/json: schema: $ref: '#/components/schemas/Experiment' '404': description: Not found '409': description: Cannot run a protected Experiment '403': description: 'User requires privilege for target team: EXPERIMENTS_RUN' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_RUN /failure-flags/experiments/{id}/unprotect: post: tags: - failure-flags.experiments summary: Unprotect an Experiment by team and ID. description: Requires the privilege [`EXPERIMENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: unprotectExperiment parameters: - name: id in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Unprotect an Experiment by team and ID '404': description: Not found '403': description: 'User requires privilege for target team: EXPERIMENTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_WRITE /failure-flags/flags/{name}: get: tags: - failure-flags.flags summary: Get Failure Flag by name. description: Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getFailureFlagForTeamAndName parameters: - name: name in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Get a Failure Flag by name and team content: application/json: schema: $ref: '#/components/schemas/FailureFlag' '404': description: Not found '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ /failure-flags/flags: get: tags: - failure-flags.flags summary: List Failure Flags by team. description: Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getFailureFlagsForTeam parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: List Failure Flags details by team content: application/json: schema: type: array items: $ref: '#/components/schemas/FailureFlag' '404': description: Not found '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ /failure-flags/flags/{name}/protect: post: tags: - failure-flags.flags summary: Protect Failure Flag by name and team. description: Requires the privilege [`EXPERIMENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: protectFailureFlag parameters: - name: name in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Protect a Failure Flag by name and team '404': description: Not found '403': description: 'User requires privilege for target team: EXPERIMENTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_WRITE /failure-flags/flags/{name}/unprotect: post: tags: - failure-flags.flags summary: Unprotect Failure Flag by name and team. description: Requires the privilege [`EXPERIMENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: unprotectFailureFlag parameters: - name: name in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Unprotect a Failure Flag by name and team '404': description: Not found '403': description: 'User requires privilege for target team: EXPERIMENTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_WRITE /gamedays: get: tags: - gamedays summary: Get all GameDays by team. description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getGameDaysForTeam parameters: - 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: pageNumber in: query description: Get the specific page of GameDays. Only pageNumber or pageToken accepted along with pageSize schema: type: integer format: int32 example: 1 - name: pageToken in: query description: Token corresponding to the last page of GameDays. Pass the pageToken to get the next page of GameDays. Only pageNumber or pageToken accepted along with pageSize 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: '200': description: Get all GameDays by team. '404': description: Not found '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES post: tags: - gamedays summary: Create new GameDay plan. description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: createGameDayPlan parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateGameDayPlanRequest' required: true responses: '201': description: New GameDay plan created '400': description: Bad request '404': description: Not found '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /gamedays/{gameDayId}/summary/images/{imageName}: delete: tags: - gamedays summary: Remove an image associated with a gameday description: 'Deletes a specific image associated with a gameday. This does delete the image on the backend so there is *no* recovery Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: delete_1 parameters: - name: imageName in: path required: true schema: type: string - name: gameDayId in: path 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: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES patch: tags: - gamedays summary: Upload an image to a given gameday description: "This takes an image as a multipart/form-data (parameter name \"file\") and uploads it to Gremlin's backend\ \ and associates it with a given Gameday. \nNOTE: imageNames must be S3 compatible strings ([a-zA-Z0-9!-_'\\(\\)])\ \ with under 1000 characters (including file type)\nRequires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" operationId: put_1 parameters: - name: imageName in: path required: true schema: maxLength: 987 minLength: 0 pattern: '[a-zA-Z0-9\!\-\_\.\*\''\(\)\ ]+' type: string - name: gameDayId 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: multipart/form-data: schema: type: object properties: file: $ref: '#/components/schemas/FormDataContentDisposition' responses: default: description: default response content: '*/*': schema: $ref: '#/components/schemas/GameDayResponse' '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /gamedays/{gameDayId}/summary/export: get: tags: - gamedays summary: Exports GameDay Summary PDF file. description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: export parameters: - name: gameDayId in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: GameDay Summary PDF file '404': description: Not found '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /gamedays/{gameDayId}: get: tags: - gamedays summary: Get GameDay details by id. description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getGameDay parameters: - name: gameDayId in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Get GameDay details by id '404': description: Not found '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES patch: tags: - gamedays summary: Updates a GameDay plan. description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: updateGameDay parameters: - name: gameDayId 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/UpdateGameDayPlanRequest' required: true responses: '200': description: Updates a GameDay plan. '400': description: Bad request '404': description: Not found '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /gamedays/{gameDayId}/runs/{scenarioId}: post: tags: - gamedays summary: Runs specific Scenario associated with GameDay. description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: runScenarioForGameDay parameters: - name: gameDayId in: path required: true schema: type: string - name: scenarioId in: path required: true schema: type: string - name: scenarioVersion in: query description: Expected version of scenario. If the current version is different this will receive a 418 with the correct version schema: type: integer format: int32 - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '201': description: Runs specific Scenario associated with GameDay '404': description: Not found '409': description: Conflicting execution in progress '418': description: Mismatch of current version of scenario with the one passed '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /gamedays/{gameDayId}/summary: patch: tags: - gamedays summary: Updates a GameDay summary. description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: updateGameDaySummary parameters: - name: gameDayId 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/UpdateGameDaySummaryRequest' required: true responses: '200': description: Updates a GameDay summary. '400': description: Bad request '404': description: Not found '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /images/{imageName}: get: tags: - images summary: retrieve a given image description: Requires the privilege [`IMAGES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: get_5 parameters: - name: imageName in: path 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/octet-stream: {} '403': description: 'User requires privilege for target team: IMAGES_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - IMAGES_READ delete: tags: - images summary: delete a given image description: Requires the privilege [`IMAGES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: delete_2 parameters: - name: imageName in: path 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: IMAGES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - IMAGES_WRITE /images/{parentId}/{imageName}: get: tags: - images summary: Retrieve a given image for an associated Scenario or Gameday description: Requires the privilege [`IMAGES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getWithParent parameters: - name: imageName in: path required: true schema: type: string - name: parentId in: path 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/octet-stream: {} '403': description: 'User requires privilege for target team: IMAGES_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - IMAGES_READ /gcp/integration-setup: get: tags: - google-cloud.integration summary: Returns the configuration details necessary for Gremlin to access GCP resources. description: 'This endpoint provides the necessary details a customer needs in order to configure their GCP project so that Gremlin can access it. Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: getMetadata 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/GcpIntegrationMetadataResponse' '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES x-gremlin-feature-flag: gcp-ihc /gcp/integrations/{integrationId}/resources/all: get: tags: - google-cloud.integration.resources description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: all_1 parameters: - name: integrationId in: path required: true schema: type: string - name: cloudRunRegion in: query schema: type: array items: type: string - name: pageToken in: query schema: $ref: '#/components/schemas/AllPageToken' - name: pageSize in: query description: This value determines how many results will be returned per call. schema: maximum: 100 minimum: 1 type: integer format: int32 - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: default: description: default response content: '*/*': schema: $ref: '#/components/schemas/PagedResponseResourceItem' '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES x-gremlin-feature-flag: gcp-ihc /gcp/integrations/{integrationId}/resources/cloud-run: get: tags: - google-cloud.integration.resources description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: listCloudRunResources parameters: - name: integrationId in: path required: true schema: type: string - name: region in: query schema: type: array items: type: string - name: pageToken in: query schema: $ref: '#/components/schemas/CloudRunPageToken' - name: pageSize in: query description: This value determines how many results will be returned per call. schema: maximum: 100 minimum: 1 type: integer format: int32 - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: default: description: default response content: '*/*': schema: $ref: '#/components/schemas/PagedResponseResourceItem' '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES x-gremlin-feature-flag: gcp-ihc /gcp/integrations/{integrationId}/resources/compute: get: tags: - google-cloud.integration.resources description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: listComputeResources parameters: - name: integrationId in: path required: true schema: type: string - name: resourceType in: query schema: type: array items: type: string enum: - ForwardingRule - UrlMap - BackendService - CloudRunService - name: pageToken in: query schema: $ref: '#/components/schemas/ComputePageToken' - name: pageSize in: query description: This value determines how many results will be returned per call. schema: maximum: 100 minimum: 1 type: integer format: int32 - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: default: description: default response content: '*/*': schema: $ref: '#/components/schemas/PagedResponseResourceItem' '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES x-gremlin-feature-flag: gcp-ihc /agents/summary: get: tags: - agents summary: Aggregate summary of infrastructure and failure flag agents description: Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getAgentSummary 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/AgentSummaryResponse' '403': description: 'User requires privilege for target team: CLIENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_READ /agents: get: tags: - agents summary: Paginated list of infrastructure and failure flag agents description: Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getPaginatedAgents parameters: - name: pageSize in: query description: This value determines how many results will be returned per call. schema: type: integer format: int32 default: 500 - name: pageToken in: query description: Pass the pageToken to get the next page of agents schema: $ref: '#/components/schemas/PageToken' 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/PagedResponseAgentResponse' '403': description: 'User requires privilege for target team: CLIENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_READ /clients/{identifier}/activate: put: tags: - clients summary: Activate a client. description: Requires the privilege [`CLIENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: activate parameters: - name: identifier in: path description: The identifier of the client to activate required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Client successfully activated. '400': description: Bad Request '402': description: Payment Required '404': description: Not Found '403': description: 'User requires privilege for target team: CLIENTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_WRITE /clients/active: get: tags: - clients summary: Return all active clients within a team description: Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: active_2 parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/Client' '403': description: 'User requires privilege for target team: CLIENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_READ /clients: get: tags: - clients summary: Returns all clients within a team. description: 'This operation will return all active, idle, and recently inactive clients. Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: all_2 parameters: - name: teamId in: query description: The identifier of the team for which to retrieve clients required: true schema: type: string responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/Client' '403': description: 'User requires privilege for target team: CLIENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_READ /clients/{identifier}: get: tags: - clients summary: Get a client by identifier description: Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getClientByIdentifier parameters: - name: identifier in: path description: The identifier of the client to get required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Client' '403': description: 'User requires privilege for target team: CLIENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_READ delete: tags: - clients summary: Deactivate a client description: Requires the privilege [`CLIENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: revoke_1 parameters: - name: identifier in: path description: The identifier of the client to revoke required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': content: text/plain: schema: type: array items: $ref: '#/components/schemas/Client' '400': description: Bad Request '404': description: Not Found '403': description: 'User requires privilege for target team: CLIENTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_WRITE /integration-clients/{identifier}/activate: put: tags: - integration-clients summary: Activates an integration client. description: Requires the privilege [`CLIENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: activate_1 parameters: - name: identifier in: path description: The identifier of the integration client to modify. required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '400': description: Bad Request '402': description: Payment Required '404': description: Not Found '403': description: 'User requires privilege for target team: CLIENTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_WRITE /integration-clients/active: get: tags: - integration-clients summary: Get all active integration clients. description: Requires the privilege [`INTEGRATIONS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: active_3 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/PrivateNetworkClient' '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 /integration-clients: get: tags: - integration-clients summary: Returns all integration clients within a company or team. description: 'This operation will return all active, idle, and recently inactive integration clients. Requires the privilege [`INTEGRATIONS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: all_3 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/IdentitiesPrivateNetworkClient' '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 /integration-clients/matches-tags: post: tags: - integration-clients summary: Returns list of clients which match the given tags description: Requires the privilege [`INTEGRATIONS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: matchesTags parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: type: object additionalProperties: type: array items: type: string responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/PrivateNetworkClientTagMatchResponse' '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 /integration-clients/{identifier}: delete: tags: - integration-clients summary: Deactivates an integration client. description: 'This operation will deactivate the specified integration client. The specified client will no longer be able to be used as a target. Requires the privilege [`CLIENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: revoke_2 parameters: - name: identifier in: path description: The identifier of the integration client to modify. required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '400': description: Bad Request '404': description: Not Found '403': description: 'User requires privilege for target team: CLIENTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_WRITE /integration-invocations: get: tags: - integration-invocations summary: Returns recent private network invocations description: 'This operation will return a list of matching invocations Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: list_1 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/PrivateNetworkInvocationModelResponse' '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES post: tags: - integration-invocations summary: Creates a webhook invocation based on the endpoint configuration description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: createInvocation parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: description: JSON request to create a private network integration content: application/json: schema: $ref: '#/components/schemas/CreatePrivateNetworkInvocationRequest' required: true responses: '400': description: Bad Request '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /integration-invocations/{invocationId}/run-test-endpoint: post: tags: - integration-invocations summary: Test an endpoint configuration. description: Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: testEndpointConfiguration parameters: - name: invocationId in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Success '204': description: No Content '400': description: Bad Request '404': description: Not found '500': description: Internal error '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 /integration-invocations/{invocationId}/run-test-evaluation: post: tags: - integration-invocations summary: Test an evaluation configuration. description: Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: testEvaluationConfiguration parameters: - name: invocationId in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: description: Request containing the evaluation configuration content: application/json: schema: $ref: '#/components/schemas/TestPrivateNetworkEvaluationConfigurationRequest' required: true responses: '200': description: Success '400': description: Bad Request '404': description: Not found '204': description: No Content '500': description: Internal error '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 /teams/{teamId}/profile: get: tags: - teams description: Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getProfile parameters: - name: teamId in: path required: true schema: type: string responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/TeamProfile' '403': description: 'User requires privilege: MINIMUM_COMPANY_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_COMPANY_PRIVILEGES put: tags: - teams description: Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: putProfile parameters: - name: teamId in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/TeamProfile' required: true responses: default: description: default response content: '*/*': {} '403': description: 'User requires privilege: MINIMUM_COMPANY_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_COMPANY_PRIVILEGES /teams/{teamId}/profile/prompt: get: tags: - teams description: Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getProfilePrompt parameters: - name: teamId in: path required: true schema: type: string responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/TeamProfilePrompt' '403': description: 'User requires privilege: MINIMUM_COMPANY_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_COMPANY_PRIVILEGES /apikeys/{identifier}/activate: put: tags: - apikeys summary: Un-Revoke an existing API Key description: Requires the privilege [`API_KEYS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: activate_2 parameters: - name: identifier in: path required: true schema: type: string responses: default: description: default response content: '*/*': {} '403': description: 'User requires privilege: API_KEYS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - API_KEYS_WRITE /apikeys: get: tags: - apikeys summary: List all API Keys description: Requires the privilege [`API_KEYS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: listAll parameters: [] responses: default: description: default response content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiKeyJson' '403': description: 'User requires privilege: API_KEYS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - API_KEYS_READ post: tags: - apikeys summary: Create a new API Key description: Requires the privilege [`API_KEYS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: createNew parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateApiKeysRequest' required: true responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: API_KEYS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - API_KEYS_WRITE /apikeys/{identifier}/expiration: put: tags: - apikeys summary: Set a new expiration on key description: Requires the privilege [`API_KEYS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: expiration parameters: - name: identifier in: path required: true schema: type: string - name: expiresAt in: query schema: type: string format: date-time responses: default: description: default response content: '*/*': {} '403': description: 'User requires privilege: API_KEYS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - API_KEYS_WRITE /apikeys/active: get: tags: - apikeys summary: List active API Keys description: Requires the privilege [`API_KEYS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: listActive parameters: [] responses: default: description: default response content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiKeyJson' '403': description: 'User requires privilege: API_KEYS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - API_KEYS_READ /apikeys/all-for-company: get: tags: - apikeys summary: List all API Keys for company description: Requires the privilege [`ALL_API_KEYS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: listAllForCompany parameters: [] responses: default: description: default response content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiKeyJson' '403': description: 'User requires privilege: ALL_API_KEYS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - ALL_API_KEYS_READ /apikeys/{identifier}: delete: tags: - apikeys summary: Revoke an existing API Key description: Requires the privilege [`API_KEYS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: revoke_3 parameters: - name: identifier in: path required: true schema: type: string responses: default: description: default response content: '*/*': {} '403': description: 'User requires privilege: API_KEYS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - API_KEYS_WRITE /companies/zones: get: tags: - companies summary: Gets all names of configured and detected zones description: 'Get all names of configured zone settings, and all zones detected from agents Requires the privilege [`TEST_SUITES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: getZones parameters: [] responses: default: description: default response content: application/json: {} '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 post: tags: - companies summary: Create a zone description: 'Creates a new zone setting of the company Requires the privilege [`TEST_SUITES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: addZoneSetting parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/Zone' responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: TEST_SUITES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - TEST_SUITES_WRITE /companies: post: tags: - companies summary: Allows a user to create a new Company description: User must have been previously invited operationId: create_1 parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCompanyRequest' required: true responses: default: description: default response content: application/json: {} '403': description: Response was sent via HTTP, please retry using HTTPS /companies/{identifier}/saml/claim-aliases: get: tags: - companies summary: Returns all aliases for a company description: 'Returns all aliases for a company, ordered alphabetically Requires the privilege [`COMPANY_SAMLCLAIM_ALIAS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: getClaimAliasesForCompany parameters: - name: identifier in: path required: true schema: type: string responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/SamlAliasIDs' '403': description: 'User requires privilege: COMPANY_SAMLCLAIM_ALIAS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_SAMLCLAIM_ALIAS_READ post: tags: - companies summary: Creates a claim alias for the company description: 'Creates a claim alias for the company. If a claim alias already exists, it will not be updated. Requires the privilege [`COMPANY_SAMLCLAIM_ALIAS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: createAlias parameters: - name: identifier in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateOrUpdateClaimAliasRequest' responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/SamlAlias' '403': description: 'User requires privilege: COMPANY_SAMLCLAIM_ALIAS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_SAMLCLAIM_ALIAS_WRITE /companies/{identifier}/users: get: tags: - companies summary: Returns all users for the supplied company description: Requires the privilege [`COMPANY_USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getUsersForCompany parameters: - name: identifier in: path required: true schema: type: string responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: COMPANY_USERS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_USERS_READ post: tags: - companies summary: Create a new user. description: User must have been invited. operationId: createUserFromInvite parameters: - name: identifier in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateUserRequest' required: true responses: default: description: default response content: application/json: {} '403': description: Response was sent via HTTP, please retry using HTTPS /companies/{identifier}/saml/claim-aliases/{aliasId}: get: tags: - companies summary: Returns an alias for a company description: 'Returns an alias for a company, with the teams and roles ordered alphabetically Requires the privilege [`COMPANY_SAMLCLAIM_ALIAS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: getClaimAlias parameters: - name: identifier in: path required: true schema: type: string - name: aliasId in: path required: true schema: type: string responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/OrderedSamlAlias' '403': description: 'User requires privilege: COMPANY_SAMLCLAIM_ALIAS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_SAMLCLAIM_ALIAS_READ put: tags: - companies summary: Updates a claim alias for the company description: 'Updates a claim alias for the company, creating it if it doesn''t already exist Requires the privilege [`COMPANY_SAMLCLAIM_ALIAS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: updateAlias parameters: - name: identifier in: path required: true schema: type: string - name: aliasId in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateOrUpdateClaimAliasRequest' responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/SamlAlias' '403': description: 'User requires privilege: COMPANY_SAMLCLAIM_ALIAS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_SAMLCLAIM_ALIAS_WRITE delete: tags: - companies summary: Deletes a claim alias for the company description: 'Permanently deletes the specified alias for the company Requires the privilege [`COMPANY_SAMLCLAIM_ALIAS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: deleteAlias parameters: - name: identifier in: path required: true schema: type: string - name: aliasId in: path required: true schema: type: string responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: COMPANY_SAMLCLAIM_ALIAS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_SAMLCLAIM_ALIAS_WRITE /companies/zones/{zoneId}: get: tags: - companies summary: Get a zone setting description: 'Get the zone setting Requires the privilege [`TEST_SUITES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: getZoneSetting parameters: - name: zoneId in: path required: true schema: type: string responses: default: description: default response content: application/json: {} '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 put: tags: - companies summary: Update a zone description: 'Update a zone setting of the company Requires the privilege [`TEST_SUITES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: editZoneSetting parameters: - name: zoneId in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Zone' responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: TEST_SUITES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - TEST_SUITES_WRITE delete: tags: - companies summary: Delete zone setting description: 'Deletes the zone setting from the company Requires the privilege [`TEST_SUITES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: deleteZoneSetting parameters: - name: zoneId in: path required: true schema: type: string responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: TEST_SUITES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - TEST_SUITES_WRITE /companies/{identifier}/users/active/paged: get: tags: - companies summary: Returns paginated active users for the supplied company description: Requires the privilege [`COMPANY_USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getActiveUsersForCompanyPaginated parameters: - name: identifier in: path 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: 10 example: None (unlimited) - name: pageToken in: query description: Token corresponding to the last page of active company users retrieved. Pass the pageToken to get the next page of active company users schema: type: string example: None (returns first page) responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: COMPANY_USERS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_USERS_READ /companies/{identifier}/clients: get: tags: - companies summary: Returns all clients for the supplied company description: 'SUPER users only Requires the privilege [`COMPANIES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: getClientsForCompany parameters: - name: identifier in: path required: true schema: type: string responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: COMPANIES_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANIES_READ /companies/{identifier}: get: tags: - companies summary: Gets a Company by its supplied guid description: Requires the privilege [`COMPANIES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getCompany parameters: - name: identifier in: path required: true schema: type: string - name: skipTeams in: query schema: type: boolean responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/CompanyResponse' '403': description: 'User requires privilege: COMPANIES_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANIES_READ patch: tags: - companies summary: Update the prefs for company description: 'This endpoint will allow you to update the prefs for a company based on its identifier. Requires the privilege [`COMPANY_PREFERENCES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: updateCompanyPrefs parameters: - name: identifier in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CompanyPatch' responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: COMPANY_PREFERENCES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_PREFERENCES_WRITE /companies/{identifier}/users/invited/paged: get: tags: - companies summary: Returns paginated invited users for the supplied company description: Requires the privilege [`COMPANY_USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getInvitedUsersForCompanyPaginated parameters: - name: identifier in: path 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: 10 example: None (unlimited) - name: pageToken in: query description: Token corresponding to the last page of invited company users retrieved. Pass the pageToken to get the next page of invited company users schema: type: string example: None (returns first page) responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: COMPANY_USERS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_USERS_READ /companies/{identifier}/users/revoked/paged: get: tags: - companies summary: Returns paginated revoked users for the supplied company description: Requires the privilege [`COMPANY_USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getRevokedUsersForCompanyPaginated parameters: - name: identifier in: path 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: 10 example: None (unlimited) - name: pageToken in: query description: Token corresponding to the last page of revoked company users retrieved. Pass the pageToken to get the next page of revoked company users schema: type: string example: None (returns first page) responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: COMPANY_USERS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_USERS_READ /companies/{identifier}/users/paged: get: tags: - companies summary: Returns paginated users for the supplied company description: Requires the privilege [`COMPANY_USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getUsersForCompanyPaginated parameters: - name: identifier in: path 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: 10 example: None (unlimited) - name: pageToken in: query description: Token corresponding to the last page of company users retrieved. Pass the pageToken to get the next page of company users schema: type: string example: None (returns first page) responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: COMPANY_USERS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_USERS_READ /companies/invite: post: tags: - companies summary: Invites the specified email to create a new Company. operationId: invite parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/InviteUserFromSelfSignupRequest' required: true responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/CompanyInviteResponse' '403': description: Response was sent via HTTP, please retry using HTTPS /companies/{identifier}/invites: post: tags: - companies summary: Invite one or more users to join your Gremlin company description: Requires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: inviteUsersToCompany parameters: - name: identifier in: path required: true schema: type: string requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/InviteUserRequest' required: true responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: COMPANY_USERS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_USERS_WRITE /companies/{identifier}/users/{email}/active: post: tags: - companies summary: User must exist. This is primarily used to reactivate a deactivated user. description: 'Activates a user. Requires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: rbacUnrevoke parameters: - name: identifier in: path required: true schema: type: string - name: email in: path required: true schema: type: string responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: COMPANY_USERS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_USERS_WRITE delete: tags: - companies summary: Deactivates a user. description: 'Once deactivated, user will not be able to do anything on company Requires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: rbacRevoke parameters: - name: identifier in: path required: true schema: type: string - name: email in: path required: true schema: type: string responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: COMPANY_USERS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_USERS_WRITE /companies/{identifier}/invites/{email}: delete: tags: - companies summary: Revoke a pending user invite. description: Requires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: rbacRevokeInvite parameters: - name: identifier in: path required: true schema: type: string - name: email in: path required: true schema: type: string responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: COMPANY_USERS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_USERS_WRITE /companies/{identifier}/users/{email}: put: tags: - companies summary: Update roles of existing user. description: 'User must exist. Requires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: rbacUpdate parameters: - name: identifier in: path required: true schema: type: string - name: email in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/SetRolesRequest' required: true responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: COMPANY_USERS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_USERS_WRITE /companies/trial: post: tags: - companies summary: Allows an invited user to create a new Company for a trial. description: User must have been previously invited operationId: trial parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: required: - adminEmail - code - name type: object properties: name: maxLength: 50 minLength: 3 type: string code: type: string adminEmail: type: string adminPassword: type: string allowUsStorage: type: boolean responses: default: description: default response content: application/json: {} '403': description: Response was sent via HTTP, please retry using HTTPS deprecated: true /companies/{identifier}/auth/prefs: post: tags: - companies summary: Updates the authentication preferences associated with this Company. description: Requires the privilege [`COMPANY_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: updateAuthMethodPrefs parameters: - name: identifier in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCompanyAuthMethodPrefsRequest' required: true responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: COMPANY_SECURITY_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_SECURITY_WRITE /companies/{identifier}/mfaPrefs: post: tags: - companies summary: Updates the MFA preferences associated with this Company. description: Requires the privilege [`COMPANY_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: updateMfaPrefs parameters: - name: identifier in: path required: true schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: forceMfa: type: boolean default: false responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: COMPANY_SECURITY_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_SECURITY_WRITE /companies/{identifier}/oauth/settings: post: tags: - companies summary: Updates the OAuth settings for this Company. description: Requires the privilege [`COMPANY_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: updateOAuthSettings parameters: - name: identifier in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateOAuthSettingsRequest' required: true responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: COMPANY_SECURITY_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_SECURITY_WRITE /companies/{identifier}/prefs: post: tags: - companies summary: Updates the preferences associated with this Company. description: 'SUPER users only Requires the privilege [`COMPANY_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: updatePrefs parameters: - name: identifier in: path required: true schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: domain: type: string default: '' responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: COMPANY_SECURITY_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. deprecated: true security: - privilege: - COMPANY_SECURITY_WRITE /companies/{identifier}/saml/props: post: tags: - companies summary: Updates the preferences associated with this Company. description: 'SUPER users only Requires the privilege [`COMPANY_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: updateSamlProperties parameters: - name: identifier in: path required: true schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: required: - certificate - enabled - entityId - idpUrl type: object properties: enabled: type: string entityId: type: string idpUrl: type: string format: uri certificate: type: object properties: signature: type: array items: type: string format: byte basicConstraints: type: integer format: int32 version: type: integer format: int32 extendedKeyUsage: type: array items: type: string issuerAlternativeNames: type: array items: type: array items: type: object sigAlgParams: type: array items: type: string format: byte tbscertificate: type: array items: type: string format: byte issuerDN: type: object properties: name: type: string sigAlgOID: type: string issuerUniqueID: type: array items: type: boolean subjectUniqueID: type: array items: type: boolean keyUsage: type: array items: type: boolean sigAlgName: type: string serialNumber: type: integer notBefore: type: string format: date-time notAfter: type: string format: date-time issuerX500Principal: type: object properties: name: type: string encoded: type: array items: type: string format: byte subjectX500Principal: type: object properties: name: type: string encoded: type: array items: type: string format: byte subjectAlternativeNames: type: array items: type: array items: type: object subjectDN: type: object properties: name: type: string criticalExtensionOIDs: uniqueItems: true type: array items: type: string nonCriticalExtensionOIDs: uniqueItems: true type: array items: type: string type: type: string encoded: type: array items: type: string format: byte publicKey: type: object properties: params: type: object encoded: type: array items: type: string format: byte format: type: string algorithm: type: string forced: type: string claimsForced: type: string responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: COMPANY_SECURITY_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_SECURITY_WRITE /companies/{identifier}/users/{email}/api-key/{api-key-id}: delete: tags: - companies description: Requires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: userApiKeyRevoke parameters: - name: identifier in: path required: true schema: type: string - name: email in: path required: true schema: type: string - name: api-key-id in: path required: true schema: maxLength: 100 minLength: 0 pattern: ^[a-zA-Z0-9 -]*$ type: string responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: COMPANY_USERS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_USERS_WRITE /orgs/auth/certificate: get: tags: - orgs summary: Gets the secret key and certificate for this org in PEM format (zipped). description: Requires the privilege [`TEAM_SECURITY_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: downloadClientCredentials parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: default: description: default response content: application/octet-stream: {} '403': description: 'User requires privilege for target team: TEAM_SECURITY_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - TEAM_SECURITY_READ post: tags: - orgs summary: Rolls over to use a new certificate. The current certificate will be saved and still valid for authentication, providing a transition period. description: 'SUPER users only Requires the privilege [`TEAM_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: addNewCertificate parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: default: description: default response content: application/octet-stream: {} '403': description: 'User requires privilege for target team: TEAM_SECURITY_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - TEAM_SECURITY_WRITE delete: tags: - orgs summary: Deletes the current credentials and generates new. For use when the current credentials are compromised. description: 'SUPER users only Requires the privilege [`TEAM_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: replaceCertificate parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: default: description: default response content: application/octet-stream: {} '403': description: 'User requires privilege for target team: TEAM_SECURITY_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - TEAM_SECURITY_WRITE /orgs: get: tags: - orgs summary: Get all Teams. description: Requires the privilege [`TEAMS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: info parameters: - name: prefs in: query schema: type: boolean responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: TEAMS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - TEAMS_READ post: tags: - orgs summary: Creates a new org with provided name. description: Requires the privilege [`COMPANIES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: create_2 parameters: - name: addUser in: query schema: type: boolean default: true requestBody: content: application/x-www-form-urlencoded: schema: required: - name type: object properties: name: maxLength: 50 minLength: 1 type: string responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: COMPANIES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANIES_WRITE /orgs/{identifier}: get: tags: - orgs summary: Get the specified Team. description: Requires the privilege [`TEAMS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: info_1 parameters: - name: identifier in: path required: true schema: type: string - name: prefs in: query schema: type: boolean responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: TEAMS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - TEAMS_READ /orgs/auth/certificate/old: delete: tags: - orgs summary: Deletes the old certificate for this org. This is intended for when a transition to new certificates has been completed, or when the old certificate has been compromised. description: 'SUPER users only Requires the privilege [`TEAM_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: invalidateOldCertificate parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege for target team: TEAM_SECURITY_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - TEAM_SECURITY_WRITE /orgs/auth/secret/reset: post: tags: - orgs summary: Resets the secret for this Team. description: 'SUPER users only Requires the privilege [`TEAM_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: secretReset parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: required: - identifier type: object properties: identifier: type: string responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege for target team: TEAM_SECURITY_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - TEAM_SECURITY_WRITE /reports/attacks: get: tags: - reports summary: Loads the Attacks Summary for the specified time period. description: Requires the privilege [`REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: attackSummary parameters: - name: teamId in: query description: team identifier associated with the requester's team required: true schema: type: string example: '2026-05-01' - name: start in: query required: true schema: type: string format: date example: '2026-05-01' - name: end in: query required: true schema: type: string format: date - name: period in: query required: true schema: type: string enum: - MONTHS - WEEKS - DAYS responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - REPORTS_READ /reports/clients: get: tags: - reports summary: Loads the Client Summary for the specified time period. description: Requires the privilege [`REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: clientSummary parameters: - name: teamId in: query description: team identifier associated with the requester's team required: true schema: type: string example: '2026-05-01' - name: start in: query required: true schema: type: string format: date example: '2026-05-01' - name: end in: query required: true schema: type: string format: date - name: period in: query required: true schema: type: string enum: - MONTHS - WEEKS - DAYS responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - REPORTS_READ /reports/companies: get: tags: - reports summary: Loads the Company Summary for the specified month. description: Requires the privilege [`REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: companySummary parameters: - name: startDate in: query required: true schema: type: string format: date example: '2026-05-01' - name: endDate in: query required: true schema: type: string format: date example: '2026-05-01' responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - REPORTS_READ /reports/companies/pdf: get: tags: - reports summary: Loads the Company Summary PDF for the specified time frame. description: Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: companySummaryPdf parameters: - name: startDate in: query schema: type: string format: date example: '2026-05-01' - name: endDate in: query schema: type: string format: date example: '2026-05-01' - name: numberOfDataPoints in: query schema: type: integer format: int32 default: 12 - name: topN in: query schema: type: integer format: int32 default: 3 - name: filter in: query schema: type: string - name: groupBy in: query schema: type: string enum: - TEAM responses: default: description: default response content: application/octet-stream: {} text/plain: {} '403': description: 'User requires privilege: RELIABILITY_REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - RELIABILITY_REPORTS_READ /reports/companies/reliability-management: get: tags: - reports summary: Loads the Company Reliability Management Report for the specified time window defaulting to a week. description: Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getCompanyReliabilityManagementReport parameters: - name: startDate in: query schema: type: string format: date example: '2026-05-01' - name: endDate in: query schema: type: string format: date example: '2026-05-01' - name: topN in: query schema: type: integer format: int32 default: 3 - name: includeDailyReport in: query schema: type: boolean responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/CompanyReliabilityReportResponse' '403': description: 'User requires privilege: RELIABILITY_REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - RELIABILITY_REPORTS_READ /reports/companies/reliability-management/services: get: tags: - reports summary: Loads the company service list and reliability trend for each service for the specified time window defaulting to a month. description: Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getCompanyReliabilityManagementReport_1 parameters: - name: startDate in: query schema: type: string format: date example: '2026-05-01' - name: endDate in: query schema: type: string format: date example: '2026-05-01' - name: numberOfDataPoints in: query schema: type: integer format: int32 default: 4 - name: topN in: query schema: type: integer format: int32 default: 3 - name: filter in: query schema: type: string responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/CompanyReliabilityReportServiceListResponse' '403': description: 'User requires privilege: RELIABILITY_REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - RELIABILITY_REPORTS_READ /reports/companies/reliability-management/grouped: get: tags: - reports summary: Loads the Company Reliability Management Report grouped by query param value of groupBy - defaults to TEAM. description: Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getCompanyReliabilityManagementReportGrouped parameters: - name: groupBy in: query schema: type: string default: TEAM enum: - TEAM - name: numberOfDataPoints in: query schema: type: integer format: int32 default: 4 - name: filter in: query schema: type: string responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/CompanyReliabilityReportGroupedResponse' '403': description: 'User requires privilege: RELIABILITY_REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - RELIABILITY_REPORTS_READ /reports/companies/trends: get: tags: - reports summary: Returns the Risk and Score trends for your company across all associated services description: Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getCompanyScoreRiskTrends parameters: - name: startDate in: query schema: type: string format: date example: '2026-05-01' - name: endDate in: query schema: type: string format: date example: '2026-05-01' - name: numberOfDataPoints in: query schema: type: integer format: int32 default: 12 - name: filter in: query schema: type: string responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/ScoreRiskTrend' '403': description: 'User requires privilege: RELIABILITY_REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - RELIABILITY_REPORTS_READ /reports/team/detected-risk/trend: get: tags: - reports summary: Returns the trend of risks across all services for a given team description: Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getDetectedRisksReportTrendForTeam parameters: - name: teamId in: query schema: type: string - name: startDate in: query schema: type: string format: date example: '2026-05-01' - name: endDate in: query schema: type: string format: date example: '2026-05-01' - name: numberOfDataPoints in: query schema: type: integer format: int32 default: 12 responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/ReportTrend' '403': description: 'User requires privilege: RELIABILITY_REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - RELIABILITY_REPORTS_READ /reports/team/reliability-report: get: tags: - reports description: Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getReliabilityReportForTeam parameters: - name: teamId in: query schema: type: string responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/TeamReliabilityScoreReportResponse' '403': description: 'User requires privilege: RELIABILITY_REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - RELIABILITY_REPORTS_READ /reports/team/reliability-report/pdf: get: tags: - reports summary: Loads the team reliability report PDF for the specified time frame. description: Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getReliabilityReportForTeamPdf parameters: - name: teamId in: query required: true schema: type: string - name: startDate in: query schema: type: string format: date example: '2026-05-01' - name: endDate in: query schema: type: string format: date example: '2026-05-01' - name: numberOfDataPoints in: query schema: type: integer format: int32 default: 12 responses: default: description: default response content: application/octet-stream: {} text/plain: {} '403': description: 'User requires privilege: RELIABILITY_REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - RELIABILITY_REPORTS_READ /reports/services/reliability-management/reliability-report-trend: get: tags: - reports summary: Loads the Reliability report trend for all the services of the team for the specified time period defaulting to 1 months and 4 data points description: Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getReliabilityReportTrendForAllServicesOfTeam parameters: - name: startDate in: query schema: type: string format: date example: '2026-05-01' - name: endDate in: query schema: type: string format: date example: '2026-05-01' - name: numberOfDataPoints in: query schema: type: integer format: int32 default: 4 responses: default: description: default response content: application/json: schema: type: array items: $ref: '#/components/schemas/ServiceReliabilityReportTrend' '403': description: 'User requires privilege: RELIABILITY_REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - RELIABILITY_REPORTS_READ /reports/services/{serviceId}/reliability-management/reliability-report-trend: get: tags: - reports summary: Loads the Reliability report trend for the service for the specified time period defaulting to 1 months and 4 data points description: Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getReliabilityReportTrendForService parameters: - name: serviceId in: path required: true schema: type: string - name: startDate in: query schema: type: string format: date example: '2026-05-01' - name: endDate in: query schema: type: string format: date example: '2026-05-01' - name: numberOfDataPoints in: query schema: type: integer format: int32 default: 4 - 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/ReportTrend' '403': description: 'User requires privilege: RELIABILITY_REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - RELIABILITY_REPORTS_READ /reports/team/reliability-report/trend: get: tags: - reports summary: Returns the trend of Reliability Scores across all services for a given team description: Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getReliabilityReportTrendForTeam parameters: - name: teamId in: query schema: type: string - name: startDate in: query schema: type: string format: date example: '2026-05-01' - name: endDate in: query schema: type: string format: date example: '2026-05-01' - name: numberOfDataPoints in: query schema: type: integer format: int32 default: 12 responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/ReportTrend' '403': description: 'User requires privilege: RELIABILITY_REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - RELIABILITY_REPORTS_READ /reports/team/detected-risks-report: get: tags: - reports summary: Loads latest risk evaluation for each eligible service for the team description: Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getRiskEvaluationReportForTeam parameters: - name: teamId in: query schema: type: string responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/TeamRiskReportResponse' '403': description: 'User requires privilege: RELIABILITY_REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - RELIABILITY_REPORTS_READ /reports/team/detected-risks-report/pdf: get: tags: - reports summary: Loads the team risk report PDF for the specified time frame. description: Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getRiskEvaluationReportForTeamPdf parameters: - name: teamId in: query required: true schema: type: string - name: startDate in: query schema: type: string format: date example: '2026-05-01' - name: endDate in: query schema: type: string format: date example: '2026-05-01' - name: numberOfDataPoints in: query schema: type: integer format: int32 default: 12 responses: default: description: default response content: application/octet-stream: {} text/plain: {} '403': description: 'User requires privilege: RELIABILITY_REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - RELIABILITY_REPORTS_READ /reports/team/trends: get: tags: - reports summary: Returns the trend of Reliability Scores across all services for a given team description: Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getScoreRiskTrendsForTeam parameters: - name: teamId in: query schema: type: string - name: startDate in: query schema: type: string format: date example: '2026-05-01' - name: endDate in: query schema: type: string format: date example: '2026-05-01' - name: numberOfDataPoints in: query schema: type: integer format: int32 default: 12 responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/ScoreRiskTrend' '403': description: 'User requires privilege: RELIABILITY_REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - RELIABILITY_REPORTS_READ /reports/pricing: get: tags: - reports summary: Loads the pricing usage for the specified dates and tracking period. description: Requires the privilege [`REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: pricingReport parameters: - name: startDate in: query description: Start date (yyyy-mm-dd) for the pricing usage. Should be within the current contract duration required: true schema: type: string format: date example: '2026-05-01' - name: endDate in: query description: End date (yyyy-mm-dd) for the pricing usage. Should be within the current contract duration required: true schema: type: string format: date example: '2026-05-01' - name: trackingPeriod in: query description: Tracking period for the pricing usage. Should be either Daily, Weekly or Monthly based on the contract. Defaults to the currently configured period for the company's plan schema: type: string enum: - Daily - Weekly - Monthly responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/PricingReport' text/plain: schema: $ref: '#/components/schemas/PricingReport' '403': description: 'User requires privilege: REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - REPORTS_READ /reports/teams: get: tags: - reports summary: This functionality has moved to GET /reports/teams/paged.Loads the Team Summary for the specified month. description: Requires the privilege [`REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: teamSummaries parameters: - name: startDate in: query required: true schema: type: string format: date example: '2026-05-01' - name: endDate in: query required: true schema: type: string format: date example: '2026-05-01' - name: teamId in: query schema: type: string responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. deprecated: true security: - privilege: - REPORTS_READ /reports/teams/paged: get: tags: - reports summary: Loads the Team Summary for the specified month. description: Requires the privilege [`REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: teamSummariesPaged parameters: - name: startDate in: query required: true schema: type: string format: date example: '2026-05-01' - name: endDate in: query required: true schema: type: string format: date example: '2026-05-01' - name: pageSize in: query description: This value determines how many results will be returned per call. schema: type: integer format: int32 default: 20 example: 20 - name: pageToken in: query description: Token corresponding to the last page of team summaries retrieved. Pass the pageToken to get the next page of team summaries schema: type: string example: None (returns first page) responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/PagedResponseTeamUsageReport' '403': description: 'User requires privilege: REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - REPORTS_READ /reports/users: get: tags: - reports summary: Loads the User Summary for the specified time period. description: Requires the privilege [`REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: userSummary parameters: - name: teamId in: query description: team identifier associated with the requester's team required: true schema: type: string example: '2026-05-01' - name: start in: query required: true schema: type: string format: date example: '2026-05-01' - name: end in: query required: true schema: type: string format: date - name: period in: query required: true schema: type: string enum: - MONTHS - WEEKS - DAYS responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - REPORTS_READ /reports/security/access: get: tags: - reports.security summary: 'Loads the Access Summary for the specified company in the time period requested (max: 1 hour). Returned in JSON format' description: 'COMPANY_OWNER and COMPANY_ADMIN users only Requires the privilege [`SECURITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: accessSummary parameters: - name: start in: query description: Start time in format 'yyyy-mm-ddThh:mm:ss.sssZ' required: true schema: type: string format: date-time - name: end in: query description: End time in format 'yyyy-mm-ddThh:mm:ss.sssZ' required: true schema: type: string format: date-time responses: default: description: default response content: application/json: {} text/plain: {} '403': description: 'User requires privilege: SECURITY_REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SECURITY_REPORTS_READ /reports/security/event: get: tags: - reports.security summary: 'Loads the Experiment Summary for the specified company in the time period requested (max: 1 hour) and the recent scenario runs. Returned in JSON format' description: 'COMPANY_OWNER and COMPANY_ADMIN users only Requires the privilege [`SECURITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: eventSummary parameters: - name: start in: query description: Start time in format 'yyyy-mm-ddThh:mm:ss.sssZ' required: true schema: type: string format: date-time - name: end in: query description: End time in format 'yyyy-mm-ddThh:mm:ss.sssZ' required: true schema: type: string format: date-time responses: default: description: default response content: application/json: {} text/plain: {} '403': description: 'User requires privilege: SECURITY_REPORTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SECURITY_REPORTS_READ /notification-settings: get: tags: - notification-settings summary: Returns a team's notification settings description: 'This operation will return a team''s notification settings. Requires the privilege [`TEAMS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: getNotificationSettings parameters: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/TeamNotificationSettings' '403': description: 'User requires privilege: TEAMS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - TEAMS_READ patch: tags: - notification-settings summary: Updates a team's notification settings description: 'This operation will update a team''s notification settings. Requires the privilege [`TEAMS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: putNotificationSettings parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/TeamNotificationSettings' required: true responses: '400': description: Bad arguments content: '*/*': schema: type: string '403': description: 'User requires privilege for target team: TEAMS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - TEAMS_WRITE /teams/kubernetes/install: get: tags: - teams summary: Generates a kubernetes installation manifest for passing to kubectl description: Requires the privilege [`TEAM_SECURITY_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: combinedKubernetes parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: default: description: default response content: application/x-yaml: schema: type: string '403': description: 'User requires privilege for target team: TEAM_SECURITY_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - TEAM_SECURITY_READ /teams/{identifier}: delete: tags: - teams summary: Idempotently deletes an existing team. description: Requires the privilege [`COMPANIES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: delete_3 parameters: - name: identifier in: path required: true schema: type: string responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/TeamResponse' '403': description: 'User requires privilege: COMPANIES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANIES_WRITE patch: tags: - teams summary: Idempotently updates an existing team. description: Requires the privilege [`TEAMS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: update_1 parameters: - name: identifier 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/UpdateTeamRequest' required: true responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege for target team: TEAMS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - TEAMS_WRITE /teams/client/install: get: tags: - teams summary: Generates a config.yaml file with populated values for authenticating the client description: Requires the privilege [`TEAM_SECURITY_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: downloadClientConfig parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: default: description: default response content: application/octet-stream: {} '403': description: 'User requires privilege for target team: TEAM_SECURITY_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - TEAM_SECURITY_READ /teams/helm/install: get: tags: - teams summary: Generates a teams-specific values file to be passed to a helm install command description: Requires the privilege [`TEAM_SECURITY_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: downloadHelmValues parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: default: description: default response content: application/x-yaml: schema: type: string '403': description: 'User requires privilege for target team: TEAM_SECURITY_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - TEAM_SECURITY_READ /teams: get: tags: - teams summary: Gets all Teams associated with the current Company. description: Requires the privilege [`TEAMS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: get_6 parameters: [] responses: default: description: default response content: application/json: schema: type: array items: $ref: '#/components/schemas/TeamResponse' '403': description: 'User requires privilege: TEAMS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - TEAMS_READ /teams/{teamIdOrName}: get: tags: - teams description: Requires the privilege [`TEAMS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getByIdOrName parameters: - name: teamIdOrName in: path required: true schema: type: string responses: default: description: default response content: application/json: schema: type: array items: $ref: '#/components/schemas/TeamResponse' '403': description: 'User requires privilege: TEAMS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - TEAMS_READ /teams/paged: get: tags: - teams summary: Gets paged response for teams associated with the current Company. Default page size is 20 description: Requires the privilege [`TEAMS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getPaged parameters: - name: pageSize in: query description: This value determines how many results will be returned per call. schema: type: integer format: int32 example: 20 - name: pageToken in: query description: Token corresponding to the last page of teams retrieved. Pass the pageToken to get the next page of teams schema: type: string example: None (returns first page) responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/PagedResponseTeamResponse' '403': description: 'User requires privilege: TEAMS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - TEAMS_READ /users/active: get: tags: - users summary: Get all active users. description: Requires the privilege [`USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: active_4 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: {} '403': description: 'User requires privilege for target team: USERS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - USERS_READ /users/active/paged: get: tags: - users summary: Get all active users paginated. description: Requires the privilege [`USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: activePaginated parameters: - name: pageSize in: query description: This value determines how many results will be returned per call. schema: type: integer format: int32 default: 10 example: None (unlimited) - name: pageToken in: query description: Token corresponding to the last page of active company users for team retrieved. Pass the pageToken to get the next page of active company users for team 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: {} '403': description: 'User requires privilege for target team: USERS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - USERS_READ /users: get: tags: - users summary: Get all users. description: Requires the privilege [`USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: all_4 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: {} '403': description: 'User requires privilege for target team: USERS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - USERS_READ post: tags: - users summary: Add an existing user to the target team description: 'User must belong to this teams company Requires the privilege [`USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: addUserToTeam parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/AddUserRequest' required: true responses: '200': description: Users successfully added '400': description: One or more users were not found or were revoked, no users added '409': description: One or more users already belong on team, no users added '403': description: 'User requires privilege for target team: USERS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - USERS_WRITE /users/paged: get: tags: - users summary: Get all users paginated. description: Requires the privilege [`USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: allPaginated parameters: - name: pageSize in: query description: This value determines how many results will be returned per call. schema: type: integer format: int32 default: 10 example: None (unlimited) - name: pageToken in: query description: Token corresponding to the last page of company users for team retrieved. Pass the pageToken to get the next page of company users for team 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: {} '403': description: 'User requires privilege for target team: USERS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - USERS_READ /users/self: get: tags: - users summary: Get information about the authenticated user description: Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getSelf parameters: [] responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: MINIMUM_COMPANY_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_COMPANY_PRIVILEGES patch: tags: - users summary: Update an existing users info. description: 'User must exist. Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: rbacUpdateSelf parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateUserInfoRequest' required: true responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: MINIMUM_COMPANY_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_COMPANY_PRIVILEGES /users/invite: post: tags: - users summary: Invite a user. description: Requires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: invite_1 parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: required: - email type: object properties: email: type: string source_detail: type: string enum: - Onboarding responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: COMPANY_USERS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_USERS_WRITE /users/renew/rbac: post: tags: - users summary: Renew authorization. operationId: rbacAuthRenew parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: required: - companyId - email - renewToken type: object properties: email: type: string companyId: type: string teamId: type: string renewToken: type: string responses: default: description: default response content: application/json: {} '403': description: Response was sent via HTTP, please retry using HTTPS /users/{email}: put: tags: - users summary: Update an existing user. description: 'User must exist. Requires the privilege [`USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: update_2 parameters: - name: email 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/x-www-form-urlencoded: schema: required: - role type: object properties: role: uniqueItems: true type: array items: type: string responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege for target team: USERS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - USERS_WRITE delete: tags: - users summary: Deactivate a user. description: Requires the privilege [`USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: revokeOrRemoveFromTeam parameters: - name: email in: path 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: text/plain: {} '403': description: 'User requires privilege for target team: USERS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - USERS_WRITE /users/sessions: get: tags: - users summary: Returns the updated user sessions list for the currently authenticated user. description: Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: refreshSessions parameters: - name: getCompanySession in: query schema: type: boolean responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: MINIMUM_COMPANY_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_COMPANY_PRIVILEGES /users/invite/{email}: delete: tags: - users summary: Revoke a pending user invite. description: Requires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: revokeInvite parameters: - name: email in: path required: true schema: type: string responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege: COMPANY_USERS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - COMPANY_USERS_WRITE /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 /disaster-recovery-tests/{identifier}/complete: post: tags: - disaster-recovery-tests summary: Marks a disaster recovery test for a company as completed, generating a report description: Requires the privilege [`DISASTER_RECOVERY_TESTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: completeLargeScaleTest parameters: - name: identifier in: path required: true schema: type: string responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/LargeScaleTestResponse' '403': description: 'User requires privilege: DISASTER_RECOVERY_TESTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - DISASTER_RECOVERY_TESTS_WRITE /disaster-recovery-tests: post: tags: - disaster-recovery-tests summary: Creates a disaster recovery test for a company description: Requires the privilege [`DISASTER_RECOVERY_TESTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: createLargeScaleTest parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateOrUpdateLargeScaleTestRequest' responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/LargeScaleTestResponse' '403': description: 'User requires privilege: DISASTER_RECOVERY_TESTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - DISASTER_RECOVERY_TESTS_WRITE /disaster-recovery-tests/{identifier}: get: tags: - disaster-recovery-tests summary: Gets a disaster recovery test, complete with service details description: Requires the privilege [`DISASTER_RECOVERY_TESTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getLargeScaleTest_1 parameters: - name: identifier in: path required: true schema: type: string responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/LargeScaleTestResponse' '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 put: tags: - disaster-recovery-tests summary: Updates a disaster recovery test for a company description: Requires the privilege [`DISASTER_RECOVERY_TESTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: updateLargeScaleTest parameters: - name: identifier in: path required: true schema: type: string requestBody: content: '*/*': schema: $ref: '#/components/schemas/CreateOrUpdateLargeScaleTestRequest' responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: DISASTER_RECOVERY_TESTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - DISASTER_RECOVERY_TESTS_WRITE delete: tags: - disaster-recovery-tests summary: Submits a task to delete a disaster recovery test for a company description: Requires the privilege [`DISASTER_RECOVERY_TESTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: deleteLargeScaleTest parameters: - name: identifier in: path required: true schema: type: string responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: DISASTER_RECOVERY_TESTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - DISASTER_RECOVERY_TESTS_WRITE /disaster-recovery-tests/active: get: tags: - disaster-recovery-tests summary: Gets all active disaster recovery tests for a company description: Requires the privilege [`DISASTER_RECOVERY_TESTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getActiveLargeScaleTests parameters: [] responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/GetLargeScaleTestsResponse' '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-tests/draft: get: tags: - disaster-recovery-tests summary: Gets all draft disaster recovery tests for a company description: Requires the privilege [`DISASTER_RECOVERY_TESTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getDraftLargeScaleTests parameters: [] responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/GetLargeScaleTestsResponse' '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-tests/{identifier}/halt-all: post: tags: - disaster-recovery-tests summary: Halts all active scenario runs for all services for the disaster recovery test description: Requires the privilege [`DISASTER_RECOVERY_TESTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: haltAllServiceRuns parameters: - name: identifier in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/HaltRequest' responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: DISASTER_RECOVERY_TESTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - DISASTER_RECOVERY_TESTS_WRITE /disaster-recovery-tests/{identifier}/run-all: post: tags: - disaster-recovery-tests summary: Creates scenario runs for all eligible services for the disaster recovery test description: Requires the privilege [`DISASTER_RECOVERY_TESTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: runTestForAllServices parameters: - name: identifier in: path required: true schema: type: string responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/RunScenarioTestResponse' '403': description: 'User requires privilege: DISASTER_RECOVERY_TESTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - DISASTER_RECOVERY_TESTS_WRITE /disaster-recovery-tests/{identifier}/run: post: tags: - disaster-recovery-tests summary: Creates a scenario run for the specified service as part of the disaster recovery test description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: runTestForSingleService parameters: - name: identifier 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/RunScenarioTestRequest' responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/ScenarioRunDetails' '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /metrics/attacks/{attackId}: get: tags: - metrics summary: Get metrics for an attack description: 'This endpoint will allow you to get metrics for a specific attack based on its guid. Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: getMetricsForAttack parameters: - name: attackId in: path 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/AttackMetricsDisplayResponse' '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ /metrics/scenarios/{scenarioId}/runs/{scenarioRunNumber}: get: tags: - metrics summary: Get metrics for a scenario run description: 'This endpoint will allow you to get metrics for a specific scenario run based on its scenario guid and run number. Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: getMetricsForScenarioRun parameters: - name: scenarioId in: path required: true schema: type: string - name: scenarioRunNumber in: path required: true schema: type: integer format: int64 - 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/TaskMetrics' '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ /policies/{serviceId}/reliability-report: get: tags: - reliability-report summary: Get the reliability report for a specified service. description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getReliabilityResults parameters: - name: serviceId in: path description: The serviceId within the requested team required: true schema: type: string example: 11111111-1111-1111-111111111111 - name: date in: query description: The date for the report schema: type: string format: date example: '2026-05-01' - 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/ReliabilityReportResponse' '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /reliability-management/services/{serviceId}: get: tags: - reliability-management summary: Loads the service details and score description: Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getServiceDetails parameters: - name: serviceId in: path 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/ServiceResponse' '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 /test-suites: get: tags: - test-suites summary: Gets all reliability test suites for a company, starting with Gremlin's default global test suite, followed by other global suites and company's custom test suites description: Requires the privilege [`TEST_SUITES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getAllTestSuites 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/TestSuiteResponse' '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 post: tags: - test-suites summary: Creates a reliability test suite description: Requires the privilege [`TEST_SUITES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: createTestSuite parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateTestSuiteRequest' required: true responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/TestSuiteResponse' '403': description: 'User requires privilege: TEST_SUITES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - TEST_SUITES_WRITE /test-suites/{testSuiteId}: get: tags: - test-suites summary: Gets a reliability test suite description: Requires the privilege [`TEST_SUITES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getTestSuite parameters: - name: testSuiteId in: path required: true schema: type: string responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/TestSuiteResponse' '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 delete: tags: - test-suites summary: Delete a Test Suite. description: Requires the privilege [`TEST_SUITES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: deleteTestSuite parameters: - name: testSuiteId in: path required: true schema: type: string responses: '404': description: test suite not found '403': description: 'User requires privilege: TEST_SUITES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - TEST_SUITES_WRITE patch: tags: - test-suites summary: Updates a reliability test suite description: Requires the privilege [`TEST_SUITES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: updateTestSuite parameters: - name: testSuiteId in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateTestSuiteRequest' required: true responses: '200': description: Updates a test suite. '400': description: Bad request '404': description: Not found '403': description: 'User requires privilege: TEST_SUITES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - TEST_SUITES_WRITE /test-suites/detected-risks: get: tags: - test-suites summary: Retrieve the default list of available risks to add to a given TestSuite description: Requires the privilege [`TEST_SUITES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getRisks parameters: [] responses: default: description: default response content: application/json: schema: type: array items: $ref: '#/components/schemas/RiskResponse' '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/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 /scenarios/recommended: get: tags: - scenarios.recommended summary: List all recommended scenarios. description: Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getActive 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: {} '403': description: 'User requires privilege for target team: SCENARIOS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_READ /scenarios/recommended/{guid}: get: tags: - scenarios.recommended summary: Get details about a recommended scenario. description: Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getRecommendedScenario parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '404': description: recommended scenario not found '403': description: 'User requires privilege for target team: SCENARIOS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_READ /scenarios/recommended/static/{staticEndpointName}: get: tags: - scenarios.recommended summary: Get details about a recommended scenario. description: Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getRecommendedScenarioFromStaticEndpointName parameters: - name: staticEndpointName in: path 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: SCENARIOS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_READ /scenarios/{scenarioId}/runs/{runNumber}/images/{imageName}: delete: tags: - scenarios summary: Deletes a given images associated with a given scenario description: Requires the privilege [`IMAGES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: deleteImage parameters: - name: imageName in: path required: true schema: type: string - name: scenarioId in: path required: true schema: type: string - name: runNumber in: path required: true schema: type: integer format: int64 - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege for target team: IMAGES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - IMAGES_WRITE patch: tags: - scenarios summary: Uploads an image to a given scenario description: "This takes an image as a multipart/form-data (parameter name \"file\") and uploads it to Gremlin's backend\ \ and associates it with a given ScenarioRun. \nNOTE: imageNames must be S3 compatible strings ([a-zA-Z0-9!-_'\\(\\\ )]) with under 1000 characters (including file type)\nRequires the privilege [`IMAGES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" operationId: addImage parameters: - name: imageName in: path required: true schema: maxLength: 987 minLength: 0 pattern: '[a-zA-Z0-9\!\-\_\.\*\''\(\)\ ]+' type: string - name: scenarioId in: path required: true schema: type: string - name: runNumber in: path required: true schema: type: integer format: int64 - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: multipart/form-data: schema: type: object properties: file: $ref: '#/components/schemas/FormDataContentDisposition' responses: default: description: default response content: text/plain: {} '403': description: 'User requires privilege for target team: IMAGES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - IMAGES_WRITE /scenarios/{guid}/archive: post: tags: - scenarios summary: Archive a scenario. description: Requires the privilege [`SCENARIOS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: archive parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Indicates the scenario updated in place. Call GET v1/scenario/{guid} to retrieve the latest state '404': description: scenario not found '403': description: 'User requires privilege for target team: SCENARIOS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_WRITE /scenarios: get: tags: - scenarios summary: List all runnable scenarios. description: Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getRunnable parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/ScenarioResponse' '403': description: 'User requires privilege for target team: SCENARIOS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_READ post: tags: - scenarios summary: Create a new scenario. description: 'Creates a new scenario based on the Scenario Graph provided Requires the privilege [`SCENARIOS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: createNewScenario parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateScenarioRequest' responses: '200': description: The id for the created scenario content: text/plain: schema: type: string '400': description: Bad Request '402': description: Payment Required '403': description: 'User requires privilege for target team: SCENARIOS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_WRITE /scenarios/shared: get: tags: - scenarios summary: Get all scenarios shared with this team. description: Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getScenariosSharedWithTeam parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/SharedScenarioResponse' text/plain: schema: type: array items: $ref: '#/components/schemas/SharedScenarioResponse' '403': description: 'User requires privilege for target team: SCENARIOS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_READ post: tags: - scenarios summary: Create new shared scenarios. description: Requires the privilege [`SCENARIO_SHARE_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: createNewSharedScenario parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: type: array items: type: string responses: '201': description: Shared scenarios created '400': description: Bad request '403': description: 'User requires privilege for target team: SCENARIO_SHARE_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIO_SHARE_WRITE /scenarios/{guid}: get: tags: - scenarios summary: Get details about a scenario. description: Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getScenario parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ScenarioResponse' '404': description: scenario not found '403': description: 'User requires privilege for target team: SCENARIOS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_READ put: tags: - scenarios summary: Update a scenario description: Requires the privilege [`SCENARIOS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: updateScenario parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. 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/UpdateScenarioRequest' responses: '200': description: Indicates the scenario updated in place. Call GET v1/scenario/{guid} to retrieve the latest state '400': description: Bad Request '402': description: Payment Required '403': description: 'User requires privilege for target team: SCENARIOS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_WRITE delete: tags: - scenarios summary: Delete a scenario. description: Requires the privilege [`SCENARIOS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: delete_4 parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '404': description: scenario not found '400': description: scenario cannot be deleted until it is unshared '403': description: 'User requires privilege for target team: SCENARIOS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_WRITE /scenarios/active: get: tags: - scenarios summary: List all active scenarios. description: Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getActive_1 parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/ScenarioResponse' '403': description: 'User requires privilege for target team: SCENARIOS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_READ /scenarios/active-runs: get: tags: - scenarios summary: List all active scenarios. description: Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getActiveRuns 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/PagedResponseScenarioRunResponse' '403': description: 'User requires privilege for target team: SCENARIOS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_READ /scenarios/runs: get: tags: - scenarios summary: List all scenario runs for your team. description: Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getAllRunsForTeam parameters: - name: state in: query schema: type: string - name: includeArchived in: query schema: type: string - name: startDate in: query schema: type: string - name: endDate in: query schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/ScenarioRunResponse' '403': description: 'User requires privilege for target team: SCENARIOS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_READ /scenarios/archived: get: tags: - scenarios summary: List all archived scenarios. description: Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getArchived parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/ScenarioResponse' '403': description: 'User requires privilege for target team: SCENARIOS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_READ /scenarios/drafts: get: tags: - scenarios summary: List all draft scenarios. description: Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getDrafts parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/ScenarioResponse' '403': description: 'User requires privilege for target team: SCENARIOS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_READ /scenarios/active/paged: get: tags: - scenarios summary: Get a team's active FI scenario runs ordered by start time desc. description: Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getPaginatedActiveRuns 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 FI scenario 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/PagedResponseScenarioRunResponse' '403': description: 'User requires privilege for target team: SCENARIOS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_READ /scenarios/completed/paged: get: tags: - scenarios summary: Get a team's completed FI scenario runs ordered by start time desc. description: Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getPaginatedCompletedScenarioRuns 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/PagedResponseCompletedScenarioRunResponse' '403': description: 'User requires privilege for target team: SCENARIOS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_READ /scenarios/{guid}/runs: get: tags: - scenarios summary: List all runs for a scenario. description: Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getRuns parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. required: true schema: type: string - name: startDate in: query schema: type: string - name: endDate in: query schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/ScenarioRunResponse' '404': description: scenario not found '403': description: 'User requires privilege for target team: SCENARIOS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_READ post: tags: - scenarios summary: Run a scenario. description: Requires the privilege [`SCENARIOS_RUN`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: runScenario parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. 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/RunScenarioRequest' responses: '200': description: The run number for the new run in-progress content: text/plain: schema: type: integer format: int64 '400': description: Bad Request '402': description: Payment Required '404': description: '{guid} not found' '409': description: Scenario run number {runNumber} is in progress '403': description: 'User requires privilege for target team: SCENARIOS_RUN' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_RUN /scenarios/{guid}/runs/paged: get: tags: - scenarios summary: Paged list runs for a scenario. Scenarios are monotonically increasing and use their run number as the pagination key description: Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getRunsPaged parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. required: true schema: type: string - name: runNumber in: query schema: minimum: 1 type: integer format: int64 - name: limit in: query schema: type: integer format: int32 default: 1000 - name: forward in: query description: Used to indicate querying forward or backwards from the supplied runNumber (defaults to forward) schema: type: boolean default: true - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '404': description: scenario not found, or no runs found for that scenario '403': description: 'User requires privilege for target team: SCENARIOS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_READ /scenarios/{guid}/runs/{runNumber}: get: tags: - scenarios summary: Get details about a scenario run. description: Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getScenarioRun parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. required: true schema: type: string - name: runNumber in: path required: true schema: type: integer format: int64 - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/ScenarioRunResponse' '400': description: Bad Request '402': description: Payment Required '404': description: scenario run not found '403': description: 'User requires privilege for target team: SCENARIOS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_READ /scenarios/{guid}/schedules: get: tags: - scenarios summary: Get all schedules for a scenario. description: Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getScenarioSchedules parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/ScenarioScheduleResponse' '403': description: 'User requires privilege for target team: SCENARIOS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_READ /scenarios/shared/{guid}: get: tags: - scenarios summary: Get details on a shared scenarios. description: Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getSharedScenario parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/SharedScenarioResponse' text/plain: schema: $ref: '#/components/schemas/SharedScenarioResponse' '400': description: Bad Request '404': description: shared scenario not found '403': description: 'User requires privilege for target team: SCENARIOS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_READ delete: tags: - scenarios summary: Unshare a company shared scenario. description: Requires the privilege [`SCENARIO_SHARE_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: unshareScenario parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '400': description: Bad Request '404': description: shared scenario not found '403': description: 'User requires privilege for target team: SCENARIO_SHARE_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIO_SHARE_WRITE /scenarios/halt: post: tags: - scenarios summary: Idempotently halt all scenario runs and active attacks. operationId: haltAsPost_2 parameters: - name: teamId in: query schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/HaltRequest' responses: '202': description: Scenario has begun halting '403': description: 'User requires privilege: HALT_ALL' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. /scenarios/halt/{guid}/runs/{runNumber}: post: tags: - scenarios summary: Idempotently halt the specified scenario run. description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: haltAsPost_3 parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. required: true schema: type: string - name: runNumber in: path required: true schema: type: integer format: int64 - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/HaltRequest' responses: '202': description: Scenario has begun halting '404': description: scenario not found '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /scenarios/{guid}/restore: post: tags: - scenarios summary: Restore an archived scenario. description: Requires the privilege [`SCENARIOS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: restore parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '200': description: Indicates the scenario updated in place. Call GET v1/scenario/{guid} to retrieve the latest state '404': description: scenario not found '403': description: 'User requires privilege for target team: SCENARIOS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_WRITE /scenarios/{guid}/runs/{runNumber}/resultFlags: put: tags: - scenarios summary: This functionality has been replaced by PUT /{guid}/runs/{runNumber}/results. description: Requires the privilege [`SCENARIOS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: setScenarioRunResultFlags parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. required: true schema: type: string - name: runNumber in: path required: true schema: type: integer format: int64 - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: type: object additionalProperties: type: object responses: '400': description: Bad Request '404': description: scenario run not found '403': description: 'User requires privilege for target team: SCENARIOS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. deprecated: true security: - privilege: - SCENARIOS_WRITE /scenarios/{guid}/runs/{runNumber}/resultNotes: put: tags: - scenarios summary: Update the result notes of a scenario run. description: Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: setScenarioRunResultNotes parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. required: true schema: type: string - name: runNumber in: path required: true schema: type: integer format: int64 - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: text/plain: schema: type: string responses: '200': description: Indicates the scenario run updated in place. Call GET v1/scenario/{guid}/runs/{runNumber} to retrieve the latest state '400': description: Bad Request '404': description: scenario run not found '403': description: 'User requires privilege for target team: SCENARIOS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_READ /scenarios/{guid}/runs/{runNumber}/results: put: tags: - scenarios summary: Update the results of a scenario run. description: Requires the privilege [`SCENARIOS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: setScenarioRunResults parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. required: true schema: type: string - name: runNumber in: path required: true schema: type: integer format: int64 - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ScenarioRunResults' responses: '200': description: Indicates the scenario run updated in place. Call GET v1/scenario/{guid}/runs/{runNumber} to retrieve the latest state '400': description: Bad Request '404': description: scenario run not found '403': description: 'User requires privilege for target team: SCENARIOS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_WRITE /status-checks: get: tags: - health checks summary: Retrieve status checks by Id (or all if the query param is empty) description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getStatusChecks parameters: - name: statusCheckIds in: query schema: type: array items: 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/StatusCheck' '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES post: tags: - health checks summary: Creates a new Status Check description: Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: createWebhook parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: description: status check to create content: application/json: schema: $ref: '#/components/schemas/StatusCheckRequest' required: true responses: default: description: default response content: text/plain: {} '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 /status-checks/{identifier}: get: tags: - health checks summary: retrieve a status check by id description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getStatusCheck parameters: - name: identifier in: path 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/StatusCheck' '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES put: tags: - health checks summary: Update a given status check description: Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: update_3 parameters: - name: identifier in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: description: update status check request content: application/json: schema: $ref: '#/components/schemas/StatusCheckRequest' required: true 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 delete: tags: - health checks summary: Delete a given statuscheck by id description: Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: delete_5 parameters: - name: identifier in: path 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 /status-checks/{runTestEndpoint}: post: tags: - health checks summary: Test a status check endpoint configuration. description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: testEndpointConfiguration_1 parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/TestEndpointConfigurationRequest' required: true responses: '400': description: Bad Request '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /status-checks/{runTestEvaluation}: post: tags: - health checks summary: Test a status check evaluation configuration. description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: testEvaluationConfiguration_1 parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/TestEvaluationConfigurationRequest' required: true responses: '400': description: Bad Request '403': description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_TEAM_PRIVILEGES /status-checks/{identifier}/tags: put: tags: - health checks summary: Update a given status check tags description: Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: updateTags parameters: - name: identifier in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: description: update status check tags request content: application/json: schema: type: object additionalProperties: type: array items: 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 /schedules/attacks: get: tags: - schedules summary: Get all active experiment schedules. This functionality has moved to GET /schedules/attacks/paged. description: Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getAttackSchedules parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/ScheduleResponse' '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. deprecated: true security: - privilege: - EXPERIMENTS_READ post: tags: - schedules summary: Create an attack schedule. description: Requires the privilege [`EXPERIMENTS_RUN`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: createAttackSchedule parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Input' responses: default: content: application/json: schema: $ref: '#/components/schemas/ScheduleResponse' '403': description: 'User requires privilege for target team: EXPERIMENTS_RUN' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_RUN /schedules: post: tags: - schedules summary: This functionality has moved to POST /schedules/attacks. description: Requires the privilege [`EXPERIMENTS_RUN`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: createAttackScheduleLegacy parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Input' responses: default: content: application/json: schema: $ref: '#/components/schemas/ScheduleResponse' '403': description: 'User requires privilege for target team: EXPERIMENTS_RUN' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. deprecated: true security: - privilege: - EXPERIMENTS_RUN /schedules/scenarios: get: tags: - schedules summary: Get all scenario schedules. This functionality has moved to GET /schedules/scenarios/paged. description: Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getScenarioSchedules_1 parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/ScenarioScheduleResponse' '403': description: 'User requires privilege for target team: SCENARIOS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. deprecated: true security: - privilege: - SCENARIOS_READ post: tags: - schedules summary: Create a scenario schedule. description: Requires the privilege [`SCENARIOS_RUN`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: createScenarioSchedule parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateScenarioScheduleRequest' responses: default: content: text/plain: schema: $ref: '#/components/schemas/ScenarioSchedule' '403': description: 'User requires privilege for target team: SCENARIOS_RUN' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_RUN /schedules/attacks/{guid}: get: tags: - schedules summary: Get an attack schedule. description: Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getSingleAttackSchedule parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/ScheduleResponse' '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ delete: tags: - schedules summary: Delete an attack schedule. description: Requires the privilege [`HALT_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: deleteAttackSchedule parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. 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: text/plain: {} '403': description: 'User requires privilege for target team: HALT_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - HALT_WRITE /schedules/{guid}: get: tags: - schedules summary: This functionality has moved to GET /schedules/attacks/{guid}. description: Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getSingleAttackScheduleLegacy parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/ScheduleResponse' '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. deprecated: true security: - privilege: - EXPERIMENTS_READ delete: tags: - schedules summary: This functionality has moved to DELETE /schedules/attacks/{guid} description: Requires the privilege [`HALT_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: deleteAttackScheduleLegacy parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. 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: text/plain: {} '403': description: 'User requires privilege for target team: HALT_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. deprecated: true security: - privilege: - HALT_WRITE /schedules/scenarios/{guid}: get: tags: - schedules summary: Get a scenario schedule. description: Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getSingleScenarioSchedule parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/ScenarioScheduleResponse' '403': description: 'User requires privilege for target team: SCENARIOS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_READ put: tags: - schedules summary: Update a scenario schedule. description: Requires the privilege [`SCENARIOS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: updateScenarioSchedule parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. 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/UpdateScenarioScheduleRequest' responses: default: content: '*/*': schema: type: string '403': description: 'User requires privilege for target team: SCENARIOS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_WRITE delete: tags: - schedules summary: Delete a scenario schedule. description: Requires the privilege [`SCENARIOS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: deleteScenarioSchedule parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. 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: text/plain: {} '403': description: 'User requires privilege for target team: SCENARIOS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_WRITE /schedules/scenarios/{guid}/enabled: post: tags: - schedules summary: Enable a scenario schedule. description: Requires the privilege [`SCENARIOS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: enableScenarioSchedule parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. 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: text/plain: {} '403': description: 'User requires privilege for target team: SCENARIOS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_WRITE delete: tags: - schedules summary: Disable a scenario schedule. description: Requires the privilege [`SCENARIOS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: disableScenarioSchedule parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. 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: text/plain: {} '403': description: 'User requires privilege for target team: SCENARIOS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_WRITE /schedules/active: get: tags: - schedules summary: This functionality has moved to GET /schedules/attacks. description: Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getAttackSchedulesLegacy parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/ScheduleResponse' '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. deprecated: true security: - privilege: - EXPERIMENTS_READ /schedules/attacks/paged: get: tags: - schedules summary: Paginated endpoint for listing a team's experiment schedules ordered by trigger time. description: Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getPaginatedAttackSchedules parameters: - 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: pageToken in: query description: Pass the pageToken to get the next page of experiment schedules 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/PagedResponseScheduleResponse' '403': description: 'User requires privilege for target team: EXPERIMENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - EXPERIMENTS_READ /schedules/scenarios/paged: get: tags: - schedules summary: Paginated endpoint for listing a team's scenario schedules ordered by trigger time. description: Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getPaginatedScenarioSchedules parameters: - 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: pageToken in: query description: Pass the pageToken to get the next page of scenario schedules 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/PagedResponseScenarioScheduleResponse' '403': description: 'User requires privilege for target team: SCENARIOS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SCENARIOS_READ /schedules/services/paged: get: tags: - schedules summary: Paginated endpoint for listing a team's service schedules ordered by trigger time. description: Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getPaginatedServiceSchedules parameters: - 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: pageToken in: query description: Pass the pageToken to get the next page of service schedules 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/PagedResponseServiceScheduleResponse' '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 /containers: get: tags: - containers summary: Get all active containers. description: Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: all_5 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: {} '403': description: 'User requires privilege for target team: CLIENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_READ /services/{serviceId}/metrics/{awsResource}: get: tags: - services description: Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getMetrics parameters: - name: serviceId in: path required: true schema: type: string - name: awsResource in: path required: true schema: type: string - name: startTime in: query schema: type: integer format: int64 - name: endTime in: query schema: type: integer format: int64 - name: statusCheck in: query 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: '*/*': schema: $ref: '#/components/schemas/MetricResponse' '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 /kubernetes/targets/kinds: get: tags: - kubernetes.targets summary: List all targetable kubernetes object types description: Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: kinds 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: type: string enum: - DEPLOYMENT - REPLICASET - POD - DAEMONSET - STATEFULSET - SERVICE - INGRESS - DEPLOYMENTCONFIG - REPLICATIONCONTROLLER - ROLLOUT - HORIZONTALPODAUTOSCALER '403': description: 'User requires privilege for target team: CLIENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_READ /kubernetes/targets: get: tags: - kubernetes.targets summary: List all attackable targets description: Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: targets parameters: - name: clientId in: query schema: type: string - name: serviceId in: query schema: type: string default: '' - 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: CLIENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_READ /kubernetes/targets/by-selector: post: tags: - kubernetes.targets summary: List all attackable targets that match the given label selector description: Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: targetsBySelector parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/LabelSelection' required: true responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege for target team: CLIENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_READ /providers/aws: get: tags: - providers summary: Returns the list of supported AWS services. description: Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: aws parameters: [] responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: MINIMUM_COMPANY_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_COMPANY_PRIVILEGES /providers/all: get: tags: - providers summary: Returns the list of supported services for all Providers description: Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getAllProviders parameters: [] responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/ProvidersResponse' '403': description: 'User requires privilege: MINIMUM_COMPANY_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_COMPANY_PRIVILEGES /providers/{provider}: get: tags: - providers summary: Returns the list of supported services for a given Provider description: Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getProvider parameters: - name: provider in: path required: true schema: type: string responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/ServiceListResponse' '403': description: 'User requires privilege: MINIMUM_COMPANY_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_COMPANY_PRIVILEGES /providers: get: tags: - providers summary: Returns a list of supported infrastructure providers. description: 'Currently supports ''aws'' Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: providers parameters: [] responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege: MINIMUM_COMPANY_PRIVILEGES' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - MINIMUM_COMPANY_PRIVILEGES /services/{serviceId}/dependencies: get: tags: - services summary: Paginated endpoint for listing active dependencies for a given service description: Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getActiveDependencies parameters: - name: serviceId in: path 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: pageToken in: query description: Token corresponding to the last page of customer services retrieved. Pass the pageToken to get the next page of customer services. Only pageNumber or pageToken accepted along with pageSize 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/PagedResponseDependencyResponse' '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: - services summary: Manually define a new dependency for a given Service description: Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: defineDependency parameters: - name: serviceId 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/DefineDependencyRequest' required: true responses: default: description: default response content: '*/*': schema: $ref: '#/components/schemas/DependencyResponse' '403': description: 'User requires privilege for target team: SERVICES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SERVICES_WRITE /services/{serviceId}/dependencies/discovered: delete: tags: - services summary: Deletes all discovered dependencies, including those marked as ignored, for the specified service. Halts any active runs if necessary and updates the service's reliability score. description: Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: deleteAllDiscoveredDependencies parameters: - name: serviceId in: path required: true schema: type: string - name: confirm in: query schema: type: boolean default: false - 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: SERVICES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SERVICES_WRITE /services/{serviceId}/dependencies/ignored: get: tags: - services summary: Paginated endpoint for listing ignored dependencies for a given service description: Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getIgnoredDependencies parameters: - name: serviceId in: path 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: pageToken in: query description: Token corresponding to the last page of customer services retrieved. Pass the pageToken to get the next page of customer services. Only pageNumber or pageToken accepted along with pageSize 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/PagedResponseDependencyResponse' '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 delete: tags: - services summary: Delete all dependencies that are marked ignored description: Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: deleteAllIgnoredDependencies parameters: - name: serviceId in: path 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: SERVICES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SERVICES_WRITE /services/{serviceId}/dependencies/{dependencyId}: delete: tags: - services summary: Mark a dependency as ignored, removing it from the list of active dependencies and reliability score. description: Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: deleteDependency parameters: - name: serviceId in: path required: true schema: type: string - name: dependencyId in: path 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: SERVICES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SERVICES_WRITE patch: tags: - services summary: Update a dependency's name and/or isSPOF flag. We deliberately do not allow updating a dependency's endpoint, i.e. address and port, because updating either of these values effectively changes the dependency. To change these values, refer to delete and define APIs. description: Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: updateDependency parameters: - name: serviceId in: path required: true schema: type: string - name: dependencyId 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: '*/*': schema: $ref: '#/components/schemas/UpdateDependencyRequest' required: true responses: '200': description: Updates dependency's name and/or isSPOF flag '400': description: Bad Request '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. '404': description: Not found '403': description: 'User requires privilege for target team: SERVICES_WRITE' security: - privilege: - SERVICES_WRITE /services/{serviceId}/dependencies/ignored/{dependencyId}: delete: tags: - services summary: Delete a dependency that is marked as ignored description: Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: deleteIgnoredDependency parameters: - name: serviceId in: path required: true schema: type: string - name: dependencyId in: path 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: SERVICES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SERVICES_WRITE /services/{serviceId}/dependencies/{dependencyId}/name: put: tags: - services description: Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: renameDependency parameters: - name: serviceId in: path required: true schema: type: string - name: dependencyId 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: text/plain: schema: maxLength: 253 minLength: 0 type: string required: true responses: default: description: default response content: '*/*': {} '403': description: 'User requires privilege for target team: SERVICES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. deprecated: true security: - privilege: - SERVICES_WRITE /service-overview/{serviceId}/active: get: tags: - service-overview summary: Fetch active FaultInjection for Service description: Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getActiveForService parameters: - name: serviceId in: path 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/RunningFaultInjectionResponse' '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 /services: get: tags: - services summary: Paginated endpoint for fetching services for a given team description: Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getAllServices parameters: - 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: pageToken in: query description: Token corresponding to the last page of customer services retrieved. Pass the pageToken to get the next page of customer services 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/PagedResponseUserDefinedServiceResponse' '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: - services summary: Create a service description: Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: createService parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UserDefinedServiceRequest' required: true responses: default: description: default response content: application/json: schema: type: string '403': description: 'User requires privilege for target team: SERVICES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SERVICES_WRITE patch: tags: - services summary: Bulk add a given Status Check to all services description: Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: bulkAddHealthChecksToServices parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkUpdateRequest' required: true responses: '200': description: Bulk updates services with health checks '400': description: Bad Request '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. '404': description: Not found '403': description: 'User requires privilege for target team: SERVICES_WRITE' security: - privilege: - SERVICES_WRITE /services/bulk-create-with-load-balancers: post: tags: - services summary: Bulk create services based on AWS Load balancers description: Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: bulkCreateWithLoadBalancers parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkCreateServicesFromLoadBalancersRequest' required: true responses: default: description: default response content: application/json: schema: type: array items: type: string '403': description: 'User requires privilege for target team: SERVICES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SERVICES_WRITE /services/bulk-delete: post: tags: - services summary: Bulk delete services description: Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: bulkDeleteServices parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkDeleteRequest' required: true responses: default: description: default response content: application/json: {} '403': description: 'User requires privilege for target team: SERVICES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SERVICES_WRITE /services/service-creation-readiness/clients: post: tags: - services summary: Retrieves clients for a potential service definition description: Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: computeServiceReadinessAgentsFromPodUIDs parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ServiceReadinessAgentsFromPodUIDsRequest' responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/ServiceReadinessClientsResponse' '403': description: 'User requires privilege for target team: SERVICES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SERVICES_WRITE /services/{serviceId}: get: tags: - services summary: Retrieve a service by id description: Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getService parameters: - name: serviceId in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '404': description: Not Found '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 delete: tags: - services summary: Permanently delete a service description: Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: delete_6 parameters: - name: serviceId in: path 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: SERVICES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SERVICES_WRITE patch: tags: - services summary: Update a service, editing some fields description: Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: update_4 parameters: - name: serviceId 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/ServiceUpdateRequest' required: true responses: '200': description: Updates a Service. '404': description: Not found '403': description: 'User requires privilege for target team: SERVICES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - SERVICES_WRITE /services/all-for-company: get: tags: - services summary: Paginated endpoint for fetching services for a given company description: Requires the privilege [`DISASTER_RECOVERY_TESTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getAllServicesForCompany 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: Token corresponding to the last page of customer services retrieved. Pass the pageToken to get the next page of customer services schema: type: string example: None (returns first page) responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/PagedResponseUserDefinedServiceResponse' '403': description: 'User requires privilege: DISASTER_RECOVERY_TESTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - DISASTER_RECOVERY_TESTS_WRITE /services/{id}/risk-summary: get: tags: - services summary: Load risk evaluations for service. Re-evaluate risks if service has been deployed since the last evaluation. description: Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getRiskSummary parameters: - name: id in: path 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/DetailedServiceRiskSummaryResponse' '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 /services/service-creation-readiness/{targetType}: get: tags: - services description: Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getServiceCreationReadiness parameters: - name: targetType in: path 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/ServiceCreationReadinessForOwnedAndSharedAssetsResponse' '403': description: 'User requires privilege for target team: SERVICES_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. deprecated: true security: - privilege: - SERVICES_WRITE /services/{serviceId}/score: get: tags: - services summary: Retrieve a service's score in plain/text description: Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getServiceScore parameters: - name: serviceId in: path required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string responses: '404': description: Not Found '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 /services/{serviceId}/status-checks: get: tags: - services summary: Fetch Status Checks associated with a given service description: Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getStatusChecksForService parameters: - name: serviceId in: path 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/ServiceStatusCheckResponse' '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 /services/{serviceId}/baseline: post: tags: - services summary: Run RM tests for a given service description: "By default this endpoint initiates all RM Tests in your Test Suite for this service and every one of it's\ \ dependencies. \nYou may also supply a list of RM tests in the body if you which to constrain to a subset of all\ \ tests, but they *must* be in the active Test Suite for your team\nRequires the privilege [`SERVICES_RUN`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" operationId: runAllTests parameters: - name: serviceId 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/StartBaselineRequest' responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/TestSeriesRunResponse' '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 /sharedAssets/requests/{requestId}/approve: post: tags: - sharedAssets summary: Approves a sharing request to a resource you own description: 'The {requestId} parameter _must_ be urlencoded Requires the privilege [`CLIENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: approveAccess parameters: - name: requestId in: path 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/SharedAsset' '403': description: 'User requires privilege for target team: CLIENTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_WRITE /sharedAssets/requests/approve: post: tags: - sharedAssets summary: Approves a sharing request to a resource you own description: Requires the privilege [`CLIENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: approveAccessRequests parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateAllRequests' required: true responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/SharedAssetUpdate' '403': description: 'User requires privilege for target team: CLIENTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_WRITE /sharedAssets/requests/delete: post: tags: - sharedAssets summary: Deletes a sharing request your team has made to an asset you don't control description: Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: deleteAccessRequests parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateAllRequests' required: true responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/SharedAssetUpdate' '403': description: 'User requires privilege for target team: CLIENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_READ /sharedAssets/requests/{requestId}: delete: tags: - sharedAssets summary: Deletes an existing request for Access description: 'The {requestId} parameter _must_ be urlencoded Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: deleteRequest parameters: - name: requestId in: path 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/SharedAsset' '403': description: 'User requires privilege for target team: CLIENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_READ /sharedAssets/requests/{requestId}/deny: post: tags: - sharedAssets summary: Denies or Revokes a sharing request to a resource you own description: 'The {requestId} parameter _must_ be urlencoded Requires the privilege [`CLIENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: denyAccess parameters: - name: requestId in: path 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/SharedAsset' '403': description: 'User requires privilege for target team: CLIENTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_WRITE /sharedAssets/requests/deny: post: tags: - sharedAssets summary: Denies or Revokes a sharing request to a resource you own description: Requires the privilege [`CLIENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: denyAccessRequests parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateAllRequests' required: true responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/SharedAssetUpdate' '403': description: 'User requires privilege for target team: CLIENTS_WRITE' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_WRITE /sharedAssets/withMe: get: tags: - sharedAssets summary: List assets currently shared with your team description: Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: listAssetsSharedWithMe 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/SharedAssetUpdate' '403': description: 'User requires privilege for target team: CLIENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_READ /sharedAssets: get: tags: - sharedAssets summary: List available assets for sharing and all incoming and outgoing requests description: Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: listAvailableAssetsWithRequests parameters: - name: assetId in: query 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/SharableAssetsWithRequestsResponse' '403': description: 'User requires privilege for target team: CLIENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_READ /sharedAssets/requests: get: tags: - sharedAssets summary: List my requests for assets to be shared with my team description: Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: listMyRequests 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/OutstandingRequests' '403': description: 'User requires privilege for target team: CLIENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_READ post: tags: - sharedAssets summary: Request access to a given asset description: Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: requestAccess parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/NewRequestRequest' required: true responses: default: description: default response content: application/json: schema: $ref: '#/components/schemas/SharedAssetUpdate' '403': description: 'User requires privilege for target team: CLIENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_READ /sharedAssets/requests/toMe: get: tags: - sharedAssets summary: List other team's requests to my team for sharing assets my team controls description: Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: listRequestsToMe parameters: - name: assetId in: query 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/OutstandingRequests' '403': description: 'User requires privilege for target team: CLIENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_READ /sharedAssets/requests/{requestId}/delete: post: tags: - sharedAssets summary: Deletes an existing request for Access description: 'The {requestId} parameter _must_ be urlencoded Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)' operationId: postDeleteRequest parameters: - name: requestId in: path 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/SharedAsset' '403': description: 'User requires privilege for target team: CLIENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_READ /sharedAssets/{owningTeam}/{assetId}: post: tags: - sharedAssets summary: Request access to a given asset owned by another team description: Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: requestAccessToAsset parameters: - name: owningTeam in: path required: true schema: type: string - name: assetId in: path required: true schema: type: string - name: namespace in: query 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/SharedAsset' '403': description: 'User requires privilege for target team: CLIENTS_READ' '401': description: Authorization header missing or malformed. Please provide proper credentials in the authorization header. security: - privilege: - CLIENTS_READ /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 /webhooks: get: tags: - webhooks description: Requires the privilege [`WEBHOOKS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getWebhooks parameters: - name: state in: query description: Filter webhooks by state schema: type: string enum: - ACTIVE - DEACTIVATED - 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/Webhook' '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 post: tags: - webhooks summary: Create a webhook description: Requires the privilege [`WEBHOOKS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: createWebhook_1 parameters: - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: description: webhook to create content: application/json: schema: $ref: '#/components/schemas/WebhookRequest' 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 /webhooks/{guid}: get: tags: - webhooks summary: Retrieve webhook by id description: Requires the privilege [`WEBHOOKS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: getWebhookById parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. 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/Webhook' '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: - webhooks summary: Update a webhook by id description: Requires the privilege [`WEBHOOKS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: updateWebhook parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. required: true schema: type: string - name: teamId in: query description: Required when using company session token. required: true schema: type: string requestBody: description: webhook update content: application/json: schema: $ref: '#/components/schemas/WebhookRequest' 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: - webhooks summary: Delete a Webhook description: Requires the privilege [`WEBHOOKS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges) operationId: deleteWebhook parameters: - name: guid in: path description: This value represents the globally unique identifier of the record to fetch. 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: AttackConfiguration: required: - command - targets type: object properties: command: $ref: '#/components/schemas/ServiceCommand' targets: type: array items: $ref: '#/components/schemas/ServiceTarget' sampling: $ref: '#/components/schemas/TargetSampling' ContainerSelection: type: object properties: selectionType: type: string enum: - EXACT - ALL - ANY containerNames: type: array items: type: string ContainerTarget: type: object allOf: - $ref: '#/components/schemas/TargetingStrategy' - type: object properties: ids: type: array items: type: string isAll: type: boolean multiSelectLabels: type: object additionalProperties: type: array items: type: string EvenTargetSampling: required: - percent type: object allOf: - $ref: '#/components/schemas/TargetSampling' - type: object properties: percent: type: integer format: int32 ExactTargetSampling: required: - count type: object allOf: - $ref: '#/components/schemas/TargetSampling' - type: object properties: count: type: integer format: int32 ExecutionFailureReasons: type: object properties: executionIdToReason: type: object additionalProperties: type: string ExecutionSummary: type: object properties: startTime: type: string format: date-time endTime: type: string format: date-time stage: type: string enum: - InvalidArgument - TargetNotFound - Successful - UserHalted - ClientAborted - LostCommunication - InitializationFailed - TeardownFailed - HaltFailed - Failed - Pending - Distributed - Initializing - HaltDistributed - InterruptTriggered - RollbackTriggered - RollbackStarted - Running - TearingDown - Halt version: type: integer format: int64 HostTarget: type: object allOf: - $ref: '#/components/schemas/TargetingStrategy' - type: object properties: ids: type: array items: type: string isAll: type: boolean multiSelectTags: type: object additionalProperties: type: array items: type: string InfraCommandArgs: type: object properties: type: type: string enum: - CPU - IO - Memory - Disk - Thread_Bomb - Blackhole - DNS - Latency - Packet_Loss - Collect_Certs - Shutdown - Time_Travel - Process_Killer - Process_Exhaustion - GPU - Unknown unknownArgs: type: object additionalProperties: type: string duplicateArgs: type: array items: type: object additionalProperties: type: string cliArgs: type: array items: type: string lengthOrZero: type: integer format: int32 KubernetesTarget: type: object allOf: - $ref: '#/components/schemas/TargetingStrategy' - type: object properties: ids: type: array items: type: string names: type: array items: $ref: '#/components/schemas/NameRef' labelSelection: $ref: '#/components/schemas/LabelSelection' isAll: type: boolean containerSelection: $ref: '#/components/schemas/ContainerSelection' allSet: type: boolean LabelSelection: required: - clusterId - labelSelector type: object properties: labelSelector: type: string clusterId: type: string allNamespaces: type: boolean namespaces: type: array items: type: string NameRef: required: - name - namespace type: object properties: owningTeamId: type: string name: type: string namespace: type: string kind: type: string enum: - DEPLOYMENT - REPLICASET - POD - DAEMONSET - STATEFULSET - SERVICE - INGRESS - DEPLOYMENTCONFIG - REPLICATIONCONTROLLER - ROLLOUT - HORIZONTALPODAUTOSCALER clusterId: maxLength: 2147483647 minLength: 1 type: string ServiceCommand: type: object properties: infraCommandType: type: string enum: - CPU - IO - Memory - Disk - Thread_Bomb - Blackhole - DNS - Latency - Packet_Loss - Collect_Certs - Shutdown - Time_Travel - Process_Killer - Process_Exhaustion - GPU - Unknown infraCommandArgs: $ref: '#/components/schemas/InfraCommandArgs' ServiceTarget: required: - targetingStrategy type: object properties: serviceId: type: string targetingStrategy: $ref: '#/components/schemas/TargetingStrategy' TargetSampling: required: - type type: object properties: type: type: string discriminator: propertyName: type TargetingStrategy: required: - type type: object properties: type: type: string discriminator: propertyName: type TaskResponse: type: object properties: orgId: type: string guid: type: string args: type: array items: type: string stage: type: string enum: - InvalidArgument - TargetNotFound - Successful - UserHalted - ClientAborted - LostCommunication - InitializationFailed - TeardownFailed - HaltFailed - Failed - Pending - Distributed - Initializing - HaltDistributed - InterruptTriggered - RollbackTriggered - RollbackStarted - Running - TearingDown - Halt createSource: type: string enum: - WebApp - Api - Scheduled - Manual - Spinnaker - Concord - GremlinFeeder - GremlinSdkPython - Scenario - Chao - K8sBackend - Website - Neotys - IntegrationClient - Validation triggerSource: type: string enum: - MANUAL - RUN_ALL - SCHEDULED - RECURRING_SCHEDULE kind: type: string enum: - WebApp - Api - Scheduled - Manual - Spinnaker - Concord - GremlinFeeder - GremlinSdkPython - Scenario - Chao - K8sBackend - Website - Neotys - IntegrationClient - Validation owningTeamId: type: string createSourceDetail: type: string enum: - Onboarding infraTarget: type: object additionalProperties: type: object infraCommand: type: object additionalProperties: type: object targets: type: array items: type: string targetContainers: type: object additionalProperties: type: array items: type: string stageLifecycle: type: string enum: - Active - Halting - Complete - Error createUser: type: string executionSummaries: type: object additionalProperties: $ref: '#/components/schemas/ExecutionSummary' executionStageSummary: type: object additionalProperties: type: integer format: int32 tags: type: object additionalProperties: type: string multiSelectTags: type: object additionalProperties: type: array items: type: string labels: type: object additionalProperties: type: string multiSelectLabels: type: object additionalProperties: type: array items: type: string targetType: type: string enum: - Host - Container - Docker - Kubernetes attackConfiguration: $ref: '#/components/schemas/AttackConfiguration' startTime: type: string format: date-time endTime: type: string format: date-time initializationEndTime: type: string format: date-time commandTemplateId: type: string targetTemplateId: type: string scenarioId: type: string scenarioRunNumber: type: integer format: int64 scenarioStepNumber: type: integer format: int32 scenarioNodeGuid: type: string serviceId: type: string k8sAttackId: type: string annotations: type: object additionalProperties: type: string totalClients: type: integer format: int32 clientMetricsEnabledCount: type: integer format: int32 providers: type: array items: type: string trafficImpactMapping: $ref: '#/components/schemas/TrafficImpactMapping' includeNewClients: type: boolean continueOnEmptyTargets: type: boolean dynamicallyResolvedIps: type: array items: type: string displayErrorMessage: type: string executionFailureReasons: $ref: '#/components/schemas/ExecutionFailureReasons' createdAt: type: string format: date-time updatedAt: type: string format: date-time TrafficImpactMapping: type: object properties: multiSelectTags: type: object additionalProperties: type: array items: type: string dependencyIds: type: array items: type: string AttackK8sObjectResponse: type: object properties: impactDefinition: $ref: '#/components/schemas/Command' targetDefinition: $ref: '#/components/schemas/TargetK8sObjectResponse' includeNewTargets: type: boolean continueOnEmptyTargets: type: boolean Command: type: object properties: providers: type: array items: type: string args: type: array items: type: string trafficImpactMapping: $ref: '#/components/schemas/TaskTrafficImpactMappingInput' trafficImpactFromWithSelectTags: type: object additionalProperties: type: array items: type: string writeOnly: true trafficImpactWithDependencyIds: type: array writeOnly: true items: type: string type: type: string templateId: type: string optionalTemplateId: type: string empty: type: boolean additionalProperties: type: object ExperimentsResponse: type: object properties: orgId: type: string guid: type: string args: type: array items: type: string stage: type: string enum: - InvalidArgument - TargetNotFound - Successful - UserHalted - ClientAborted - LostCommunication - InitializationFailed - TeardownFailed - HaltFailed - Failed - Pending - Distributed - Initializing - HaltDistributed - InterruptTriggered - RollbackTriggered - RollbackStarted - Running - TearingDown - Halt createSource: type: string enum: - WebApp - Api - Scheduled - Manual - Spinnaker - Concord - GremlinFeeder - GremlinSdkPython - Scenario - Chao - K8sBackend - Website - Neotys - IntegrationClient - Validation triggerSource: type: string enum: - MANUAL - RUN_ALL - SCHEDULED - RECURRING_SCHEDULE kind: type: string enum: - WebApp - Api - Scheduled - Manual - Spinnaker - Concord - GremlinFeeder - GremlinSdkPython - Scenario - Chao - K8sBackend - Website - Neotys - IntegrationClient - Validation owningTeamId: type: string createSourceDetail: type: string enum: - Onboarding infraTarget: type: object additionalProperties: type: object infraCommand: type: object additionalProperties: type: object targets: type: array items: type: string targetContainers: type: object additionalProperties: type: array items: type: string stageLifecycle: type: string enum: - Active - Halting - Complete - Error createUser: type: string executionSummaries: type: object additionalProperties: $ref: '#/components/schemas/ExecutionSummary' executionStageSummary: type: object additionalProperties: type: integer format: int32 tags: type: object additionalProperties: type: string multiSelectTags: type: object additionalProperties: type: array items: type: string labels: type: object additionalProperties: type: string multiSelectLabels: type: object additionalProperties: type: array items: type: string targetType: type: string enum: - Host - Container - Docker - Kubernetes attackConfiguration: $ref: '#/components/schemas/AttackConfiguration' startTime: type: string format: date-time endTime: type: string format: date-time initializationEndTime: type: string format: date-time commandTemplateId: type: string targetTemplateId: type: string scenarioId: type: string scenarioRunNumber: type: integer format: int64 scenarioStepNumber: type: integer format: int32 scenarioNodeGuid: type: string serviceId: type: string k8sAttackId: type: string k8sObjectResponse: $ref: '#/components/schemas/AttackK8sObjectResponse' k8sStage: type: string enum: - RESOLVING - ERROR - LAUNCHED - USER_HALTED k8sAttackCreatedAt: type: string format: date-time k8sAttackUpdatedAt: type: string format: date-time k8sError: type: string annotations: type: object additionalProperties: type: string totalClients: type: integer format: int32 clientMetricsEnabledCount: type: integer format: int32 providers: type: array items: type: string trafficImpactMapping: $ref: '#/components/schemas/TrafficImpactMapping' includeNewClients: type: boolean dynamicallyResolvedIps: type: array items: type: string displayErrorMessage: type: string executionFailureReasons: $ref: '#/components/schemas/ExecutionFailureReasons' createdAt: type: string format: date-time updatedAt: type: string format: date-time K8sContainerResponse: type: object properties: uid: type: string unifiedUid: type: string name: type: string state: type: string enum: - WAITING - RUNNING - TERMINATED - UNKNOWN K8sObjectOnAttack: type: object properties: clusterId: type: string uid: type: string namespace: type: string name: type: string kind: type: string enum: - DEPLOYMENT - REPLICASET - POD - DAEMONSET - STATEFULSET - SERVICE - INGRESS - DEPLOYMENTCONFIG - REPLICATIONCONTROLLER - ROLLOUT - HORIZONTALPODAUTOSCALER labels: type: object additionalProperties: type: string annotations: type: object additionalProperties: type: string ownerReferences: type: string createdAt: type: string format: date-time resolvedContainers: type: array items: type: string data: type: string clientId: type: string teamId: type: string resolved: type: boolean attackUid: type: string K8sObjectResponse: type: object properties: clusterId: type: string ownerReferences: type: string createdAt: type: string format: date-time resolvedContainers: type: array items: type: string uid: type: string namespace: type: string name: type: string kind: type: string enum: - DEPLOYMENT - REPLICASET - POD - DAEMONSET - STATEFULSET - SERVICE - INGRESS - DEPLOYMENTCONFIG - REPLICATIONCONTROLLER - ROLLOUT - HORIZONTALPODAUTOSCALER labels: type: object additionalProperties: type: string annotations: type: object additionalProperties: type: string podPhase: type: string enum: - Pending - Running - Succeeded - Failed - Unknown hostId: type: string availableContainers: type: array items: $ref: '#/components/schemas/K8sContainerResponse' targetType: type: string enum: - Host - Container - Docker - Kubernetes PagedResponseExperimentsResponse: 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/ExperimentsResponse' StrategyK8sObjectResponse: type: object properties: k8sObjects: type: array items: $ref: '#/components/schemas/K8sObjectResponse' containerSelection: $ref: '#/components/schemas/ContainerSelection' k8sObjectsInternal: type: array items: $ref: '#/components/schemas/K8sObjectOnAttack' count: type: integer format: int32 percentage: type: integer format: int32 TargetK8sObjectResponse: type: object properties: strategy: $ref: '#/components/schemas/StrategyK8sObjectResponse' AttackAnnotationsInputRequest: title: Represents a request to add annotations to an attack type: object properties: otherAnnotations: type: object additionalProperties: type: string writeOnly: true notes: type: string description: Notes about the attack metrics: type: string description: Link to metrics about the impact of the attack PagedResponseTaskResponse: 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/TaskResponse' CreateAttackInput: title: Task.Input type: object properties: includeNewTargets: type: boolean continueOnEmptyTargets: type: boolean command: type: object properties: providers: type: array items: type: string args: type: array items: type: string trafficImpactMapping: $ref: '#/components/schemas/TaskTrafficImpactMappingInput' trafficImpactFromWithSelectTags: type: object additionalProperties: type: array items: type: string writeOnly: true trafficImpactWithDependencyIds: type: array writeOnly: true items: type: string type: type: string templateId: type: string optionalTemplateId: type: string empty: type: boolean additionalProperties: type: object multiSelectTags: type: object additionalProperties: type: array items: type: string multiSelectLabels: type: object additionalProperties: type: array items: type: string target: type: object properties: multiSelectTags: type: object additionalProperties: type: array items: type: string strategyInput: $ref: '#/components/schemas/TargetStrategy' multiSelectLabels: type: object additionalProperties: type: array items: type: string type: type: string templateId: type: string optionalTemplateId: type: string empty: type: boolean tags: type: object additionalProperties: type: string writeOnly: true additionalProperties: type: object annotations: type: object additionalProperties: type: string source: type: string enum: - WebApp - Api - Scheduled - Manual - Spinnaker - Concord - GremlinFeeder - GremlinSdkPython - Scenario - Chao - K8sBackend - Website - Neotys - IntegrationClient - Validation Strategy: type: object properties: type: type: string enum: - Exact - RandomCount - RandomPercent tags: type: object additionalProperties: type: string multiSelectLabels: type: object additionalProperties: type: array items: type: string labels: type: object additionalProperties: type: string allHosts: type: boolean allContainers: type: boolean hostIds: type: array items: type: string containerIds: type: array items: type: string multiSelectTags: type: object additionalProperties: type: array items: type: string Target: type: object properties: multiSelectTags: type: object additionalProperties: type: array items: type: string strategyInput: $ref: '#/components/schemas/TargetStrategy' multiSelectLabels: type: object additionalProperties: type: array items: type: string type: type: string templateId: type: string optionalTemplateId: type: string empty: type: boolean tags: type: object additionalProperties: type: string writeOnly: true additionalProperties: type: object TargetStrategy: type: object properties: type: type: string enum: - Exact - Regex - Random strategy: $ref: '#/components/schemas/Strategy' containerLabels: type: object additionalProperties: type: array items: type: string hostTags: type: object additionalProperties: type: array items: type: string allContainers: type: boolean allHosts: type: boolean hostIds: type: array items: type: string containerIds: type: array items: type: string hostsInput: type: object containersInput: type: object TaskTrafficImpactMappingInput: type: object properties: multiSelectTags: type: object additionalProperties: type: array items: type: string dependencyIds: type: array items: type: string AttackForServiceResponse: type: object properties: serviceId: type: string type: type: string enum: - Host - Container - Kubernetes attackId: type: string k8sAttackId: type: string CreateAttackRequest: required: - attackConfiguration type: object properties: attackConfiguration: $ref: '#/components/schemas/AttackConfiguration' includeNewTargets: type: boolean continueOnEmptyTargets: type: boolean HaltRequest: type: object properties: reason: type: string description: The reason why this halt this requested. reference: type: string description: A reference to why this halt was requested. ClientState: type: object properties: stage: type: string timestamp: type: string format: date-time description: A collection of states an execution goes through during its lifecycle, along with their corresponding timestamps. This list can be used to create a timeline of what happened to a particular target during an experiment. Meanings of specific state values can be found at https://www.gremlin.com/docs/fault-injection-experiments#experiment-stages EventCode: type: object properties: timestamp: type: string format: date-time code: type: string message: type: string link: type: string ExecutionResponse: title: Execution type: object properties: orgId: type: string description: The teamId associated with the execution guid: type: string description: Unique identifier associated with the execution targetType: type: string enum: - Host - Container - Docker - Kubernetes infraTarget: type: object additionalProperties: type: object serviceStates: type: array description: A collection of states items: $ref: '#/components/schemas/ServiceStateStage' clientId: type: string description: The unique agent identifier associated with the execution. For host-level experiments, this value represents the agent on the host where the execution is running. For container-level experiments, this value represents the agent that is running on the same host as the targeted container. clientStates: type: array description: A collection of states an execution goes through during its lifecycle, along with their corresponding timestamps. This list can be used to create a timeline of what happened to a particular target during an experiment. Meanings of specific state values can be found at https://www.gremlin.com/docs/fault-injection-experiments#experiment-stages items: $ref: '#/components/schemas/ClientState' tags: type: object additionalProperties: type: string labels: type: object additionalProperties: type: string multiSelectTags: type: object additionalProperties: type: array items: type: string multiSelectLabels: type: object additionalProperties: type: array items: type: string clientStatus: type: string enum: - HEALTHY - IMPAIRED - UNHEALTHY clientVersion: type: string error: type: string description: If any critical error occurs during the execution's lifecycle, it is stored here. output: type: string description: Raw logging output from the gremlin experiment process while the execution runs. infraCommand: type: object additionalProperties: type: object guestId: type: string description: If execution is running against a container target, this field is populated with the containerId createSource: type: string enum: - WebApp - Api - Scheduled - Manual - Spinnaker - Concord - GremlinFeeder - GremlinSdkPython - Scenario - Chao - K8sBackend - Website - Neotys - IntegrationClient - Validation attackContainerId: type: string stage: type: string enum: - InvalidArgument - TargetNotFound - Successful - UserHalted - ClientAborted - LostCommunication - InitializationFailed - TeardownFailed - HaltFailed - Failed - Pending - Distributed - Initializing - HaltDistributed - InterruptTriggered - RollbackTriggered - RollbackStarted - Running - TearingDown - Halt stageLifecycle: type: string description: One of `Active`, `Halting`, `Complete`, or `Error`, this field describes where this execution is in its overall lifecycle. Values `Complete` and `Error` indicate the execution has finished. enum: - Active - Halting - Complete - Error owningTeamId: type: string runasUser: type: string taskId: type: string kind: type: string enum: - WebApp - Api - Scheduled - Manual - Spinnaker - Concord - GremlinFeeder - GremlinSdkPython - Scenario - Chao - K8sBackend - Website - Neotys - IntegrationClient - Validation args: type: array items: type: string startTime: type: string description: The time at which this execution was created. For more fine-grained information about when exactly impact was applied, see `client_states`. format: date-time endTime: type: string description: The time at which this execution finished. For more fine-grained information about when exactly impact was removed, see `client_states`. format: date-time createdAt: type: string format: date-time updatedAt: type: string format: date-time eventCodes: type: array items: $ref: '#/components/schemas/EventCode' metricsLinks: type: object additionalProperties: type: string scopeDetails: type: array description: Detailed information about the scope of this experiment. This contains information such as which containerId or Linux namespace is targeted. items: $ref: '#/components/schemas/ScopeDetail' description: An execution represents a portion of an experiment, run against a specific target. There is one target associated with every target of an experiment. ScopeDetail: type: object properties: key: type: string value: type: string description: Detailed information about the scope of this experiment. This contains information such as which containerId or Linux namespace is targeted. ServiceStateStage: type: object properties: stage: type: string enum: - InvalidArgument - TargetNotFound - Successful - UserHalted - ClientAborted - LostCommunication - InitializationFailed - TeardownFailed - HaltFailed - Failed - Pending - Distributed - Initializing - HaltDistributed - InterruptTriggered - RollbackTriggered - RollbackStarted - Running - TearingDown - Halt timestamp: type: string format: date-time description: A collection of states ExecutionRequest: title: Represents a request to add annotations to an attack required: - args - requestedAtString type: object properties: guid: type: string args: type: array items: type: string guestId: type: string attackContainerId: type: string requestedAtString: type: string runAs: type: string requestType: type: string enum: - Regular - Validation Attack: type: object properties: impactDefinition: $ref: '#/components/schemas/Command' targetDefinition: $ref: '#/components/schemas/TargetObject' includeNewTargets: type: boolean continueOnEmptyTargets: type: boolean StrategyObject: type: object properties: k8sObjects: type: array items: type: object containerSelection: $ref: '#/components/schemas/ContainerSelection' k8sObjectsInternal: type: array items: $ref: '#/components/schemas/K8sObjectOnAttack' count: type: integer format: int32 percentage: type: integer format: int32 TargetObject: type: object properties: strategy: $ref: '#/components/schemas/StrategyObject' ArgGroup: type: object properties: name: type: string description: type: string args: type: array items: type: string DisplayConfig: type: object properties: grouped_args: type: array items: type: array items: type: string arg_groups: type: array items: $ref: '#/components/schemas/ArgGroup' values: type: array items: type: string InfraAttackArgObject: type: object properties: name: type: string key: type: string info: type: string multiple: type: boolean usage: type: string options: type: object additionalProperties: type: string advanced: type: boolean required: type: boolean subinfo: type: string type: type: string enum: - Boolean - Enum - Float - Integer - IP - String - URL validatorDynamo: $ref: '#/components/schemas/ValidatorObject' display: $ref: '#/components/schemas/DisplayConfig' error: type: object additionalProperties: type: string versions: type: object additionalProperties: $ref: '#/components/schemas/Versioning' long: type: string short: type: string infraCommandArgKey: type: string default: type: object validator: type: object additionalProperties: type: object InfraAttackMetadata: type: object properties: name: type: string revision: type: integer format: int32 type: type: string enum: - Network - Resource - State args: type: array items: $ref: '#/components/schemas/InfraAttackArgObject' info: type: string usage: type: string command: type: string versions: type: object additionalProperties: $ref: '#/components/schemas/Versioning' display: $ref: '#/components/schemas/DisplayConfig' doc: type: string created_at: type: string format: date-time updated_at: type: string format: date-time error: type: object additionalProperties: type: string ValidatorObject: type: object Versioning: type: object properties: version: type: string deprecated: type: boolean MfaEnableResponse: type: object properties: secretKey: type: string qrUrl: type: string format: uri MfaInfoResponse: type: object properties: enabled: type: string provider: type: string Data: type: object properties: webhook: type: string baseUrl: type: string teams: type: array items: $ref: '#/components/schemas/TeamData' api_key: type: string NotificationIntegrationResponse: type: object properties: integration_id: type: string company_id: type: string foreign_id: type: string updated_at: type: string format: date-time created_at: type: string format: date-time data: $ref: '#/components/schemas/Data' TeamData: type: object properties: team_id: type: string executable_events: type: array items: type: string enum: - START - END - STAGE_TRANSITION - ERROR CreateIntegrationRequest: required: - teams type: object properties: hostname: type: string webhook: type: string teams: type: array items: $ref: '#/components/schemas/TeamData' api_key: type: string RoleResponse: type: object properties: key: type: string name: type: string description: type: string type: type: string enum: - Company - Team privileges: uniqueItems: true type: array items: type: string enum: - ADMIN - DEV - ALL_API_KEYS_READ - API_KEYS_READ - API_KEYS_WRITE - COMPANIES_READ - COMPANIES_WRITE - COMPANY_INTEGRATIONS_READ - COMPANY_INTEGRATIONS_WRITE - COMPANY_PREFERENCES_WRITE - COMPANY_SECURITY_WRITE - COMPANY_SECURITY_READ - COMPANY_SAMLCLAIM_ALIAS_READ - COMPANY_SAMLCLAIM_ALIAS_WRITE - COMPANY_USERS_READ - COMPANY_USERS_WRITE - HALT_ALL - LARGE_SCALE_TESTS_READ - LARGE_SCALE_TESTS_WRITE - DISASTER_RECOVERY_TESTS_READ - DISASTER_RECOVERY_TESTS_WRITE - MINIMUM_COMPANY_PRIVILEGES - PROMOTE_DEMOTE_OWNER - RELIABILITY_REPORTS_READ - REPORTS_READ - ROLES_WRITE - SECURITY_REPORTS_READ - TEAMS_READ - TEST_SUITES_READ - TEST_SUITES_WRITE - CLIENTS_READ - CLIENTS_WRITE - EXPERIMENTS_READ - EXPERIMENTS_RUN - EXPERIMENTS_WRITE - FAULT_CPU - FAULT_IO - FAULT_MEMORY - FAULT_DISK - FAULT_BLACKHOLE - FAULT_DNS - FAULT_LATENCY - FAULT_PACKET_LOSS - FAULT_COLLECT_CERTS - FAULT_SHUTDOWN - FAULT_TIME_TRAVEL - FAULT_PROCESS_KILLER - FAULT_PROCESS_EXHAUSTION - FAULT_GPU - HALT_WRITE - IMAGES_READ - IMAGES_WRITE - INTEGRATIONS_READ - INTEGRATIONS_WRITE - MINIMUM_TEAM_PRIVILEGES - SCENARIO_SHARE_WRITE - SCENARIOS_READ - SCENARIOS_RUN - SCENARIOS_WRITE - SERVICES_READ - SERVICES_RUN - SERVICES_WRITE - TEAM_SECURITY_READ - TEAM_SECURITY_WRITE - TEAMS_WRITE - USERS_READ - USERS_WRITE - WEBHOOKS_READ - WEBHOOKS_WRITE CreateCustomRoleRequest: required: - name - type type: object properties: name: type: string description: type: string type: type: string enum: - Company - Team privileges: uniqueItems: true type: array items: type: string enum: - ADMIN - DEV - ALL_API_KEYS_READ - API_KEYS_READ - API_KEYS_WRITE - COMPANIES_READ - COMPANIES_WRITE - COMPANY_INTEGRATIONS_READ - COMPANY_INTEGRATIONS_WRITE - COMPANY_PREFERENCES_WRITE - COMPANY_SECURITY_WRITE - COMPANY_SECURITY_READ - COMPANY_SAMLCLAIM_ALIAS_READ - COMPANY_SAMLCLAIM_ALIAS_WRITE - COMPANY_USERS_READ - COMPANY_USERS_WRITE - HALT_ALL - LARGE_SCALE_TESTS_READ - LARGE_SCALE_TESTS_WRITE - DISASTER_RECOVERY_TESTS_READ - DISASTER_RECOVERY_TESTS_WRITE - MINIMUM_COMPANY_PRIVILEGES - PROMOTE_DEMOTE_OWNER - RELIABILITY_REPORTS_READ - REPORTS_READ - ROLES_WRITE - SECURITY_REPORTS_READ - TEAMS_READ - TEST_SUITES_READ - TEST_SUITES_WRITE - CLIENTS_READ - CLIENTS_WRITE - EXPERIMENTS_READ - EXPERIMENTS_RUN - EXPERIMENTS_WRITE - FAULT_CPU - FAULT_IO - FAULT_MEMORY - FAULT_DISK - FAULT_BLACKHOLE - FAULT_DNS - FAULT_LATENCY - FAULT_PACKET_LOSS - FAULT_COLLECT_CERTS - FAULT_SHUTDOWN - FAULT_TIME_TRAVEL - FAULT_PROCESS_KILLER - FAULT_PROCESS_EXHAUSTION - FAULT_GPU - HALT_WRITE - IMAGES_READ - IMAGES_WRITE - INTEGRATIONS_READ - INTEGRATIONS_WRITE - MINIMUM_TEAM_PRIVILEGES - SCENARIO_SHARE_WRITE - SCENARIOS_READ - SCENARIOS_RUN - SCENARIOS_WRITE - SERVICES_READ - SERVICES_RUN - SERVICES_WRITE - TEAM_SECURITY_READ - TEAM_SECURITY_WRITE - TEAMS_WRITE - USERS_READ - USERS_WRITE - WEBHOOKS_READ - WEBHOOKS_WRITE PrivilegeDefinition: type: object properties: key: type: string description: type: string category: type: string enum: - NONE - REQUIRED - ADMINISTRATIVE - ALL_API_KEYS - API_KEYS - CLIENTS - COMPANIES - COMPANY_PREFERENCES - COMPANY_SECURITY - COMPANY_USERS - EXPERIMENTS - FAULT - HALT - HALT_ALL - IMAGES - INTEGRATIONS - DISASTER_RECOVERY_TESTS - RELIABILITY_REPORTS - REPORTS - ROLES - SCENARIOS - SCENARIO_SHARE - SECURITY_REPORTS - SERVICES - TEAMS - TEAM_SECURITY - TEST_SUITES - USERS - WEBHOOKS Privileges: type: object properties: company: type: object additionalProperties: $ref: '#/components/schemas/PrivilegeDefinition' team: type: object additionalProperties: $ref: '#/components/schemas/PrivilegeDefinition' Roles: type: object properties: company: type: object additionalProperties: $ref: '#/components/schemas/RoleResponse' team: type: object additionalProperties: $ref: '#/components/schemas/RoleResponse' RolesResponse: type: object properties: customRoles: $ref: '#/components/schemas/Roles' roles: $ref: '#/components/schemas/Roles' privileges: $ref: '#/components/schemas/Privileges' UpdateCustomRoleRequest: type: object properties: name: type: string description: type: string privileges: uniqueItems: true type: array items: type: string enum: - ADMIN - DEV - ALL_API_KEYS_READ - API_KEYS_READ - API_KEYS_WRITE - COMPANIES_READ - COMPANIES_WRITE - COMPANY_INTEGRATIONS_READ - COMPANY_INTEGRATIONS_WRITE - COMPANY_PREFERENCES_WRITE - COMPANY_SECURITY_WRITE - COMPANY_SECURITY_READ - COMPANY_SAMLCLAIM_ALIAS_READ - COMPANY_SAMLCLAIM_ALIAS_WRITE - COMPANY_USERS_READ - COMPANY_USERS_WRITE - HALT_ALL - LARGE_SCALE_TESTS_READ - LARGE_SCALE_TESTS_WRITE - DISASTER_RECOVERY_TESTS_READ - DISASTER_RECOVERY_TESTS_WRITE - MINIMUM_COMPANY_PRIVILEGES - PROMOTE_DEMOTE_OWNER - RELIABILITY_REPORTS_READ - REPORTS_READ - ROLES_WRITE - SECURITY_REPORTS_READ - TEAMS_READ - TEST_SUITES_READ - TEST_SUITES_WRITE - CLIENTS_READ - CLIENTS_WRITE - EXPERIMENTS_READ - EXPERIMENTS_RUN - EXPERIMENTS_WRITE - FAULT_CPU - FAULT_IO - FAULT_MEMORY - FAULT_DISK - FAULT_BLACKHOLE - FAULT_DNS - FAULT_LATENCY - FAULT_PACKET_LOSS - FAULT_COLLECT_CERTS - FAULT_SHUTDOWN - FAULT_TIME_TRAVEL - FAULT_PROCESS_KILLER - FAULT_PROCESS_EXHAUSTION - FAULT_GPU - HALT_WRITE - IMAGES_READ - IMAGES_WRITE - INTEGRATIONS_READ - INTEGRATIONS_WRITE - MINIMUM_TEAM_PRIVILEGES - SCENARIO_SHARE_WRITE - SCENARIOS_READ - SCENARIOS_RUN - SCENARIOS_WRITE - SERVICES_READ - SERVICES_RUN - SERVICES_WRITE - TEAM_SECURITY_READ - TEAM_SECURITY_WRITE - TEAMS_WRITE - USERS_READ - USERS_WRITE - WEBHOOKS_READ - WEBHOOKS_WRITE AwsAutoscalingGroupResponse: type: object properties: name: type: string arn: type: string region: type: string serviceIds: type: array items: type: string discoveredAt: type: string format: date-time AwsAutoscalingGroupsForAccount: type: object properties: domain: type: string autoscalingGroups: type: array items: $ref: '#/components/schemas/AwsAutoscalingGroupResponse' AwsMetadataIamRoleResponse: type: object properties: cfnTemplateLink: type: string permissionPolicy: type: string managedPolicies: type: array items: type: string trustPolicy: type: string AwsLoadBalancerResponse: type: object properties: type: type: string name: type: string arn: type: string dnsName: type: string region: type: string tags: type: object additionalProperties: type: string serviceIds: type: array items: type: string targetingStrategy: $ref: '#/components/schemas/TargetingStrategy' targetingStrategyDetectionScore: type: number format: double discoveredAt: type: string format: date-time AwsLoadBalancersForAccount: type: object properties: domain: type: string loadBalancers: type: array items: $ref: '#/components/schemas/AwsLoadBalancerResponse' MonitorDetails: type: object properties: id: type: integer format: int64 name: type: string overall_state: type: string tags: type: array items: type: string MonitorSearchResponse: type: object properties: metadata: $ref: '#/components/schemas/MonitorSearchResponseMetadata' monitors: type: array items: $ref: '#/components/schemas/MonitorSearchResult' MonitorSearchResponseMetadata: type: object properties: page: type: integer format: int64 page_count: type: integer format: int64 per_page: type: integer format: int64 total_count: type: integer format: int64 MonitorSearchResult: type: object properties: id: type: integer format: int64 name: type: string status: type: string tags: type: array items: type: string GrafanaAlert: type: object properties: status: $ref: '#/components/schemas/Status' annotations: type: object additionalProperties: type: string labels: $ref: '#/components/schemas/Labels' Labels: type: object properties: __alert_rule_uid__: type: string alertname: type: string Status: type: object properties: state: type: string GrafanaDashboard: type: object properties: id: type: string uid: type: string title: type: string type: type: string folderTitle: type: string folderUid: type: string GrafanaRule: type: object properties: uid: type: string title: type: string labels: type: array items: type: string GrafanaSearchResponse: type: object properties: status: type: string errorMessage: type: string rules: type: array items: $ref: '#/components/schemas/GrafanaRule' CreateJiraIssueFields: required: - issuetype - project - summary type: object properties: summary: type: string description: type: string issuetype: $ref: '#/components/schemas/JiraId' assignee: $ref: '#/components/schemas/JiraId' priority: $ref: '#/components/schemas/JiraId' project: $ref: '#/components/schemas/JiraId' labels: type: array items: type: string CreateJiraIssueRequest: required: - entity - fields type: object properties: entity: $ref: '#/components/schemas/GremlinEntityReference' fields: $ref: '#/components/schemas/CreateJiraIssueFields' GremlinEntityReference: required: - id - type type: object properties: id: type: string type: type: string enum: - SCENARIO_RUN - GAME_DAY - SERVICE - ATTACK - SCENARIO serviceEntityType: type: boolean JiraId: required: - id type: object properties: id: type: string ExternalTicketsCountResponse: type: object properties: total: type: integer format: int32 Assignee: type: object properties: required: type: boolean name: type: string key: type: string autoCompleteUrl: type: string CreateJiraIssueMeta: type: object properties: projects: type: array items: $ref: '#/components/schemas/JiraProjectMeta' Description: type: object properties: required: type: boolean name: type: string key: type: string IssueType: type: object properties: required: type: boolean name: type: string key: type: string allowedValues: type: array items: $ref: '#/components/schemas/JiraIssueType' JiraAvatarUrls: type: object properties: 48x48: type: string JiraFieldMeta: type: object properties: summary: $ref: '#/components/schemas/Summary' description: $ref: '#/components/schemas/Description' issuetype: $ref: '#/components/schemas/IssueType' project: $ref: '#/components/schemas/Project' priority: $ref: '#/components/schemas/Priority' assignee: $ref: '#/components/schemas/Assignee' labels: $ref: '#/components/schemas/Label' JiraIssueType: required: - id type: object properties: id: type: string name: type: string iconUrl: type: string hierarchyLevel: type: integer format: int32 JiraIssueTypeMeta: type: object properties: id: type: string name: type: string iconUrl: type: string fields: $ref: '#/components/schemas/JiraFieldMeta' JiraPriority: required: - id type: object properties: id: type: string name: type: string iconUrl: type: string JiraProject: required: - id type: object properties: id: type: string key: type: string name: type: string avatarUrls: $ref: '#/components/schemas/JiraAvatarUrls' issueTypes: type: array items: $ref: '#/components/schemas/JiraIssueType' JiraProjectMeta: type: object properties: id: type: string key: type: string name: type: string avatarUrls: $ref: '#/components/schemas/JiraAvatarUrls' issuetypes: type: array items: $ref: '#/components/schemas/JiraIssueTypeMeta' Label: type: object properties: required: type: boolean name: type: string key: type: string autoCompleteUrl: type: string Priority: type: object properties: required: type: boolean name: type: string key: type: string allowedValues: type: array items: $ref: '#/components/schemas/JiraPriority' Project: type: object properties: required: type: boolean name: type: string key: type: string allowedValues: type: array items: $ref: '#/components/schemas/JiraProject' Summary: type: object properties: required: type: boolean name: type: string key: type: string JiraIssue: required: - id type: object properties: id: type: string key: type: string fields: $ref: '#/components/schemas/JiraIssueFields' done: type: boolean JiraIssueFields: type: object properties: summary: type: string description: type: string issuetype: $ref: '#/components/schemas/JiraIssueType' assignee: $ref: '#/components/schemas/JiraUser' project: $ref: '#/components/schemas/JiraProject' priority: $ref: '#/components/schemas/JiraPriority' status: $ref: '#/components/schemas/JiraStatus' JiraStatus: required: - id type: object properties: id: type: string name: type: string iconUrl: type: string statusCategory: $ref: '#/components/schemas/JiraStatusCategory' JiraStatusCategory: required: - id type: object properties: id: type: string name: type: string JiraUser: type: object properties: accountId: type: string displayName: type: string emailAddress: type: string avatarUrls: $ref: '#/components/schemas/JiraAvatarUrls' JiraLabels: type: object properties: values: uniqueItems: true type: array items: type: string JiraPageBeanProject: type: object properties: total: type: integer format: int64 values: type: array items: $ref: '#/components/schemas/JiraProject' isLast: type: boolean IncidentResponse: type: object properties: incident: $ref: '#/components/schemas/IncidentResult' IncidentResult: type: object properties: id: type: integer format: int64 opened_at: type: integer format: int64 closed_at: type: integer format: int64 PagerdutyIncident: type: object properties: id: type: string title: type: string status: type: string service: $ref: '#/components/schemas/PagerdutyIncidentService' incident_number: type: string PagerdutyIncidentService: type: object properties: id: type: string type: type: string summary: type: string self: type: string html_url: type: string PagerdutyIncidentsResponse: type: object properties: incidents: type: array items: $ref: '#/components/schemas/PagerdutyIncident' PagerdutyService: type: object properties: id: type: string name: type: string self: type: string status: type: string html_url: type: string PagerdutyServicesResponse: type: object properties: services: type: array items: $ref: '#/components/schemas/PagerdutyService' 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 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 TeamExternalIntegrationsResponse: type: object properties: integrations: type: array items: $ref: '#/components/schemas/TeamExternalIntegrationResponse' Application: type: object properties: teamId: type: string name: type: string labels: type: object additionalProperties: type: array items: $ref: '#/components/schemas/ApplicationLabel' createdAt: type: string format: date-time lastSeen: type: string format: date-time state: type: string enum: - Active - Idle protected: type: boolean experiments: type: array items: type: string ApplicationLabel: type: object properties: value: type: string cardinality: type: integer format: int32 ExperimentRunSummary: type: object properties: startTime: type: string format: date-time stopTime: type: string format: date-time impacts: type: integer format: int32 deliveries: type: integer format: int32 Experiment: required: - app - duration - flag - name type: object properties: id: type: string teamId: type: string name: pattern: ^[-a-zA-Z0-9_. ]{1,64}$ type: string staticTargeting: type: boolean app: $ref: '#/components/schemas/Selector' flag: $ref: '#/components/schemas/Selector' appInstanceSampling: $ref: '#/components/schemas/TargetSampling' duration: pattern: ^[1-9]\d*[mhd]$ type: string description: "The duration expressed as a variant of ISO 8601 with the following simplifications:\n 1. no leading\ \ 'PT' (eg. 5m or 10h)\n 2. valid time units are exclusively: m, h, d, s\n" example: 30m rate: type: number format: float effect: type: object recentHistory: type: array readOnly: true items: $ref: '#/components/schemas/ExperimentRunSummary' createdAt: type: string format: date-time readOnly: true startTime: type: string format: date-time readOnly: true currentRun: $ref: '#/components/schemas/ExperimentRun' protected: type: boolean readOnly: true ExperimentRun: type: object properties: startTime: type: string format: date-time impactSeries: type: array items: $ref: '#/components/schemas/SeriesMinute' deliverySeries: type: array items: $ref: '#/components/schemas/SeriesMinute' triggerSource: type: string enum: - MANUAL - RUN_ALL - SCHEDULED - RECURRING_SCHEDULE triggeredBy: type: string readOnly: true 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 SeriesMinute: type: object properties: minute: type: integer format: int32 count: type: integer format: int32 ExperimentPagedResponse: 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/Experiment' PagedResponseExperiment: 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/Experiment' CompletedExperimentPagedResponse: 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/CompletedRunSummaryResponse' CompletedRunSummaryResponse: type: object properties: teamId: type: string id: type: string name: type: string startTime: type: string format: date-time stopTime: type: string format: date-time deliveries: type: integer format: int32 impacts: type: integer format: int32 triggerSource: type: string enum: - MANUAL - RUN_ALL - SCHEDULED - RECURRING_SCHEDULE triggeredBy: type: string app: $ref: '#/components/schemas/Selector' flag: $ref: '#/components/schemas/Selector' PagedResponseCompletedRunSummaryResponse: 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/CompletedRunSummaryResponse' FailureFlag: type: object properties: teamId: type: string name: type: string labelKeys: type: array items: type: string createdAt: type: string format: date-time lastSeen: type: string format: date-time protected: type: boolean apps: type: array items: type: string experiments: type: array items: type: string CreateGameDayPlanRequest: title: CreateGameDayPlanRequest.Input required: - name type: object properties: name: type: string goal: type: string type: type: string enum: - Exploratory - TrainTeams - ValidatePastOutages - TuneObservability - Other participants: maxItems: 20 minItems: 0 type: array items: $ref: '#/components/schemas/Participant' scenarioIds: maxItems: 20 minItems: 0 type: array items: type: string environment: type: string dashboards: maxItems: 20 minItems: 0 type: array items: type: string format: uri runbooks: maxItems: 20 minItems: 0 type: array items: type: string format: uri description: Represents a request to create a GameDay plan for a team Participant: title: CreateGameDayPlanRequest.Participant required: - position type: object properties: position: type: string enum: - Owner - Coordinator - Observer - Reporter email: type: string description: Represents a participant in the GameDay AttackNode: type: object allOf: - $ref: '#/components/schemas/GraphNodeObject' - type: object properties: target_definition: $ref: '#/components/schemas/AttackTarget' impact_definition: $ref: '#/components/schemas/InfraCommand' state: $ref: '#/components/schemas/State' attack_configuration: $ref: '#/components/schemas/AttackConfiguration' include_new_targets: type: boolean writeOnly: true continue_on_empty_targets: type: boolean writeOnly: true targetDefinition: $ref: '#/components/schemas/AttackTarget' impactDefinition: $ref: '#/components/schemas/InfraCommand' attackConfiguration: $ref: '#/components/schemas/AttackConfiguration' includeNewTargets: type: boolean continueOnEmptyTargets: type: boolean resolvedTargets: $ref: '#/components/schemas/ResolvedTargets' AttackTarget: type: object properties: templateId: type: string strategyType: type: string enum: - Exact - Regex - Random targetType: type: string enum: - Host - Container - Docker - Kubernetes strategy: $ref: '#/components/schemas/Strategy' k8sObjects: type: array items: $ref: '#/components/schemas/K8sTarget' containerSelection: $ref: '#/components/schemas/ContainerSelection' BooleanPredicate: required: - jpQuery - rValue - type type: object allOf: - $ref: '#/components/schemas/PredicateObject' - type: object properties: comparator: type: string enum: - EQU - EQUALS - NEQ - NOT_EQUALS rValue: type: boolean description: The right hand value of the predicate ConcurrentNode: type: object allOf: - $ref: '#/components/schemas/GraphNodeObject' - type: object properties: branches: type: array items: $ref: '#/components/schemas/ScenarioRunGraph' state: $ref: '#/components/schemas/State' ContinuousNode: type: object allOf: - $ref: '#/components/schemas/GraphNodeObject' - type: object properties: state: $ref: '#/components/schemas/State' DelayNode: type: object allOf: - $ref: '#/components/schemas/GraphNodeObject' - type: object properties: delay: type: integer format: int32 substitutedNodetype: type: string enum: - Concurrent - ContinuousStatusCheck - StatusCheckNode - Delay - InfraAttack - SynchronousStatusCheck - Continuous - FailureFlag - ExternalAction - RollbackExternalAction state: $ref: '#/components/schemas/State' DisableAutoScalingGroupActionRequest: type: object allOf: - $ref: '#/components/schemas/ExternalActionRequest' - type: object properties: resourceArn: type: string processesToDisable: uniqueItems: true type: array items: type: string 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 EndpointResponse: required: - httpStatusCode - requestLatencyMs - responseBody type: object properties: httpStatusCode: type: integer format: int32 requestLatencyMs: type: integer format: int32 contentType: type: string responseBody: type: string 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 EvaluationResults: type: object properties: okStatusCodes: $ref: '#/components/schemas/SingleEvaluationInteger' okLatencyMaxMs: $ref: '#/components/schemas/SingleEvaluationInteger' responseBodyResults: $ref: '#/components/schemas/ResponseBodyResults' passed: type: boolean ExecutionResult: type: object properties: scenario: $ref: '#/components/schemas/ScenarioSummary' createdBy: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time updatedBy: type: string runs: type: array items: $ref: '#/components/schemas/ScenarioRunResponse' lastResult: type: string enum: - Passed - Failed - Unsure - Completed_Input_Results - Failed_Input_Results - Halted_Input_Results - SetupFailed_Input_Results - Setup - Active lastResultAt: type: string format: date-time lastRunAt: type: string format: date-time lastRunVersion: type: integer format: int32 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' ExternalActionRequest: required: - type type: object properties: semanticType: type: string type: type: string discriminator: propertyName: type 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 FailureFlagInputForScenario: required: - app - duration - flag type: object properties: staticTargeting: type: boolean app: $ref: '#/components/schemas/Selector' flag: $ref: '#/components/schemas/Selector' appInstanceSampling: $ref: '#/components/schemas/TargetSampling' resolvedAppInstanceIds: type: array items: type: string duration: pattern: ^[1-9]\d*[mhd]$ type: string description: "The duration expressed as a variant of ISO 8601 with the following simplifications:\n 1. no leading\ \ 'PT' (eg. 5m or 10h)\n 2. valid time units are exclusively: m, h, d, s\n" example: 30m rate: type: number format: float effect: type: object FailureFlagNode: type: object allOf: - $ref: '#/components/schemas/GraphNodeObject' - type: object properties: failureFlagInputForScenario: $ref: '#/components/schemas/FailureFlagInputForScenario' state: $ref: '#/components/schemas/State' GameDayExecution: type: object properties: createdBy: type: string createdAt: type: string format: date-time lastRunAt: type: string format: date-time results: type: array items: $ref: '#/components/schemas/ExecutionResult' GameDayInfo: type: object properties: guid: type: string name: type: string GameDayPlan: type: object properties: name: type: string goal: type: string type: type: string enum: - Exploratory - TrainTeams - ValidatePastOutages - TuneObservability - Other createdBy: type: string createdAt: type: string format: date-time updatedBy: type: string updatedAt: type: string format: date-time participants: type: array items: $ref: '#/components/schemas/Participant' scenarios: type: array items: $ref: '#/components/schemas/ScenarioSummary' environment: type: string dashboards: type: array items: type: string format: uri runbooks: type: array items: type: string format: uri GameDayResponse: type: object properties: guid: type: string teamId: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time plan: $ref: '#/components/schemas/GameDayPlan' summary: $ref: '#/components/schemas/GameDaySummary' execution: $ref: '#/components/schemas/GameDayExecution' GameDaySummary: type: object properties: createdBy: type: string createdAt: type: string format: date-time updatedBy: type: string updatedAt: type: string format: date-time notes: type: string actions: type: string gameDayImages: type: array items: type: string 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 HasCompareFunctionObject: type: object HttpExecutionRequest: type: object allOf: - $ref: '#/components/schemas/StatusCheckNodeRequest' - type: object properties: endpointConfiguration: $ref: '#/components/schemas/EndpointConfiguration' payload: type: string timeoutMs: type: integer format: int32 InfraCommand: type: object properties: templateId: type: string infraCommandType: type: string enum: - CPU - IO - Memory - Disk - Thread_Bomb - Blackhole - DNS - Latency - Packet_Loss - Collect_Certs - Shutdown - Time_Travel - Process_Killer - Process_Exhaustion - GPU - Unknown infraCommandArgs: $ref: '#/components/schemas/InfraCommandArgs' length: type: integer format: int32 maxExpectedLength: type: integer format: int32 IntelligentHealthCheckRequest: type: object allOf: - $ref: '#/components/schemas/StatusCheckNodeRequest' - type: object properties: targetId: type: string resourceIdentifier: type: string resourceName: type: string metricType: type: string enum: - ERRORS - LATENCY - TRAFFIC ihcType: type: string enum: - AWS - AZURE - GCP - FAILURE_FLAG_PROXIES evaluationConfiguration: $ref: '#/components/schemas/EvaluationConfiguration' externalIntegrationId: type: string K8sTarget: type: object properties: clusterId: type: string ownerReferences: type: string createdAt: type: string format: date-time uid: type: string namespace: type: string name: type: string kind: type: string enum: - DEPLOYMENT - REPLICASET - POD - DAEMONSET - STATEFULSET - SERVICE - INGRESS - DEPLOYMENTCONFIG - REPLICATIONCONTROLLER - ROLLOUT - HORIZONTALPODAUTOSCALER labels: type: object additionalProperties: type: string annotations: type: object additionalProperties: type: string targetType: type: string enum: - Host - Container - Docker - Kubernetes NoOpActionRequest: type: object allOf: - $ref: '#/components/schemas/ExternalActionRequest' - type: object properties: substitutedRequestType: type: string enum: - DisableAWSAutoScalingGroups - NoOp NumberPredicate: required: - jpQuery - rValue - type type: object allOf: - $ref: '#/components/schemas/PredicateObject' - type: object properties: comparator: type: string enum: - EQU - EQUALS - NEQ - NOT_EQUALS - LES - LESS_THAN - LEQ - LESS_THAN_OR_EQUAL_TO - GRT - GREATER_THAN - GEQ - GREATER_THAN_OR_EQUAL_TO rValue: type: number description: The right hand value of the predicate format: double 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 PredicateResult: type: object properties: predicate: $ref: '#/components/schemas/PredicateObject' passed: type: boolean errors: type: array items: type: string queryValue: type: object ResolvedTargets: type: object properties: resolvedHosts: type: array items: type: string resolvedContainers: type: object additionalProperties: type: array items: type: string targetType: type: string enum: - Host - Container - Docker - Kubernetes containers: type: object additionalProperties: type: array items: type: string hosts: type: array items: type: string 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 ResponseBodyResults: type: object properties: passed: type: boolean error: type: string predicateResults: type: array items: $ref: '#/components/schemas/PredicateResult' 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 ScenarioRunGraph: type: object properties: nodes: type: object additionalProperties: $ref: '#/components/schemas/GraphNodeObject' start_id: type: string writeOnly: true observers: type: array items: $ref: '#/components/schemas/StatusCheckNode' current_id: type: string writeOnly: true external_actions: type: array writeOnly: true items: $ref: '#/components/schemas/ExternalActionNode' external_rollbacks: type: array writeOnly: true items: $ref: '#/components/schemas/RollbackExternalActionNode' startId: type: string externalActions: type: array items: $ref: '#/components/schemas/ExternalActionNode' externalRollbacks: type: array readOnly: true items: $ref: '#/components/schemas/RollbackExternalActionNode' currentId: type: string readOnly: true next: $ref: '#/components/schemas/GraphNodeObject' nextId: type: string 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 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: '#/components/schemas/ScenarioRunGraph' resultNotes: type: string resultFlags: type: object additionalProperties: type: boolean results: $ref: '#/components/schemas/ScenarioRunResults' scheduleId: type: string scenarioEditCounterAtRunTime: type: integer format: int32 scenarioRunImages: type: array items: type: string gameDayInfo: $ref: '#/components/schemas/GameDayInfo' passCriteria: type: string enum: - ALL_PASS - AT_LEAST_ONE_FAILED largeScaleTestId: type: string ScenarioRunResults: type: object properties: status: type: string enum: - Passed - Failed - Unsure incidentDetected: type: boolean incidentMitigated: type: boolean ScenarioSummary: type: object properties: guid: type: string name: type: string SingleEvaluationInteger: type: object properties: actual: type: integer format: int32 passed: type: boolean 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 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 StatusCheckNodeRequest: type: object properties: type: type: string discriminator: propertyName: type StringPredicate: required: - jpQuery - rValue - type type: object allOf: - $ref: '#/components/schemas/PredicateObject' - type: object properties: comparator: type: string enum: - EQU - EQUALS - NEQ - NOT_EQUALS - LES - LESS_THAN - LEQ - LESS_THAN_OR_EQUAL_TO - GRT - GREATER_THAN - GEQ - GREATER_THAN_OR_EQUAL_TO - CONTAINS - NOT_CONTAINS - STARTS_WITH - ENDS_WITH rValue: type: string description: The right hand value of the predicate TaskSummary: type: object properties: totalClients: type: integer format: int32 clientsMetricsEnabledCount: type: integer format: int32 startTime: type: string format: date-time endTime: type: string format: date-time stage: type: string enum: - InvalidArgument - TargetNotFound - Successful - UserHalted - ClientAborted - LostCommunication - InitializationFailed - TeardownFailed - HaltFailed - Failed - Pending - Distributed - Initializing - HaltDistributed - InterruptTriggered - RollbackTriggered - RollbackStarted - Running - TearingDown - Halt version: type: integer format: int64 PagedResponseGameDayResponse: 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/GameDayResponse' FormDataContentDisposition: type: object properties: type: type: string parameters: type: object additionalProperties: type: string fileName: type: string creationDate: type: string format: date-time modificationDate: type: string format: date-time readDate: type: string format: date-time size: type: integer format: int64 name: type: string UpdateGameDayPlanRequest: title: UpdateGameDayPlanRequest.Input type: object properties: name: type: string goal: type: string type: type: string enum: - Exploratory - TrainTeams - ValidatePastOutages - TuneObservability - Other participants: maxItems: 20 minItems: 0 type: array items: $ref: '#/components/schemas/Participant' scenarioIds: maxItems: 20 minItems: 0 type: array items: type: string environment: type: string dashboards: maxItems: 20 minItems: 0 type: array items: type: string format: uri runbooks: maxItems: 20 minItems: 0 type: array items: type: string format: uri description: Represents a request to update a GameDay plan for a team UpdateGameDaySummaryRequest: title: UpdateGameDaySummaryRequest.Input type: object properties: notes: type: string actions: type: string description: Represents a request to update a GameDay summary for a team GcpIntegrationMetadataResponse: type: object properties: principalAccessRoles: type: array items: type: string serviceAccountRolePrivileges: type: array items: type: string gremlinGcpProxyServiceAccount: type: string serviceAccountOutOfBoxRoles: type: array items: type: string PagedResponseResourceItem: 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/ResourceItem' ResourceItem: type: object properties: name: type: string resourceId: type: string resourceType: type: string region: type: string tags: type: object additionalProperties: type: string AllPageToken: type: object properties: typeIndex: type: integer format: int32 cloudRunRegionIndex: type: integer format: int32 cloudRunRegions: type: array items: type: string inner: type: string CloudRunPageToken: required: - cloudRunRegions type: object properties: cloudRunRegions: type: array items: type: string regionIndex: type: integer format: int32 inner: type: string ComputePageToken: required: - types type: object properties: types: type: array items: type: string enum: - ForwardingRule - UrlMap - BackendService - CloudRunService typeIndex: type: integer format: int32 inner: type: string AgentSummaryResponse: type: object properties: active: type: integer format: int32 warnings: type: integer format: int32 deactivated: type: integer format: int32 idle: type: integer format: int32 AgentResponse: type: object properties: id: type: string type: type: string enum: - Infrastructure - FailureFlag status: type: string enum: - Active - Idle - Deactivated warningCount: type: integer format: int32 instanceCount: type: integer description: For Failure Flags applications this is the recent/active instance count for that application. This value may be null when the count is unknown or unavailable (for example, legacy apps or not yet computed). For Infra this field is null. format: int32 tags: type: object additionalProperties: type: array items: type: string PagedResponseAgentResponse: 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/AgentResponse' PageToken: type: object properties: cacheKey: type: string lastEvaluatedSK: type: string Client: type: object properties: orgId: type: string identifier: type: string lastSeen: type: string format: date-time state: type: string enum: - ACTIVE - IDLE - REVOKED - INVITED tags: type: object additionalProperties: type: string revokedBy: type: string authType: type: string enum: - SECRET - CERTIFICATE containerHash: type: integer format: int32 networkInterfaceDataHash: type: integer format: int32 networkInterfaceData: $ref: '#/components/schemas/NetworkInterfaceData' osName: type: string osVersion: type: string dockerVersion: type: string containerDriver: type: string containerRuntime: type: string containerRuntimeVersion: type: string containerRuntimeApiVersion: type: string containers: type: array items: $ref: '#/components/schemas/Container' kubernetesVersion: type: string metricsEnabled: type: boolean processCollectionEnabled: type: boolean collectDnsEnabled: type: boolean usedProxy: type: boolean hardwareInfo: $ref: '#/components/schemas/HardwareInfo' instanceStartTime: type: string offsetInMinutesAfterBucketStart: type: integer format: int32 validationResults: $ref: '#/components/schemas/ValidationAttack' targetType: type: string enum: - Host - Container - Docker - Kubernetes lastActiveEmitted: type: string format: date-time createdAt: type: string format: date-time updatedAt: type: string format: date-time companyId: type: string versionInfo: $ref: '#/components/schemas/VersionInfo' dnsServers: type: array items: type: string proxyUrl: type: string warnings: type: array items: $ref: '#/components/schemas/Warning' pushPodCidrTags: type: boolean pushZoneCidrTags: type: boolean osType: type: string enum: - Linux - Windows Container: required: - id type: object properties: id: type: string name: type: string image: type: string labels: type: object additionalProperties: type: string dns_servers: type: array writeOnly: true items: type: string dnsServers: type: array items: type: string CpuInfo: type: object properties: name: type: string GpuInfo: type: object properties: name: type: string driver: type: string memory_size: type: integer format: int64 HardwareInfo: type: object properties: cpu_data: type: array items: $ref: '#/components/schemas/CpuInfo' memory_size: type: integer format: int64 gpu_data: type: array items: $ref: '#/components/schemas/GpuInfo' IPAddress: type: object properties: ip: type: string protocolFamily: type: string enum: - INET - INET6 - UNIX NetworkInterface: required: - ip_addresses type: object properties: name: type: string ip_addresses: type: array items: $ref: '#/components/schemas/IPAddress' is_default: type: boolean is_physical: type: boolean is_virtual: type: boolean NetworkInterfaceData: type: object properties: interfaces: type: array items: $ref: '#/components/schemas/NetworkInterface' SemanticVersion: type: object properties: major: type: integer format: int32 minor: type: integer format: int32 patch: type: integer format: int32 ValidationAttack: type: object properties: agentTimestamp: type: integer format: int64 clientVersion: type: string results: type: array items: $ref: '#/components/schemas/ValidationAttackResult' clientStatus: type: string enum: - HEALTHY - IMPAIRED - UNHEALTHY ValidationAttackResult: type: object properties: attackType: type: string status: type: string enum: - SUCCESS - ERROR rawErrors: type: array items: type: string targeting: type: string enum: - CONTAINER - HOST VersionInfo: type: object properties: gremlind: $ref: '#/components/schemas/SemanticVersion' gremlin: $ref: '#/components/schemas/SemanticVersion' Warning: type: object properties: key: type: string enum: - W000 - W001 - W002 - W003 - Unknown link: type: string summary: type: string IdentitiesClient: type: object properties: active: type: array items: $ref: '#/components/schemas/Client' idle: type: array items: $ref: '#/components/schemas/Client' inactive: type: array items: $ref: '#/components/schemas/Client' PrivateNetworkClient: type: object properties: companyId: type: string identifier: type: string lastSeen: type: string format: date-time orgId: type: string state: type: string enum: - ACTIVE - IDLE - REVOKED - INVITED tags: type: object additionalProperties: type: string revokedBy: type: string authType: type: string enum: - SECRET - CERTIFICATE osType: type: string osName: type: string osVersion: type: string usedProxy: type: boolean instanceStartTime: type: string lastActiveEmitted: type: string format: date-time createdAt: type: string format: date-time updatedAt: type: string format: date-time active: type: boolean revoked: type: boolean idle: type: boolean gremlinClientVersion: type: string IdentitiesPrivateNetworkClient: type: object properties: active: type: array items: $ref: '#/components/schemas/PrivateNetworkClient' idle: type: array items: $ref: '#/components/schemas/PrivateNetworkClient' inactive: type: array items: $ref: '#/components/schemas/PrivateNetworkClient' PrivateNetworkClientTagMatchResponse: type: object properties: matchingAgents: type: array items: type: string CreatePrivateNetworkInvocationResponse: type: object properties: invocationId: type: string CreatePrivateNetworkInvocationRequest: required: - endpointConfiguration type: object properties: endpointConfiguration: $ref: '#/components/schemas/EndpointConfiguration' teamExternalIntegration: $ref: '#/components/schemas/TeamExternalIntegrationReference' webhookId: type: string multiSelectTags: type: object additionalProperties: type: array items: type: string 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 PrivateNetworkInvocationModel: type: object properties: companyId: type: string invocationId: type: string status: type: string enum: - SUCCESS - ERROR - TIMEOUT - AGENT_TIMEOUT - UNKNOWN - PENDING - RUNNING webhookId: type: string requestProperties: $ref: '#/components/schemas/PrivateNetworkRequestPropertiesModel' responses: type: array items: $ref: '#/components/schemas/PrivateNetworkResponsePropertiesModel' noOfRetries: type: integer format: int32 timeout: type: integer format: int32 retryWaitTime: type: integer format: int32 createdAt: type: string format: date-time updatedAt: type: string format: date-time executedByClientID: type: string errorMessage: type: string teamId: type: string tags: type: object additionalProperties: type: array items: type: string PrivateNetworkInvocationModelResponse: type: object properties: invocations: type: array items: $ref: '#/components/schemas/PrivateNetworkInvocationModel' PrivateNetworkRequestPropertiesModel: type: object properties: uri: type: string format: url headers: type: object additionalProperties: type: string method: type: string enum: - GET - POST - PUT payload: type: string headersArn: type: string PrivateNetworkResponsePropertiesModel: type: object properties: invocationTime: type: string format: date-time httpStatusCode: type: integer format: int32 requestLatencyMs: type: integer format: int32 responseBody: type: string contentType: type: string responseHeaders: type: object additionalProperties: type: string PrivateNetworkInvocationRequest: type: object properties: invocationId: type: string teamId: type: string webhookId: type: string requestProperties: $ref: '#/components/schemas/PrivateNetworkRequestPropertiesModel' name: type: string noOfRetries: type: integer format: int32 timeout: type: integer format: int32 retryWaitTime: type: integer format: int32 PrivateNetworkPollResponse: required: - pendingInvocations type: object properties: pendingInvocations: type: array items: $ref: '#/components/schemas/PrivateNetworkInvocationRequest' TestPrivateNetworkEndpointConfigurationResponse: type: object properties: testEndpointResponse: $ref: '#/components/schemas/EndpointResponse' errorMessage: type: string TestPrivateNetworkEvaluationConfigurationResponse: type: object properties: testEndpointResponse: $ref: '#/components/schemas/EndpointResponse' testEvaluationResults: $ref: '#/components/schemas/EvaluationResults' errorMessage: type: string TestPrivateNetworkEvaluationConfigurationRequest: required: - evaluationConfiguration type: object properties: evaluationConfiguration: $ref: '#/components/schemas/EvaluationConfiguration' TeamProfile: type: object properties: version: type: integer format: int32 experience: type: string goal: type: array items: type: string databases: type: array items: type: string messaging: type: array items: type: string containers: type: array items: type: string cloudProvider: type: array items: type: string monitoring: type: array items: type: string completedByUsers: type: array items: type: string skippedByUsers: type: array items: type: string updatedBy: type: string logging: type: array items: type: string paging: type: array items: type: string incidents: type: array items: type: string updatedAt: type: string format: date-time createdAt: type: string format: date-time Field: type: object properties: field: type: string presets: type: array items: type: string multiple: type: boolean answer: type: array items: type: string prompt: $ref: '#/components/schemas/Prompt' Prompt: type: object properties: prefix: type: string suffix: type: string TeamProfilePrompt: type: object properties: updated_by: type: string updated_at: type: string format: date-time created_at: type: string format: date-time fields: type: array items: $ref: '#/components/schemas/Field' completedByUsers: type: array items: type: string skippedByUsers: type: array items: type: string CreateApiKeysRequest: required: - identifier type: object properties: identifier: maxLength: 100 minLength: 0 pattern: ^[a-zA-Z0-9 -]*$ type: string description: maxLength: 256 minLength: 0 type: string expiresAt: type: string format: date-time ApiKeyJson: type: object properties: identifier: type: string description: The identifier of this API key. description: type: string description: The description for the API key. created_at: type: string description: The date when this API key was created. format: date-time created_by: type: string description: The user who created this API key. expires_at: type: string description: The date when this API key expires. format: date-time revoked_by: type: string description: The user who revoked this API key. state: type: string description: The current state this API key is in. enum: - ACTIVE - IDLE - REVOKED - INVITED value: type: string description: The API keys value. The core piece that is used for authentication org_id: type: string description: The identifier of the team this API key is tied to. updated_at: type: string description: The date this API key was last updated. format: date-time last_used_at: type: string description: The date this API key was last used. format: date-time Zone: required: - cidrs - includeAllAgents type: object properties: zoneId: type: string description: The name for the zone cidrs: type: array description: Extra CIDRs to use when running zone-based network experiments items: type: string description: Extra CIDRs to use when running zone-based network experiments includeAllAgents: type: boolean description: Determine if Gremlin agents across company should be used description: A zone setting for zonal tests CreateCompanyRequest: required: - admin_email - code - company_name - team_name type: object properties: admin_email: type: string description: The email of the user creating the company code: type: string description: The invite code the user received in their email company_name: maxLength: 50 minLength: 1 type: string description: The name of the company to be created team_name: maxLength: 50 minLength: 1 type: string description: The name of the team to be created under the company allow_us_storage: type: boolean description: If the user's information is allowed to be stored in U.S. based servers admin_password: type: string description: The password for the user (optional if using SSO) description: Represents a request to create a new Gremlin company SamlAlias: type: object properties: companyId: type: string aliasId: type: string companyRoles: type: array items: type: string teamRoles: type: object additionalProperties: type: array items: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time CreateOrUpdateClaimAliasRequest: type: object properties: aliasId: type: string description: The unique identifier for the alias companyRoles: type: array description: The list of company-level roles for the alias items: type: string description: The list of company-level roles for the alias teamRoles: type: object additionalProperties: type: array description: A mapping of team IDs to the team-level roles for the alias items: type: string description: A mapping of team IDs to the team-level roles for the alias description: A mapping of team IDs to the team-level roles for the alias description: Represents a request to create or update a SAML claims alias on behalf of a user CreateUserRequest: required: - code - email type: object properties: email: type: string description: The unique identifier for the user (user's email) password: type: string description: The password for the user (optional if using SSO) code: type: string description: The user's invite code they received in their email allow_us_storage: type: boolean description: If the user's information is allowed to be stored in U.S. based servers description: Represents a request to create a new user within the company AssignedRole: type: object properties: roleKey: type: string roleName: type: string customRole: type: boolean OrderedSamlAlias: type: object properties: aliasId: type: string companyRoles: type: array items: $ref: '#/components/schemas/AssignedRole' teamRoles: type: array items: $ref: '#/components/schemas/TeamRoles' TeamRoles: type: object properties: teamId: type: string teamName: type: string roles: type: array items: $ref: '#/components/schemas/AssignedRole' SamlAliasIDs: type: object properties: aliasIds: type: array items: type: string AttributedBoolean: type: object properties: value: type: boolean updatedBy: type: string updatedAt: type: string format: date-time AuthMethodPrefs: type: object properties: allowSessionRenewal: type: boolean passwordEnabled: type: boolean mfaRequired: type: boolean googleEnabled: type: boolean oauthEnabled: type: boolean samlEnabled: type: boolean claimsRequired: type: boolean apiKeysEnabled: type: boolean apiKeysMaxSecondsToExpireEnabled: type: boolean apiKeysMaxSecondsToExpire: type: integer format: int32 sessionDuration: type: integer format: int32 samlAliasesEnabled: type: boolean CompanyEntitlementsResponse: type: object properties: companyId: type: string companyName: type: string end: type: string format: date-time createdAt: type: string format: date-time updatedAt: type: string format: date-time createdBy: type: string internal: type: boolean strict: type: boolean hasAgentBilling: type: boolean hasTrialBanners: type: boolean expired: type: boolean productFlags: type: object additionalProperties: type: boolean limits: type: object additionalProperties: type: integer format: int32 targetsTrackingPeriod: type: string enum: - Daily - Weekly - Monthly CompanyResponse: type: object properties: entitlements: $ref: '#/components/schemas/CompanyEntitlementsResponse' identifier: type: string name: type: string prefs: $ref: '#/components/schemas/Prefs' samlIdpPrefs: $ref: '#/components/schemas/SamlIdpPrefs' authMethodPrefs: $ref: '#/components/schemas/AuthMethodPrefs' internal: type: boolean createdBy: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time orgs: type: array items: $ref: '#/components/schemas/Info' alias: type: string defaultCompanyRole: type: string defaultTeamRole: type: string haltAllCoolDownEnd: type: string format: date-time oauthSettings: $ref: '#/components/schemas/OAuthSettings' Info: type: object properties: createdAt: type: string format: date-time identifier: type: string name: type: string companyId: type: string updatedAt: type: string format: date-time secretSetAt: type: string format: date-time secretSetBy: type: string certificateSetAt: type: string format: date-time certificateSetBy: type: string oldCertificateSetAt: type: string format: date-time oldCertificateSetBy: type: string certificateExpiresOn: type: string format: date-time oldCertificateExpiresOn: type: string format: date-time certificateExpirationImminent: type: boolean oldCertificateExpirationImminent: type: boolean production: type: boolean prefs: $ref: '#/components/schemas/Prefs' defaultTeamRole: type: string anyCertificateExpirationImminent: type: boolean MonitoringPrefs: type: object properties: optInWithAttribution: $ref: '#/components/schemas/AttributedBoolean' optIn: $ref: '#/components/schemas/AttributedBoolean' OAuthSettings: type: object properties: authorizationUri: type: string userInfoUri: type: string tokenUri: type: string clientId: type: string clientSecret: type: string scope: type: string enabled: type: boolean Prefs: type: object properties: autoAddUsers: type: boolean domain: type: string testRunRestrictionWindows: type: array items: $ref: '#/components/schemas/TestRunRestrictionWindow' description: Prefs for team SamlIdpPrefs: type: object properties: entityId: type: string url: type: string cert: type: string enabled: type: string forced: type: string claimsForced: type: string ScheduleWindow: required: - end - start type: object properties: start: pattern: ^([01]\d|2[0-3]):([0-5]\d)$ type: string description: Time in HH:mm format (24-hour) example: '14:30' end: pattern: ^([01]\d|2[0-3]):([0-5]\d)$ type: string description: Time in HH:mm format (24-hour) example: '14:30' TestRunRestrictionWindow: required: - dayOfWeek - windowsForDay type: object properties: dayOfWeek: type: string enum: - M - T - W - Th - F - S - Su windowsForDay: maxItems: 3 minItems: 0 type: array items: $ref: '#/components/schemas/ScheduleWindow' CompanyInviteResponse: type: object properties: link: type: string format: uri message: type: string InviteUserFromSelfSignupRequest: required: - companyName - email type: object properties: email: type: string firstName: maxLength: 50 minLength: 1 type: string lastName: maxLength: 50 minLength: 1 type: string companyName: maxLength: 50 minLength: 1 type: string description: Represents a request to create a new user from the self signup page GremlinUserPrincipal: type: object properties: key: $ref: '#/components/schemas/Key' provider: type: string email: type: string firstName: type: string lastName: type: string InviteUserRequest: required: - identifier type: object properties: identifier: type: string description: The unique identifier for the user (user's email) first_name: type: string description: The user's first name last_name: type: string description: The user's last name source_detail: type: string enum: - Onboarding user_principal: $ref: '#/components/schemas/GremlinUserPrincipal' description: Represents a request to invite a user to Gremlin. Key: type: object properties: hashKey: type: object sortKey: type: object SetRolesRequest: required: - roles type: object properties: roles: uniqueItems: true type: array items: type: string UpdateCompanyAuthMethodPrefsRequest: type: object properties: allowSessionRenewal: type: boolean description: If user sessions are allowed to be renewed. When set to `false`, users must login after their session expires. Default is `true` sessionDuration: type: integer description: If user session duration should be configured (in minutes). Default and max is `720`, min is `5`. If AllowSessionRenewal is set, this field is ignored format: int32 passwordEnabled: type: boolean description: If password logins should be enabled mfaRequired: type: boolean description: If MFA should be required for password logins googleEnabled: type: boolean description: If logins via Google should be enabled oauthEnabled: type: boolean description: If logins via OAuth should be enabled samlEnabled: type: boolean description: If logins via SAML should be enabled claimsRequired: type: boolean description: If SAML Claims should be required when logging in via SAML apiKeysEnabled: type: boolean description: If API keys should be enabled apiKeysMaxSecondsToExpireEnabled: type: boolean description: If API keys have a maximum lifespan apiKeysMaxSecondsToExpire: type: integer description: The maximum number of seconds an API key can be valid for format: int32 samlAliasesEnabled: type: boolean description: If SAML Claims Aliases should be enabled samlForced: type: boolean description: If logins via SAML should be required description: Represents a request to update the authentication method preferences for a company. When not passed, value of the pref is set to the Gremlin decided default value CompanyPatch: title: CompanyPatch.Input type: object properties: prefs: $ref: '#/components/schemas/PrefsPatch' defaultCompanyRole: type: string defaultTeamRole: type: string MonitoringPrefsPatch: type: object properties: optIn: type: boolean PrefsPatch: type: object properties: testRunRestrictionWindows: maxItems: 7 minItems: 0 type: array items: $ref: '#/components/schemas/TestRunRestrictionWindow' description: Prefs on team level UpdateOAuthSettingsRequest: required: - authorizationUri - clientId - clientSecret - tokenUri - userInfoUri type: object properties: authorizationUri: type: string description: OAuth providers authorization endpoint format: uri tokenUri: type: string description: OAuth providers token endpoint format: uri userInfoUri: type: string description: OAuth providers user info endpoint format: uri clientId: type: string description: The clientId created when registering Gremlin with your OAuth provider clientSecret: type: string description: The client secret created when registering Gremlin with your OAuth provider scope: type: string description: The scope to be used for the OAuth authorization request. (default is 'email') description: A request to update the OAuth settings for a company CompanyReliabilityReportResponse: type: object properties: summary: $ref: '#/components/schemas/ServicesSummary' start: type: string format: date end: type: string format: date services: type: array items: $ref: '#/components/schemas/ServiceReportResponse' ReportTrend: type: object properties: start: type: string format: date end: type: string format: date numOfDataPoints: type: integer format: int32 statsByDate: type: array items: $ref: '#/components/schemas/StatsByDate' RiskSummaryStats: type: object properties: total: type: integer format: int32 atRisk: type: integer format: int32 previousIntervalAtRisk: type: integer format: int32 evaluationState: type: string enum: - RISKS_NOT_SUPPORTED - NO_DEPLOYMENT_FOUND - EVALUATED - RISKS_NOT_INCLUDED RunSummaryServiceStats: type: object properties: runs: type: integer format: int32 previousIntervalRuns: type: integer format: int32 ServiceOwner: type: object properties: identifier: type: string ServiceReportResponse: type: object properties: serviceId: type: string serviceName: type: string lastModified: type: string format: date-time serviceOwner: $ref: '#/components/schemas/ServiceOwner' teamOwner: $ref: '#/components/schemas/TeamOwnerDetails' score: type: number format: double trendType: type: string enum: - Up - Down - NoChange delta: type: number format: double previousIntervalScore: type: number format: double inTopList: type: boolean reliabilityReportTrend: $ref: '#/components/schemas/ReportTrend' riskSummaryStats: $ref: '#/components/schemas/RiskSummaryStats' runSummaryStats: $ref: '#/components/schemas/RunSummaryServiceStats' targetingStrategy: $ref: '#/components/schemas/TargetingStrategy' multiSelectTags: type: object additionalProperties: type: array items: type: string numOfSpofs: type: integer format: int32 ServicesSummary: type: object properties: start: type: string format: date end: type: string format: date topN: type: integer format: int32 biggestChangers: type: array items: $ref: '#/components/schemas/ServiceReportResponse' StatsByDate: type: object properties: trackingDate: type: string format: date value: type: number format: double numOfServices: type: integer format: int32 score: type: number format: double TeamOwnerDetails: type: object properties: teamId: type: string teamName: type: string teamOwnerEmail: type: string teamOwnerName: type: string CompanyReliabilityReportServiceListResponse: type: object properties: topN: type: integer format: int32 start: type: string format: date end: type: string format: date services: type: array items: $ref: '#/components/schemas/ServiceReportResponse' CompanyReliabilityReportGroupedResponse: type: object properties: groupBy: type: string enum: - TEAM groupedServices: type: array items: $ref: '#/components/schemas/GroupedServiceResponse' GroupDetails: type: object properties: name: type: string id: type: string ownerDetails: $ref: '#/components/schemas/ServiceOwner' GroupedServiceResponse: type: object properties: groupDetails: $ref: '#/components/schemas/GroupDetails' avgScore: type: number format: double previousIntervalAvgScore: type: number format: double numOfServices: type: integer format: int32 atRiskTotal: type: integer format: int32 previousIntervalAtRiskTotal: type: integer format: int32 numOfSpofs: type: integer format: int32 reliabilityReportTrend: $ref: '#/components/schemas/ReportTrend' numOfRuns: type: integer format: int32 previousIntervalNumOfRuns: type: integer format: int32 RunSummaryStats: type: object properties: reliabilityTests: type: integer format: int32 previousIntervalReliabilityTests: type: integer format: int32 experiments: type: integer format: int32 previousIntervalExperiments: type: integer format: int32 scenarios: type: integer format: int32 previousIntervalScenarios: type: integer format: int32 failureFlags: type: integer format: int32 previousIntervalFailureFlags: type: integer format: int32 gameDays: type: integer format: int32 previousIntervalGameDays: type: integer format: int32 ScoreRiskTrend: type: object properties: reliabilityScoreTrend: $ref: '#/components/schemas/ReportTrend' detectedRisksTrend: $ref: '#/components/schemas/ReportTrend' reliabilityTestsRunTrend: $ref: '#/components/schemas/ReportTrend' runSummaryStats: $ref: '#/components/schemas/RunSummaryStats' PolicyEvaluation: type: object properties: policyId: type: string reliabilityTestId: type: string serviceId: type: string dependencyId: type: string dependencyName: type: string failureFlagName: type: string evaluationTime: type: integer format: int64 startTime: type: string format: date-time endTime: type: string format: date-time staleness: type: integer format: int64 result: type: string enum: - PASSED - FAILED - EXPIRED - NEVER_RUN order: type: integer format: int32 scenarioId: type: string runNumber: type: integer format: int64 name: type: string description: type: string passCriteria: type: string enum: - ALL_PASS - AT_LEAST_ONE_FAILED diagnosisAvailable: type: boolean triggerSource: type: string enum: - MANUAL - RUN_ALL - SCHEDULED - RECURRING_SCHEDULE triggeredBy: type: string TeamReliabilityCategorySummary: type: object properties: category: type: string enum: - OTHER - REDUNDANCY - SCALABILITY - DEPENDENCIES - RISKS - EXTRA_CREDIT rmTestScore: type: number format: double maxRMTestScore: type: number format: double score: type: number format: double previousIntervalScore: type: number format: double maxScore: type: number format: double rank: type: integer format: int32 TeamReliabilityReportResponse: type: object properties: rmTestScore: type: number format: double score: type: number format: double previousIntervalScore: type: number format: double maxScore: type: number format: double teamReliabilityCategorySummary: type: object additionalProperties: $ref: '#/components/schemas/TeamReliabilityCategorySummary' TeamReliabilityScoreReportResponse: type: object properties: teamId: type: string teamName: type: string teamScoreReports: type: array items: $ref: '#/components/schemas/TeamScoreReport' aggregatedReliabilityReport: $ref: '#/components/schemas/TeamReliabilityReportResponse' lastUpdatedAt: type: string format: date-time TeamScoreReport: type: object properties: serviceName: type: string serviceId: type: string reliabilityScore: type: number format: double previousIntervalScore: type: number format: double policyEvaluations: type: array items: $ref: '#/components/schemas/PolicyEvaluation' ServiceReliabilityReportTrend: type: object properties: serviceId: type: string reliabilityReportTrend: $ref: '#/components/schemas/ReportTrend' RiskEvaluationResponse: type: object properties: name: type: string id: type: string evaluatedAt: type: string format: date-time notes: type: string document: type: string isAtRisk: type: boolean TeamRiskReport: type: object properties: serviceName: type: string serviceId: type: string riskSummaryStats: $ref: '#/components/schemas/RiskSummaryStats' riskEvaluations: type: array items: $ref: '#/components/schemas/RiskEvaluationResponse' TeamRiskReportResponse: type: object properties: teamId: type: string teamName: type: string teamRiskReports: type: array items: $ref: '#/components/schemas/TeamRiskReport' PricingReport: type: object properties: companyId: type: string description: CompanyId for which the pricing report is generated startDate: type: string description: Start date for the pricing report endDate: type: string description: End date for the pricing report trackingPeriod: type: string description: Tracking period of targets for the pricing report which could be Daily, Weekly or Monthly enum: - Daily - Weekly - Monthly usageByTrackingPeriod: type: array description: Pricing usage over the duration requested which is tracked over days, weeks or months items: $ref: '#/components/schemas/PricingUsage' PricingUsage: type: object properties: start: type: string description: Start date for usage which could be the start of day, week or month end: type: string description: End date for usage which could be the end of day, week or month uniqueTargetsHost: type: integer description: Count of unique targets of type Host tracked in the day, week or month format: int32 uniqueTargetsContainer: type: integer description: Count of unique targets of type Container tracked in the day, week or month format: int32 uniqueTargetsApplication: type: integer description: Count of unique targets of type Application tracked in the day, week or month format: int32 maxActiveAgents: type: integer description: Maximum number of active agents installed at the same time over the tracking period format: int32 maxTargetableApplications: type: integer description: Maximum number of active agents installed at the same time over the tracking period format: int32 description: Pricing usage over the duration requested which is tracked over days, weeks or months GremlinMetrics: type: object properties: uniqueUsers: type: integer format: int32 uniqueActiveUsers: type: integer format: int32 attacksRun: type: integer format: int32 uniqueHostsAttacked: type: integer format: int32 uniqueTargetsHost: type: integer format: int32 uniqueTargetsContainer: type: integer format: int32 uniqueTargetsApplication: type: integer format: int32 reliabilityTestsRun: type: integer format: int32 failureFlagExperimentsRun: type: integer format: int32 infrastructureAgents: type: integer format: int32 failureFlagAgents: type: integer format: int32 PagedResponseTeamUsageReport: 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/TeamUsageReport' TeamUsageReport: type: object properties: companyId: type: string teamId: type: string teamName: type: string startDate: type: string endDate: type: string gremlinMetrics: $ref: '#/components/schemas/GremlinMetrics' ChannelSettings: type: object properties: enabled: type: boolean updatedBy: type: string updatedAt: type: string ScopeSettings: type: object properties: channels: type: object additionalProperties: $ref: '#/components/schemas/ChannelSettings' SubjectSettings: type: object properties: scopes: type: object additionalProperties: $ref: '#/components/schemas/ScopeSettings' TeamNotificationSettings: required: - subjects type: object properties: subjects: type: object additionalProperties: $ref: '#/components/schemas/SubjectSettings' ClientVersionRange: type: object properties: minimum: $ref: '#/components/schemas/SemanticVersion' maximum: $ref: '#/components/schemas/SemanticVersion' description: A Map representing the minimum and maximum client versions authenticated with this Team. TeamResponse: type: object properties: identifier: type: string description: The identifier of this Team. companyId: type: string description: The identifier of the company to which this Team belongs. name: type: string description: The name of this Team. state: type: string description: The state of this Team. clientVersions: type: object additionalProperties: $ref: '#/components/schemas/ClientVersionRange' description: A Map representing the minimum and maximum client versions authenticated with this Team. certificate: type: string description: The PEM encoded certificate associated with this Team. certificateSetAt: type: string description: The time of creation for the certificate credentials associated with this Team. format: date-time certificateSetBy: type: string description: The account that set the certificate credentials associated with this Team. secretSetAt: type: string description: The time of creation of the secret associated with this Team. format: date-time secretSetBy: type: string description: The account that set the secret associated with this Team. production: type: boolean description: Flag to determine if team is marked for production prefs: $ref: '#/components/schemas/Prefs' defaultTeamRole: type: string description: The default team role createdAt: type: string description: An ISO8601 timestamp representing the time at which this team was created format: date-time PagedResponseTeamResponse: 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/TeamResponse' UpdateTeamRequest: type: object properties: name: type: string description: The name for the team production: type: boolean description: Flag to determine if team is marked for production defaultTeamRole: type: string description: The default team role prefs: $ref: '#/components/schemas/PrefsPatch' description: A request to update an team AddUserRequest: required: - identifier type: object properties: identifier: type: string description: The unique identifier for the user (user's email) description: represents a request to add an existing user to a team UpdateUserInfoRequest: type: object properties: first_name: type: string last_name: type: string 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' ReliabilityTestResponse: type: object properties: accessType: type: string enum: - Global - Company - Team guid: type: string scenario: $ref: '#/components/schemas/ScenarioResponse' 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 ScenarioOverrides: type: object properties: zones: type: array items: type: string dns: type: string failureFlag: $ref: '#/components/schemas/Selector' 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 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 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' LargeScaleTestResponse: type: object properties: companyId: type: string identifier: type: string name: type: string state: type: string enum: - DRAFT - ACTIVE - COMPLETED reliabilityTestId: type: string reliabilityTestName: type: string estimatedDuration: type: integer format: int64 startDateTime: type: string format: date-time endDateTime: type: string format: date-time latestServiceRuns: type: array items: $ref: '#/components/schemas/ServiceRunDetails' statusChecks: type: array items: $ref: '#/components/schemas/StatusCheckNode' scenarioOverrides: $ref: '#/components/schemas/ScenarioOverrides' CreateOrUpdateLargeScaleTestRequest: title: CreateOrUpdateLargeScaleTestRequest.Input required: - name - serviceKeys - statusChecks type: object properties: identifier: type: string companyId: type: string name: type: string scenario: $ref: '#/components/schemas/TestSuiteScenario' reliabilityTestId: type: string scenarioOverrides: $ref: '#/components/schemas/ScenarioOverrides' statusChecks: type: array items: $ref: '#/components/schemas/StatusCheckInput' serviceKeys: type: array items: $ref: '#/components/schemas/TeamServiceKey' description: Create a request to create or update a disaster recovery test for a company ScenarioToPromote: required: - scenarioId - scenarioType type: object properties: scenarioId: type: string scenarioType: type: string enum: - RECOMMENDED - SHARED - GENERAL teamId: type: string StatusCheckInput: required: - statusCheck type: object properties: teamId: type: string statusCheck: $ref: '#/components/schemas/StatusCheckNode' TeamServiceKey: type: object properties: teamId: type: string serviceId: type: string TestSuiteScenario: required: - description - name - policyCategory - scenarioToPromote type: object properties: name: type: string description: type: string policyCategory: type: string enum: - OTHER - REDUNDANCY - SCALABILITY - DEPENDENCIES - RISKS - EXTRA_CREDIT scenarioToPromote: $ref: '#/components/schemas/ScenarioToPromote' GetLargeScaleTestsResponse: type: object properties: disasterRecoveryTests: type: array items: $ref: '#/components/schemas/LargeScaleTestResponse' RunScenarioTestResponse: type: object properties: runDetails: type: array items: $ref: '#/components/schemas/ScenarioRunDetails' errorsPerService: type: array items: $ref: '#/components/schemas/ServiceScenarioRunError' ScenarioRunDetails: type: object properties: teamId: type: string serviceId: type: string runNumber: type: integer format: int64 ServiceScenarioRunError: type: object properties: teamId: type: string serviceId: type: string errorType: type: string enum: - HALT_IN_PROGRESS - RUN_IN_PROGRESS - INELIGIBLE_SERVICE - HEALTH_CHECK_IN_ALARM errorMessage: type: string RunScenarioTestRequest: type: object properties: serviceId: type: string teamId: type: string AttackMetricsDisplayResponse: type: object properties: state: type: string enum: - DISABLED - PENDING - NO_DATA - PARTIAL - COMPLETE disabledReason: type: string range: $ref: '#/components/schemas/TimeRange' attackRange: $ref: '#/components/schemas/TimeRange' metricData: type: object additionalProperties: type: array items: $ref: '#/components/schemas/MetricPoint' infraCommandType: type: string enum: - CPU - IO - Memory - Disk - Thread_Bomb - Blackhole - DNS - Latency - Packet_Loss - Collect_Certs - Shutdown - Time_Travel - Process_Killer - Process_Exhaustion - GPU - Unknown chartTitle: type: string lines: type: array items: $ref: '#/components/schemas/YAxisLine' MetricPoint: type: object properties: timestamp: type: integer format: int64 value: type: number format: double TimeRange: type: object properties: start: type: integer format: int64 end: type: integer format: int64 YAxisLine: type: object properties: value: type: number format: double label: type: string TaskMetrics: type: object properties: taskId: type: string metrics: $ref: '#/components/schemas/AttackMetricsDisplayResponse' ReliabilityCategorySummary: type: object properties: category: type: string enum: - OTHER - REDUNDANCY - SCALABILITY - DEPENDENCIES - RISKS - EXTRA_CREDIT policyTarget: type: string enum: - SERVICE - SERVICE_DEPENDENCY policyStates: type: array items: $ref: '#/components/schemas/PolicyEvaluation' rank: type: integer format: int32 score: type: number format: double maxScore: type: number format: double ReliabilityReportResponse: type: object properties: reliability: type: object additionalProperties: $ref: '#/components/schemas/ReliabilityCategorySummary' testSuiteId: type: string score: type: number format: double previousIntervalScore: type: number format: double categoryScores: type: object additionalProperties: $ref: '#/components/schemas/ScoreSummaryResponse' ScoreSummaryResponse: type: object properties: category: type: string enum: - OTHER - REDUNDANCY - SCALABILITY - DEPENDENCIES - RISKS - EXTRA_CREDIT maxScore: type: number format: double score: type: number format: double previousIntervalScore: type: number format: double rank: type: integer format: int32 ServiceResponse: type: object properties: serviceId: type: string serviceName: type: string score: type: number format: double TestPolicyResponse: type: object properties: name: type: string description: type: string policyCategory: type: string enum: - OTHER - REDUNDANCY - SCALABILITY - DEPENDENCIES - RISKS - EXTRA_CREDIT policyTarget: type: string enum: - SERVICE - SERVICE_DEPENDENCY reliabilityTestId: type: string TestResponse: type: object properties: testPolicy: $ref: '#/components/schemas/TestPolicyResponse' sourceScenarioId: type: string sourceScenarioType: type: string enum: - RECOMMENDED - SHARED - GENERAL sourceScenarioEditCounter: type: integer format: int32 TestSuiteResponse: type: object properties: identifier: type: string name: type: string description: type: string testResponses: type: array items: $ref: '#/components/schemas/TestResponse' targetTeamIds: type: array items: type: string excludedRiskIds: type: array items: type: string default: type: boolean isDefault: type: boolean official: type: boolean isOfficial: type: boolean CreateTestSuiteRequest: title: CreateTestSuiteRequest.Input required: - name - scenarios type: object properties: name: type: string targetTeamIds: type: array items: type: string scenarios: type: array items: $ref: '#/components/schemas/TestSuiteScenario' excludedRiskIds: type: array items: type: string description: Create a request to create a test suite for a team RiskResponse: type: object properties: name: type: string id: type: string mappingExpression: type: string evaluationExpression: type: string document: type: string queryType: type: string enum: - KUBERNETES_OBJECT - AGENT - AWS_LOAD_BALANCER - AWS_AUTO_SCALING_GROUP disabled: type: boolean ScenarioInfo: required: - description - name - policyCategory - scenarioId - scenarioType type: object properties: scenarioId: type: string name: type: string description: type: string policyCategory: type: string enum: - OTHER - REDUNDANCY - SCALABILITY - DEPENDENCIES - RISKS - EXTRA_CREDIT scenarioType: type: string enum: - RECOMMENDED - SHARED - GENERAL reliabilityTestId: type: string teamId: type: string UpdateTestSuiteRequest: title: UpdateTestSuiteRequest.Input type: object properties: name: type: string targetTeamIds: type: array items: type: string scenarios: type: array items: $ref: '#/components/schemas/ScenarioInfo' excludedRiskIds: type: array items: type: string description: Update a test suite for a team 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' 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' ReliabilityResponse: type: object properties: reliabilityTestResponses: type: array items: $ref: '#/components/schemas/ReliabilityTestResponse' 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' NotificationElement: type: object properties: reliabilityTestId: type: string dependencyId: type: string runNumber: type: integer format: int64 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' 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 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' 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 GraphPreviewResponse: type: object properties: metadata: type: object additionalProperties: type: array items: type: string graph: $ref: '#/components/schemas/ScenarioGraph' 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) CreateScenarioRequest: title: Scenario.Input type: object properties: name: type: string description: type: string hypothesis: type: string passCriteria: type: string enum: - ALL_PASS - AT_LEAST_ONE_FAILED graph: $ref: '#/components/schemas/ScenarioGraph' recommendedScenarioId: type: string createdFromType: type: string enum: - Recommended - Shared createdFromId: type: string PagedResponseScenarioRunResponse: 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/ScenarioRunResponse' CompletedScenarioRunResponse: type: object properties: scenarioId: type: string scenarioName: type: string runNumber: type: integer format: int64 targets: type: array items: $ref: '#/components/schemas/ServiceTarget' triggerSource: type: string enum: - MANUAL - RUN_ALL - SCHEDULED - RECURRING_SCHEDULE triggeredBy: type: string status: type: string enum: - Passed - Failed - Unsure createdAt: type: string format: date-time endTime: type: string format: date-time failureFlagTargets: type: array items: $ref: '#/components/schemas/FailureFlagTarget' passCriteria: type: string enum: - ALL_PASS - AT_LEAST_ONE_FAILED FailureFlagTarget: type: object properties: app: $ref: '#/components/schemas/Selector' flag: $ref: '#/components/schemas/Selector' appInstanceSampling: $ref: '#/components/schemas/TargetSampling' resolvedAppInstanceIds: type: array items: type: string PagedResponseCompletedScenarioRunResponse: 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/CompletedScenarioRunResponse' ScenarioScheduleResponse: type: object properties: orgId: type: string guid: type: string scenarioId: type: string scenarioName: type: string trigger: type: object properties: windowType: type: string enum: - Once - Random type: type: string templateId: type: string optionalTemplateId: type: string empty: type: boolean additionalProperties: type: object createdBy: type: string createSource: type: string enum: - WebApp - Api - Scheduled - Manual - Spinnaker - Concord - GremlinFeeder - GremlinSdkPython - Scenario - Chao - K8sBackend - Website - Neotys - IntegrationClient - Validation triggerSource: type: string enum: - MANUAL - RUN_ALL - SCHEDULED - RECURRING_SCHEDULE enabled: type: boolean createdAt: type: string format: date-time updatedAt: type: string format: date-time nextTriggerTime: type: string format: date-time targets: type: array items: $ref: '#/components/schemas/ServiceTarget' failureFlagTargets: type: array items: $ref: '#/components/schemas/FailureFlagTarget' Trigger: required: - dayOfWeek - scheduleWindows type: object properties: dayOfWeek: type: string enum: - M - T - W - Th - F - S - Su scheduleWindows: maxItems: 1 minItems: 0 type: array items: $ref: '#/components/schemas/ScheduleWindow' SharedScenarioResponse: type: object properties: sharedByTeam: type: string guid: type: string name: type: string description: type: string hypothesis: type: string graph: $ref: '#/components/schemas/ScenarioGraph' sharedBy: type: string sharedFromScenario: type: string createSource: type: string createdAt: type: string updatedAt: type: string recommendedScenarioId: type: string multiSelectTags: type: object additionalProperties: type: array items: type: string editCounter: type: integer format: int32 passCriteria: type: string enum: - ALL_PASS - AT_LEAST_ONE_FAILED RunScenarioRequest: title: ScenarioRun.Input type: object properties: hypothesis: type: string UpdateScenarioRequest: title: UpdateScenario.Input type: object properties: name: type: string description: type: string hypothesis: type: string passCriteria: type: string enum: - ALL_PASS - AT_LEAST_ONE_FAILED graph: $ref: '#/components/schemas/ScenarioGraph' StatusCheckRequest: required: - endpointConfiguration - evaluationConfiguration - name type: object properties: isContinuous: type: boolean isPrivateNetwork: type: boolean name: type: string description: The name of the status check to be created/updated description: type: string description: The description of the status check to be created/updated thirdPartyPresets: type: string readOnly: true endpointConfiguration: $ref: '#/components/schemas/EndpointConfiguration' rawEndpointConfiguration: $ref: '#/components/schemas/EndpointConfiguration' evaluationConfiguration: $ref: '#/components/schemas/EvaluationConfiguration' teamExternalIntegration: $ref: '#/components/schemas/TeamExternalIntegrationReference' pollingIntervalSeconds: type: integer description: The frequency to poll in seconds, 15s to 60s inclusive format: int32 category: type: string description: Status Check category can be one of ERRORS, LATENCY, REQUESTS OR UNKNOWN. The default category will be UNKNOWN. enum: - ERRORS - LATENCY - REQUESTS - UNKNOWN multiSelectTags: type: object additionalProperties: type: array description: The tags associated with this status check items: type: string description: The tags associated with this status check description: The tags associated with this status check StatusCheck: type: object properties: teamId: type: string description: The identifier of the team to which this status check belongs identifier: type: string description: The identifier of this status check isContinuous: type: boolean description: Is this status check continuous isPrivateNetwork: type: boolean description: Is this status check executed in a private network endpointConfiguration: $ref: '#/components/schemas/EndpointConfiguration' evaluationConfiguration: $ref: '#/components/schemas/EvaluationConfiguration' rawEndpointConfiguration: $ref: '#/components/schemas/EndpointConfiguration' name: type: string description: The name of this status check description: type: string description: The description of this status check thirdPartyPresets: type: string readOnly: true createdBy: type: string description: The identifier of the user that created this status check createdAt: type: string description: The time of creation of this status check format: date-time updatedBy: type: string description: The time of the most recent update for this status check (if applicable) updatedAt: type: string description: The identifier of the user that most recently updated this status check (if applicable) format: date-time teamExternalIntegration: $ref: '#/components/schemas/TeamExternalIntegrationReference' pollingIntervalSeconds: type: integer description: The frequency to poll in seconds, 15s to 60s inclusive format: int32 requestParams: type: object additionalProperties: type: string description: The request parameters for this status check description: The request parameters for this status check multiSelectTags: type: object additionalProperties: type: array description: The tags associated with this status check items: type: string description: The tags associated with this status check description: The tags associated with this status check TestEndpointConfigurationResponse: type: object properties: testEndpointResponse: $ref: '#/components/schemas/EndpointResponse' TestEndpointConfigurationRequest: required: - endpointConfiguration type: object properties: endpointConfiguration: $ref: '#/components/schemas/EndpointConfiguration' teamExternalIntegration: $ref: '#/components/schemas/TeamExternalIntegrationReference' webhookId: type: string 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 TestEvaluationConfigurationResponse: type: object properties: testEndpointResponse: $ref: '#/components/schemas/EndpointResponse' testEvaluationResults: $ref: '#/components/schemas/EvaluationResults' TestEvaluationConfigurationRequest: required: - evaluationConfiguration type: object properties: endpointConfiguration: $ref: '#/components/schemas/EndpointConfiguration' evaluationConfiguration: $ref: '#/components/schemas/EvaluationConfiguration' testEndpointResponse: $ref: '#/components/schemas/EndpointResponse' teamExternalIntegration: $ref: '#/components/schemas/TeamExternalIntegrationReference' ScheduleResponse: type: object properties: orgId: type: string guid: type: string trigger: type: object properties: windowType: type: string enum: - Once - Random type: type: string templateId: type: string optionalTemplateId: type: string empty: type: boolean additionalProperties: type: object target: type: object properties: multiSelectTags: type: object additionalProperties: type: array items: type: string strategyInput: $ref: '#/components/schemas/TargetStrategy' multiSelectLabels: type: object additionalProperties: type: array items: type: string type: type: string templateId: type: string optionalTemplateId: type: string empty: type: boolean tags: type: object additionalProperties: type: string writeOnly: true additionalProperties: type: object command: type: object properties: providers: type: array items: type: string args: type: array items: type: string trafficImpactMapping: $ref: '#/components/schemas/TaskTrafficImpactMappingInput' trafficImpactFromWithSelectTags: type: object additionalProperties: type: array items: type: string writeOnly: true trafficImpactWithDependencyIds: type: array writeOnly: true items: type: string type: type: string templateId: type: string optionalTemplateId: type: string empty: type: boolean additionalProperties: type: object createdBy: type: string taskIds: type: array items: type: string createSource: type: string enum: - WebApp - Api - Scheduled - Manual - Spinnaker - Concord - GremlinFeeder - GremlinSdkPython - Scenario - Chao - K8sBackend - Website - Neotys - IntegrationClient - Validation triggerSource: type: string enum: - MANUAL - RUN_ALL - SCHEDULED - RECURRING_SCHEDULE createdAt: type: string format: date-time updatedAt: type: string format: date-time attackConfiguration: $ref: '#/components/schemas/AttackConfiguration' nextTriggerTime: type: string format: date-time Input: type: object properties: command: type: object properties: providers: type: array items: type: string args: type: array items: type: string trafficImpactMapping: $ref: '#/components/schemas/TaskTrafficImpactMappingInput' trafficImpactFromWithSelectTags: type: object additionalProperties: type: array items: type: string writeOnly: true trafficImpactWithDependencyIds: type: array writeOnly: true items: type: string type: type: string templateId: type: string optionalTemplateId: type: string empty: type: boolean additionalProperties: type: object target: type: object properties: multiSelectTags: type: object additionalProperties: type: array items: type: string strategyInput: $ref: '#/components/schemas/TargetStrategy' multiSelectLabels: type: object additionalProperties: type: array items: type: string type: type: string templateId: type: string optionalTemplateId: type: string empty: type: boolean tags: type: object additionalProperties: type: string writeOnly: true additionalProperties: type: object trigger: type: object properties: windowType: type: string enum: - Once - Random type: type: string templateId: type: string optionalTemplateId: type: string empty: type: boolean additionalProperties: type: object attackConfiguration: $ref: '#/components/schemas/AttackConfiguration' Chronology: type: object properties: zone: $ref: '#/components/schemas/DateTimeZone' DateTimeZone: type: object properties: id: type: string fixed: type: boolean Interval: type: object properties: chronology: $ref: '#/components/schemas/Chronology' end: type: string format: date-time start: type: string format: date-time startMillis: type: integer format: int64 endMillis: type: integer format: int64 afterNow: type: boolean beforeNow: type: boolean ScenarioSchedule: type: object properties: orgId: type: string guid: type: string scenarioId: type: string scenarioName: type: string targets: type: array items: $ref: '#/components/schemas/ServiceTarget' failureFlagTargets: type: array items: $ref: '#/components/schemas/FailureFlagTarget' trigger: type: object properties: windowType: type: string enum: - Once - Random type: type: string templateId: type: string optionalTemplateId: type: string empty: type: boolean additionalProperties: type: object createSource: type: string enum: - WebApp - Api - Scheduled - Manual - Spinnaker - Concord - GremlinFeeder - GremlinSdkPython - Scenario - Chao - K8sBackend - Website - Neotys - IntegrationClient - Validation createdBy: type: string enabled: type: boolean nextWindowTriggerTimes: type: object additionalProperties: type: string nextTriggerTime: type: string format: date-time lastScenarioRun: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time companyId: type: string triggerSource: type: string enum: - MANUAL - RUN_ALL - SCHEDULED - RECURRING_SCHEDULE serviceIds: type: array items: type: string window: $ref: '#/components/schemas/Window' nextWindowTriggerTimesAfterConverting: type: object additionalProperties: type: string writeOnly: true triggerTimesLeft: type: array writeOnly: true items: type: integer format: int32 Window: type: object properties: type: type: string enum: - Once - Random triggerTimesLeft: type: array items: type: integer format: int32 end: type: string format: date-time start: type: string format: date-time interval: $ref: '#/components/schemas/Interval' maxRunsPerWindow: type: integer format: int32 CreateScenarioScheduleRequest: title: ScenarioSchedule.Input type: object properties: trigger: type: object properties: windowType: type: string enum: - Once - Random type: type: string templateId: type: string optionalTemplateId: type: string empty: type: boolean additionalProperties: type: object enabled: type: boolean scenarioId: type: string PagedResponseScheduleResponse: 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/ScheduleResponse' PagedResponseScenarioScheduleResponse: 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/ScenarioScheduleResponse' PagedResponseServiceScheduleResponse: 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/ServiceScheduleResponse' ServiceScheduleResponse: type: object properties: teamId: type: string serviceId: type: string serviceName: type: string nextReliabilityTestId: type: string nextReliabilityTestName: type: string nextReliabilityDependencyId: type: string nextReliabilityDependencyName: type: string nextFailureFlagName: type: string nextTestTriggerSource: type: string enum: - MANUAL - RUN_ALL - SCHEDULED - RECURRING_SCHEDULE nextTestTriggeredBy: type: string nextTriggerTime: type: string format: date-time UpdateScenarioScheduleRequest: type: object properties: trigger: type: object properties: windowType: type: string enum: - Once - Random type: type: string templateId: type: string optionalTemplateId: type: string empty: type: boolean additionalProperties: type: object enabled: type: boolean Graph: type: object properties: start: type: string format: date-time end: type: string format: date-time numOfDataPoints: type: integer format: int32 statsByDate: type: array items: $ref: '#/components/schemas/StatsByDateTime' MetricResponse: type: object properties: awsResource: type: string graphs: type: object additionalProperties: $ref: '#/components/schemas/Graph' StatsByDateTime: type: object properties: trackingDate: type: string format: date-time value: type: number format: double ProvidersResponse: type: object properties: providersToServices: type: object additionalProperties: type: array items: type: string ServiceListResponse: type: object properties: supportedServices: type: array items: type: string providerName: type: string DependencyResponse: type: object properties: serviceId: type: string guid: type: string name: type: string description: type: string ignored: type: boolean characteristics: type: object additionalProperties: type: string teamId: type: string discoveredPorts: type: array items: type: integer format: int32 spofAudit: $ref: '#/components/schemas/SpofAudit' createdBy: type: string updatedBy: type: string updatedAt: type: string format: date-time createdAt: type: string format: date-time lastSeenAt: type: string format: date-time isSpof: type: boolean SpofAudit: type: object properties: markedAsSpofOn: type: string format: date-time markedAsSpofBy: type: string DefineDependencyRequest: required: - endpoints - name type: object properties: endpoints: type: array items: $ref: '#/components/schemas/DependencyEndpoint' name: maxLength: 253 minLength: 1 type: string discoveredDependencyId: type: string isSpof: type: boolean description: Boolean to denote if a dependency is a single point of failure DependencyEndpoint: type: object properties: address: type: string port: type: string PagedResponseDependencyResponse: 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/DependencyResponse' UpdateDependencyRequest: type: object properties: name: maxLength: 253 minLength: 1 type: string description: Updated name of dependency isSpof: type: boolean description: Boolean to denote if a dependency is a single point of failure RunningFaultInjection: type: object properties: link: type: string name: type: string orgId: type: string serviceId: type: string startTime: type: string format: date-time triggerSource: type: string enum: - MANUAL - RUN_ALL - SCHEDULED - RECURRING_SCHEDULE triggeredBy: type: string type: type: string enum: - RELIABILITY_TEST - SCENARIO - EXPERIMENT - FAILURE_FLAG runNumber: type: integer format: int64 scenarioId: type: string stageInfo: type: object additionalProperties: type: object dependencyId: type: string dependencyName: type: string failureFlagName: type: string isDependencySpof: type: boolean run: $ref: '#/components/schemas/ScenarioRunResponse' reliabilityTestId: type: string guid: type: string stage: type: string enum: - InvalidArgument - TargetNotFound - Successful - UserHalted - ClientAborted - LostCommunication - InitializationFailed - TeardownFailed - HaltFailed - Failed - Pending - Distributed - Initializing - HaltDistributed - InterruptTriggered - RollbackTriggered - RollbackStarted - Running - TearingDown - Halt k8sAttackId: type: string RunningFaultInjectionResponse: type: object properties: runningFaultInjections: type: array items: $ref: '#/components/schemas/RunningFaultInjection' ApplicationSelector: required: - applicationName type: object properties: applicationName: type: string AwsTarget: type: object properties: arn: type: string name: type: string resourceType: type: string enum: - LOAD_BALANCER - TARGET_GROUP - AUTO_SCALING_GROUP tags: type: object additionalProperties: type: string dnsName: type: string region: type: string suggested: type: boolean DefaultJiraIssueFields: required: - assignee - issuetype - priority - project type: object properties: summary: type: string description: type: string issuetype: type: string assignee: type: string priority: type: string project: type: string labels: type: array items: type: string LoadGenerator: type: object properties: identifier: type: string name: type: string webhookStartLoadTriggerId: type: string webhookStatusCheckId: type: string webhookStopLoadTriggerId: type: string active: type: boolean loadGeneratorWebhooks: type: array items: type: string ScheduleSettings: type: object properties: enabled: type: boolean scheduleType: type: string enum: - OnlyOnce - Random triggerType: type: string enum: - Passed - RunOnce - Always triggers: type: array items: $ref: '#/components/schemas/Trigger' TestEligibleToRun: type: object properties: reliabilityTestId: type: string dependencyId: type: string failureFlagName: type: string status: type: string enum: - Passed - RunOnce - Always UserDefinedServiceResponse: type: object properties: teamId: type: string serviceId: type: string targetingStrategy: $ref: '#/components/schemas/TargetingStrategy' applicationSelector: $ref: '#/components/schemas/ApplicationSelector' processId: type: string processName: type: string name: type: string description: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time modifiedDate: type: string format: date-time statusCheckIds: type: array items: type: string tags: type: object additionalProperties: type: string multiSelectTags: type: object additionalProperties: type: array items: type: string serviceOwner: $ref: '#/components/schemas/ServiceOwner' scheduleSettings: $ref: '#/components/schemas/ScheduleSettings' schedulableTests: type: array items: $ref: '#/components/schemas/TestEligibleToRun' autoCreatingJiraTicketsEnabled: type: boolean defaultJiraIssueFields: $ref: '#/components/schemas/DefaultJiraIssueFields' jiraUserId: type: string loadGenerators: type: array items: $ref: '#/components/schemas/LoadGenerator' riskSummaryStats: $ref: '#/components/schemas/RiskSummaryStats' awsTargets: type: array items: $ref: '#/components/schemas/AwsTarget' teamOwningProcess: type: string cachedScore: type: number format: double intelligentHealthCheckTargetIds: type: array items: type: string eligibleForAWSIntelligentHealthCheck: type: boolean eligibleForAzureIntelligentHealthCheck: type: boolean eligibleForGCPIntelligentHealthCheck: type: boolean eligibleForFFProxyIntelligentHealthCheck: type: boolean enabledGremlinAwsStatusCheck: type: boolean eligibleForGremlinAwsStatusCheck: type: boolean createdFromOnboarding: type: boolean BulkUpdateRequest: required: - serviceIds - statusCheckIdsToAttach type: object properties: serviceIds: maxItems: 2147483647 minItems: 1 type: array items: type: string statusCheckIdsToAttach: maxItems: 2147483647 minItems: 1 type: array items: type: string BulkCreateServicesFromLoadBalancersRequest: type: object properties: serviceFromLoadBalancerRequests: type: array items: $ref: '#/components/schemas/ServiceFromLoadBalancerRequest' accountId: type: string ServiceFromLoadBalancerRequest: required: - arn - name - targetingStrategy type: object properties: arn: type: string name: type: string targetingStrategy: $ref: '#/components/schemas/TargetingStrategy' BulkDeleteRequest: required: - serviceIds type: object properties: serviceIds: maxItems: 2147483647 minItems: 1 type: array items: type: string ServiceReadinessClientsResponse: type: object properties: clientIds: uniqueItems: true type: array items: type: string ServiceReadinessAgentsFromPodUIDsRequest: type: object properties: owningTeamId: type: string podUIDs: maxItems: 2147483647 minItems: 1 type: array items: type: string StartBaselineRequest: title: StartBaselineRequest type: object properties: tests: type: array items: type: string description: Represents a request to run all tests UserDefinedServiceRequest: required: - name type: object properties: name: type: string description: type: string targetingStrategy: $ref: '#/components/schemas/TargetingStrategy' applicationSelector: $ref: '#/components/schemas/ApplicationSelector' statusCheckIds: type: array items: type: string scheduleSettings: $ref: '#/components/schemas/ScheduleSettings' tags: type: object additionalProperties: type: string multiSelectTags: type: object additionalProperties: type: array items: type: string serviceOwner: $ref: '#/components/schemas/ServiceOwner' startBaselineRequest: $ref: '#/components/schemas/StartBaselineRequest' awsTargetsArn: type: array items: type: string intelligentHealthCheckTargetIds: type: array items: type: string enabledGremlinAwsStatusCheck: type: boolean originatingScenarioId: type: string PagedResponseUserDefinedServiceResponse: 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/UserDefinedServiceResponse' DetailedServiceRiskSummaryResponse: type: object properties: serviceId: type: string evaluations: type: array items: $ref: '#/components/schemas/RiskEvaluationResponse' lastEvaluatedAt: type: string format: date-time ServiceCreationReadinessForOwnedAndSharedAssetsResponse: type: object properties: hasProcesses: type: boolean processCollectionOn: type: boolean sharedAssetsReadiness: type: object additionalProperties: $ref: '#/components/schemas/ServiceCreationReadinessResponse' ServiceCreationReadinessResponse: type: object properties: hasProcesses: type: boolean processCollectionOn: type: boolean AwsHealthCheckDefinition: type: object properties: resultId: type: string evaluationQuery: type: string evaluationComparator: type: string enum: - EQU - EQUALS - NEQ - NOT_EQUALS - LES - LESS_THAN - LEQ - LESS_THAN_OR_EQUAL_TO - GRT - GREATER_THAN - GEQ - GREATER_THAN_OR_EQUAL_TO metricDataQueries: type: array items: $ref: '#/components/schemas/MetricDataQuery' thresholdStrategy: $ref: '#/components/schemas/ThresholdStrategy' CategoryAudit: type: object properties: categorySetOn: type: string format: date-time categorySetBy: type: string GremlinAwsStatusCheckMetadata: type: object properties: identifier: type: string name: type: string description: type: string definition: $ref: '#/components/schemas/AwsHealthCheckDefinition' enabled: type: boolean category: type: string enum: - ERRORS - LATENCY - REQUESTS - UNKNOWN LnStdDevThresholdStrategy: type: object allOf: - $ref: '#/components/schemas/ThresholdStrategy' - type: object properties: n: type: integer format: int32 min: type: number format: double max: type: number format: double LoadBalancerState: type: object properties: accountId: type: string name: type: string arn: type: string state: type: string enum: - ACTIVE - IDLE - DISAPPEARED MetricDataQuery: type: object ServiceStatusCheck: type: object properties: id: type: string integration: $ref: '#/components/schemas/TeamExternalIntegrationReference' name: type: string evaluationConfiguration: $ref: '#/components/schemas/EvaluationConfiguration' isContinuous: type: boolean isAutogenerated: type: boolean description: type: string autoGeneratedFromIdentifier: type: string category: type: string enum: - ERRORS - LATENCY - REQUESTS - UNKNOWN categoryAudit: $ref: '#/components/schemas/CategoryAudit' ServiceStatusCheckResponse: type: object properties: serviceStatusChecks: type: array items: $ref: '#/components/schemas/ServiceStatusCheck' autoGremlinAwsStatusChecks: type: array items: $ref: '#/components/schemas/GremlinAwsStatusCheckMetadata' loadBalancerStates: type: array items: $ref: '#/components/schemas/LoadBalancerState' StdDevThresholdStrategy: type: object allOf: - $ref: '#/components/schemas/ThresholdStrategy' - type: object properties: n: type: integer format: int32 min: type: number format: double max: type: number format: double ThresholdStrategy: required: - type type: object properties: type: type: string discriminator: propertyName: type TestSeriesRunResponse: type: object properties: teamId: type: string serviceId: type: string startTime: type: string format: date-time pauseUntil: type: string format: date-time pauseReason: type: string tests: type: array items: type: string currentTestIndex: type: integer format: int64 createdBy: type: string state: type: string enum: - PENDING - ACTIVE - FINISHED - HALTED - FAILED ServiceUpdateRequest: type: object properties: name: maxLength: 64 minLength: 0 type: string description: maxLength: 1024 minLength: 0 type: string statusCheckIds: type: array items: type: string scheduleSettings: $ref: '#/components/schemas/ScheduleSettings' autoCreatingJiraTicketsEnabled: type: boolean defaultJiraIssueFields: $ref: '#/components/schemas/DefaultJiraIssueFields' loadGenerators: type: array items: $ref: '#/components/schemas/LoadGenerator' tags: type: object additionalProperties: type: string multiSelectTags: type: object additionalProperties: type: array items: type: string awsTargetsArn: type: array items: type: string serviceOwner: $ref: '#/components/schemas/ServiceOwner' intelligentHealthCheckTargetIds: type: array items: type: string enabledGremlinAwsStatusCheck: type: boolean SharedAsset: type: object properties: companyId: type: string owningTeamId: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time approver: type: string requester: type: string assetName: type: string currentStatus: type: string enum: - REQUESTED - APPROVED - DENIED - REVOKED - DELETED assetId: type: string sharedTeam: type: string namespace: type: string requestId: type: string SharedAssetUpdate: type: object properties: assetToRequestMap: type: object additionalProperties: type: array items: $ref: '#/components/schemas/SharedAsset' UpdateAllRequests: required: - requestIds type: object properties: requestIds: type: array items: type: string AvailableClusterResponse: type: object properties: assetId: type: string clusterName: type: string owningTeamId: type: string availableNamespaces: type: array items: type: string currentlySharedNamespaces: type: array items: type: string semanticVersion: $ref: '#/components/schemas/SemanticVersion' isOutdated: type: boolean lastAttacked: type: string format: date-time owningTeamName: type: string requests: type: array items: $ref: '#/components/schemas/MyRequest' MyClusterResponse: type: object properties: assetId: type: string clusterName: type: string owningTeamId: type: string availableNamespaces: type: array items: type: string currentlySharedNamespaces: type: array items: type: string semanticVersion: $ref: '#/components/schemas/SemanticVersion' isOutdated: type: boolean lastAttacked: type: string format: date-time requests: type: array items: $ref: '#/components/schemas/TheirRequest' MyRequest: type: object properties: requestId: type: string namespace: type: string currentStatus: type: string enum: - REQUESTED - APPROVED - DENIED - REVOKED - DELETED requester: type: string approver: type: string SharableAssetsWithRequestsResponse: type: object properties: availableClusters: type: array items: $ref: '#/components/schemas/AvailableClusterResponse' myClusters: type: array items: $ref: '#/components/schemas/MyClusterResponse' TheirRequest: type: object properties: id: type: string teamId: type: string teamName: type: string namespace: type: string currentStatus: type: string enum: - REQUESTED - APPROVED - DENIED - REVOKED - DELETED requester: type: string approver: type: string OutstandingRequests: type: object properties: assetToRequestMap: type: object additionalProperties: type: array items: $ref: '#/components/schemas/SharedAsset' idToTeamMapping: type: object additionalProperties: $ref: '#/components/schemas/SharedTeam' SharedTeam: type: object properties: identifier: type: string name: type: string usersCount: type: integer format: int64 AccessRequest: type: object properties: owningTeamId: type: string assetId: type: string namespace: type: string teamToShareWith: type: string NewRequestRequest: required: - newRequests type: object properties: newRequests: type: array items: $ref: '#/components/schemas/AccessRequest' 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 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 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 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 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