{
  "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
}