{ "opencollection": "1.0.0", "info": { "name": "Gremlin agents scenarios API", "version": "1.0" }, "items": [ { "info": { "name": "scenarios", "type": "folder" }, "items": [ { "info": { "name": "Uploads an image to a given scenario", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.gremlin.com/v1/scenarios/:scenarioId/runs/:runNumber/images/:imageName", "params": [ { "name": "imageName", "value": "", "type": "path" }, { "name": "scenarioId", "value": "", "type": "path" }, { "name": "runNumber", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "multipart-form", "data": [ { "name": "file", "type": "text", "value": "" } ] } }, "docs": "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)" }, { "info": { "name": "Deletes a given images associated with a given scenario", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/scenarios/:scenarioId/runs/:runNumber/images/:imageName", "params": [ { "name": "imageName", "value": "", "type": "path" }, { "name": "scenarioId", "value": "", "type": "path" }, { "name": "runNumber", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`IMAGES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Archive a scenario.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/scenarios/:guid/archive", "params": [ { "name": "guid", "value": "", "type": "path", "description": "This value represents the globally unique identifier of the record to fetch." }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SCENARIOS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "List all runnable scenarios.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/scenarios", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Create a new scenario.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/scenarios", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Creates a new scenario based on the Scenario Graph provided\nRequires the privilege [`SCENARIOS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get all scenarios shared with this team.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/scenarios/shared", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Create new shared scenarios.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/scenarios/shared", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`SCENARIO_SHARE_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get details about a scenario.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/scenarios/:guid", "params": [ { "name": "guid", "value": "", "type": "path", "description": "This value represents the globally unique identifier of the record to fetch." }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Update a scenario", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/scenarios/:guid", "params": [ { "name": "guid", "value": "", "type": "path", "description": "This value represents the globally unique identifier of the record to fetch." }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`SCENARIOS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Delete a scenario.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/scenarios/:guid", "params": [ { "name": "guid", "value": "", "type": "path", "description": "This value represents the globally unique identifier of the record to fetch." }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SCENARIOS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "List all active scenarios.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/scenarios/active", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "List all active scenarios.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/scenarios/active-runs", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "List all scenario runs for your team.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/scenarios/runs", "params": [ { "name": "state", "value": "", "type": "query" }, { "name": "includeArchived", "value": "", "type": "query" }, { "name": "startDate", "value": "", "type": "query" }, { "name": "endDate", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "List all archived scenarios.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/scenarios/archived", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "List all draft scenarios.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/scenarios/drafts", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get a team's active FI scenario runs ordered by start time desc.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/scenarios/active/paged", "params": [ { "name": "pageSize", "value": "None (defaults to 1000)", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "pageToken", "value": "None (returns first page)", "type": "query", "description": "Pass the pageToken to get the next page of active FI scenario runs" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get a team's completed FI scenario runs ordered by start time desc.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/scenarios/completed/paged", "params": [ { "name": "pageSize", "value": "None (defaults to 1000)", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "pageToken", "value": "None (returns first page)", "type": "query", "description": "Pass the pageToken to get the next page of completed reliability test runs" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "List all runs for a scenario.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/scenarios/:guid/runs", "params": [ { "name": "guid", "value": "", "type": "path", "description": "This value represents the globally unique identifier of the record to fetch." }, { "name": "startDate", "value": "", "type": "query" }, { "name": "endDate", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Run a scenario.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/scenarios/:guid/runs", "params": [ { "name": "guid", "value": "", "type": "path", "description": "This value represents the globally unique identifier of the record to fetch." }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`SCENARIOS_RUN`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Paged list runs for a scenario. Scenarios are monotonically increasing and use their run number as the pagination key", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/scenarios/:guid/runs/paged", "params": [ { "name": "guid", "value": "", "type": "path", "description": "This value represents the globally unique identifier of the record to fetch." }, { "name": "runNumber", "value": "", "type": "query" }, { "name": "limit", "value": "", "type": "query" }, { "name": "forward", "value": "", "type": "query", "description": "Used to indicate querying forward or backwards from the supplied runNumber (defaults to forward)" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get details about a scenario run.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/scenarios/:guid/runs/:runNumber", "params": [ { "name": "guid", "value": "", "type": "path", "description": "This value represents the globally unique identifier of the record to fetch." }, { "name": "runNumber", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get all schedules for a scenario.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/scenarios/:guid/schedules", "params": [ { "name": "guid", "value": "", "type": "path", "description": "This value represents the globally unique identifier of the record to fetch." }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get details on a shared scenarios.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/scenarios/shared/:guid", "params": [ { "name": "guid", "value": "", "type": "path", "description": "This value represents the globally unique identifier of the record to fetch." }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Unshare a company shared scenario.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/scenarios/shared/:guid", "params": [ { "name": "guid", "value": "", "type": "path", "description": "This value represents the globally unique identifier of the record to fetch." }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SCENARIO_SHARE_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Idempotently halt all scenario runs and active attacks.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/scenarios/halt", "params": [ { "name": "teamId", "value": "", "type": "query" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Idempotently halt all scenario runs and active attacks." }, { "info": { "name": "Idempotently halt the specified scenario run.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/scenarios/halt/:guid/runs/:runNumber", "params": [ { "name": "guid", "value": "", "type": "path", "description": "This value represents the globally unique identifier of the record to fetch." }, { "name": "runNumber", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Restore an archived scenario.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/scenarios/:guid/restore", "params": [ { "name": "guid", "value": "", "type": "path", "description": "This value represents the globally unique identifier of the record to fetch." }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SCENARIOS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "This functionality has been replaced by PUT /{guid}/runs/{runNumber}/results.", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/scenarios/:guid/runs/:runNumber/resultFlags", "params": [ { "name": "guid", "value": "", "type": "path", "description": "This value represents the globally unique identifier of the record to fetch." }, { "name": "runNumber", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`SCENARIOS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Update the result notes of a scenario run.", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/scenarios/:guid/runs/:runNumber/resultNotes", "params": [ { "name": "guid", "value": "", "type": "path", "description": "This value represents the globally unique identifier of the record to fetch." }, { "name": "runNumber", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SCENARIOS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Update the results of a scenario run.", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/scenarios/:guid/runs/:runNumber/results", "params": [ { "name": "guid", "value": "", "type": "path", "description": "This value represents the globally unique identifier of the record to fetch." }, { "name": "runNumber", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`SCENARIOS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] } ], "bundled": true }