{ "opencollection": "1.0.0", "info": { "name": "Gremlin agents services API", "version": "1.0" }, "items": [ { "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)" } ] } ], "bundled": true }