{ "opencollection": "1.0.0", "info": { "name": "Gremlin API", "version": "1.0" }, "items": [ { "info": { "name": "attacks", "type": "folder" }, "items": [ { "info": { "name": "List all active attacks.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/attacks/active", "params": [ { "name": "source", "value": "Adhoc", "type": "query", "description": "Filter attacks to either adhoc or scenario." }, { "name": "pageSize", "value": "", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "This endpoint will return all active attacks for the team.\nRequires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Return a page of active ad-hoc experiments.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/attacks/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 ad-hoc experiments" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "This endpoint will return a paged response of active ad-hoc experiments for a team.\nRequires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Add annotations to an attack", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/attacks/:guid/annotations", "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 [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "List all attacks.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/attacks", "params": [ { "name": "source", "value": "Adhoc", "type": "query", "description": "Filter attacks to either adhoc or scenario." }, { "name": "pageSize", "value": "", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Create a new attack.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/attacks", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Create a new attack by specifying the attack configuration, targets and sampling configuration\nRequires the privilege [`EXPERIMENTS_RUN`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Idempotently halt all active attacks", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/attacks" }, "docs": "Idempotently halt all active attacks" }, { "info": { "name": "List all attacks in a given time range (defaults to all attacks up to now)", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/attacks/range", "params": [ { "name": "startTime", "value": "", "type": "query" }, { "name": "endTime", "value": "", "type": "query" }, { "name": "pageSize", "value": "", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "pageToken", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "List all completed attacks.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/attacks/completed", "params": [ { "name": "source", "value": "Adhoc", "type": "query", "description": "Filter attacks to either adhoc or scenario." }, { "name": "pageSize", "value": "", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "This endpoint will return all completed attacks that the team has performed.\nRequires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Return a page of completed ad-hoc experiments.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/attacks/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 ad-hoc experiments" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "This endpoint will return a paged response of completed ad-hoc experiments for a team.\nRequires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Legacy Create Attack.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/attacks/new", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Note that this endpoint is considered deprecated but is maintained for existing consumers. Please consider using the new `POST /attacks` endpoint instead.\n\nFor a list of attack parameters, please visit: https://www.gremlin.com/docs/infrastructure-layer/attacks/#parameter-reference.\nPlease 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.\nFor more information on creating a new attack using the" }, { "info": { "name": "Get details about an attack.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/attacks/: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": "This endpoint will allow you to get info on a specific attack based on its guid.\nRequires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Idempotently halt the specified active attack.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/attacks/: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 [`HALT_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Idempotently halt all active attacks. This is a POST version of the DELETE operation.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/attacks/halt", "body": { "type": "json", "data": "{}" } }, "docs": "Idempotently halt all active attacks. This is a POST version of the DELETE operation." }, { "info": { "name": "Idempotently halt the specified active attack.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/attacks/:guid/halt", "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 [`HALT_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "executions", "type": "folder" }, "items": [ { "info": { "name": "Get a list of executions associated with an attack.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/executions", "params": [ { "name": "taskId", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "halts", "type": "folder" }, "items": [ { "info": { "name": "Idempotently halt all active impacts across the Gremlin platform", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/halts", "body": { "type": "json", "data": "{}" } }, "docs": "Idempotently halt all active impacts across the Gremlin platform" } ] }, { "info": { "name": "kubernetes.attacks", "type": "folder" }, "items": [ { "info": { "name": "Get an attack by it's guid", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/kubernetes/attacks/: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 [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "List all attacks.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/kubernetes/attacks", "params": [ { "name": "source", "value": "Adhoc", "type": "query", "description": "Filter Kubernetes attacks to either Adhoc or Scenario." }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Legacy endpoint for creating K8s attacks. Please consider `POST /attacks` endpoint instead", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/kubernetes/attacks/new", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`EXPERIMENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Halt an active attack", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/kubernetes/attacks/:uid/halt", "params": [ { "name": "uid", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`HALT_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Halt all active attacks", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/kubernetes/attacks/halt", "body": { "type": "json", "data": "{}" } }, "docs": "Halt all active attacks" } ] }, { "info": { "name": "metadata", "type": "folder" }, "items": [ { "info": { "name": "Get metadata about the Gremlin commands.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/metadata", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "users.auth.mfa", "type": "folder" }, "items": [ { "info": { "name": "Authenticate a user with MFA.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/users/auth/mfa/auth", "params": [ { "name": "getCompanySession", "value": "", "type": "query" } ], "body": { "type": "form-urlencoded", "data": [ { "name": "email", "value": "" }, { "name": "password", "value": "" }, { "name": "token", "value": "" }, { "name": "companyName", "value": "" } ] } }, "docs": "Authenticate a user with MFA." }, { "info": { "name": "Removes the MFA provider and secret, disabling MFA login.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/users/auth/mfa/disable", "body": { "type": "form-urlencoded", "data": [ { "name": "email", "value": "" }, { "name": "password", "value": "" }, { "name": "token", "value": "" } ] } }, "docs": "Removes the MFA provider and secret, disabling MFA login." }, { "info": { "name": "Generate a secret key and enables it for the user.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/users/auth/mfa/enable", "body": { "type": "form-urlencoded", "data": [ { "name": "email", "value": "" }, { "name": "password", "value": "" } ] } }, "docs": "Generate a secret key and enables it for the user." }, { "info": { "name": "Removes the MFA provider and secret, disabling MFA login.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/users/auth/mfa/forceDisable", "body": { "type": "form-urlencoded", "data": [ { "name": "email", "value": "" } ] } }, "docs": "COMPANY_OWNER and COMPANY_ADMIN users only\nRequires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns the enabled/disabled status and provider if set, of MFA for the user.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/users/auth/mfa/info" }, "docs": "Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns the enabled/disabled status of MFA for a user.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/users/auth/mfa/:email/enabled", "params": [ { "name": "email", "value": "", "type": "path" } ] }, "docs": "Company Owners and Admins users only\nRequires the privilege [`SECURITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Validate a MFA token for a user", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/users/auth/mfa/validate", "body": { "type": "form-urlencoded", "data": [ { "name": "email", "value": "" }, { "name": "token", "value": "" } ] } }, "docs": "Validate a MFA token for a user" } ] }, { "info": { "name": "Notification Integrations", "type": "folder" }, "items": [ { "info": { "name": "Get the integration for your company that is identified by the supplied type", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/integrations/:type", "params": [ { "name": "type", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`COMPANY_INTEGRATIONS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Puts the integration identified by the supplied type on your company", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/integrations/:type", "params": [ { "name": "type", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`COMPANY_INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Idempotently deletes the integration associated with your company, identified by the supplied type", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/integrations/:type", "params": [ { "name": "type", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`COMPANY_INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "List all integrations associated with your company", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/integrations" }, "docs": "Requires the privilege [`COMPANY_INTEGRATIONS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "oauth", "type": "folder" }, "items": [ { "info": { "name": "Handle receiving a code from an OAuth flow.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/oauth/callback", "params": [ { "name": "code", "value": "", "type": "query", "description": "The code from authenticating with the oauth provider" }, { "name": "state", "value": "", "type": "query", "description": "The state value set when initiating the OAuth login" } ] }, "docs": "Handle receiving a code from an OAuth flow." }, { "info": { "name": "Initiates a OAuth login.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/oauth/login", "params": [ { "name": "companyName", "value": "", "type": "query", "description": "The name of the company to authenticate too" }, { "name": "redirectUri", "value": "", "type": "query", "description": "Where to redirect the user to after authenticating, for use when authenticating via OAuth in the Gremlin UI" } ] }, "docs": "Initiates a OAuth login." } ] }, { "info": { "name": "roles", "type": "folder" }, "items": [ { "info": { "name": "Returns all roles and privileges", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/roles" }, "docs": "This operation will return all possible roles at both the team and company levels, along with their associated privileges." }, { "info": { "name": "Create a new custom role", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/roles", "body": { "type": "json", "data": "{}" } }, "docs": "This operation will create a new custom role.\nRequires the privilege [`ROLES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get a custom role", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/roles/:roleId", "params": [ { "name": "roleId", "value": "", "type": "path", "description": "identifier of the role" } ] }, "docs": "This operation will return a custom role." }, { "info": { "name": "Update a custom role", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.gremlin.com/v1/roles/:roleId", "params": [ { "name": "roleId", "value": "", "type": "path", "description": "identifier of the role" } ], "body": { "type": "json", "data": "{}" } }, "docs": "This operation will update a custom role.\nRequires the privilege [`ROLES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Delete a custom role", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/roles/:roleId", "params": [ { "name": "roleId", "value": "", "type": "path", "description": "identifier of the role" } ] }, "docs": "This operation will delete a custom role.\nRequires the privilege [`ROLES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "users.auth", "type": "folder" }, "items": [ { "info": { "name": "Authenticate a user.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/users/auth", "params": [ { "name": "getCompanySession", "value": "", "type": "query" } ], "body": { "type": "form-urlencoded", "data": [ { "name": "email", "value": "" }, { "name": "password", "value": "" }, { "name": "companyName", "value": "" } ] } }, "docs": "Authenticate a user." }, { "info": { "name": "Invalidates a user's current session, if it exists.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/users/auth" }, "docs": "Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Email active company affiliations.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/users/auth/emailCompanies", "params": [ { "name": "email", "value": "", "type": "query" } ] }, "docs": "Email active company affiliations." }, { "info": { "name": "Reset a user's password via email.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/users/auth/password/reset", "body": { "type": "form-urlencoded", "data": [ { "name": "email", "value": "" } ] } }, "docs": "Reset a user's password via email." }, { "info": { "name": "Update a user's password.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/users/auth/password", "body": { "type": "form-urlencoded", "data": [ { "name": "email", "value": "" }, { "name": "password", "value": "" }, { "name": "code", "value": "" } ] } }, "docs": "Update a user's password." }, { "info": { "name": "Update an authenticated user's password directly.", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/users/auth/password", "body": { "type": "form-urlencoded", "data": [ { "name": "currentPassword", "value": "" }, { "name": "newPassword", "value": "" } ] } }, "docs": "Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "View SAML auth failures for the current company and optional user.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/users/auth/saml/failures", "params": [ { "name": "email", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`COMPANY_SECURITY_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Gets SAML Service Provider metadata.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/users/auth/saml/metadata", "params": [ { "name": "companyName", "value": "", "type": "query" } ] }, "docs": "Gets SAML Service Provider metadata." } ] }, { "info": { "name": "aws.metadata", "type": "folder" }, "items": [ { "info": { "name": "Queries Gremlin's view of Autoscaling Groups in a given AWS account", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/aws/metadata/autoscaling-groups", "params": [ { "name": "domain", "value": "", "type": "query" }, { "name": "mode", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "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)" }, { "info": { "name": "Returns the policy document necessary for Gremlin to access AWS resources.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/aws/metadata/iam-role", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "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)" }, { "info": { "name": "Queries Gremlin's view of Load balancers in a given AWS account", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/aws/metadata/load-balancers", "params": [ { "name": "domain", "value": "", "type": "query" }, { "name": "mode", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "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" } ] }, { "info": { "name": "datadog", "type": "folder" }, "items": [ { "info": { "name": "Get a monitor by id.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/datadog/monitors/:monitorId", "params": [ { "name": "monitorId", "value": "", "type": "path" }, { "name": "datadogIntegrationName", "value": "", "type": "query" }, { "name": "domain", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Search for monitors.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/datadog/monitors", "params": [ { "name": "searchString", "value": "", "type": "query" }, { "name": "page", "value": "", "type": "query" }, { "name": "perPage", "value": "", "type": "query" }, { "name": "sort", "value": "", "type": "query" }, { "name": "datadogIntegrationName", "value": "", "type": "query" }, { "name": "domain", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "grafana", "type": "folder" }, "items": [ { "info": { "name": "Get all alerts", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/grafana/alerts", "params": [ { "name": "name", "value": "", "type": "query" }, { "name": "grafanaUri", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get all dashboards", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/grafana/dashboards", "params": [ { "name": "name", "value": "", "type": "query" }, { "name": "grafanaUri", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get all rules", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/grafana/rules", "params": [ { "name": "name", "value": "", "type": "query" }, { "name": "grafanaUri", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Searches for Grafana alert monitors", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/grafana/monitors", "params": [ { "name": "searchString", "value": "", "type": "query" }, { "name": "grafanaIntegrationName", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "jira", "type": "folder" }, "items": [ { "info": { "name": "Returns issues for entity ids with details.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/jira/issues", "params": [ { "name": "gremlinEntityIds", "value": "", "type": "query", "description": "A list of Gremlin entity ids" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`INTEGRATIONS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Creates new issue.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/jira/issues", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns total issues for entity ids with details.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/jira/issues/count", "params": [ { "name": "gremlinEntityIds", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns the fields and data available and required for creating issues.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/jira/issue-meta", "params": [ { "name": "projectId", "value": "", "type": "query" }, { "name": "issueTypeId", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns issues for an entity id with details.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/jira/issues/services", "params": [ { "name": "gremlinEntityId", "value": "", "type": "query", "description": "A Gremlin entity id" }, { "name": "type", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`INTEGRATIONS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns all labels of Jira instance.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/jira/labels", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns the list of issue priorities.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/jira/priorities", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns project with given id or key.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/jira/projects/:projectIdOrKey", "params": [ { "name": "projectIdOrKey", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Search for projects.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/jira/projects", "params": [ { "name": "query", "value": "", "type": "query" }, { "name": "startAt", "value": "", "type": "query" }, { "name": "maxResults", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns users assignable to given project.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/jira/projects/:projectIdOrKey/users", "params": [ { "name": "projectIdOrKey", "value": "", "type": "path" }, { "name": "startAt", "value": "", "type": "query" }, { "name": "maxResults", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "newrelic", "type": "folder" }, "items": [ { "info": { "name": "Get an incident by id.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/newrelic/incidents/:incidentId", "params": [ { "name": "name", "value": "", "type": "query" }, { "name": "incidentId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "pagerduty", "type": "folder" }, "items": [ { "info": { "name": "Get incidents from a service", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/pagerduty/incidents", "params": [ { "name": "name", "value": "", "type": "query" }, { "name": "serviceId", "value": "", "type": "query" }, { "name": "incidentId", "value": "", "type": "query" }, { "name": "statuses", "value": "", "type": "query" }, { "name": "limit", "value": "", "type": "query" }, { "name": "offset", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get all services", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/pagerduty/services", "params": [ { "name": "name", "value": "", "type": "query" }, { "name": "limit", "value": "", "type": "query" }, { "name": "offset", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "external-integrations", "type": "folder" }, "items": [ { "info": { "name": "Get external integrations by type.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/external-integrations", "params": [ { "name": "type", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`INTEGRATIONS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Delete an external integration.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/external-integrations", "params": [ { "name": "type", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get team integrations that are compatible with Load Generators.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/external-integrations/load-generator", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`INTEGRATIONS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Create new team integration that is compatible with Load Generators.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/external-integrations/load-generator", "params": [ { "name": "type", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Update a team integration that is compatible with Load Generators.", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/external-integrations/load-generator", "params": [ { "name": "type", "value": "", "type": "query" }, { "name": "name", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Remove a team integration that is compatible with Load Generators.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/external-integrations/load-generator", "params": [ { "name": "type", "value": "", "type": "query" }, { "name": "name", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get team integrations that are compatible with Health Checks.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/external-integrations/status-check", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`INTEGRATIONS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Create new team integration that is compatible with Health Checks.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/external-integrations/status-check", "params": [ { "name": "type", "value": "", "type": "query" }, { "name": "observabilityToolType", "value": "", "type": "query" }, { "name": "domain", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Update a team integration that is compatible with Health Checks.", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/external-integrations/status-check", "params": [ { "name": "type", "value": "", "type": "query" }, { "name": "observabilityToolType", "value": "", "type": "query" }, { "name": "domain", "value": "", "type": "query" }, { "name": "name", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Remove a team integration that is compatible with Health Checks.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/external-integrations/status-check", "params": [ { "name": "type", "value": "", "type": "query" }, { "name": "observabilityToolType", "value": "", "type": "query" }, { "name": "domain", "value": "", "type": "query" }, { "name": "name", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "failure-flags.apps", "type": "folder" }, "items": [ { "info": { "name": "Get Application by name.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/failure-flags/apps/:name", "params": [ { "name": "name", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "List Applications by team.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/failure-flags/apps", "params": [ { "name": "onlyWithMetricsEnabled", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Protect Application by name.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/failure-flags/apps/:name/protect", "params": [ { "name": "name", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Unprotect Application by name.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/failure-flags/apps/:name/unprotect", "params": [ { "name": "name", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "failure-flags.experiments", "type": "folder" }, "items": [ { "info": { "name": "List all runs of an Experiment by team and ID.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/failure-flags/experiments/:id/runs", "params": [ { "name": "id", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get all Experiments for a team.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/failure-flags/experiments", "params": [ { "name": "includeScenarios", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Create an Experiment.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/failure-flags/experiments", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`EXPERIMENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get Experiment by ID.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/failure-flags/experiments/:id", "params": [ { "name": "id", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Delete an Experiment by team and ID.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/failure-flags/experiments/:id", "params": [ { "name": "id", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get all active Experiments for a team.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/failure-flags/experiments/active", "params": [ { "name": "pageSize", "value": "20", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "pageToken", "value": "None (returns first page)", "type": "query", "description": "Token corresponding to the last page of team summaries retrieved. Pass the pageToken to get the next page of team summaries" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get all completed Experiments for a team.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/failure-flags/experiments/completed/paged", "params": [ { "name": "pageSize", "value": "20", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "pageToken", "value": "None (returns first page)", "type": "query", "description": "Token corresponding to the last page of team summaries retrieved. Pass the pageToken to get the next page of team summaries" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get details for a single Experiment run by ID and run start time.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/failure-flags/experiments/:id/run/:startTime", "params": [ { "name": "id", "value": "", "type": "path" }, { "name": "startTime", "value": "", "type": "path", "description": "Epoch MS timestamp of the start of the experiment" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Halt an Experiment by team and ID.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/failure-flags/experiments/:id/halt", "params": [ { "name": "id", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`HALT_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Protect an Experiment by team and ID.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/failure-flags/experiments/:id/protect", "params": [ { "name": "id", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Run an Experiment by team and ID.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/failure-flags/experiments/:id/run", "params": [ { "name": "id", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_RUN`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Unprotect an Experiment by team and ID.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/failure-flags/experiments/:id/unprotect", "params": [ { "name": "id", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "failure-flags.flags", "type": "folder" }, "items": [ { "info": { "name": "Get Failure Flag by name.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/failure-flags/flags/:name", "params": [ { "name": "name", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "List Failure Flags by team.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/failure-flags/flags", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Protect Failure Flag by name and team.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/failure-flags/flags/:name/protect", "params": [ { "name": "name", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Unprotect Failure Flag by name and team.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/failure-flags/flags/:name/unprotect", "params": [ { "name": "name", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "gamedays", "type": "folder" }, "items": [ { "info": { "name": "Get all GameDays by team.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/gamedays", "params": [ { "name": "pageSize", "value": "None (unlimited)", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "pageNumber", "value": "1", "type": "query", "description": "Get the specific page of GameDays. Only pageNumber or pageToken accepted along with pageSize" }, { "name": "pageToken", "value": "None (returns first page)", "type": "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" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Create new GameDay plan.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/gamedays", "params": [ { "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": "Upload an image to a given gameday", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.gremlin.com/v1/gamedays/:gameDayId/summary/images/:imageName", "params": [ { "name": "imageName", "value": "", "type": "path" }, { "name": "gameDayId", "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 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)" }, { "info": { "name": "Remove an image associated with a gameday", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/gamedays/:gameDayId/summary/images/:imageName", "params": [ { "name": "imageName", "value": "", "type": "path" }, { "name": "gameDayId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Deletes a specific image associated with a gameday. This does delete the image on the backend so there is *no* recovery\nRequires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Exports GameDay Summary PDF file.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/gamedays/:gameDayId/summary/export", "params": [ { "name": "gameDayId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get GameDay details by id.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/gamedays/:gameDayId", "params": [ { "name": "gameDayId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Updates a GameDay plan.", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.gremlin.com/v1/gamedays/:gameDayId", "params": [ { "name": "gameDayId", "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": "Runs specific Scenario associated with GameDay.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/gamedays/:gameDayId/runs/:scenarioId", "params": [ { "name": "gameDayId", "value": "", "type": "path" }, { "name": "scenarioId", "value": "", "type": "path" }, { "name": "scenarioVersion", "value": "", "type": "query", "description": "Expected version of scenario. If the current version is different this will receive a 418 with the correct version" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Updates a GameDay summary.", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.gremlin.com/v1/gamedays/:gameDayId/summary", "params": [ { "name": "gameDayId", "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": "images", "type": "folder" }, "items": [ { "info": { "name": "retrieve a given image", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/images/:imageName", "params": [ { "name": "imageName", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`IMAGES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "delete a given image", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/images/:imageName", "params": [ { "name": "imageName", "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": "Retrieve a given image for an associated Scenario or Gameday", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/images/:parentId/:imageName", "params": [ { "name": "imageName", "value": "", "type": "path" }, { "name": "parentId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`IMAGES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "google-cloud.integration", "type": "folder" }, "items": [ { "info": { "name": "Returns the configuration details necessary for Gremlin to access GCP resources.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/gcp/integration-setup", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "This endpoint provides the necessary details a customer needs in order to configure their GCP project so that Gremlin can access it.\n\nRequires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "google-cloud.integration.resources", "type": "folder" }, "items": [ { "info": { "name": "all_1", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/gcp/integrations/:integrationId/resources/all", "params": [ { "name": "integrationId", "value": "", "type": "path" }, { "name": "cloudRunRegion", "value": "", "type": "query" }, { "name": "pageToken", "value": "", "type": "query" }, { "name": "pageSize", "value": "", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "listCloudRunResources", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/gcp/integrations/:integrationId/resources/cloud-run", "params": [ { "name": "integrationId", "value": "", "type": "path" }, { "name": "region", "value": "", "type": "query" }, { "name": "pageToken", "value": "", "type": "query" }, { "name": "pageSize", "value": "", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "listComputeResources", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/gcp/integrations/:integrationId/resources/compute", "params": [ { "name": "integrationId", "value": "", "type": "path" }, { "name": "resourceType", "value": "", "type": "query" }, { "name": "pageToken", "value": "", "type": "query" }, { "name": "pageSize", "value": "", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "agents", "type": "folder" }, "items": [ { "info": { "name": "Aggregate summary of infrastructure and failure flag agents", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/agents/summary", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Paginated list of infrastructure and failure flag agents", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/agents", "params": [ { "name": "pageSize", "value": "", "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 agents" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "clients", "type": "folder" }, "items": [ { "info": { "name": "Activate a client.", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/clients/:identifier/activate", "params": [ { "name": "identifier", "value": "", "type": "path", "description": "The identifier of the client to activate" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`CLIENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Return all active clients within a team", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/clients/active", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns all clients within a team.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/clients", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "The identifier of the team for which to retrieve clients" } ] }, "docs": "This operation will return all active, idle, and recently inactive clients.\nRequires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get a client by identifier", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/clients/:identifier", "params": [ { "name": "identifier", "value": "", "type": "path", "description": "The identifier of the client to get" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Deactivate a client", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/clients/:identifier", "params": [ { "name": "identifier", "value": "", "type": "path", "description": "The identifier of the client to revoke" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`CLIENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "integration-clients", "type": "folder" }, "items": [ { "info": { "name": "Activates an integration client.", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/integration-clients/:identifier/activate", "params": [ { "name": "identifier", "value": "", "type": "path", "description": "The identifier of the integration client to modify." }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`CLIENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get all active integration clients.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/integration-clients/active", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`INTEGRATIONS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns all integration clients within a company or team.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/integration-clients", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "This operation will return all active, idle, and recently inactive integration clients.\nRequires the privilege [`INTEGRATIONS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns list of clients which match the given tags", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/integration-clients/matches-tags", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`INTEGRATIONS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Deactivates an integration client.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/integration-clients/:identifier", "params": [ { "name": "identifier", "value": "", "type": "path", "description": "The identifier of the integration client to modify." }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "This operation will deactivate the specified integration client. The specified client will no longer be able to be used as a target.\nRequires the privilege [`CLIENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "integration-invocations", "type": "folder" }, "items": [ { "info": { "name": "Returns recent private network invocations", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/integration-invocations", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "This operation will return a list of matching invocations\nRequires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Creates a webhook invocation based on the endpoint configuration", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/integration-invocations", "params": [ { "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": "Test an endpoint configuration.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/integration-invocations/:invocationId/run-test-endpoint", "params": [ { "name": "invocationId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Test an evaluation configuration.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/integration-invocations/:invocationId/run-test-evaluation", "params": [ { "name": "invocationId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "teams", "type": "folder" }, "items": [ { "info": { "name": "getProfile", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/teams/:teamId/profile", "params": [ { "name": "teamId", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "putProfile", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/teams/:teamId/profile", "params": [ { "name": "teamId", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "getProfilePrompt", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/teams/:teamId/profile/prompt", "params": [ { "name": "teamId", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Generates a kubernetes installation manifest for passing to kubectl", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/teams/kubernetes/install", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`TEAM_SECURITY_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Idempotently updates an existing team.", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.gremlin.com/v1/teams/:identifier", "params": [ { "name": "identifier", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`TEAMS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Idempotently deletes an existing team.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/teams/:identifier", "params": [ { "name": "identifier", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`COMPANIES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Generates a config.yaml file with populated values for authenticating the client", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/teams/client/install", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`TEAM_SECURITY_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Generates a teams-specific values file to be passed to a helm install command", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/teams/helm/install", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`TEAM_SECURITY_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Gets all Teams associated with the current Company.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/teams" }, "docs": "Requires the privilege [`TEAMS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "getByIdOrName", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/teams/:teamIdOrName", "params": [ { "name": "teamIdOrName", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`TEAMS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Gets paged response for teams associated with the current Company. Default page size is 20", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/teams/paged", "params": [ { "name": "pageSize", "value": "20", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "pageToken", "value": "None (returns first page)", "type": "query", "description": "Token corresponding to the last page of teams retrieved. Pass the pageToken to get the next page of teams" } ] }, "docs": "Requires the privilege [`TEAMS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "apikeys", "type": "folder" }, "items": [ { "info": { "name": "Un-Revoke an existing API Key", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/apikeys/:identifier/activate", "params": [ { "name": "identifier", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`API_KEYS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "List all API Keys", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/apikeys" }, "docs": "Requires the privilege [`API_KEYS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Create a new API Key", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/apikeys", "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`API_KEYS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Set a new expiration on key", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/apikeys/:identifier/expiration", "params": [ { "name": "identifier", "value": "", "type": "path" }, { "name": "expiresAt", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`API_KEYS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "List active API Keys", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/apikeys/active" }, "docs": "Requires the privilege [`API_KEYS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "List all API Keys for company", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/apikeys/all-for-company" }, "docs": "Requires the privilege [`ALL_API_KEYS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Revoke an existing API Key", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/apikeys/:identifier", "params": [ { "name": "identifier", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`API_KEYS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "companies", "type": "folder" }, "items": [ { "info": { "name": "Gets all names of configured and detected zones", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/companies/zones" }, "docs": "Get all names of configured zone settings, and all zones detected from agents\nRequires the privilege [`TEST_SUITES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Create a zone", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/companies/zones", "body": { "type": "json", "data": "{}" } }, "docs": "Creates a new zone setting of the company\nRequires the privilege [`TEST_SUITES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Allows a user to create a new Company", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/companies", "body": { "type": "json", "data": "{}" } }, "docs": "User must have been previously invited" }, { "info": { "name": "Returns all aliases for a company", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/companies/:identifier/saml/claim-aliases", "params": [ { "name": "identifier", "value": "", "type": "path" } ] }, "docs": "Returns all aliases for a company, ordered alphabetically\nRequires the privilege [`COMPANY_SAMLCLAIM_ALIAS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Creates a claim alias for the company", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/companies/:identifier/saml/claim-aliases", "params": [ { "name": "identifier", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Creates a claim alias for the company. If a claim alias already exists, it will not be updated.\nRequires the privilege [`COMPANY_SAMLCLAIM_ALIAS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns all users for the supplied company", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/companies/:identifier/users", "params": [ { "name": "identifier", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`COMPANY_USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Create a new user.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/companies/:identifier/users", "params": [ { "name": "identifier", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "User must have been invited." }, { "info": { "name": "Returns an alias for a company", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/companies/:identifier/saml/claim-aliases/:aliasId", "params": [ { "name": "identifier", "value": "", "type": "path" }, { "name": "aliasId", "value": "", "type": "path" } ] }, "docs": "Returns an alias for a company, with the teams and roles ordered alphabetically\nRequires the privilege [`COMPANY_SAMLCLAIM_ALIAS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Updates a claim alias for the company", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/companies/:identifier/saml/claim-aliases/:aliasId", "params": [ { "name": "identifier", "value": "", "type": "path" }, { "name": "aliasId", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Updates a claim alias for the company, creating it if it doesn't already exist\nRequires the privilege [`COMPANY_SAMLCLAIM_ALIAS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Deletes a claim alias for the company", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/companies/:identifier/saml/claim-aliases/:aliasId", "params": [ { "name": "identifier", "value": "", "type": "path" }, { "name": "aliasId", "value": "", "type": "path" } ] }, "docs": "Permanently deletes the specified alias for the company\nRequires the privilege [`COMPANY_SAMLCLAIM_ALIAS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get a zone setting", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/companies/zones/:zoneId", "params": [ { "name": "zoneId", "value": "", "type": "path" } ] }, "docs": "Get the zone setting\nRequires the privilege [`TEST_SUITES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Update a zone", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/companies/zones/:zoneId", "params": [ { "name": "zoneId", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Update a zone setting of the company\nRequires the privilege [`TEST_SUITES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Delete zone setting", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/companies/zones/:zoneId", "params": [ { "name": "zoneId", "value": "", "type": "path" } ] }, "docs": "Deletes the zone setting from the company\nRequires the privilege [`TEST_SUITES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns paginated active users for the supplied company", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/companies/:identifier/users/active/paged", "params": [ { "name": "identifier", "value": "", "type": "path" }, { "name": "pageSize", "value": "None (unlimited)", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "pageToken", "value": "None (returns first page)", "type": "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" } ] }, "docs": "Requires the privilege [`COMPANY_USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns all clients for the supplied company", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/companies/:identifier/clients", "params": [ { "name": "identifier", "value": "", "type": "path" } ] }, "docs": "SUPER users only\nRequires the privilege [`COMPANIES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Gets a Company by its supplied guid", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/companies/:identifier", "params": [ { "name": "identifier", "value": "", "type": "path" }, { "name": "skipTeams", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`COMPANIES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Update the prefs for company", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.gremlin.com/v1/companies/:identifier", "params": [ { "name": "identifier", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "This endpoint will allow you to update the prefs for a company based on its identifier.\nRequires the privilege [`COMPANY_PREFERENCES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns paginated invited users for the supplied company", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/companies/:identifier/users/invited/paged", "params": [ { "name": "identifier", "value": "", "type": "path" }, { "name": "pageSize", "value": "None (unlimited)", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "pageToken", "value": "None (returns first page)", "type": "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" } ] }, "docs": "Requires the privilege [`COMPANY_USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns paginated revoked users for the supplied company", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/companies/:identifier/users/revoked/paged", "params": [ { "name": "identifier", "value": "", "type": "path" }, { "name": "pageSize", "value": "None (unlimited)", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "pageToken", "value": "None (returns first page)", "type": "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" } ] }, "docs": "Requires the privilege [`COMPANY_USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns paginated users for the supplied company", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/companies/:identifier/users/paged", "params": [ { "name": "identifier", "value": "", "type": "path" }, { "name": "pageSize", "value": "None (unlimited)", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "pageToken", "value": "None (returns first page)", "type": "query", "description": "Token corresponding to the last page of company users retrieved. Pass the pageToken to get the next page of company users" } ] }, "docs": "Requires the privilege [`COMPANY_USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Invites the specified email to create a new Company.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/companies/invite", "body": { "type": "json", "data": "{}" } }, "docs": "Invites the specified email to create a new Company." }, { "info": { "name": "Invite one or more users to join your Gremlin company", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/companies/:identifier/invites", "params": [ { "name": "identifier", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "User must exist. This is primarily used to reactivate a deactivated user.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/companies/:identifier/users/:email/active", "params": [ { "name": "identifier", "value": "", "type": "path" }, { "name": "email", "value": "", "type": "path" } ] }, "docs": "Activates a user.\nRequires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Deactivates a user.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/companies/:identifier/users/:email/active", "params": [ { "name": "identifier", "value": "", "type": "path" }, { "name": "email", "value": "", "type": "path" } ] }, "docs": "Once deactivated, user will not be able to do anything on company\nRequires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Revoke a pending user invite.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/companies/:identifier/invites/:email", "params": [ { "name": "identifier", "value": "", "type": "path" }, { "name": "email", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Update roles of existing user.", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/companies/:identifier/users/:email", "params": [ { "name": "identifier", "value": "", "type": "path" }, { "name": "email", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "User must exist.\nRequires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Allows an invited user to create a new Company for a trial.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/companies/trial", "body": { "type": "form-urlencoded", "data": [ { "name": "name", "value": "" }, { "name": "code", "value": "" }, { "name": "adminEmail", "value": "" }, { "name": "adminPassword", "value": "" }, { "name": "allowUsStorage", "value": "" } ] } }, "docs": "User must have been previously invited" }, { "info": { "name": "Updates the authentication preferences associated with this Company.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/companies/:identifier/auth/prefs", "params": [ { "name": "identifier", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`COMPANY_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Updates the MFA preferences associated with this Company.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/companies/:identifier/mfaPrefs", "params": [ { "name": "identifier", "value": "", "type": "path" } ], "body": { "type": "form-urlencoded", "data": [ { "name": "forceMfa", "value": "" } ] } }, "docs": "Requires the privilege [`COMPANY_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Updates the OAuth settings for this Company.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/companies/:identifier/oauth/settings", "params": [ { "name": "identifier", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`COMPANY_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Updates the preferences associated with this Company.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/companies/:identifier/prefs", "params": [ { "name": "identifier", "value": "", "type": "path" } ], "body": { "type": "form-urlencoded", "data": [ { "name": "domain", "value": "" } ] } }, "docs": "SUPER users only\nRequires the privilege [`COMPANY_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Updates the preferences associated with this Company.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/companies/:identifier/saml/props", "params": [ { "name": "identifier", "value": "", "type": "path" } ], "body": { "type": "form-urlencoded", "data": [ { "name": "enabled", "value": "" }, { "name": "entityId", "value": "" }, { "name": "idpUrl", "value": "" }, { "name": "certificate", "value": "" }, { "name": "forced", "value": "" }, { "name": "claimsForced", "value": "" } ] } }, "docs": "SUPER users only\nRequires the privilege [`COMPANY_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "userApiKeyRevoke", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/companies/:identifier/users/:email/api-key/:api-key-id", "params": [ { "name": "identifier", "value": "", "type": "path" }, { "name": "email", "value": "", "type": "path" }, { "name": "api-key-id", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "orgs", "type": "folder" }, "items": [ { "info": { "name": "Gets the secret key and certificate for this org in PEM format (zipped).", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/orgs/auth/certificate", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`TEAM_SECURITY_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Rolls over to use a new certificate. The current certificate will be saved and still valid for authentication, providing a transition period.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/orgs/auth/certificate", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "SUPER users only\nRequires the privilege [`TEAM_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Deletes the current credentials and generates new. For use when the current credentials are compromised.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/orgs/auth/certificate", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "SUPER users only\nRequires the privilege [`TEAM_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get all Teams.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/orgs", "params": [ { "name": "prefs", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`TEAMS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Creates a new org with provided name.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/orgs", "params": [ { "name": "addUser", "value": "", "type": "query" } ], "body": { "type": "form-urlencoded", "data": [ { "name": "name", "value": "" } ] } }, "docs": "Requires the privilege [`COMPANIES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get the specified Team.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/orgs/:identifier", "params": [ { "name": "identifier", "value": "", "type": "path" }, { "name": "prefs", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`TEAMS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "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.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/orgs/auth/certificate/old", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "SUPER users only\nRequires the privilege [`TEAM_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Resets the secret for this Team.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/orgs/auth/secret/reset", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "form-urlencoded", "data": [ { "name": "identifier", "value": "" } ] } }, "docs": "SUPER users only\nRequires the privilege [`TEAM_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "reports", "type": "folder" }, "items": [ { "info": { "name": "Loads the Attacks Summary for the specified time period.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/attacks", "params": [ { "name": "teamId", "value": "2026-05-01", "type": "query", "description": "team identifier associated with the requester's team" }, { "name": "start", "value": "2026-05-01", "type": "query" }, { "name": "end", "value": "", "type": "query" }, { "name": "period", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Loads the Client Summary for the specified time period.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/clients", "params": [ { "name": "teamId", "value": "2026-05-01", "type": "query", "description": "team identifier associated with the requester's team" }, { "name": "start", "value": "2026-05-01", "type": "query" }, { "name": "end", "value": "", "type": "query" }, { "name": "period", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Loads the Company Summary for the specified month.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/companies", "params": [ { "name": "startDate", "value": "2026-05-01", "type": "query" }, { "name": "endDate", "value": "2026-05-01", "type": "query" } ] }, "docs": "Requires the privilege [`REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Loads the Company Summary PDF for the specified time frame.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/companies/pdf", "params": [ { "name": "startDate", "value": "2026-05-01", "type": "query" }, { "name": "endDate", "value": "2026-05-01", "type": "query" }, { "name": "numberOfDataPoints", "value": "", "type": "query" }, { "name": "topN", "value": "", "type": "query" }, { "name": "filter", "value": "", "type": "query" }, { "name": "groupBy", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Loads the Company Reliability Management Report for the specified time window defaulting to a week.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/companies/reliability-management", "params": [ { "name": "startDate", "value": "2026-05-01", "type": "query" }, { "name": "endDate", "value": "2026-05-01", "type": "query" }, { "name": "topN", "value": "", "type": "query" }, { "name": "includeDailyReport", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Loads the company service list and reliability trend for each service for the specified time window defaulting to a month.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/companies/reliability-management/services", "params": [ { "name": "startDate", "value": "2026-05-01", "type": "query" }, { "name": "endDate", "value": "2026-05-01", "type": "query" }, { "name": "numberOfDataPoints", "value": "", "type": "query" }, { "name": "topN", "value": "", "type": "query" }, { "name": "filter", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Loads the Company Reliability Management Report grouped by query param value of groupBy - defaults to TEAM.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/companies/reliability-management/grouped", "params": [ { "name": "groupBy", "value": "", "type": "query" }, { "name": "numberOfDataPoints", "value": "", "type": "query" }, { "name": "filter", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns the Risk and Score trends for your company across all associated services", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/companies/trends", "params": [ { "name": "startDate", "value": "2026-05-01", "type": "query" }, { "name": "endDate", "value": "2026-05-01", "type": "query" }, { "name": "numberOfDataPoints", "value": "", "type": "query" }, { "name": "filter", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns the trend of risks across all services for a given team", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/team/detected-risk/trend", "params": [ { "name": "teamId", "value": "", "type": "query" }, { "name": "startDate", "value": "2026-05-01", "type": "query" }, { "name": "endDate", "value": "2026-05-01", "type": "query" }, { "name": "numberOfDataPoints", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "getReliabilityReportForTeam", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/team/reliability-report", "params": [ { "name": "teamId", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Loads the team reliability report PDF for the specified time frame.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/team/reliability-report/pdf", "params": [ { "name": "teamId", "value": "", "type": "query" }, { "name": "startDate", "value": "2026-05-01", "type": "query" }, { "name": "endDate", "value": "2026-05-01", "type": "query" }, { "name": "numberOfDataPoints", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "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", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/services/reliability-management/reliability-report-trend", "params": [ { "name": "startDate", "value": "2026-05-01", "type": "query" }, { "name": "endDate", "value": "2026-05-01", "type": "query" }, { "name": "numberOfDataPoints", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Loads the Reliability report trend for the service for the specified time period defaulting to 1 months and 4 data points", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/services/:serviceId/reliability-management/reliability-report-trend", "params": [ { "name": "serviceId", "value": "", "type": "path" }, { "name": "startDate", "value": "2026-05-01", "type": "query" }, { "name": "endDate", "value": "2026-05-01", "type": "query" }, { "name": "numberOfDataPoints", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns the trend of Reliability Scores across all services for a given team", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/team/reliability-report/trend", "params": [ { "name": "teamId", "value": "", "type": "query" }, { "name": "startDate", "value": "2026-05-01", "type": "query" }, { "name": "endDate", "value": "2026-05-01", "type": "query" }, { "name": "numberOfDataPoints", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Loads latest risk evaluation for each eligible service for the team", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/team/detected-risks-report", "params": [ { "name": "teamId", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Loads the team risk report PDF for the specified time frame.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/team/detected-risks-report/pdf", "params": [ { "name": "teamId", "value": "", "type": "query" }, { "name": "startDate", "value": "2026-05-01", "type": "query" }, { "name": "endDate", "value": "2026-05-01", "type": "query" }, { "name": "numberOfDataPoints", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns the trend of Reliability Scores across all services for a given team", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/team/trends", "params": [ { "name": "teamId", "value": "", "type": "query" }, { "name": "startDate", "value": "2026-05-01", "type": "query" }, { "name": "endDate", "value": "2026-05-01", "type": "query" }, { "name": "numberOfDataPoints", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`RELIABILITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Loads the pricing usage for the specified dates and tracking period.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/pricing", "params": [ { "name": "startDate", "value": "2026-05-01", "type": "query", "description": "Start date (yyyy-mm-dd) for the pricing usage. Should be within the current contract duration" }, { "name": "endDate", "value": "2026-05-01", "type": "query", "description": "End date (yyyy-mm-dd) for the pricing usage. Should be within the current contract duration" }, { "name": "trackingPeriod", "value": "", "type": "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" } ] }, "docs": "Requires the privilege [`REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "This functionality has moved to GET /reports/teams/paged.Loads the Team Summary for the specified month.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/teams", "params": [ { "name": "startDate", "value": "2026-05-01", "type": "query" }, { "name": "endDate", "value": "2026-05-01", "type": "query" }, { "name": "teamId", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Loads the Team Summary for the specified month.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/teams/paged", "params": [ { "name": "startDate", "value": "2026-05-01", "type": "query" }, { "name": "endDate", "value": "2026-05-01", "type": "query" }, { "name": "pageSize", "value": "20", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "pageToken", "value": "None (returns first page)", "type": "query", "description": "Token corresponding to the last page of team summaries retrieved. Pass the pageToken to get the next page of team summaries" } ] }, "docs": "Requires the privilege [`REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Loads the User Summary for the specified time period.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/users", "params": [ { "name": "teamId", "value": "2026-05-01", "type": "query", "description": "team identifier associated with the requester's team" }, { "name": "start", "value": "2026-05-01", "type": "query" }, { "name": "end", "value": "", "type": "query" }, { "name": "period", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "reports.security", "type": "folder" }, "items": [ { "info": { "name": "Loads the Access Summary for the specified company in the time period requested (max: 1 hour). Returned in JSON format", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/security/access", "params": [ { "name": "start", "value": "", "type": "query", "description": "Start time in format 'yyyy-mm-ddThh:mm:ss.sssZ'" }, { "name": "end", "value": "", "type": "query", "description": "End time in format 'yyyy-mm-ddThh:mm:ss.sssZ'" } ] }, "docs": "COMPANY_OWNER and COMPANY_ADMIN users only\nRequires the privilege [`SECURITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "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", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reports/security/event", "params": [ { "name": "start", "value": "", "type": "query", "description": "Start time in format 'yyyy-mm-ddThh:mm:ss.sssZ'" }, { "name": "end", "value": "", "type": "query", "description": "End time in format 'yyyy-mm-ddThh:mm:ss.sssZ'" } ] }, "docs": "COMPANY_OWNER and COMPANY_ADMIN users only\nRequires the privilege [`SECURITY_REPORTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "notification-settings", "type": "folder" }, "items": [ { "info": { "name": "Returns a team's notification settings", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/notification-settings" }, "docs": "This operation will return a team's notification settings.\nRequires the privilege [`TEAMS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Updates a team's notification settings", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.gremlin.com/v1/notification-settings", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "This operation will update a team's notification settings.\nRequires the privilege [`TEAMS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "users", "type": "folder" }, "items": [ { "info": { "name": "Get all active users.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/users/active", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get all active users paginated.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/users/active/paged", "params": [ { "name": "pageSize", "value": "None (unlimited)", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "pageToken", "value": "None (returns first page)", "type": "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" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get all users.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/users", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Add an existing user to the target team", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/users", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "User must belong to this teams company\nRequires the privilege [`USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get all users paginated.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/users/paged", "params": [ { "name": "pageSize", "value": "None (unlimited)", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "pageToken", "value": "None (returns first page)", "type": "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" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get information about the authenticated user", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/users/self" }, "docs": "Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Update an existing users info.", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.gremlin.com/v1/users/self", "body": { "type": "json", "data": "{}" } }, "docs": "User must exist.\nRequires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Invite a user.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/users/invite", "body": { "type": "form-urlencoded", "data": [ { "name": "email", "value": "" }, { "name": "source_detail", "value": "" } ] } }, "docs": "Requires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Renew authorization.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/users/renew/rbac", "body": { "type": "form-urlencoded", "data": [ { "name": "email", "value": "" }, { "name": "companyId", "value": "" }, { "name": "teamId", "value": "" }, { "name": "renewToken", "value": "" } ] } }, "docs": "Renew authorization." }, { "info": { "name": "Update an existing user.", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/users/:email", "params": [ { "name": "email", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "form-urlencoded", "data": [ { "name": "role", "value": "" } ] } }, "docs": "User must exist.\nRequires the privilege [`USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Deactivate a user.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/users/:email", "params": [ { "name": "email", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns the updated user sessions list for the currently authenticated user.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/users/sessions", "params": [ { "name": "getCompanySession", "value": "", "type": "query" } ] }, "docs": "Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Revoke a pending user invite.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/users/invite/:email", "params": [ { "name": "email", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "disaster-recovery-test-reports", "type": "folder" }, "items": [ { "info": { "name": "Gets a disaster recovery test report", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/disaster-recovery-test-reports/:identifier", "params": [ { "name": "identifier", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`DISASTER_RECOVERY_TESTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Gets a disaster recovery test report as PDF", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/disaster-recovery-test-reports/:identifier/pdf", "params": [ { "name": "identifier", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`DISASTER_RECOVERY_TESTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Gets a page of disaster recovery test reports", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/disaster-recovery-test-reports", "params": [ { "name": "pageToken", "value": "", "type": "query" }, { "name": "pageSize", "value": "", "type": "query", "description": "This value determines how many results will be returned per call." } ] }, "docs": "Requires the privilege [`DISASTER_RECOVERY_TESTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "disaster-recovery-tests", "type": "folder" }, "items": [ { "info": { "name": "Marks a disaster recovery test for a company as completed, generating a report", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/disaster-recovery-tests/:identifier/complete", "params": [ { "name": "identifier", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`DISASTER_RECOVERY_TESTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Creates a disaster recovery test for a company", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/disaster-recovery-tests", "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`DISASTER_RECOVERY_TESTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Gets a disaster recovery test, complete with service details", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/disaster-recovery-tests/:identifier", "params": [ { "name": "identifier", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`DISASTER_RECOVERY_TESTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Updates a disaster recovery test for a company", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/disaster-recovery-tests/:identifier", "params": [ { "name": "identifier", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`DISASTER_RECOVERY_TESTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Submits a task to delete a disaster recovery test for a company", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/disaster-recovery-tests/:identifier", "params": [ { "name": "identifier", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`DISASTER_RECOVERY_TESTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Gets all active disaster recovery tests for a company", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/disaster-recovery-tests/active" }, "docs": "Requires the privilege [`DISASTER_RECOVERY_TESTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Gets all draft disaster recovery tests for a company", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/disaster-recovery-tests/draft" }, "docs": "Requires the privilege [`DISASTER_RECOVERY_TESTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Halts all active scenario runs for all services for the disaster recovery test", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/disaster-recovery-tests/:identifier/halt-all", "params": [ { "name": "identifier", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`DISASTER_RECOVERY_TESTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Creates scenario runs for all eligible services for the disaster recovery test", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/disaster-recovery-tests/:identifier/run-all", "params": [ { "name": "identifier", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`DISASTER_RECOVERY_TESTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Creates a scenario run for the specified service as part of the disaster recovery test", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/disaster-recovery-tests/:identifier/run", "params": [ { "name": "identifier", "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": "metrics", "type": "folder" }, "items": [ { "info": { "name": "Get metrics for an attack", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/metrics/attacks/:attackId", "params": [ { "name": "attackId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "This endpoint will allow you to get metrics for a specific attack based on its guid.\nRequires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get metrics for a scenario run", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/metrics/scenarios/:scenarioId/runs/:scenarioRunNumber", "params": [ { "name": "scenarioId", "value": "", "type": "path" }, { "name": "scenarioRunNumber", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "This endpoint will allow you to get metrics for a specific scenario run based on its scenario guid and run number.\nRequires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "reliability-report", "type": "folder" }, "items": [ { "info": { "name": "Get the reliability report for a specified service.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/policies/:serviceId/reliability-report", "params": [ { "name": "serviceId", "value": "11111111-1111-1111-111111111111", "type": "path", "description": "The serviceId within the requested team" }, { "name": "date", "value": "2026-05-01", "type": "query", "description": "The date for the report" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "reliability-management", "type": "folder" }, "items": [ { "info": { "name": "Loads the service details and score", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reliability-management/services/:serviceId", "params": [ { "name": "serviceId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "test-suites", "type": "folder" }, "items": [ { "info": { "name": "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", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/test-suites", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`TEST_SUITES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Creates a reliability test suite", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/test-suites", "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`TEST_SUITES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Gets a reliability test suite", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/test-suites/:testSuiteId", "params": [ { "name": "testSuiteId", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`TEST_SUITES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Updates a reliability test suite", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.gremlin.com/v1/test-suites/:testSuiteId", "params": [ { "name": "testSuiteId", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`TEST_SUITES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Delete a Test Suite.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/test-suites/:testSuiteId", "params": [ { "name": "testSuiteId", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`TEST_SUITES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Retrieve the default list of available risks to add to a given TestSuite", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/test-suites/detected-risks" }, "docs": "Requires the privilege [`TEST_SUITES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "reliability-tests", "type": "folder" }, "items": [ { "info": { "name": "Get active reliability tests.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reliability-tests/active", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get all reliability test runs ordered by createdDate desc.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reliability-tests/runs", "params": [ { "name": "serviceId", "value": "", "type": "query", "description": "serviceId for which to look for runs" }, { "name": "pageSize", "value": "None (unlimited)", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get all reliability test runs for a reliabilityTest ordered by createdDate desc.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reliability-tests/:reliabilityTestId/runs", "params": [ { "name": "reliabilityTestId", "value": "", "type": "path" }, { "name": "serviceId", "value": "", "type": "query", "description": "serviceId for which to look for runs" }, { "name": "dependencyId", "value": "", "type": "query", "description": "dependency for which to look for runs" }, { "name": "failureFlagName", "value": "", "type": "query", "description": "failureFlagName for which to look for runs" }, { "name": "pageSize", "value": "None (unlimited)", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Run a reliability test for a service.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/reliability-tests/:reliabilityTestId/runs", "params": [ { "name": "reliabilityTestId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`SERVICES_RUN`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get all reliability tests.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reliability-tests", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get all notifications for a team", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reliability-tests/notifications", "params": [ { "name": "sinceDays", "value": "7", "type": "query", "description": "Notifications since days" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get a team's active reliability tests in descending order by start time.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reliability-tests/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 reliability test runs" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get a team's completed reliability test runs ordered by start time desc.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reliability-tests/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 [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get pending reliability test runs for service, ordered by expected trigger time via schedule or Run All.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reliability-tests/next-runs", "params": [ { "name": "serviceId", "value": "", "type": "query", "description": "serviceId for which to look for runs" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get recently completed reliability test runs ordered by endDate desc. for a service", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reliability-tests/recent-runs", "params": [ { "name": "serviceId", "value": "", "type": "query", "description": "serviceId for which to look for runs" }, { "name": "pageSize", "value": "None (defaults to 1000)", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get a single company-scoped reliability test.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reliability-tests/:reliabilityTestId", "params": [ { "name": "reliabilityTestId", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`TEST_SUITES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Takes a given scenario and transforms it for turning into a reliability test", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/reliability-tests/preview", "params": [ { "name": "scenarioType", "value": "", "type": "query" }, { "name": "scenarioId", "value": "", "type": "query" }, { "name": "policyCategory", "value": "", "type": "query" } ] }, "docs": "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\nRequires the privilege [`TEST_SUITES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "scenarios.recommended", "type": "folder" }, "items": [ { "info": { "name": "List all recommended scenarios.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/scenarios/recommended", "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 details about a recommended scenario.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/scenarios/recommended/: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": "Get details about a recommended scenario.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/scenarios/recommended/static/:staticEndpointName", "params": [ { "name": "staticEndpointName", "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": "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)" } ] }, { "info": { "name": "health checks", "type": "folder" }, "items": [ { "info": { "name": "Retrieve status checks by Id (or all if the query param is empty)", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/status-checks", "params": [ { "name": "statusCheckIds", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Creates a new Status Check", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/status-checks", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "retrieve a status check by id", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/status-checks/:identifier", "params": [ { "name": "identifier", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Update a given status check", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/status-checks/:identifier", "params": [ { "name": "identifier", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Delete a given statuscheck by id", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/status-checks/:identifier", "params": [ { "name": "identifier", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Test a status check endpoint configuration.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/status-checks/:runTestEndpoint", "params": [ { "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": "Test a status check evaluation configuration.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/status-checks/:runTestEvaluation", "params": [ { "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": "Update a given status check tags", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/status-checks/:identifier/tags", "params": [ { "name": "identifier", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "schedules", "type": "folder" }, "items": [ { "info": { "name": "Get all active experiment schedules. This functionality has moved to GET /schedules/attacks/paged.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/schedules/attacks", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Create an attack schedule.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/schedules/attacks", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`EXPERIMENTS_RUN`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "This functionality has moved to POST /schedules/attacks.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/schedules", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`EXPERIMENTS_RUN`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get all scenario schedules. This functionality has moved to GET /schedules/scenarios/paged.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/schedules/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 scenario schedule.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/schedules/scenarios", "params": [ { "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": "Get an attack schedule.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/schedules/attacks/: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 [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Delete an attack schedule.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/schedules/attacks/: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 [`HALT_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "This functionality has moved to GET /schedules/attacks/{guid}.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/schedules/: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 [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "This functionality has moved to DELETE /schedules/attacks/{guid}", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/schedules/: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 [`HALT_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Get a scenario schedule.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/schedules/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 schedule.", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/schedules/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 schedule.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/schedules/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": "Enable a scenario schedule.", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/schedules/scenarios/:guid/enabled", "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": "Disable a scenario schedule.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/schedules/scenarios/:guid/enabled", "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 moved to GET /schedules/attacks.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/schedules/active", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Paginated endpoint for listing a team's experiment schedules ordered by trigger time.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/schedules/attacks/paged", "params": [ { "name": "pageSize", "value": "None (unlimited)", "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 experiment schedules" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Paginated endpoint for listing a team's scenario schedules ordered by trigger time.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/schedules/scenarios/paged", "params": [ { "name": "pageSize", "value": "None (unlimited)", "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 scenario schedules" }, { "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": "Paginated endpoint for listing a team's service schedules ordered by trigger time.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/schedules/services/paged", "params": [ { "name": "pageSize", "value": "None (unlimited)", "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 service schedules" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "containers", "type": "folder" }, "items": [ { "info": { "name": "Get all active containers.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/containers", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "services", "type": "folder" }, "items": [ { "info": { "name": "getMetrics", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/services/:serviceId/metrics/:awsResource", "params": [ { "name": "serviceId", "value": "", "type": "path" }, { "name": "awsResource", "value": "", "type": "path" }, { "name": "startTime", "value": "", "type": "query" }, { "name": "endTime", "value": "", "type": "query" }, { "name": "statusCheck", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Paginated endpoint for listing active dependencies for a given service", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/services/:serviceId/dependencies", "params": [ { "name": "serviceId", "value": "", "type": "path" }, { "name": "pageSize", "value": "None (unlimited)", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "pageToken", "value": "None (returns first page)", "type": "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" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Manually define a new dependency for a given Service", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/services/:serviceId/dependencies", "params": [ { "name": "serviceId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "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.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/services/:serviceId/dependencies/discovered", "params": [ { "name": "serviceId", "value": "", "type": "path" }, { "name": "confirm", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Paginated endpoint for listing ignored dependencies for a given service", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/services/:serviceId/dependencies/ignored", "params": [ { "name": "serviceId", "value": "", "type": "path" }, { "name": "pageSize", "value": "None (unlimited)", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "pageToken", "value": "None (returns first page)", "type": "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" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Delete all dependencies that are marked ignored", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/services/:serviceId/dependencies/ignored", "params": [ { "name": "serviceId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "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.", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.gremlin.com/v1/services/:serviceId/dependencies/:dependencyId", "params": [ { "name": "serviceId", "value": "", "type": "path" }, { "name": "dependencyId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Mark a dependency as ignored, removing it from the list of active dependencies and reliability score.", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/services/:serviceId/dependencies/:dependencyId", "params": [ { "name": "serviceId", "value": "", "type": "path" }, { "name": "dependencyId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Delete a dependency that is marked as ignored", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/services/:serviceId/dependencies/ignored/:dependencyId", "params": [ { "name": "serviceId", "value": "", "type": "path" }, { "name": "dependencyId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "renameDependency", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/services/:serviceId/dependencies/:dependencyId/name", "params": [ { "name": "serviceId", "value": "", "type": "path" }, { "name": "dependencyId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Paginated endpoint for fetching services for a given team", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/services", "params": [ { "name": "pageSize", "value": "None (unlimited)", "type": "query", "description": "This value determines how many results will be returned per call." }, { "name": "pageToken", "value": "None (returns first page)", "type": "query", "description": "Token corresponding to the last page of customer services retrieved. Pass the pageToken to get the next page of customer services" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Create a service", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/services", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Bulk add a given Status Check to all services", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.gremlin.com/v1/services", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Bulk create services based on AWS Load balancers", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/services/bulk-create-with-load-balancers", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Bulk delete services", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/services/bulk-delete", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Retrieves clients for a potential service definition", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/services/service-creation-readiness/clients", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Retrieve a service by id", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/services/:serviceId", "params": [ { "name": "serviceId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Update a service, editing some fields", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.gremlin.com/v1/services/:serviceId", "params": [ { "name": "serviceId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Permanently delete a service", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/services/:serviceId", "params": [ { "name": "serviceId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Paginated endpoint for fetching services for a given company", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/services/all-for-company", "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": "Token corresponding to the last page of customer services retrieved. Pass the pageToken to get the next page of customer services" } ] }, "docs": "Requires the privilege [`DISASTER_RECOVERY_TESTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Load risk evaluations for service. Re-evaluate risks if service has been deployed since the last evaluation.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/services/:id/risk-summary", "params": [ { "name": "id", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "getServiceCreationReadiness", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/services/service-creation-readiness/:targetType", "params": [ { "name": "targetType", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Retrieve a service's score in plain/text", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/services/:serviceId/score", "params": [ { "name": "serviceId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Fetch Status Checks associated with a given service", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/services/:serviceId/status-checks", "params": [ { "name": "serviceId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Run RM tests for a given service", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/services/:serviceId/baseline", "params": [ { "name": "serviceId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "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)" } ] }, { "info": { "name": "kubernetes.targets", "type": "folder" }, "items": [ { "info": { "name": "List all targetable kubernetes object types", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/kubernetes/targets/kinds", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "List all attackable targets", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/kubernetes/targets", "params": [ { "name": "clientId", "value": "", "type": "query" }, { "name": "serviceId", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "List all attackable targets that match the given label selector", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/kubernetes/targets/by-selector", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "providers", "type": "folder" }, "items": [ { "info": { "name": "Returns the list of supported AWS services.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/providers/aws" }, "docs": "Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns the list of supported services for all Providers", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/providers/all" }, "docs": "Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns the list of supported services for a given Provider", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/providers/:provider", "params": [ { "name": "provider", "value": "", "type": "path" } ] }, "docs": "Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Returns a list of supported infrastructure providers.", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/providers" }, "docs": "Currently supports 'aws'\nRequires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "service-overview", "type": "folder" }, "items": [ { "info": { "name": "Fetch active FaultInjection for Service", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/service-overview/:serviceId/active", "params": [ { "name": "serviceId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`SERVICES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "sharedAssets", "type": "folder" }, "items": [ { "info": { "name": "Approves a sharing request to a resource you own", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/sharedAssets/requests/:requestId/approve", "params": [ { "name": "requestId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "The {requestId} parameter _must_ be urlencoded\nRequires the privilege [`CLIENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Approves a sharing request to a resource you own", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/sharedAssets/requests/approve", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`CLIENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Deletes a sharing request your team has made to an asset you don't control", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/sharedAssets/requests/delete", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Deletes an existing request for Access", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/sharedAssets/requests/:requestId", "params": [ { "name": "requestId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "The {requestId} parameter _must_ be urlencoded\nRequires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Denies or Revokes a sharing request to a resource you own", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/sharedAssets/requests/:requestId/deny", "params": [ { "name": "requestId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "The {requestId} parameter _must_ be urlencoded\nRequires the privilege [`CLIENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Denies or Revokes a sharing request to a resource you own", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/sharedAssets/requests/deny", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`CLIENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "List assets currently shared with your team", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/sharedAssets/withMe", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "List available assets for sharing and all incoming and outgoing requests", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/sharedAssets", "params": [ { "name": "assetId", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "List my requests for assets to be shared with my team", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/sharedAssets/requests", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Request access to a given asset", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/sharedAssets/requests", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "List other team's requests to my team for sharing assets my team controls", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/sharedAssets/requests/toMe", "params": [ { "name": "assetId", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Deletes an existing request for Access", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/sharedAssets/requests/:requestId/delete", "params": [ { "name": "requestId", "value": "", "type": "path" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "The {requestId} parameter _must_ be urlencoded\nRequires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Request access to a given asset owned by another team", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/sharedAssets/:owningTeam/:assetId", "params": [ { "name": "owningTeam", "value": "", "type": "path" }, { "name": "assetId", "value": "", "type": "path" }, { "name": "namespace", "value": "", "type": "query" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`CLIENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "load-generators", "type": "folder" }, "items": [ { "info": { "name": "Create Load Generator", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/load-generator", "params": [ { "name": "serviceId", "value": "", "type": "query", "description": "Filter LoadGenerator by service id" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`WEBHOOKS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Retrieve Load Generator by id", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/load-generator/:guid", "params": [ { "name": "guid", "value": "", "type": "path", "description": "This value represents the globally unique identifier of the record to fetch." }, { "name": "serviceId", "value": "", "type": "query", "description": "Filter LoadGenerator by service id" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`WEBHOOKS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Update a given Load Generator", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/load-generator/:guid", "params": [ { "name": "guid", "value": "", "type": "path", "description": "This value represents the globally unique identifier of the record to fetch." }, { "name": "serviceId", "value": "", "type": "query", "description": "Filter LoadGenerator by service id" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`WEBHOOKS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Delete a given LoadGenerator", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/load-generator/:guid", "params": [ { "name": "guid", "value": "", "type": "path", "description": "This value represents the globally unique identifier of the record to fetch." }, { "name": "serviceId", "value": "", "type": "query", "description": "Filter LoadGenerator by service id" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`WEBHOOKS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] }, { "info": { "name": "webhooks", "type": "folder" }, "items": [ { "info": { "name": "getWebhooks", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/webhooks", "params": [ { "name": "state", "value": "", "type": "query", "description": "Filter webhooks by state" }, { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ] }, "docs": "Requires the privilege [`WEBHOOKS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Create a webhook", "type": "http" }, "http": { "method": "POST", "url": "https://api.gremlin.com/v1/webhooks", "params": [ { "name": "teamId", "value": "", "type": "query", "description": "Required when using company session token." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Requires the privilege [`WEBHOOKS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Retrieve webhook by id", "type": "http" }, "http": { "method": "GET", "url": "https://api.gremlin.com/v1/webhooks/: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 [`WEBHOOKS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Update a webhook by id", "type": "http" }, "http": { "method": "PUT", "url": "https://api.gremlin.com/v1/webhooks/: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 [`WEBHOOKS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" }, { "info": { "name": "Delete a Webhook", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.gremlin.com/v1/webhooks/: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 [`WEBHOOKS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)" } ] } ], "bundled": true }