name: Gremlin Capabilities description: Capabilities catalog for the Gremlin Failure-as-a-Service chaos engineering platform API. apiVersion: '1.0' baseURL: https://api.gremlin.com/v1 capabilities: - name: Notification Integrations operationCount: 4 operations: - method: GET path: /integrations/{type} summary: Get the integration for your company that is identified by the supplied type - method: PUT path: /integrations/{type} summary: Puts the integration identified by the supplied type on your company - method: DELETE path: /integrations/{type} summary: Idempotently deletes the integration associated with your company, identified by the supplied type - method: GET path: /integrations summary: List all integrations associated with your company - name: agents operationCount: 2 operations: - method: GET path: /agents/summary summary: Aggregate summary of infrastructure and failure flag agents - method: GET path: /agents summary: Paginated list of infrastructure and failure flag agents - name: apikeys operationCount: 7 operations: - method: PUT path: /apikeys/{identifier}/activate summary: Un-Revoke an existing API Key - method: GET path: /apikeys summary: List all API Keys - method: POST path: /apikeys summary: Create a new API Key - method: PUT path: /apikeys/{identifier}/expiration summary: Set a new expiration on key - method: GET path: /apikeys/active summary: List active API Keys - method: GET path: /apikeys/all-for-company summary: List all API Keys for company - method: DELETE path: /apikeys/{identifier} summary: Revoke an existing API Key - name: attacks operationCount: 14 operations: - method: GET path: /attacks/active summary: List all active attacks. - method: GET path: /attacks/active/paged summary: Return a page of active ad-hoc experiments. - method: PUT path: /attacks/{guid}/annotations summary: Add annotations to an attack - method: GET path: /attacks summary: List all attacks. - method: POST path: /attacks summary: Create a new attack. - method: DELETE path: /attacks summary: Idempotently halt all active attacks - method: GET path: /attacks/range summary: List all attacks in a given time range (defaults to all attacks up to now) - method: GET path: /attacks/completed summary: List all completed attacks. - method: GET path: /attacks/completed/paged summary: Return a page of completed ad-hoc experiments. - method: POST path: /attacks/new summary: Legacy Create Attack. - method: GET path: /attacks/{guid} summary: Get details about an attack. - method: DELETE path: /attacks/{guid} summary: Idempotently halt the specified active attack. - method: POST path: /attacks/halt summary: Idempotently halt all active attacks. This is a POST version of the DELETE operation. - method: POST path: /attacks/{guid}/halt summary: Idempotently halt the specified active attack. - name: aws.metadata operationCount: 3 operations: - method: GET path: /aws/metadata/autoscaling-groups summary: Queries Gremlin's view of Autoscaling Groups in a given AWS account - method: GET path: /aws/metadata/iam-role summary: Returns the policy document necessary for Gremlin to access AWS resources. - method: GET path: /aws/metadata/load-balancers summary: Queries Gremlin's view of Load balancers in a given AWS account - name: clients operationCount: 5 operations: - method: PUT path: /clients/{identifier}/activate summary: Activate a client. - method: GET path: /clients/active summary: Return all active clients within a team - method: GET path: /clients summary: Returns all clients within a team. - method: GET path: /clients/{identifier} summary: Get a client by identifier - method: DELETE path: /clients/{identifier} summary: Deactivate a client - name: companies operationCount: 33 operations: - method: GET path: /companies/zones summary: Gets all names of configured and detected zones - method: POST path: /companies/zones summary: Create a zone - method: POST path: /companies summary: Allows a user to create a new Company - method: GET path: /companies/{identifier}/saml/claim-aliases summary: Returns all aliases for a company - method: POST path: /companies/{identifier}/saml/claim-aliases summary: Creates a claim alias for the company - method: GET path: /companies/{identifier}/users summary: Returns all users for the supplied company - method: POST path: /companies/{identifier}/users summary: Create a new user. - method: GET path: /companies/{identifier}/saml/claim-aliases/{aliasId} summary: Returns an alias for a company - method: PUT path: /companies/{identifier}/saml/claim-aliases/{aliasId} summary: Updates a claim alias for the company - method: DELETE path: /companies/{identifier}/saml/claim-aliases/{aliasId} summary: Deletes a claim alias for the company - method: GET path: /companies/zones/{zoneId} summary: Get a zone setting - method: PUT path: /companies/zones/{zoneId} summary: Update a zone - method: DELETE path: /companies/zones/{zoneId} summary: Delete zone setting - method: GET path: /companies/{identifier}/users/active/paged summary: Returns paginated active users for the supplied company - method: GET path: /companies/{identifier}/clients summary: Returns all clients for the supplied company - method: GET path: /companies/{identifier} summary: Gets a Company by its supplied guid - method: PATCH path: /companies/{identifier} summary: Update the prefs for company - method: GET path: /companies/{identifier}/users/invited/paged summary: Returns paginated invited users for the supplied company - method: GET path: /companies/{identifier}/users/revoked/paged summary: Returns paginated revoked users for the supplied company - method: GET path: /companies/{identifier}/users/paged summary: Returns paginated users for the supplied company - method: POST path: /companies/invite summary: Invites the specified email to create a new Company. - method: POST path: /companies/{identifier}/invites summary: Invite one or more users to join your Gremlin company - method: POST path: /companies/{identifier}/users/{email}/active summary: User must exist. This is primarily used to reactivate a deactivated user. - method: DELETE path: /companies/{identifier}/users/{email}/active summary: Deactivates a user. - method: DELETE path: /companies/{identifier}/invites/{email} summary: Revoke a pending user invite. - method: PUT path: /companies/{identifier}/users/{email} summary: Update roles of existing user. - method: POST path: /companies/trial summary: Allows an invited user to create a new Company for a trial. - method: POST path: /companies/{identifier}/auth/prefs summary: Updates the authentication preferences associated with this Company. - method: POST path: /companies/{identifier}/mfaPrefs summary: Updates the MFA preferences associated with this Company. - method: POST path: /companies/{identifier}/oauth/settings summary: Updates the OAuth settings for this Company. - method: POST path: /companies/{identifier}/prefs summary: Updates the preferences associated with this Company. - method: POST path: /companies/{identifier}/saml/props summary: Updates the preferences associated with this Company. - method: DELETE path: /companies/{identifier}/users/{email}/api-key/{api-key-id} summary: userApiKeyRevoke - name: containers operationCount: 1 operations: - method: GET path: /containers summary: Get all active containers. - name: datadog operationCount: 2 operations: - method: GET path: /datadog/monitors/{monitorId} summary: Get a monitor by id. - method: GET path: /datadog/monitors summary: Search for monitors. - name: disaster-recovery-test-reports operationCount: 3 operations: - method: GET path: /disaster-recovery-test-reports/{identifier} summary: Gets a disaster recovery test report - method: GET path: /disaster-recovery-test-reports/{identifier}/pdf summary: Gets a disaster recovery test report as PDF - method: GET path: /disaster-recovery-test-reports summary: Gets a page of disaster recovery test reports - name: disaster-recovery-tests operationCount: 10 operations: - method: POST path: /disaster-recovery-tests/{identifier}/complete summary: Marks a disaster recovery test for a company as completed, generating a report - method: POST path: /disaster-recovery-tests summary: Creates a disaster recovery test for a company - method: GET path: /disaster-recovery-tests/{identifier} summary: Gets a disaster recovery test, complete with service details - method: PUT path: /disaster-recovery-tests/{identifier} summary: Updates a disaster recovery test for a company - method: DELETE path: /disaster-recovery-tests/{identifier} summary: Submits a task to delete a disaster recovery test for a company - method: GET path: /disaster-recovery-tests/active summary: Gets all active disaster recovery tests for a company - method: GET path: /disaster-recovery-tests/draft summary: Gets all draft disaster recovery tests for a company - method: POST path: /disaster-recovery-tests/{identifier}/halt-all summary: Halts all active scenario runs for all services for the disaster recovery test - method: POST path: /disaster-recovery-tests/{identifier}/run-all summary: Creates scenario runs for all eligible services for the disaster recovery test - method: POST path: /disaster-recovery-tests/{identifier}/run summary: Creates a scenario run for the specified service as part of the disaster recovery test - name: executions operationCount: 1 operations: - method: GET path: /executions summary: Get a list of executions associated with an attack. - name: external-integrations operationCount: 10 operations: - method: GET path: /external-integrations summary: Get external integrations by type. - method: DELETE path: /external-integrations summary: Delete an external integration. - method: GET path: /external-integrations/load-generator summary: Get team integrations that are compatible with Load Generators. - method: PUT path: /external-integrations/load-generator summary: Update a team integration that is compatible with Load Generators. - method: POST path: /external-integrations/load-generator summary: Create new team integration that is compatible with Load Generators. - method: DELETE path: /external-integrations/load-generator summary: Remove a team integration that is compatible with Load Generators. - method: GET path: /external-integrations/status-check summary: Get team integrations that are compatible with Health Checks. - method: PUT path: /external-integrations/status-check summary: Update a team integration that is compatible with Health Checks. - method: POST path: /external-integrations/status-check summary: Create new team integration that is compatible with Health Checks. - method: DELETE path: /external-integrations/status-check summary: Remove a team integration that is compatible with Health Checks. - name: failure-flags.apps operationCount: 4 operations: - method: GET path: /failure-flags/apps/{name} summary: Get Application by name. - method: GET path: /failure-flags/apps summary: List Applications by team. - method: POST path: /failure-flags/apps/{name}/protect summary: Protect Application by name. - method: POST path: /failure-flags/apps/{name}/unprotect summary: Unprotect Application by name. - name: failure-flags.experiments operationCount: 12 operations: - method: GET path: /failure-flags/experiments/{id}/runs summary: List all runs of an Experiment by team and ID. - method: GET path: /failure-flags/experiments summary: Get all Experiments for a team. - method: POST path: /failure-flags/experiments summary: Create an Experiment. - method: GET path: /failure-flags/experiments/{id} summary: Get Experiment by ID. - method: DELETE path: /failure-flags/experiments/{id} summary: Delete an Experiment by team and ID. - method: GET path: /failure-flags/experiments/active summary: Get all active Experiments for a team. - method: GET path: /failure-flags/experiments/completed/paged summary: Get all completed Experiments for a team. - method: GET path: /failure-flags/experiments/{id}/run/{startTime} summary: Get details for a single Experiment run by ID and run start time. - method: POST path: /failure-flags/experiments/{id}/halt summary: Halt an Experiment by team and ID. - method: POST path: /failure-flags/experiments/{id}/protect summary: Protect an Experiment by team and ID. - method: POST path: /failure-flags/experiments/{id}/run summary: Run an Experiment by team and ID. - method: POST path: /failure-flags/experiments/{id}/unprotect summary: Unprotect an Experiment by team and ID. - name: failure-flags.flags operationCount: 4 operations: - method: GET path: /failure-flags/flags/{name} summary: Get Failure Flag by name. - method: GET path: /failure-flags/flags summary: List Failure Flags by team. - method: POST path: /failure-flags/flags/{name}/protect summary: Protect Failure Flag by name and team. - method: POST path: /failure-flags/flags/{name}/unprotect summary: Unprotect Failure Flag by name and team. - name: gamedays operationCount: 9 operations: - method: GET path: /gamedays summary: Get all GameDays by team. - method: POST path: /gamedays summary: Create new GameDay plan. - method: DELETE path: /gamedays/{gameDayId}/summary/images/{imageName} summary: Remove an image associated with a gameday - method: PATCH path: /gamedays/{gameDayId}/summary/images/{imageName} summary: Upload an image to a given gameday - method: GET path: /gamedays/{gameDayId}/summary/export summary: Exports GameDay Summary PDF file. - method: GET path: /gamedays/{gameDayId} summary: Get GameDay details by id. - method: PATCH path: /gamedays/{gameDayId} summary: Updates a GameDay plan. - method: POST path: /gamedays/{gameDayId}/runs/{scenarioId} summary: Runs specific Scenario associated with GameDay. - method: PATCH path: /gamedays/{gameDayId}/summary summary: Updates a GameDay summary. - name: google-cloud.integration operationCount: 1 operations: - method: GET path: /gcp/integration-setup summary: Returns the configuration details necessary for Gremlin to access GCP resources. - name: google-cloud.integration.resources operationCount: 3 operations: - method: GET path: /gcp/integrations/{integrationId}/resources/all summary: all_1 - method: GET path: /gcp/integrations/{integrationId}/resources/cloud-run summary: listCloudRunResources - method: GET path: /gcp/integrations/{integrationId}/resources/compute summary: listComputeResources - name: grafana operationCount: 4 operations: - method: GET path: /grafana/alerts summary: Get all alerts - method: GET path: /grafana/dashboards summary: Get all dashboards - method: GET path: /grafana/rules summary: Get all rules - method: GET path: /grafana/monitors summary: Searches for Grafana alert monitors - name: halts operationCount: 1 operations: - method: POST path: /halts summary: Idempotently halt all active impacts across the Gremlin platform - name: health checks operationCount: 8 operations: - method: GET path: /status-checks summary: Retrieve status checks by Id (or all if the query param is empty) - method: POST path: /status-checks summary: Creates a new Status Check - method: GET path: /status-checks/{identifier} summary: retrieve a status check by id - method: PUT path: /status-checks/{identifier} summary: Update a given status check - method: DELETE path: /status-checks/{identifier} summary: Delete a given statuscheck by id - method: POST path: /status-checks/{runTestEndpoint} summary: Test a status check endpoint configuration. - method: POST path: /status-checks/{runTestEvaluation} summary: Test a status check evaluation configuration. - method: PUT path: /status-checks/{identifier}/tags summary: Update a given status check tags - name: images operationCount: 3 operations: - method: GET path: /images/{imageName} summary: retrieve a given image - method: DELETE path: /images/{imageName} summary: delete a given image - method: GET path: /images/{parentId}/{imageName} summary: Retrieve a given image for an associated Scenario or Gameday - name: integration-clients operationCount: 5 operations: - method: PUT path: /integration-clients/{identifier}/activate summary: Activates an integration client. - method: GET path: /integration-clients/active summary: Get all active integration clients. - method: GET path: /integration-clients summary: Returns all integration clients within a company or team. - method: POST path: /integration-clients/matches-tags summary: Returns list of clients which match the given tags - method: DELETE path: /integration-clients/{identifier} summary: Deactivates an integration client. - name: integration-invocations operationCount: 4 operations: - method: GET path: /integration-invocations summary: Returns recent private network invocations - method: POST path: /integration-invocations summary: Creates a webhook invocation based on the endpoint configuration - method: POST path: /integration-invocations/{invocationId}/run-test-endpoint summary: Test an endpoint configuration. - method: POST path: /integration-invocations/{invocationId}/run-test-evaluation summary: Test an evaluation configuration. - name: jira operationCount: 10 operations: - method: GET path: /jira/issues summary: Returns issues for entity ids with details. - method: POST path: /jira/issues summary: Creates new issue. - method: GET path: /jira/issues/count summary: Returns total issues for entity ids with details. - method: GET path: /jira/issue-meta summary: Returns the fields and data available and required for creating issues. - method: GET path: /jira/issues/services summary: Returns issues for an entity id with details. - method: GET path: /jira/labels summary: Returns all labels of Jira instance. - method: GET path: /jira/priorities summary: Returns the list of issue priorities. - method: GET path: /jira/projects/{projectIdOrKey} summary: Returns project with given id or key. - method: GET path: /jira/projects summary: Search for projects. - method: GET path: /jira/projects/{projectIdOrKey}/users summary: Returns users assignable to given project. - name: kubernetes.attacks operationCount: 5 operations: - method: GET path: /kubernetes/attacks/{guid} summary: Get an attack by it's guid - method: GET path: /kubernetes/attacks summary: List all attacks. - method: POST path: /kubernetes/attacks/new summary: Legacy endpoint for creating K8s attacks. Please consider `POST /attacks` endpoint instead - method: POST path: /kubernetes/attacks/{uid}/halt summary: Halt an active attack - method: POST path: /kubernetes/attacks/halt summary: Halt all active attacks - name: kubernetes.targets operationCount: 3 operations: - method: GET path: /kubernetes/targets/kinds summary: List all targetable kubernetes object types - method: GET path: /kubernetes/targets summary: List all attackable targets - method: POST path: /kubernetes/targets/by-selector summary: List all attackable targets that match the given label selector - name: load-generators operationCount: 4 operations: - method: POST path: /load-generator summary: Create Load Generator - method: GET path: /load-generator/{guid} summary: Retrieve Load Generator by id - method: PUT path: /load-generator/{guid} summary: Update a given Load Generator - method: DELETE path: /load-generator/{guid} summary: Delete a given LoadGenerator - name: metadata operationCount: 1 operations: - method: GET path: /metadata summary: Get metadata about the Gremlin commands. - name: metrics operationCount: 2 operations: - method: GET path: /metrics/attacks/{attackId} summary: Get metrics for an attack - method: GET path: /metrics/scenarios/{scenarioId}/runs/{scenarioRunNumber} summary: Get metrics for a scenario run - name: newrelic operationCount: 1 operations: - method: GET path: /newrelic/incidents/{incidentId} summary: Get an incident by id. - name: notification-settings operationCount: 2 operations: - method: GET path: /notification-settings summary: Returns a team's notification settings - method: PATCH path: /notification-settings summary: Updates a team's notification settings - name: oauth operationCount: 2 operations: - method: GET path: /oauth/callback summary: Handle receiving a code from an OAuth flow. - method: GET path: /oauth/login summary: Initiates a OAuth login. - name: orgs operationCount: 8 operations: - method: GET path: /orgs/auth/certificate summary: Gets the secret key and certificate for this org in PEM format (zipped). - method: POST path: /orgs/auth/certificate summary: Rolls over to use a new certificate. The current certificate will be saved and still valid for authentication, providing a transition period. - method: DELETE path: /orgs/auth/certificate summary: Deletes the current credentials and generates new. For use when the current credentials are compromised. - method: GET path: /orgs summary: Get all Teams. - method: POST path: /orgs summary: Creates a new org with provided name. - method: GET path: /orgs/{identifier} summary: Get the specified Team. - method: DELETE path: /orgs/auth/certificate/old 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. - method: POST path: /orgs/auth/secret/reset summary: Resets the secret for this Team. - name: pagerduty operationCount: 2 operations: - method: GET path: /pagerduty/incidents summary: Get incidents from a service - method: GET path: /pagerduty/services summary: Get all services - name: providers operationCount: 4 operations: - method: GET path: /providers/aws summary: Returns the list of supported AWS services. - method: GET path: /providers/all summary: Returns the list of supported services for all Providers - method: GET path: /providers/{provider} summary: Returns the list of supported services for a given Provider - method: GET path: /providers summary: Returns a list of supported infrastructure providers. - name: reliability-management operationCount: 1 operations: - method: GET path: /reliability-management/services/{serviceId} summary: Loads the service details and score - name: reliability-report operationCount: 1 operations: - method: GET path: /policies/{serviceId}/reliability-report summary: Get the reliability report for a specified service. - name: reliability-tests operationCount: 12 operations: - method: GET path: /reliability-tests/active summary: Get active reliability tests. - method: GET path: /reliability-tests/runs summary: Get all reliability test runs ordered by createdDate desc. - method: GET path: /reliability-tests/{reliabilityTestId}/runs summary: Get all reliability test runs for a reliabilityTest ordered by createdDate desc. - method: POST path: /reliability-tests/{reliabilityTestId}/runs summary: Run a reliability test for a service. - method: GET path: /reliability-tests summary: Get all reliability tests. - method: GET path: /reliability-tests/notifications summary: Get all notifications for a team - method: GET path: /reliability-tests/active/paged summary: Get a team's active reliability tests in descending order by start time. - method: GET path: /reliability-tests/completed/paged summary: Get a team's completed reliability test runs ordered by start time desc. - method: GET path: /reliability-tests/next-runs summary: Get pending reliability test runs for service, ordered by expected trigger time via schedule or Run All. - method: GET path: /reliability-tests/recent-runs summary: Get recently completed reliability test runs ordered by endDate desc. for a service - method: GET path: /reliability-tests/{reliabilityTestId} summary: Get a single company-scoped reliability test. - method: GET path: /reliability-tests/preview summary: Takes a given scenario and transforms it for turning into a reliability test - name: reports operationCount: 21 operations: - method: GET path: /reports/attacks summary: Loads the Attacks Summary for the specified time period. - method: GET path: /reports/clients summary: Loads the Client Summary for the specified time period. - method: GET path: /reports/companies summary: Loads the Company Summary for the specified month. - method: GET path: /reports/companies/pdf summary: Loads the Company Summary PDF for the specified time frame. - method: GET path: /reports/companies/reliability-management summary: Loads the Company Reliability Management Report for the specified time window defaulting to a week. - method: GET path: /reports/companies/reliability-management/services summary: Loads the company service list and reliability trend for each service for the specified time window defaulting to a month. - method: GET path: /reports/companies/reliability-management/grouped summary: Loads the Company Reliability Management Report grouped by query param value of groupBy - defaults to TEAM. - method: GET path: /reports/companies/trends summary: Returns the Risk and Score trends for your company across all associated services - method: GET path: /reports/team/detected-risk/trend summary: Returns the trend of risks across all services for a given team - method: GET path: /reports/team/reliability-report summary: getReliabilityReportForTeam - method: GET path: /reports/team/reliability-report/pdf summary: Loads the team reliability report PDF for the specified time frame. - method: GET path: /reports/services/reliability-management/reliability-report-trend 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 - method: GET path: /reports/services/{serviceId}/reliability-management/reliability-report-trend summary: Loads the Reliability report trend for the service for the specified time period defaulting to 1 months and 4 data points - method: GET path: /reports/team/reliability-report/trend summary: Returns the trend of Reliability Scores across all services for a given team - method: GET path: /reports/team/detected-risks-report summary: Loads latest risk evaluation for each eligible service for the team - method: GET path: /reports/team/detected-risks-report/pdf summary: Loads the team risk report PDF for the specified time frame. - method: GET path: /reports/team/trends summary: Returns the trend of Reliability Scores across all services for a given team - method: GET path: /reports/pricing summary: Loads the pricing usage for the specified dates and tracking period. - method: GET path: /reports/teams summary: This functionality has moved to GET /reports/teams/paged.Loads the Team Summary for the specified month. - method: GET path: /reports/teams/paged summary: Loads the Team Summary for the specified month. - method: GET path: /reports/users summary: Loads the User Summary for the specified time period. - name: reports.security operationCount: 2 operations: - method: GET path: /reports/security/access summary: 'Loads the Access Summary for the specified company in the time period requested (max: 1 hour). Returned in JSON format' - method: GET path: /reports/security/event 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' - name: roles operationCount: 5 operations: - method: GET path: /roles summary: Returns all roles and privileges - method: POST path: /roles summary: Create a new custom role - method: GET path: /roles/{roleId} summary: Get a custom role - method: DELETE path: /roles/{roleId} summary: Delete a custom role - method: PATCH path: /roles/{roleId} summary: Update a custom role - name: scenarios operationCount: 30 operations: - method: DELETE path: /scenarios/{scenarioId}/runs/{runNumber}/images/{imageName} summary: Deletes a given images associated with a given scenario - method: PATCH path: /scenarios/{scenarioId}/runs/{runNumber}/images/{imageName} summary: Uploads an image to a given scenario - method: POST path: /scenarios/{guid}/archive summary: Archive a scenario. - method: GET path: /scenarios summary: List all runnable scenarios. - method: POST path: /scenarios summary: Create a new scenario. - method: GET path: /scenarios/shared summary: Get all scenarios shared with this team. - method: POST path: /scenarios/shared summary: Create new shared scenarios. - method: GET path: /scenarios/{guid} summary: Get details about a scenario. - method: PUT path: /scenarios/{guid} summary: Update a scenario - method: DELETE path: /scenarios/{guid} summary: Delete a scenario. - method: GET path: /scenarios/active summary: List all active scenarios. - method: GET path: /scenarios/active-runs summary: List all active scenarios. - method: GET path: /scenarios/runs summary: List all scenario runs for your team. - method: GET path: /scenarios/archived summary: List all archived scenarios. - method: GET path: /scenarios/drafts summary: List all draft scenarios. - method: GET path: /scenarios/active/paged summary: Get a team's active FI scenario runs ordered by start time desc. - method: GET path: /scenarios/completed/paged summary: Get a team's completed FI scenario runs ordered by start time desc. - method: GET path: /scenarios/{guid}/runs summary: List all runs for a scenario. - method: POST path: /scenarios/{guid}/runs summary: Run a scenario. - method: GET path: /scenarios/{guid}/runs/paged summary: Paged list runs for a scenario. Scenarios are monotonically increasing and use their run number as the pagination key - method: GET path: /scenarios/{guid}/runs/{runNumber} summary: Get details about a scenario run. - method: GET path: /scenarios/{guid}/schedules summary: Get all schedules for a scenario. - method: GET path: /scenarios/shared/{guid} summary: Get details on a shared scenarios. - method: DELETE path: /scenarios/shared/{guid} summary: Unshare a company shared scenario. - method: POST path: /scenarios/halt summary: Idempotently halt all scenario runs and active attacks. - method: POST path: /scenarios/halt/{guid}/runs/{runNumber} summary: Idempotently halt the specified scenario run. - method: POST path: /scenarios/{guid}/restore summary: Restore an archived scenario. - method: PUT path: /scenarios/{guid}/runs/{runNumber}/resultFlags summary: This functionality has been replaced by PUT /{guid}/runs/{runNumber}/results. - method: PUT path: /scenarios/{guid}/runs/{runNumber}/resultNotes summary: Update the result notes of a scenario run. - method: PUT path: /scenarios/{guid}/runs/{runNumber}/results summary: Update the results of a scenario run. - name: scenarios.recommended operationCount: 3 operations: - method: GET path: /scenarios/recommended summary: List all recommended scenarios. - method: GET path: /scenarios/recommended/{guid} summary: Get details about a recommended scenario. - method: GET path: /scenarios/recommended/static/{staticEndpointName} summary: Get details about a recommended scenario. - name: schedules operationCount: 18 operations: - method: GET path: /schedules/attacks summary: Get all active experiment schedules. This functionality has moved to GET /schedules/attacks/paged. - method: POST path: /schedules/attacks summary: Create an attack schedule. - method: POST path: /schedules summary: This functionality has moved to POST /schedules/attacks. - method: GET path: /schedules/scenarios summary: Get all scenario schedules. This functionality has moved to GET /schedules/scenarios/paged. - method: POST path: /schedules/scenarios summary: Create a scenario schedule. - method: GET path: /schedules/attacks/{guid} summary: Get an attack schedule. - method: DELETE path: /schedules/attacks/{guid} summary: Delete an attack schedule. - method: GET path: /schedules/{guid} summary: This functionality has moved to GET /schedules/attacks/{guid}. - method: DELETE path: /schedules/{guid} summary: This functionality has moved to DELETE /schedules/attacks/{guid} - method: GET path: /schedules/scenarios/{guid} summary: Get a scenario schedule. - method: PUT path: /schedules/scenarios/{guid} summary: Update a scenario schedule. - method: DELETE path: /schedules/scenarios/{guid} summary: Delete a scenario schedule. - method: POST path: /schedules/scenarios/{guid}/enabled summary: Enable a scenario schedule. - method: DELETE path: /schedules/scenarios/{guid}/enabled summary: Disable a scenario schedule. - method: GET path: /schedules/active summary: This functionality has moved to GET /schedules/attacks. - method: GET path: /schedules/attacks/paged summary: Paginated endpoint for listing a team's experiment schedules ordered by trigger time. - method: GET path: /schedules/scenarios/paged summary: Paginated endpoint for listing a team's scenario schedules ordered by trigger time. - method: GET path: /schedules/services/paged summary: Paginated endpoint for listing a team's service schedules ordered by trigger time. - name: service-overview operationCount: 1 operations: - method: GET path: /service-overview/{serviceId}/active summary: Fetch active FaultInjection for Service - name: services operationCount: 25 operations: - method: GET path: /services/{serviceId}/metrics/{awsResource} summary: getMetrics - method: GET path: /services/{serviceId}/dependencies summary: Paginated endpoint for listing active dependencies for a given service - method: POST path: /services/{serviceId}/dependencies summary: Manually define a new dependency for a given Service - method: DELETE path: /services/{serviceId}/dependencies/discovered 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. - method: GET path: /services/{serviceId}/dependencies/ignored summary: Paginated endpoint for listing ignored dependencies for a given service - method: DELETE path: /services/{serviceId}/dependencies/ignored summary: Delete all dependencies that are marked ignored - method: DELETE path: /services/{serviceId}/dependencies/{dependencyId} summary: Mark a dependency as ignored, removing it from the list of active dependencies and reliability score. - method: PATCH path: /services/{serviceId}/dependencies/{dependencyId} 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. - method: DELETE path: /services/{serviceId}/dependencies/ignored/{dependencyId} summary: Delete a dependency that is marked as ignored - method: PUT path: /services/{serviceId}/dependencies/{dependencyId}/name summary: renameDependency - method: GET path: /services summary: Paginated endpoint for fetching services for a given team - method: POST path: /services summary: Create a service - method: PATCH path: /services summary: Bulk add a given Status Check to all services - method: POST path: /services/bulk-create-with-load-balancers summary: Bulk create services based on AWS Load balancers - method: POST path: /services/bulk-delete summary: Bulk delete services - method: POST path: /services/service-creation-readiness/clients summary: Retrieves clients for a potential service definition - method: GET path: /services/{serviceId} summary: Retrieve a service by id - method: DELETE path: /services/{serviceId} summary: Permanently delete a service - method: PATCH path: /services/{serviceId} summary: Update a service, editing some fields - method: GET path: /services/all-for-company summary: Paginated endpoint for fetching services for a given company - method: GET path: /services/{id}/risk-summary summary: Load risk evaluations for service. Re-evaluate risks if service has been deployed since the last evaluation. - method: GET path: /services/service-creation-readiness/{targetType} summary: getServiceCreationReadiness - method: GET path: /services/{serviceId}/score summary: Retrieve a service's score in plain/text - method: GET path: /services/{serviceId}/status-checks summary: Fetch Status Checks associated with a given service - method: POST path: /services/{serviceId}/baseline summary: Run RM tests for a given service - name: sharedAssets operationCount: 13 operations: - method: POST path: /sharedAssets/requests/{requestId}/approve summary: Approves a sharing request to a resource you own - method: POST path: /sharedAssets/requests/approve summary: Approves a sharing request to a resource you own - method: POST path: /sharedAssets/requests/delete summary: Deletes a sharing request your team has made to an asset you don't control - method: DELETE path: /sharedAssets/requests/{requestId} summary: Deletes an existing request for Access - method: POST path: /sharedAssets/requests/{requestId}/deny summary: Denies or Revokes a sharing request to a resource you own - method: POST path: /sharedAssets/requests/deny summary: Denies or Revokes a sharing request to a resource you own - method: GET path: /sharedAssets/withMe summary: List assets currently shared with your team - method: GET path: /sharedAssets summary: List available assets for sharing and all incoming and outgoing requests - method: GET path: /sharedAssets/requests summary: List my requests for assets to be shared with my team - method: POST path: /sharedAssets/requests summary: Request access to a given asset - method: GET path: /sharedAssets/requests/toMe summary: List other team's requests to my team for sharing assets my team controls - method: POST path: /sharedAssets/requests/{requestId}/delete summary: Deletes an existing request for Access - method: POST path: /sharedAssets/{owningTeam}/{assetId} summary: Request access to a given asset owned by another team - name: teams operationCount: 11 operations: - method: GET path: /teams/{teamId}/profile summary: getProfile - method: PUT path: /teams/{teamId}/profile summary: putProfile - method: GET path: /teams/{teamId}/profile/prompt summary: getProfilePrompt - method: GET path: /teams/kubernetes/install summary: Generates a kubernetes installation manifest for passing to kubectl - method: DELETE path: /teams/{identifier} summary: Idempotently deletes an existing team. - method: PATCH path: /teams/{identifier} summary: Idempotently updates an existing team. - method: GET path: /teams/client/install summary: Generates a config.yaml file with populated values for authenticating the client - method: GET path: /teams/helm/install summary: Generates a teams-specific values file to be passed to a helm install command - method: GET path: /teams summary: Gets all Teams associated with the current Company. - method: GET path: /teams/{teamIdOrName} summary: getByIdOrName - method: GET path: /teams/paged summary: Gets paged response for teams associated with the current Company. Default page size is 20 - name: test-suites operationCount: 6 operations: - method: GET path: /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 - method: POST path: /test-suites summary: Creates a reliability test suite - method: GET path: /test-suites/{testSuiteId} summary: Gets a reliability test suite - method: DELETE path: /test-suites/{testSuiteId} summary: Delete a Test Suite. - method: PATCH path: /test-suites/{testSuiteId} summary: Updates a reliability test suite - method: GET path: /test-suites/detected-risks summary: Retrieve the default list of available risks to add to a given TestSuite - name: users operationCount: 13 operations: - method: GET path: /users/active summary: Get all active users. - method: GET path: /users/active/paged summary: Get all active users paginated. - method: GET path: /users summary: Get all users. - method: POST path: /users summary: Add an existing user to the target team - method: GET path: /users/paged summary: Get all users paginated. - method: GET path: /users/self summary: Get information about the authenticated user - method: PATCH path: /users/self summary: Update an existing users info. - method: POST path: /users/invite summary: Invite a user. - method: POST path: /users/renew/rbac summary: Renew authorization. - method: PUT path: /users/{email} summary: Update an existing user. - method: DELETE path: /users/{email} summary: Deactivate a user. - method: GET path: /users/sessions summary: Returns the updated user sessions list for the currently authenticated user. - method: DELETE path: /users/invite/{email} summary: Revoke a pending user invite. - name: users.auth operationCount: 8 operations: - method: POST path: /users/auth summary: Authenticate a user. - method: DELETE path: /users/auth summary: Invalidates a user's current session, if it exists. - method: GET path: /users/auth/emailCompanies summary: Email active company affiliations. - method: POST path: /users/auth/password/reset summary: Reset a user's password via email. - method: PUT path: /users/auth/password summary: Update an authenticated user's password directly. - method: POST path: /users/auth/password summary: Update a user's password. - method: GET path: /users/auth/saml/failures summary: View SAML auth failures for the current company and optional user. - method: GET path: /users/auth/saml/metadata summary: Gets SAML Service Provider metadata. - name: users.auth.mfa operationCount: 7 operations: - method: POST path: /users/auth/mfa/auth summary: Authenticate a user with MFA. - method: POST path: /users/auth/mfa/disable summary: Removes the MFA provider and secret, disabling MFA login. - method: POST path: /users/auth/mfa/enable summary: Generate a secret key and enables it for the user. - method: POST path: /users/auth/mfa/forceDisable summary: Removes the MFA provider and secret, disabling MFA login. - method: GET path: /users/auth/mfa/info summary: Returns the enabled/disabled status and provider if set, of MFA for the user. - method: GET path: /users/auth/mfa/{email}/enabled summary: Returns the enabled/disabled status of MFA for a user. - method: POST path: /users/auth/mfa/validate summary: Validate a MFA token for a user - name: webhooks operationCount: 5 operations: - method: GET path: /webhooks summary: getWebhooks - method: POST path: /webhooks summary: Create a webhook - method: GET path: /webhooks/{guid} summary: Retrieve webhook by id - method: PUT path: /webhooks/{guid} summary: Update a webhook by id - method: DELETE path: /webhooks/{guid} summary: Delete a Webhook