Skip to main content
Glama

Rootly MCP server

Official
swagger.json2.05 MB
{"openapi":"3.0.1","info":{"title":"Rootly API v1","version":"v1","description":"# How to generate an API Key?\n- **Organization dropdown** > **Organization Settings** > **API Keys**\n\n# JSON:API Specification\nRootly is using **JSON:API** (https://jsonapi.org) specification:\n- JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests.\n- JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability.\n- JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data.\n\n# Authentication and Requests\nWe use standard HTTP Authentication over HTTPS to authorize your requests.\n```\n curl --request GET \\\n--header 'Content-Type: application/vnd.api+json' \\\n--header 'Authorization: Bearer YOUR-TOKEN' \\\n--url https://api.rootly.com/v1/incidents\n```\n\n<br/>\n\n# Rate limiting\n- There is a default limit of approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments.\n- There is a default limit of approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments.\n- The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event.\n- Additional headers will be returned giving you information about the limit:\n - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make.\n - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window.\n - **RateLimit-Reset** - The time at which the current rate limit window resets in UTC epoch seconds.\n\n# Pagination\n- Pagination is supported for all endpoints that return a collection of items.\n- Pagination is controlled by the **page** query parameter\n\n## Example\n```\n curl --request GET \\\n--header 'Content-Type: application/vnd.api+json' \\\n--header 'Authorization: Bearer YOUR-TOKEN' \\\n--url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10\n```\n\n","x-logo":{"url":"https://rootly-heroku.s3.us-east-1.amazonaws.com/swagger/v1/logo.png","alt":"Rootly"}},"paths":{"/v1/alerts/{alert_id}/events":{"parameters":[{"name":"alert_id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"List alert events","security":[{"bearer_auth":[]}],"tags":["AlertEvents"],"description":"List alert_events","operationId":"listAlertEvents","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[kind]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[action]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/alert_event_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/alerts/%7Balert_id%7D/events?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Baction%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alerts/%7Balert_id%7D/events?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Baction%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alerts/%7Balert_id%7D/events?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Baction%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alerts/%7Balert_id%7D/events?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Baction%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/alert_events/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieve alert event","security":[{"bearer_auth":[]}],"tags":["AlertEvents"],"description":"Retrieves a specific alert_event by id","operationId":"getAlertEvent","responses":{"200":{"description":"alert_event found","content":{"application/vnd.api+json":{"example":{"data":{"id":"cb839eec-4151-402d-81be-118f17b9e274","type":"alert_events","attributes":{"kind":"informational","source":"web","action":"created","details":null,"user":null,"incident":null,"schedule":null,"escalation_level":null,"escalation_target_type":null,"escalation_target":null,"slack_channel":null,"incident_ids":[],"created_at":"2025-03-17T17:01:53.422-07:00","updated_at":"2025-03-17T17:01:53.422-07:00"}}},"schema":{"$ref":"#/components/schemas/alert_event_response"}}}},"404":{"description":"alert_event not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/alert_events/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alert_events/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alert_events/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alert_events/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/alert_groups":{"post":{"summary":"Creates an alert group","security":[{"bearer_auth":[]}],"tags":["AlertGroups"],"description":"Creates a new alert group","operationId":"createAlertGroup","parameters":[],"responses":{"201":{"description":"alert group created","content":{"application/vnd.api+json":{"example":{"data":{"id":"445b785e-bf79-4c7e-91dc-4dfc380a1580","type":"alert_groups","attributes":{"name":"Test alert group","slug":"test-alert-group","description":null,"time_window":10,"condition_type":"any","group_by_alert_title":false,"group_by_alert_urgency":false,"deleted_at":null,"created_at":"2025-03-17T17:01:56.738-07:00","updated_at":"2025-03-17T17:01:56.738-07:00","targets":[{"id":"d03420b3-01df-48ce-a403-7d0cc864a79d","target_type":"Service","target_id":"50c97db2-b45e-4e9e-989e-36fd387f9e91","alert_group_id":"445b785e-bf79-4c7e-91dc-4dfc380a1580","deleted_at":null,"created_at":"2025-03-17T17:01:56.739-07:00","updated_at":"2025-03-17T17:01:56.739-07:00"}],"attributes":[]}}},"schema":{"$ref":"#/components/schemas/alert_group_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"},{"title":"Destinations can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_alert_group"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/alert_groups \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alert_groups\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alert_groups\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alert_groups\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List alert groups","security":[{"bearer_auth":[]}],"tags":["AlertGroups"],"description":"List alert groups","operationId":"listAlertGroups","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/alert_group_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/alert_groups?include=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alert_groups?include=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alert_groups?include=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alert_groups?include=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/alert_groups/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an alert group","security":[{"bearer_auth":[]}],"tags":["AlertGroups"],"description":"Retrieves a specific alert group by id","operationId":"getAlertGroup","responses":{"200":{"description":"alert group found","content":{"application/vnd.api+json":{"example":{"data":{"id":"7c829732-9c58-492a-a221-631adb5320c6","type":"alert_groups","attributes":{"name":"123 test group","slug":"123-test-group","description":null,"time_window":10,"condition_type":"any","group_by_alert_title":false,"group_by_alert_urgency":false,"deleted_at":null,"created_at":"2025-03-17T17:01:56.167-07:00","updated_at":"2025-03-17T17:01:56.167-07:00","targets":[{"id":"727900c8-3d23-4cc6-acbc-af8b11f6bdab","target_type":"Service","target_id":"50c97db2-b45e-4e9e-989e-36fd387f9e91","alert_group_id":"7c829732-9c58-492a-a221-631adb5320c6","deleted_at":null,"created_at":"2025-03-17T17:01:56.169-07:00","updated_at":"2025-03-17T17:01:56.169-07:00"}],"attributes":[]}}},"schema":{"$ref":"#/components/schemas/alert_group_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/alert_groups/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alert_groups/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alert_groups/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alert_groups/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"patch":{"summary":"Update an alert group","security":[{"bearer_auth":[]}],"tags":["AlertGroups"],"description":"Update a specific alert group by id","operationId":"updateAlertGroup","parameters":[],"responses":{"200":{"description":"alert group updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"7c829732-9c58-492a-a221-631adb5320c6","type":"alert_groups","attributes":{"name":"Group name updated","slug":"123-test-group","description":null,"time_window":10,"condition_type":"any","group_by_alert_title":false,"group_by_alert_urgency":false,"deleted_at":null,"created_at":"2025-03-17T17:01:56.167-07:00","updated_at":"2025-03-17T17:01:58.071-07:00","targets":[{"id":"727900c8-3d23-4cc6-acbc-af8b11f6bdab","target_type":"Service","target_id":"50c97db2-b45e-4e9e-989e-36fd387f9e91","alert_group_id":"7c829732-9c58-492a-a221-631adb5320c6","deleted_at":null,"created_at":"2025-03-17T17:01:56.169-07:00","updated_at":"2025-03-17T17:01:56.169-07:00"}],"attributes":[]}}},"schema":{"$ref":"#/components/schemas/alert_group_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_alert_group"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PATCH \\\n --url https://api.rootly.com/v1/alert_groups/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alert_groups/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Patch.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PATCH\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alert_groups/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alert_groups/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PATCH\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an alert group","security":[{"bearer_auth":[]}],"tags":["AlertGroups"],"description":"Delete a specific alert group by id","operationId":"deleteAlertGroup","responses":{"200":{"description":"alert group deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"7c829732-9c58-492a-a221-631adb5320c6","type":"alert_groups","attributes":{"name":"123 test group","slug":"123-test-group","description":null,"time_window":10,"condition_type":"any","group_by_alert_title":false,"group_by_alert_urgency":false,"deleted_at":"2025-03-17T17:01:58.597-07:00","created_at":"2025-03-17T17:01:56.167-07:00","updated_at":"2025-03-17T17:01:58.597-07:00","targets":[],"attributes":[]}}},"schema":{"$ref":"#/components/schemas/alert_group_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/alert_groups/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alert_groups/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alert_groups/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alert_groups/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/alert_routing_rules":{"post":{"summary":"Creates an alert routing rule","security":[{"bearer_auth":[]}],"tags":["AlertRoutingRules"],"description":"Creates a new alert routing rule from provided data","operationId":"createAlertRoutingRule","parameters":[],"responses":{"201":{"description":"alert routing rule created","content":{"application/vnd.api+json":{"example":{"data":{"id":"793b55a5-838e-4230-bcb0-e44e63427f24","type":"alert_routing_rules","attributes":{"name":"Test Alert Routing Rule 1","alerts_source_id":"d2e568e6-1822-4d8d-a799-96ff56614b31","condition_type":"all","enabled":false,"created_at":"2025-03-17T17:02:03.731-07:00","updated_at":"2025-03-17T17:02:03.731-07:00","destination":{"data":{"id":"b719a8c4-518f-45d4-b989-d0077d5cd680","type":"alert_routing_rule_targets","attributes":{"target_type":"Group","target_id":"d9a94491-d49a-47d7-8e66-3f99e48a4c4c","created_at":"2025-03-17T17:02:03.733-07:00","updated_at":"2025-03-17T17:02:03.733-07:00"}}},"conditions":[{"data":{"id":"08275fe4-fd69-48f9-9e77-6700df841cea","type":"alert_routing_rule_conditions","attributes":{"property_field_condition_type":"is","property_field_name":"$.status","property_field_type":"attribute","property_field_value":"Open","created_at":"2025-03-17T17:02:03.734-07:00","updated_at":"2025-03-17T17:02:03.734-07:00"}}}]},"relationships":{"owning_teams":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/alert_routing_rule_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_alert_routing_rule"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/alert_routing_rules \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alert_routing_rules\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alert_routing_rules\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alert_routing_rules\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List alert routing rules","security":[{"bearer_auth":[]}],"tags":["AlertRoutingRules"],"description":"List alert routing rules","operationId":"listAlertRoutingRules","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/alert_routing_rule_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/alert_routing_rules?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alert_routing_rules?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alert_routing_rules?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alert_routing_rules?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/alert_routing_rules/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an alert routing rule","security":[{"bearer_auth":[]}],"tags":["AlertRoutingRules"],"description":"Retrieves a specific alert routing rule by id","operationId":"getAlertRoutingRule","responses":{"200":{"description":"alert routing rule found","content":{"application/vnd.api+json":{"example":{"data":{"id":"283d3ad9-0e19-4792-b08c-aca339946758","type":"alert_routing_rules","attributes":{"name":"Alert Routing Rule 1","alerts_source_id":"d2e568e6-1822-4d8d-a799-96ff56614b31","condition_type":"all","enabled":false,"created_at":"2025-03-17T17:02:00.447-07:00","updated_at":"2025-03-17T17:02:00.447-07:00","destination":{"data":{"id":"4b673bec-688a-4ce9-95b1-631f8165a16f","type":"alert_routing_rule_targets","attributes":{"target_type":"EscalationPolicy","target_id":"3aa2cbf9-9851-4d9e-af08-ee15d8ba0966","created_at":"2025-03-17T17:02:00.659-07:00","updated_at":"2025-03-17T17:02:00.659-07:00"}}},"conditions":[]},"relationships":{"owning_teams":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/alert_routing_rule_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/alert_routing_rules/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alert_routing_rules/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alert_routing_rules/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alert_routing_rules/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an alert routing rule","security":[{"bearer_auth":[]}],"tags":["AlertRoutingRules"],"description":"Update a specific alert routing rule by id","operationId":"updateAlertRoutingRule","parameters":[],"responses":{"200":{"description":"alert routing rule updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"283d3ad9-0e19-4792-b08c-aca339946758","type":"alert_routing_rules","attributes":{"name":"Test Alert Routing Rule 1 (Updated)","alerts_source_id":"d2e568e6-1822-4d8d-a799-96ff56614b31","condition_type":"all","enabled":false,"created_at":"2025-03-17T17:02:00.447-07:00","updated_at":"2025-03-17T17:02:04.971-07:00","destination":{"data":{"id":"4b673bec-688a-4ce9-95b1-631f8165a16f","type":"alert_routing_rule_targets","attributes":{"target_type":"EscalationPolicy","target_id":"3aa2cbf9-9851-4d9e-af08-ee15d8ba0966","created_at":"2025-03-17T17:02:00.659-07:00","updated_at":"2025-03-17T17:02:00.659-07:00"}}},"conditions":[]},"relationships":{"owning_teams":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/alert_routing_rule_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_alert_routing_rule"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/alert_routing_rules/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alert_routing_rules/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alert_routing_rules/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alert_routing_rules/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an alert routing rule","security":[{"bearer_auth":[]}],"tags":["AlertRoutingRules"],"description":"Delete a specific alert routing rule by id","operationId":"deleteAlertRoutingRule","responses":{"200":{"description":"alert routing rule deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"283d3ad9-0e19-4792-b08c-aca339946758","type":"alert_routing_rules","attributes":{"name":"Alert Routing Rule 1","alerts_source_id":"d2e568e6-1822-4d8d-a799-96ff56614b31","condition_type":"all","enabled":false,"created_at":"2025-03-17T17:02:00.447-07:00","updated_at":"2025-03-17T17:02:05.532-07:00","destination":{"data":{"id":"4b673bec-688a-4ce9-95b1-631f8165a16f","type":"alert_routing_rule_targets","attributes":{"target_type":"EscalationPolicy","target_id":"3aa2cbf9-9851-4d9e-af08-ee15d8ba0966","created_at":"2025-03-17T17:02:00.659-07:00","updated_at":"2025-03-17T17:02:05.522-07:00"}}},"conditions":[]},"relationships":{"owning_teams":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/alert_routing_rule_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/alert_routing_rules/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alert_routing_rules/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alert_routing_rules/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alert_routing_rules/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/alert_urgencies":{"post":{"summary":"Creates an alert urgency","security":[{"bearer_auth":[]}],"tags":["AlertUrgencies"],"description":"Creates a new alert urgency from provided data","operationId":"createAlertUrgency","parameters":[],"responses":{"201":{"description":"alert urgency created","content":{"application/vnd.api+json":{"example":{"data":{"id":"97f34f6b-48a3-4a2e-bcc1-29d22668f41c","type":"alert_urgencies","attributes":{"name":"High","description":"Hight alert urgency","position":1,"created_at":"2025-03-17T17:02:09.447-07:00","updated_at":"2025-03-17T17:02:09.447-07:00"}}},"schema":{"$ref":"#/components/schemas/alert_urgency_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"},{"title":"Description can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_alert_urgency"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/alert_urgencies \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alert_urgencies\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alert_urgencies\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alert_urgencies\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List alert urgencies","security":[{"bearer_auth":[]}],"tags":["AlertUrgencies"],"description":"List alert urgencies","operationId":"listAlertUrgencies","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/alert_urgency_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/alert_urgencies?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alert_urgencies?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alert_urgencies?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alert_urgencies?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/alert_urgencies/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an alert urgency","security":[{"bearer_auth":[]}],"tags":["AlertUrgencies"],"description":"Retrieves a specific alert urgency by id","operationId":"getAlertUrgency","responses":{"200":{"description":"alert urgency found","content":{"application/vnd.api+json":{"example":{"data":{"id":"e5252e67-d6fb-42b0-870a-2e6ce522e8eb","type":"alert_urgencies","attributes":{"name":"igwul","description":"Perferendis quis suscipit et.","position":1,"created_at":"2025-03-17T17:02:06.982-07:00","updated_at":"2025-03-17T17:02:06.988-07:00"}}},"schema":{"$ref":"#/components/schemas/alert_urgency_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/alert_urgencies/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alert_urgencies/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alert_urgencies/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alert_urgencies/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an alert urgency","security":[{"bearer_auth":[]}],"tags":["AlertUrgencies"],"description":"Update a specific alert urgency by id","operationId":"updateAlertUrgency","parameters":[],"responses":{"200":{"description":"alert urgency updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"e5252e67-d6fb-42b0-870a-2e6ce522e8eb","type":"alert_urgencies","attributes":{"name":"High (Updated)","description":"Perferendis quis suscipit et.","position":2,"created_at":"2025-03-17T17:02:06.982-07:00","updated_at":"2025-03-17T17:02:10.637-07:00"}}},"schema":{"$ref":"#/components/schemas/alert_urgency_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_alert_urgency"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/alert_urgencies/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alert_urgencies/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alert_urgencies/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alert_urgencies/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an alert urgency","security":[{"bearer_auth":[]}],"tags":["AlertUrgencies"],"description":"Delete a specific alert urgency by id","operationId":"deleteAlertUrgency","responses":{"200":{"description":"alert urgency deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"e5252e67-d6fb-42b0-870a-2e6ce522e8eb","type":"alert_urgencies","attributes":{"name":"igwul","description":"Perferendis quis suscipit et.","position":1,"created_at":"2025-03-17T17:02:06.982-07:00","updated_at":"2025-03-17T17:02:11.239-07:00"}}},"schema":{"$ref":"#/components/schemas/alert_urgency_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/alert_urgencies/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alert_urgencies/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alert_urgencies/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alert_urgencies/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/alert_sources":{"post":{"summary":"Creates an alert source","security":[{"bearer_auth":[]}],"tags":["AlertSources"],"description":"Creates a new alert source from provided data","operationId":"createAlertSource","parameters":[],"responses":{"201":{"description":"alert source created","content":{"application/vnd.api+json":{"example":{"data":{"id":"0cd4b02e-b9c3-4844-991c-30c74c85c6b3","type":"alert_sources","attributes":{"name":"GW 1","source_type":"generic_webhook","status":"setup_incomplete","secret":"f056076badcf6f6244245c16f282a5b18c58e6d4f8db4724774c6fbc86e51eaf","alert_urgency_id":"1c9bfdd3-1f17-4b6b-a54f-44c63c02811a","created_at":"2025-03-17T17:02:15.539-07:00","updated_at":"2025-03-17T17:02:15.539-07:00","webhook_endpoint":"http://localhost:3001/webhooks/incoming/generic_webhooks/notify/<TYPE>/<ID>","sourceable_attributes":{"id":"5cc30501-f19f-475a-bd1f-3123576a839b","auto_resolve":true,"resolve_state":"fixed","created_at":"2025-03-17T17:02:15.519-07:00","updated_at":"2025-03-17T17:02:15.531-07:00","field_mappings_attributes":[{"id":"8241e8f4-9d7d-4e58-849c-3a70c08c1476","json_path":"$.alert_title","field":"alert_title","alerts_generic_webhook_source_id":"5cc30501-f19f-475a-bd1f-3123576a839b","deleted_at":null,"created_at":"2025-03-17T17:02:15.524-07:00","updated_at":"2025-03-17T17:02:15.524-07:00"},{"id":"92a596b4-f474-4288-9f1a-a3447e3ec274","json_path":"$.target_id","field":"notification_target_id","alerts_generic_webhook_source_id":"5cc30501-f19f-475a-bd1f-3123576a839b","deleted_at":null,"created_at":"2025-03-17T17:02:15.528-07:00","updated_at":"2025-03-17T17:02:15.528-07:00"},{"id":"19153cf5-6d35-41de-8a03-a5934cdc8201","json_path":"$.target_type","field":"notification_target_type","alerts_generic_webhook_source_id":"5cc30501-f19f-475a-bd1f-3123576a839b","deleted_at":null,"created_at":"2025-03-17T17:02:15.530-07:00","updated_at":"2025-03-17T17:02:15.530-07:00"},{"id":"8eef1a5e-2e33-437d-995a-dff87df5d46b","json_path":"$.status","field":"state","alerts_generic_webhook_source_id":"5cc30501-f19f-475a-bd1f-3123576a839b","deleted_at":null,"created_at":"2025-03-17T17:02:15.527-07:00","updated_at":"2025-03-17T17:02:15.527-07:00"}],"field_mappings":[{"id":"8241e8f4-9d7d-4e58-849c-3a70c08c1476","field":"alert_title","json_path":"$.alert_title","created_at":"2025-03-17T17:02:15.524-07:00","updated_at":"2025-03-17T17:02:15.524-07:00"},{"id":"92a596b4-f474-4288-9f1a-a3447e3ec274","field":"notification_target_id","json_path":"$.target_id","created_at":"2025-03-17T17:02:15.528-07:00","updated_at":"2025-03-17T17:02:15.528-07:00"},{"id":"19153cf5-6d35-41de-8a03-a5934cdc8201","field":"notification_target_type","json_path":"$.target_type","created_at":"2025-03-17T17:02:15.530-07:00","updated_at":"2025-03-17T17:02:15.530-07:00"},{"id":"8eef1a5e-2e33-437d-995a-dff87df5d46b","field":"state","json_path":"$.status","created_at":"2025-03-17T17:02:15.527-07:00","updated_at":"2025-03-17T17:02:15.527-07:00"}]},"alert_template_attributes":{}},"relationships":{"alert_source_urgency_rules":{"data":[{"id":"316b8458-bd03-4004-9785-1cac1b2d66b6","alerts_source_id":"0cd4b02e-b9c3-4844-991c-30c74c85c6b3","alert_urgency_id":"d63760aa-4949-418e-946e-18d371c5b874","json_path":"$.alert.title","operator":"is","value":"Critical","deleted_at":null,"created_at":"2025-03-17T17:02:15.547-07:00","updated_at":"2025-03-17T17:02:15.547-07:00"}]}}}},"schema":{"$ref":"#/components/schemas/alerts_source_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_alerts_source"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/alert_sources \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alert_sources\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alert_sources\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alert_sources\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List alert sources","security":[{"bearer_auth":[]}],"tags":["AlertSources"],"description":"List alert sources","operationId":"listAlertSources","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[statuses]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[source_types]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/alerts_source_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/alert_sources?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bstatuses%5D=SOME_STRING_VALUE&filter%5Bsource_types%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alert_sources?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bstatuses%5D=SOME_STRING_VALUE&filter%5Bsource_types%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alert_sources?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bstatuses%5D=SOME_STRING_VALUE&filter%5Bsource_types%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alert_sources?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bstatuses%5D=SOME_STRING_VALUE&filter%5Bsource_types%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/alert_sources/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an alert source","security":[{"bearer_auth":[]}],"tags":["AlertSources"],"description":"Retrieves a specific alert source by id","operationId":"getAlertSource","responses":{"200":{"description":"alert source found","content":{"application/vnd.api+json":{"example":{"data":{"id":"140a8143-674f-4d29-9826-f1ff2a8f961a","type":"alert_sources","attributes":{"name":"Alert Source 4","source_type":"datadog","status":"setup_incomplete","secret":"3b84732367808e43b466a5065ab96a26f409d747b3c5d66f6e64af6290242f8e","alert_urgency_id":"1c9bfdd3-1f17-4b6b-a54f-44c63c02811a","created_at":"2025-03-17T17:02:12.685-07:00","updated_at":"2025-03-17T17:02:12.685-07:00","webhook_endpoint":"http://localhost:3001/webhooks/incoming/datadog_webhooks/notify/<TYPE>/<ID>","sourceable_attributes":{},"alert_template_attributes":{}},"relationships":{"alert_source_urgency_rules":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/alerts_source_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/alert_sources/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alert_sources/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alert_sources/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alert_sources/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an alert source","security":[{"bearer_auth":[]}],"tags":["AlertSources"],"description":"Update a specific alert source by id","operationId":"updateAlertSource","parameters":[],"responses":{"200":{"description":"alert source updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"140a8143-674f-4d29-9826-f1ff2a8f961a","type":"alert_sources","attributes":{"name":"GW 2","source_type":"datadog","status":"setup_incomplete","secret":"3b84732367808e43b466a5065ab96a26f409d747b3c5d66f6e64af6290242f8e","alert_urgency_id":"1c9bfdd3-1f17-4b6b-a54f-44c63c02811a","created_at":"2025-03-17T17:02:12.685-07:00","updated_at":"2025-03-17T17:02:17.102-07:00","webhook_endpoint":"http://localhost:3001/webhooks/incoming/datadog_webhooks/notify/<TYPE>/<ID>","sourceable_attributes":{},"alert_template_attributes":{}},"relationships":{"alert_source_urgency_rules":{"data":[{"id":"8e6e7a53-f8bc-46f4-8e80-a0c2672418f3","alerts_source_id":"140a8143-674f-4d29-9826-f1ff2a8f961a","alert_urgency_id":"d63760aa-4949-418e-946e-18d371c5b874","json_path":"$.alert.status","operator":"is","value":"Critical","deleted_at":null,"created_at":"2025-03-17T17:02:17.103-07:00","updated_at":"2025-03-17T17:02:17.103-07:00"}]}}}},"schema":{"$ref":"#/components/schemas/alerts_source_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_alerts_source"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/alert_sources/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alert_sources/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alert_sources/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alert_sources/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an alert source","security":[{"bearer_auth":[]}],"tags":["AlertSources"],"description":"Delete a specific alert source by id","operationId":"deleteAlertSource","responses":{"200":{"description":"alert source deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"140a8143-674f-4d29-9826-f1ff2a8f961a","type":"alert_sources","attributes":{"name":"Alert Source 4","source_type":"datadog","status":"setup_incomplete","secret":"3b84732367808e43b466a5065ab96a26f409d747b3c5d66f6e64af6290242f8e","alert_urgency_id":"1c9bfdd3-1f17-4b6b-a54f-44c63c02811a","created_at":"2025-03-17T17:02:12.685-07:00","updated_at":"2025-03-17T17:02:17.643-07:00","webhook_endpoint":"http://localhost:3001/webhooks/incoming/datadog_webhooks/notify/<TYPE>/<ID>","sourceable_attributes":{},"alert_template_attributes":{}},"relationships":{"alert_source_urgency_rules":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/alerts_source_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/alert_sources/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alert_sources/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alert_sources/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alert_sources/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incidents/{incident_id}/alerts":{"parameters":[{"name":"incident_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Attach alerts to an incident","security":[{"bearer_auth":[]}],"tags":["Alerts"],"description":"Attach alerts to an incident from provided data","operationId":"attachAlert","parameters":[],"responses":{"200":{"description":"alert created","content":{"application/vnd.api+json":{"example":{"data":[{"id":"2fc42ed3-511f-44db-8abf-fc31c4be8882","type":"alerts","attributes":{"short_id":"dyla20","source":"pagerduty","status":"open","summary":"Voluptatem necessitatibus id exercitationem.","description":"Omnis quia fuga. Ut dolore facere. Ex exercitationem ut.","labels":[],"services":[],"groups":[],"environments":[],"responders":[],"incidents":[{"id":"479a13dc-0d33-49ca-93d0-738fdbdf5b6a","user_id":31,"team_id":23,"title":"Maxime possimus doloribus dicta.","slug":"maxime-possimus-doloribus-dicta","summary":"Vero accusamus iusto. Sint quibusdam tenetur. Aut minima ducimus.","status":"started","slack_channel_id":null,"started_at":"2025-03-17T17:02:19.569-07:00","mitigated_at":null,"resolved_at":null,"deleted_at":null,"created_at":"2025-03-17T17:02:19.569-07:00","updated_at":"2025-03-17T17:02:19.569-07:00","severity_id":"8b7b17d6-8d25-4e17-8cc5-9f3fe847c704","public_title":null,"zoom_meeting_id":null,"zoom_meeting_start_url":null,"zoom_meeting_join_url":null,"shortcut_story_id":null,"shortcut_story_url":null,"asana_task_id":null,"asana_task_url":null,"jira_issue_id":null,"jira_issue_url":null,"email_message_id":null,"google_meeting_id":null,"google_meeting_url":null,"trello_card_id":null,"trello_card_url":null,"linear_issue_id":null,"linear_issue_url":null,"zendesk_ticket_id":null,"zendesk_ticket_url":null,"slack_channel_name":null,"service_now_incident_id":null,"service_now_incident_url":null,"opsgenie_incident_id":null,"opsgenie_incident_url":null,"opsgenie_incident_responder_ids":[],"labels":{},"incidents_action_items_count":0,"incidents_tasks_count":0,"mitigation_message":null,"resolution_message":null,"pagerduty_incident_responder_ids":{},"victor_ops_incident_id":null,"victor_ops_incident_url":null,"victor_ops_incident_responder_ids":{},"pagerduty_incident_id":null,"pagerduty_incident_url":null,"status_pages_count":0,"mattermost_channel_id":null,"slack_summary_timestamp":null,"mattermost_channel_name":null,"mattermost_channel_url":null,"slack_channel_url":null,"mattermost_summary_timestamp":null,"confluence_page_id":null,"confluence_page_url":null,"kind":"normal","scheduled_for":null,"scheduled_until":null,"scheduled_remind_prior":false,"scheduled_auto_in_progress":true,"scheduled_auto_completed":true,"detected_at":null,"acknowledged_at":null,"private":false,"airtable_record_id":null,"airtable_record_url":null,"google_drive_id":null,"google_drive_url":null,"summary_updated_at":null,"sequential_id":1,"slack_channels":[],"airtable_base_key":null,"airtable_table_name":null,"shortcut_task_id":null,"shortcut_task_url":null,"title_autogenerated":false,"view_source":null,"source":"web","microsoft_teams_meeting_url":null,"microsoft_teams_meeting_id":null,"dropbox_paper_id":null,"dropbox_paper_url":null,"subscribers_count":0,"status_page_io":{},"webex_meeting_id":null,"webex_meeting_url":null,"github_issue_id":null,"github_issue_url":null,"cancelled_at":null,"cancellation_message":null,"notion_page_id":null,"notion_page_url":null,"datadog_notebook_id":null,"datadog_notebook_url":null,"notify_channels":{},"freshservice_ticket_id":null,"freshservice_ticket_url":null,"freshservice_task_id":null,"freshservice_task_url":null,"started_by_user_id":31,"mitigated_by_user_id":null,"resolved_by_user_id":null,"cancelled_by_user_id":null,"slack_aliases":[],"slack_channel_workspace_id":null,"google_calendar_event_url":null,"google_calendar_event_id":null,"short_url":null,"slack_channel_short_url":null,"go_to_meeting_id":null,"go_to_meeting_url":null,"jira_issue_key":null,"linear_issue_key":null,"opsgenie_alert_id":null,"opsgenie_alert_url":null,"triggered_from_slack_channel_id":null,"service_now_incident_key":null,"quip_page_id":null,"quip_page_url":null,"pagertree_alert_id":null,"pagertree_alert_url":null,"duplicate_incident_id":null,"parent_incident_id":null,"ability_cache":null,"previous_attributes":{"incident_events":["Alerts has been attached: <a class=\"badge badge-warning \" target=\"_blank\" data-toggle=\"tooltip\" data-placement=\"top\" data-title=\"[Pagerduty] Voluptatem Necessitatibus Id Exercitationem.\" href=\"http://grant.example/hee\">[Pagerduty] Voluptatem Necessitatibus Id Exercitationem.</a><a class=\"badge badge-warning \" target=\"_blank\" data-toggle=\"tooltip\" data-placement=\"top\" data-title=\"[Pagerduty] Quia Dolores Amet Architecto.\" href=\"http://rodriguez-conn.test/russell\">[Pagerduty] Quia Dolores Amet Architecto.</a><a class=\"badge badge-warning \" target=\"_blank\" data-toggle=\"tooltip\" data-placement=\"top\" data-title=\"[Pagerduty] Sapiente Eligendi Animi Iusto.\" href=\"http://little-vonrueden.example/rashad.gusikowski\">[Pagerduty] Sapiente Eligendi Animi Iusto.</a>","Started date has been set to <span class=\"badge badge-info-inverted\">March 17 5:02 PM PDT</span>","Normand Koch created this incident"],"user_avatar_url":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KICAgICAg\nPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8y\nMDAwL3N2ZyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHZpZXdCb3g9IjAg\nMCAyMDAgMjAwIj4KICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImdyYWRp\nZW50XzE3NDIyNTYxNDZfMjI1NDAzIiBncmFkaWVudFRyYW5zZm9ybT0icm90\nYXRlKDkwKSI+CiAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMDAwNDI4\nIiBvZmZzZXQ9IjAlIiAvPgogICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0i\nIzAwMDQyOCIgb2Zmc2V0PSIxMDAlIiAvPgogICAgICAgIDwvbGluZWFyR3Jh\nZGllbnQ+CiAgICAgICAgPHJlY3Qgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAw\nJSIgZmlsbD0idXJsKCNncmFkaWVudF8xNzQyMjU2MTQ2XzIyNTQwMykiIC8+\nCiAgICAgICAgPHRleHQgZmlsbD0iI0ZGRiIgZm9udC1mYW1pbHk9Ik9wZW4g\nU2FucyxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZiIgZm9udC1zaXplPSIx\nMDEiIGZvbnQtd2VpZ2h0PSI1MDAiIHg9IjUwJSIgeT0iNTUlIiBkb21pbmFu\ndC1iYXNlbGluZT0ibWlkZGxlIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj4KICAg\nICAgICAgIE5LCiAgICAgICAgPC90ZXh0PgogICAgICA8L3N2Zz4KICAgIA==\n"},"genius_workflow_runs_count":0,"slack_channel_archived":false,"google_drive_parent_id":null,"in_triage_at":null,"in_triage_by_user_id":null,"external_id":null,"slack_channel_deep_link":null,"retrospective_progress_status":"not_started","users_assigned_count":0,"retrospective_completed_at":null,"retrospective_started_at":null,"pagerduty_incident_number":null,"current_tutorial_step":"not_started","clickup_task_id":null,"clickup_task_url":null,"slack_notify_ready_for_retrospective_timestamp":null,"notify_emails":[],"status_page_io_components":[],"retrospective_auto_skipped":false,"retrospective_mandatory":false,"embedding":null,"zoom_meeting_transcript":{},"google_meeting_transcript":{},"webex_meeting_transcript":{},"microsoft_teams_meeting_transcript":{},"zoom_meeting_bot_id":null,"google_meeting_bot_id":null,"webex_meeting_bot_id":null,"microsoft_teams_meeting_bot_id":null,"zoom_meeting_transcript_summary":null,"google_meeting_transcript_summary":null,"webex_meeting_transcript_summary":null,"microsoft_teams_meeting_transcript_summary":null,"gitlab_issue_id":null,"gitlab_issue_url":null,"sharepoint_page_id":null,"sharepoint_page_url":null,"outlook_event_id":null,"outlook_event_url":null,"created_from_slack_identifier":null,"zoom_meeting_pstn_password":null,"zoom_meeting_h323_password":null,"zoom_meeting_global_dial_in_numbers":[],"left_slack_channel_slack_user_ids":[],"using_redesigned_slack_announcement":true,"using_redesigned_slack_updates":true,"motion_task_id":null,"motion_task_url":null,"sub_status_id":"14972632-ecee-4ddd-8cf8-bb8adddfea88","closed_at":null,"closed_by_user_id":null,"microsoft_teams_channel_id":null,"microsoft_teams_channel_name":null,"microsoft_teams_channel_url":null,"triggered_from_microsoft_teams_channel_id":null,"microsoft_teams_team_id":null,"microsoft_teams_summary_message_id":null,"microsoft_teams_channel_service_url":null,"slack_last_message_ts":null,"zoom_meeting_password":null,"microsoft_teams_team_internal_id":null,"triggered_from_slack_message_ts":null,"triggered_from_slack_thread_ts":null,"raw_labels":null,"tutorial_steps":null}],"data":{},"started_at":"2025-03-17T17:02:22.157-07:00","ended_at":null,"external_id":null,"external_url":"http://grant.example/hee","url":"https://test.rootly.com/account/alerts/2fc42ed3-511f-44db-8abf-fc31c4be8882","notification_target_type":null,"notification_target_id":null,"alert_urgency_id":"6f1de6e8-71c9-4d78-9153-4107d4442999","notified_users":[],"created_at":"2025-03-17T17:02:22.157-07:00","updated_at":"2025-03-17T17:02:22.157-07:00"}}],"links":{"self":"http://www.example.com/v1/incidents/479a13dc-0d33-49ca-93d0-738fdbdf5b6a/alerts?page%5Bnumber%5D=1&page%5Bsize%5D=10","first":"http://www.example.com/v1/incidents/479a13dc-0d33-49ca-93d0-738fdbdf5b6a/alerts?page%5Bnumber%5D=1&page%5Bsize%5D=10","prev":null,"next":null,"last":"http://www.example.com/v1/incidents/479a13dc-0d33-49ca-93d0-738fdbdf5b6a/alerts?page%5Bnumber%5D=1&page%5Bsize%5D=10"}},"schema":{"$ref":"#/components/schemas/alert_list"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/attach_alert"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/incidents/%7Bincident_id%7D/alerts \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/alerts\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bincident_id%7D/alerts\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/alerts\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List Incident alerts","security":[{"bearer_auth":[]}],"tags":["Alerts"],"description":"List incident alerts","operationId":"listIncidentAlerts","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[source]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[services]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[environments]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[groups]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[labels]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[started_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[started_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[started_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[started_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[ended_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[ended_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[ended_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[ended_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/alert_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/incidents/%7Bincident_id%7D/alerts?include=SOME_STRING_VALUE&filter%5Bsource%5D=SOME_STRING_VALUE&filter%5Bservices%5D=SOME_STRING_VALUE&filter%5Benvironments%5D=SOME_STRING_VALUE&filter%5Bgroups%5D=SOME_STRING_VALUE&filter%5Blabels%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/alerts?include=SOME_STRING_VALUE&filter%5Bsource%5D=SOME_STRING_VALUE&filter%5Bservices%5D=SOME_STRING_VALUE&filter%5Benvironments%5D=SOME_STRING_VALUE&filter%5Bgroups%5D=SOME_STRING_VALUE&filter%5Blabels%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bincident_id%7D/alerts?include=SOME_STRING_VALUE&filter%5Bsource%5D=SOME_STRING_VALUE&filter%5Bservices%5D=SOME_STRING_VALUE&filter%5Benvironments%5D=SOME_STRING_VALUE&filter%5Bgroups%5D=SOME_STRING_VALUE&filter%5Blabels%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/alerts?include=SOME_STRING_VALUE&filter%5Bsource%5D=SOME_STRING_VALUE&filter%5Bservices%5D=SOME_STRING_VALUE&filter%5Benvironments%5D=SOME_STRING_VALUE&filter%5Bgroups%5D=SOME_STRING_VALUE&filter%5Blabels%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/alerts":{"post":{"summary":"Creates an alert","security":[{"bearer_auth":[]}],"tags":["Alerts"],"description":"Creates a new alert from provided data","operationId":"createAlert","parameters":[],"responses":{"201":{"description":"alert created","content":{"application/vnd.api+json":{"example":{"data":{"id":"14954a94-1d5e-4794-868e-d04f69257565","type":"alerts","attributes":{"short_id":null,"source":"asana","status":"open","summary":"Asana ticket created","description":null,"labels":[{"key":"status","value":"succeeded"}],"services":[{"id":"cb0edc9e-65b7-4853-91a8-aafc78a9428c","team_id":23,"name":"Et sit numquam id.","slug":"et-sit-numquam-id","description":"Est expedita autem rerum.","deleted_at":null,"created_at":"2025-03-17T17:02:24.923-07:00","updated_at":"2025-03-17T17:02:24.923-07:00","opsgenie_id":null,"pagerduty_id":null,"public_description":null,"github_repository_branch":"master","github_repository_name":null,"color":"#F5D9C4","heroku_app_name":null,"gitlab_repository_name":null,"gitlab_repository_branch":"master","kubernetes_deployment_name":null,"incidents_count":0,"position":1,"slack_channels":[],"slack_aliases":[],"backstage_id":null,"show_uptime":true,"show_uptime_last_days":60,"status":"operational","external_id":null,"notify_emails":[],"cortex_id":null,"alerts_email_enabled":false,"alerts_email_address":"service-2202ebc567b4f71c4df104e67f088d92@email.rootly.com","opsgenie_team_id":null,"service_now_ci_sys_id":null,"alert_urgency_id":null,"opslevel_id":null}],"groups":[],"environments":[{"id":"da0e4553-3896-4d07-ba40-387206112e7a","team_id":23,"name":"Odio dolor eaque sequi.","slug":"odio-dolor-eaque-sequi","description":"Nihil sunt quia eos.","color":"#3b3b07","deleted_at":null,"created_at":"2025-03-17T17:02:24.972-07:00","updated_at":"2025-03-17T17:02:24.972-07:00","incidents_count":0,"position":1,"slack_channels":[],"slack_aliases":[],"external_id":null,"notify_emails":[]}],"responders":[],"incidents":[],"data":{"url":"https://asana.com/issues/1"},"started_at":"2025-03-17T16:59:49.000-07:00","ended_at":"2025-03-17T17:01:49.000-07:00","external_id":null,"external_url":null,"url":"https://test.rootly.com/account/alerts/14954a94-1d5e-4794-868e-d04f69257565","notification_target_type":null,"notification_target_id":null,"alert_urgency_id":"0001cbed-da94-41d5-aefa-6cc075d78647","notified_users":[],"created_at":"2025-03-17T17:02:27.640-07:00","updated_at":"2025-03-17T17:02:27.640-07:00"}}},"schema":{"$ref":"#/components/schemas/alert_response"}}}},"401":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Summary can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_alert"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/alerts \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alerts\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alerts\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alerts\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List alerts","security":[{"bearer_auth":[]}],"tags":["Alerts"],"description":"List alerts","operationId":"listAlerts","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/alert_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/alerts?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alerts?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alerts?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alerts?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/alerts/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an alert","security":[{"bearer_auth":[]}],"tags":["Alerts"],"description":"Retrieves a specific alert by id","operationId":"getAlert","responses":{"200":{"description":"alert found","content":{"application/vnd.api+json":{"example":{"data":{"id":"2fc42ed3-511f-44db-8abf-fc31c4be8882","type":"alerts","attributes":{"short_id":"dyla20","source":"pagerduty","status":"open","summary":"Voluptatem necessitatibus id exercitationem.","description":"Omnis quia fuga. Ut dolore facere. Ex exercitationem ut.","labels":[],"services":[],"groups":[],"environments":[],"responders":[],"incidents":[{"id":"479a13dc-0d33-49ca-93d0-738fdbdf5b6a","user_id":31,"team_id":23,"title":"Maxime possimus doloribus dicta.","slug":"maxime-possimus-doloribus-dicta","summary":"Vero accusamus iusto. Sint quibusdam tenetur. Aut minima ducimus.","status":"started","slack_channel_id":null,"started_at":"2025-03-17T17:02:19.569-07:00","mitigated_at":null,"resolved_at":null,"deleted_at":null,"created_at":"2025-03-17T17:02:19.569-07:00","updated_at":"2025-03-17T17:02:19.569-07:00","severity_id":"8b7b17d6-8d25-4e17-8cc5-9f3fe847c704","public_title":null,"zoom_meeting_id":null,"zoom_meeting_start_url":null,"zoom_meeting_join_url":null,"shortcut_story_id":null,"shortcut_story_url":null,"asana_task_id":null,"asana_task_url":null,"jira_issue_id":null,"jira_issue_url":null,"email_message_id":null,"google_meeting_id":null,"google_meeting_url":null,"trello_card_id":null,"trello_card_url":null,"linear_issue_id":null,"linear_issue_url":null,"zendesk_ticket_id":null,"zendesk_ticket_url":null,"slack_channel_name":null,"service_now_incident_id":null,"service_now_incident_url":null,"opsgenie_incident_id":null,"opsgenie_incident_url":null,"opsgenie_incident_responder_ids":[],"labels":{},"incidents_action_items_count":0,"incidents_tasks_count":0,"mitigation_message":null,"resolution_message":null,"pagerduty_incident_responder_ids":{},"victor_ops_incident_id":null,"victor_ops_incident_url":null,"victor_ops_incident_responder_ids":{},"pagerduty_incident_id":null,"pagerduty_incident_url":null,"status_pages_count":0,"mattermost_channel_id":null,"slack_summary_timestamp":null,"mattermost_channel_name":null,"mattermost_channel_url":null,"slack_channel_url":null,"mattermost_summary_timestamp":null,"confluence_page_id":null,"confluence_page_url":null,"kind":"normal","scheduled_for":null,"scheduled_until":null,"scheduled_remind_prior":false,"scheduled_auto_in_progress":true,"scheduled_auto_completed":true,"detected_at":null,"acknowledged_at":null,"private":false,"airtable_record_id":null,"airtable_record_url":null,"google_drive_id":null,"google_drive_url":null,"summary_updated_at":null,"sequential_id":1,"slack_channels":[],"airtable_base_key":null,"airtable_table_name":null,"shortcut_task_id":null,"shortcut_task_url":null,"title_autogenerated":false,"view_source":null,"source":"web","microsoft_teams_meeting_url":null,"microsoft_teams_meeting_id":null,"dropbox_paper_id":null,"dropbox_paper_url":null,"subscribers_count":0,"status_page_io":{},"webex_meeting_id":null,"webex_meeting_url":null,"github_issue_id":null,"github_issue_url":null,"cancelled_at":null,"cancellation_message":null,"notion_page_id":null,"notion_page_url":null,"datadog_notebook_id":null,"datadog_notebook_url":null,"notify_channels":{},"freshservice_ticket_id":null,"freshservice_ticket_url":null,"freshservice_task_id":null,"freshservice_task_url":null,"started_by_user_id":31,"mitigated_by_user_id":null,"resolved_by_user_id":null,"cancelled_by_user_id":null,"slack_aliases":[],"slack_channel_workspace_id":null,"google_calendar_event_url":null,"google_calendar_event_id":null,"short_url":null,"slack_channel_short_url":null,"go_to_meeting_id":null,"go_to_meeting_url":null,"jira_issue_key":null,"linear_issue_key":null,"opsgenie_alert_id":null,"opsgenie_alert_url":null,"triggered_from_slack_channel_id":null,"service_now_incident_key":null,"quip_page_id":null,"quip_page_url":null,"pagertree_alert_id":null,"pagertree_alert_url":null,"duplicate_incident_id":null,"parent_incident_id":null,"ability_cache":null,"previous_attributes":{"incident_events":["Started date has been set to <span class=\"badge badge-info-inverted\">March 17 5:02 PM PDT</span>","Normand Koch created this incident"],"user_avatar_url":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KICAgICAg\nPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8y\nMDAwL3N2ZyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHZpZXdCb3g9IjAg\nMCAyMDAgMjAwIj4KICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImdyYWRp\nZW50XzE3NDIyNTYxNDNfNDg4NTEyIiBncmFkaWVudFRyYW5zZm9ybT0icm90\nYXRlKDkwKSI+CiAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMDAwNDI4\nIiBvZmZzZXQ9IjAlIiAvPgogICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0i\nIzAwMDQyOCIgb2Zmc2V0PSIxMDAlIiAvPgogICAgICAgIDwvbGluZWFyR3Jh\nZGllbnQ+CiAgICAgICAgPHJlY3Qgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAw\nJSIgZmlsbD0idXJsKCNncmFkaWVudF8xNzQyMjU2MTQzXzQ4ODUxMikiIC8+\nCiAgICAgICAgPHRleHQgZmlsbD0iI0ZGRiIgZm9udC1mYW1pbHk9Ik9wZW4g\nU2FucyxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZiIgZm9udC1zaXplPSIx\nMDEiIGZvbnQtd2VpZ2h0PSI1MDAiIHg9IjUwJSIgeT0iNTUlIiBkb21pbmFu\ndC1iYXNlbGluZT0ibWlkZGxlIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj4KICAg\nICAgICAgIE5LCiAgICAgICAgPC90ZXh0PgogICAgICA8L3N2Zz4KICAgIA==\n"},"genius_workflow_runs_count":0,"slack_channel_archived":false,"google_drive_parent_id":null,"in_triage_at":null,"in_triage_by_user_id":null,"external_id":null,"slack_channel_deep_link":null,"retrospective_progress_status":"not_started","users_assigned_count":0,"retrospective_completed_at":null,"retrospective_started_at":null,"pagerduty_incident_number":null,"current_tutorial_step":"not_started","clickup_task_id":null,"clickup_task_url":null,"slack_notify_ready_for_retrospective_timestamp":null,"notify_emails":[],"status_page_io_components":[],"retrospective_auto_skipped":false,"retrospective_mandatory":false,"embedding":null,"zoom_meeting_transcript":{},"google_meeting_transcript":{},"webex_meeting_transcript":{},"microsoft_teams_meeting_transcript":{},"zoom_meeting_bot_id":null,"google_meeting_bot_id":null,"webex_meeting_bot_id":null,"microsoft_teams_meeting_bot_id":null,"zoom_meeting_transcript_summary":null,"google_meeting_transcript_summary":null,"webex_meeting_transcript_summary":null,"microsoft_teams_meeting_transcript_summary":null,"gitlab_issue_id":null,"gitlab_issue_url":null,"sharepoint_page_id":null,"sharepoint_page_url":null,"outlook_event_id":null,"outlook_event_url":null,"created_from_slack_identifier":null,"zoom_meeting_pstn_password":null,"zoom_meeting_h323_password":null,"zoom_meeting_global_dial_in_numbers":[],"left_slack_channel_slack_user_ids":[],"using_redesigned_slack_announcement":true,"using_redesigned_slack_updates":true,"motion_task_id":null,"motion_task_url":null,"sub_status_id":"14972632-ecee-4ddd-8cf8-bb8adddfea88","closed_at":null,"closed_by_user_id":null,"microsoft_teams_channel_id":null,"microsoft_teams_channel_name":null,"microsoft_teams_channel_url":null,"triggered_from_microsoft_teams_channel_id":null,"microsoft_teams_team_id":null,"microsoft_teams_summary_message_id":null,"microsoft_teams_channel_service_url":null,"slack_last_message_ts":null,"zoom_meeting_password":null,"microsoft_teams_team_internal_id":null,"triggered_from_slack_message_ts":null,"triggered_from_slack_thread_ts":null,"raw_labels":null,"tutorial_steps":null}],"data":{},"started_at":"2025-03-17T17:02:22.157-07:00","ended_at":null,"external_id":null,"external_url":"http://grant.example/hee","url":"https://test.rootly.com/account/alerts/2fc42ed3-511f-44db-8abf-fc31c4be8882","notification_target_type":null,"notification_target_id":null,"alert_urgency_id":"6f1de6e8-71c9-4d78-9153-4107d4442999","notified_users":[],"created_at":"2025-03-17T17:02:22.157-07:00","updated_at":"2025-03-17T17:02:22.157-07:00"}}},"schema":{"$ref":"#/components/schemas/alert_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/alerts/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alerts/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alerts/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alerts/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/alerts/{id}/acknowledge":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Acknowledges an alert","security":[{"bearer_auth":[]}],"tags":["Alerts"],"description":"Acknowledges a specific alert by id","operationId":"acknowledgeAlert","responses":{"200":{"description":"alert acknowledged","content":{"application/vnd.api+json":{"example":{"data":{"id":"2fc42ed3-511f-44db-8abf-fc31c4be8882","type":"alerts","attributes":{"short_id":"dyla20","source":"pagerduty","status":"acknowledged","summary":"Voluptatem necessitatibus id exercitationem.","description":"Omnis quia fuga. Ut dolore facere. Ex exercitationem ut.","labels":[],"services":[],"groups":[],"environments":[],"responders":[{"id":29,"email":"freeman@conroy-feil.example","deleted_at":null,"created_at":"2025-03-17T17:02:18.065-07:00","updated_at":"2025-03-17T17:02:29.524-07:00","current_team_id":23,"first_name":"Diedra","last_name":"Leannon","time_zone":"UTC","last_seen_at":null,"profile_photo_id":null,"ability_cache":null,"last_notification_email_sent_at":null,"accept_terms":true,"onboarding_completed":true,"service_user":false,"accept_marketing":true,"teams_count":1,"created_through_sso":false,"scim_uid":null,"session_token":null,"incidents_example_count":0,"incidents_test_count":0,"incidents_normal_count":0,"incidents_scheduled_count":0,"incidents_backfilled_count":0,"incidents_count":0,"theme":"light_v2","skip_tutorial":false,"external_id":null,"jti":"79f42dc5-f6df-4bda-847a-deb1e13a3ef8","is_super_admin":false,"has_impersonate_write_permission":false,"view_multiple_schedules":true,"push_notification_new_alert_sound":"default","push_notification_shift_starts_sound":"soft_bloob","push_notification_shift_ends_sound":"soft_bloob","how_did_you_hear_about_us":null,"opsgenie_id":null,"push_notification_new_alert_volume":1,"victor_ops_id":null,"pagerduty_id":null}],"incidents":[{"id":"479a13dc-0d33-49ca-93d0-738fdbdf5b6a","user_id":31,"team_id":23,"title":"Maxime possimus doloribus dicta.","slug":"maxime-possimus-doloribus-dicta","summary":"Vero accusamus iusto. Sint quibusdam tenetur. Aut minima ducimus.","status":"started","slack_channel_id":null,"started_at":"2025-03-17T17:02:19.569-07:00","mitigated_at":null,"resolved_at":null,"deleted_at":null,"created_at":"2025-03-17T17:02:19.569-07:00","updated_at":"2025-03-17T17:02:19.569-07:00","severity_id":"8b7b17d6-8d25-4e17-8cc5-9f3fe847c704","public_title":null,"zoom_meeting_id":null,"zoom_meeting_start_url":null,"zoom_meeting_join_url":null,"shortcut_story_id":null,"shortcut_story_url":null,"asana_task_id":null,"asana_task_url":null,"jira_issue_id":null,"jira_issue_url":null,"email_message_id":null,"google_meeting_id":null,"google_meeting_url":null,"trello_card_id":null,"trello_card_url":null,"linear_issue_id":null,"linear_issue_url":null,"zendesk_ticket_id":null,"zendesk_ticket_url":null,"slack_channel_name":null,"service_now_incident_id":null,"service_now_incident_url":null,"opsgenie_incident_id":null,"opsgenie_incident_url":null,"opsgenie_incident_responder_ids":[],"labels":{},"incidents_action_items_count":0,"incidents_tasks_count":0,"mitigation_message":null,"resolution_message":null,"pagerduty_incident_responder_ids":{},"victor_ops_incident_id":null,"victor_ops_incident_url":null,"victor_ops_incident_responder_ids":{},"pagerduty_incident_id":null,"pagerduty_incident_url":null,"status_pages_count":0,"mattermost_channel_id":null,"slack_summary_timestamp":null,"mattermost_channel_name":null,"mattermost_channel_url":null,"slack_channel_url":null,"mattermost_summary_timestamp":null,"confluence_page_id":null,"confluence_page_url":null,"kind":"normal","scheduled_for":null,"scheduled_until":null,"scheduled_remind_prior":false,"scheduled_auto_in_progress":true,"scheduled_auto_completed":true,"detected_at":null,"acknowledged_at":null,"private":false,"airtable_record_id":null,"airtable_record_url":null,"google_drive_id":null,"google_drive_url":null,"summary_updated_at":null,"sequential_id":1,"slack_channels":[],"airtable_base_key":null,"airtable_table_name":null,"shortcut_task_id":null,"shortcut_task_url":null,"title_autogenerated":false,"view_source":null,"source":"web","microsoft_teams_meeting_url":null,"microsoft_teams_meeting_id":null,"dropbox_paper_id":null,"dropbox_paper_url":null,"subscribers_count":0,"status_page_io":{},"webex_meeting_id":null,"webex_meeting_url":null,"github_issue_id":null,"github_issue_url":null,"cancelled_at":null,"cancellation_message":null,"notion_page_id":null,"notion_page_url":null,"datadog_notebook_id":null,"datadog_notebook_url":null,"notify_channels":{},"freshservice_ticket_id":null,"freshservice_ticket_url":null,"freshservice_task_id":null,"freshservice_task_url":null,"started_by_user_id":31,"mitigated_by_user_id":null,"resolved_by_user_id":null,"cancelled_by_user_id":null,"slack_aliases":[],"slack_channel_workspace_id":null,"google_calendar_event_url":null,"google_calendar_event_id":null,"short_url":null,"slack_channel_short_url":null,"go_to_meeting_id":null,"go_to_meeting_url":null,"jira_issue_key":null,"linear_issue_key":null,"opsgenie_alert_id":null,"opsgenie_alert_url":null,"triggered_from_slack_channel_id":null,"service_now_incident_key":null,"quip_page_id":null,"quip_page_url":null,"pagertree_alert_id":null,"pagertree_alert_url":null,"duplicate_incident_id":null,"parent_incident_id":null,"ability_cache":null,"previous_attributes":{"incident_events":["Started date has been set to <span class=\"badge badge-info-inverted\">March 17 5:02 PM PDT</span>","Normand Koch created this incident"],"user_avatar_url":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KICAgICAg\nPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8y\nMDAwL3N2ZyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHZpZXdCb3g9IjAg\nMCAyMDAgMjAwIj4KICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImdyYWRp\nZW50XzE3NDIyNTYxNDNfNDg4NTEyIiBncmFkaWVudFRyYW5zZm9ybT0icm90\nYXRlKDkwKSI+CiAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMDAwNDI4\nIiBvZmZzZXQ9IjAlIiAvPgogICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0i\nIzAwMDQyOCIgb2Zmc2V0PSIxMDAlIiAvPgogICAgICAgIDwvbGluZWFyR3Jh\nZGllbnQ+CiAgICAgICAgPHJlY3Qgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAw\nJSIgZmlsbD0idXJsKCNncmFkaWVudF8xNzQyMjU2MTQzXzQ4ODUxMikiIC8+\nCiAgICAgICAgPHRleHQgZmlsbD0iI0ZGRiIgZm9udC1mYW1pbHk9Ik9wZW4g\nU2FucyxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZiIgZm9udC1zaXplPSIx\nMDEiIGZvbnQtd2VpZ2h0PSI1MDAiIHg9IjUwJSIgeT0iNTUlIiBkb21pbmFu\ndC1iYXNlbGluZT0ibWlkZGxlIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj4KICAg\nICAgICAgIE5LCiAgICAgICAgPC90ZXh0PgogICAgICA8L3N2Zz4KICAgIA==\n"},"genius_workflow_runs_count":0,"slack_channel_archived":false,"google_drive_parent_id":null,"in_triage_at":null,"in_triage_by_user_id":null,"external_id":null,"slack_channel_deep_link":null,"retrospective_progress_status":"not_started","users_assigned_count":0,"retrospective_completed_at":null,"retrospective_started_at":null,"pagerduty_incident_number":null,"current_tutorial_step":"not_started","clickup_task_id":null,"clickup_task_url":null,"slack_notify_ready_for_retrospective_timestamp":null,"notify_emails":[],"status_page_io_components":[],"retrospective_auto_skipped":false,"retrospective_mandatory":false,"embedding":null,"zoom_meeting_transcript":{},"google_meeting_transcript":{},"webex_meeting_transcript":{},"microsoft_teams_meeting_transcript":{},"zoom_meeting_bot_id":null,"google_meeting_bot_id":null,"webex_meeting_bot_id":null,"microsoft_teams_meeting_bot_id":null,"zoom_meeting_transcript_summary":null,"google_meeting_transcript_summary":null,"webex_meeting_transcript_summary":null,"microsoft_teams_meeting_transcript_summary":null,"gitlab_issue_id":null,"gitlab_issue_url":null,"sharepoint_page_id":null,"sharepoint_page_url":null,"outlook_event_id":null,"outlook_event_url":null,"created_from_slack_identifier":null,"zoom_meeting_pstn_password":null,"zoom_meeting_h323_password":null,"zoom_meeting_global_dial_in_numbers":[],"left_slack_channel_slack_user_ids":[],"using_redesigned_slack_announcement":true,"using_redesigned_slack_updates":true,"motion_task_id":null,"motion_task_url":null,"sub_status_id":"14972632-ecee-4ddd-8cf8-bb8adddfea88","closed_at":null,"closed_by_user_id":null,"microsoft_teams_channel_id":null,"microsoft_teams_channel_name":null,"microsoft_teams_channel_url":null,"triggered_from_microsoft_teams_channel_id":null,"microsoft_teams_team_id":null,"microsoft_teams_summary_message_id":null,"microsoft_teams_channel_service_url":null,"slack_last_message_ts":null,"zoom_meeting_password":null,"microsoft_teams_team_internal_id":null,"triggered_from_slack_message_ts":null,"triggered_from_slack_thread_ts":null,"raw_labels":null,"tutorial_steps":null}],"data":{},"started_at":"2025-03-17T17:02:22.157-07:00","ended_at":null,"external_id":null,"external_url":"http://grant.example/hee","url":"https://test.rootly.com/account/alerts/2fc42ed3-511f-44db-8abf-fc31c4be8882","notification_target_type":null,"notification_target_id":null,"alert_urgency_id":"6f1de6e8-71c9-4d78-9153-4107d4442999","notified_users":[],"created_at":"2025-03-17T17:02:22.157-07:00","updated_at":"2025-03-17T17:02:29.558-07:00"}}},"schema":{"$ref":"#/components/schemas/alert_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/alerts/%7Bid%7D/acknowledge \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alerts/%7Bid%7D/acknowledge\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alerts/%7Bid%7D/acknowledge\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alerts/%7Bid%7D/acknowledge\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/alerts/{id}/resolve":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Resolves an alert","security":[{"bearer_auth":[]}],"tags":["Alerts"],"description":"Resolves a specific alert by id","operationId":"resolveAlert","parameters":[],"responses":{"200":{"description":"resolve acknowledged","content":{"application/vnd.api+json":{"example":{"data":{"id":"2fc42ed3-511f-44db-8abf-fc31c4be8882","type":"alerts","attributes":{"short_id":"dyla20","source":"pagerduty","status":"resolved","summary":"Voluptatem necessitatibus id exercitationem.","description":"Omnis quia fuga. Ut dolore facere. Ex exercitationem ut.","labels":[],"services":[],"groups":[],"environments":[],"responders":[{"id":29,"email":"freeman@conroy-feil.example","deleted_at":null,"created_at":"2025-03-17T17:02:18.065-07:00","updated_at":"2025-03-17T17:02:30.198-07:00","current_team_id":23,"first_name":"Diedra","last_name":"Leannon","time_zone":"UTC","last_seen_at":null,"profile_photo_id":null,"ability_cache":null,"last_notification_email_sent_at":null,"accept_terms":true,"onboarding_completed":true,"service_user":false,"accept_marketing":true,"teams_count":1,"created_through_sso":false,"scim_uid":null,"session_token":null,"incidents_example_count":0,"incidents_test_count":0,"incidents_normal_count":0,"incidents_scheduled_count":0,"incidents_backfilled_count":0,"incidents_count":0,"theme":"light_v2","skip_tutorial":false,"external_id":null,"jti":"79f42dc5-f6df-4bda-847a-deb1e13a3ef8","is_super_admin":false,"has_impersonate_write_permission":false,"view_multiple_schedules":true,"push_notification_new_alert_sound":"default","push_notification_shift_starts_sound":"soft_bloob","push_notification_shift_ends_sound":"soft_bloob","how_did_you_hear_about_us":null,"opsgenie_id":null,"push_notification_new_alert_volume":1,"victor_ops_id":null,"pagerduty_id":null}],"incidents":[{"id":"479a13dc-0d33-49ca-93d0-738fdbdf5b6a","user_id":31,"team_id":23,"title":"Maxime possimus doloribus dicta.","slug":"maxime-possimus-doloribus-dicta","summary":"Vero accusamus iusto. Sint quibusdam tenetur. Aut minima ducimus.","status":"started","slack_channel_id":null,"started_at":"2025-03-17T17:02:19.569-07:00","mitigated_at":null,"resolved_at":null,"deleted_at":null,"created_at":"2025-03-17T17:02:19.569-07:00","updated_at":"2025-03-17T17:02:19.569-07:00","severity_id":"8b7b17d6-8d25-4e17-8cc5-9f3fe847c704","public_title":null,"zoom_meeting_id":null,"zoom_meeting_start_url":null,"zoom_meeting_join_url":null,"shortcut_story_id":null,"shortcut_story_url":null,"asana_task_id":null,"asana_task_url":null,"jira_issue_id":null,"jira_issue_url":null,"email_message_id":null,"google_meeting_id":null,"google_meeting_url":null,"trello_card_id":null,"trello_card_url":null,"linear_issue_id":null,"linear_issue_url":null,"zendesk_ticket_id":null,"zendesk_ticket_url":null,"slack_channel_name":null,"service_now_incident_id":null,"service_now_incident_url":null,"opsgenie_incident_id":null,"opsgenie_incident_url":null,"opsgenie_incident_responder_ids":[],"labels":{},"incidents_action_items_count":0,"incidents_tasks_count":0,"mitigation_message":null,"resolution_message":null,"pagerduty_incident_responder_ids":{},"victor_ops_incident_id":null,"victor_ops_incident_url":null,"victor_ops_incident_responder_ids":{},"pagerduty_incident_id":null,"pagerduty_incident_url":null,"status_pages_count":0,"mattermost_channel_id":null,"slack_summary_timestamp":null,"mattermost_channel_name":null,"mattermost_channel_url":null,"slack_channel_url":null,"mattermost_summary_timestamp":null,"confluence_page_id":null,"confluence_page_url":null,"kind":"normal","scheduled_for":null,"scheduled_until":null,"scheduled_remind_prior":false,"scheduled_auto_in_progress":true,"scheduled_auto_completed":true,"detected_at":null,"acknowledged_at":null,"private":false,"airtable_record_id":null,"airtable_record_url":null,"google_drive_id":null,"google_drive_url":null,"summary_updated_at":null,"sequential_id":1,"slack_channels":[],"airtable_base_key":null,"airtable_table_name":null,"shortcut_task_id":null,"shortcut_task_url":null,"title_autogenerated":false,"view_source":null,"source":"web","microsoft_teams_meeting_url":null,"microsoft_teams_meeting_id":null,"dropbox_paper_id":null,"dropbox_paper_url":null,"subscribers_count":0,"status_page_io":{},"webex_meeting_id":null,"webex_meeting_url":null,"github_issue_id":null,"github_issue_url":null,"cancelled_at":null,"cancellation_message":null,"notion_page_id":null,"notion_page_url":null,"datadog_notebook_id":null,"datadog_notebook_url":null,"notify_channels":{},"freshservice_ticket_id":null,"freshservice_ticket_url":null,"freshservice_task_id":null,"freshservice_task_url":null,"started_by_user_id":31,"mitigated_by_user_id":null,"resolved_by_user_id":null,"cancelled_by_user_id":null,"slack_aliases":[],"slack_channel_workspace_id":null,"google_calendar_event_url":null,"google_calendar_event_id":null,"short_url":null,"slack_channel_short_url":null,"go_to_meeting_id":null,"go_to_meeting_url":null,"jira_issue_key":null,"linear_issue_key":null,"opsgenie_alert_id":null,"opsgenie_alert_url":null,"triggered_from_slack_channel_id":null,"service_now_incident_key":null,"quip_page_id":null,"quip_page_url":null,"pagertree_alert_id":null,"pagertree_alert_url":null,"duplicate_incident_id":null,"parent_incident_id":null,"ability_cache":null,"previous_attributes":{"incident_events":["Started date has been set to <span class=\"badge badge-info-inverted\">March 17 5:02 PM PDT</span>","Normand Koch created this incident"],"user_avatar_url":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KICAgICAg\nPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8y\nMDAwL3N2ZyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHZpZXdCb3g9IjAg\nMCAyMDAgMjAwIj4KICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImdyYWRp\nZW50XzE3NDIyNTYxNDNfNDg4NTEyIiBncmFkaWVudFRyYW5zZm9ybT0icm90\nYXRlKDkwKSI+CiAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMDAwNDI4\nIiBvZmZzZXQ9IjAlIiAvPgogICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0i\nIzAwMDQyOCIgb2Zmc2V0PSIxMDAlIiAvPgogICAgICAgIDwvbGluZWFyR3Jh\nZGllbnQ+CiAgICAgICAgPHJlY3Qgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAw\nJSIgZmlsbD0idXJsKCNncmFkaWVudF8xNzQyMjU2MTQzXzQ4ODUxMikiIC8+\nCiAgICAgICAgPHRleHQgZmlsbD0iI0ZGRiIgZm9udC1mYW1pbHk9Ik9wZW4g\nU2FucyxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZiIgZm9udC1zaXplPSIx\nMDEiIGZvbnQtd2VpZ2h0PSI1MDAiIHg9IjUwJSIgeT0iNTUlIiBkb21pbmFu\ndC1iYXNlbGluZT0ibWlkZGxlIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj4KICAg\nICAgICAgIE5LCiAgICAgICAgPC90ZXh0PgogICAgICA8L3N2Zz4KICAgIA==\n"},"genius_workflow_runs_count":0,"slack_channel_archived":false,"google_drive_parent_id":null,"in_triage_at":null,"in_triage_by_user_id":null,"external_id":null,"slack_channel_deep_link":null,"retrospective_progress_status":"not_started","users_assigned_count":0,"retrospective_completed_at":null,"retrospective_started_at":null,"pagerduty_incident_number":null,"current_tutorial_step":"not_started","clickup_task_id":null,"clickup_task_url":null,"slack_notify_ready_for_retrospective_timestamp":null,"notify_emails":[],"status_page_io_components":[],"retrospective_auto_skipped":false,"retrospective_mandatory":false,"embedding":null,"zoom_meeting_transcript":{},"google_meeting_transcript":{},"webex_meeting_transcript":{},"microsoft_teams_meeting_transcript":{},"zoom_meeting_bot_id":null,"google_meeting_bot_id":null,"webex_meeting_bot_id":null,"microsoft_teams_meeting_bot_id":null,"zoom_meeting_transcript_summary":null,"google_meeting_transcript_summary":null,"webex_meeting_transcript_summary":null,"microsoft_teams_meeting_transcript_summary":null,"gitlab_issue_id":null,"gitlab_issue_url":null,"sharepoint_page_id":null,"sharepoint_page_url":null,"outlook_event_id":null,"outlook_event_url":null,"created_from_slack_identifier":null,"zoom_meeting_pstn_password":null,"zoom_meeting_h323_password":null,"zoom_meeting_global_dial_in_numbers":[],"left_slack_channel_slack_user_ids":[],"using_redesigned_slack_announcement":true,"using_redesigned_slack_updates":true,"motion_task_id":null,"motion_task_url":null,"sub_status_id":"14972632-ecee-4ddd-8cf8-bb8adddfea88","closed_at":null,"closed_by_user_id":null,"microsoft_teams_channel_id":null,"microsoft_teams_channel_name":null,"microsoft_teams_channel_url":null,"triggered_from_microsoft_teams_channel_id":null,"microsoft_teams_team_id":null,"microsoft_teams_summary_message_id":null,"microsoft_teams_channel_service_url":null,"slack_last_message_ts":null,"zoom_meeting_password":null,"microsoft_teams_team_internal_id":null,"triggered_from_slack_message_ts":null,"triggered_from_slack_thread_ts":null,"raw_labels":null,"tutorial_steps":null}],"data":{},"started_at":"2025-03-17T17:02:22.157-07:00","ended_at":"2025-03-17T17:02:30.233-07:00","external_id":null,"external_url":"http://grant.example/hee","url":"https://test.rootly.com/account/alerts/2fc42ed3-511f-44db-8abf-fc31c4be8882","notification_target_type":null,"notification_target_id":null,"alert_urgency_id":"6f1de6e8-71c9-4d78-9153-4107d4442999","notified_users":[],"created_at":"2025-03-17T17:02:22.157-07:00","updated_at":"2025-03-17T17:02:30.234-07:00"}}},"schema":{"$ref":"#/components/schemas/alert_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/resolve_alert"}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/alerts/%7Bid%7D/resolve \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/alerts/%7Bid%7D/resolve\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/alerts/%7Bid%7D/resolve\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/alerts/%7Bid%7D/resolve\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/audits":{"get":{"summary":"List audits","security":[{"bearer_auth":[]}],"tags":["Audits"],"description":"List audits","operationId":"listAudits","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[user_id]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[api_key_id]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[source]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[item_type]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/audits_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/audits?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Buser_id%5D=SOME_STRING_VALUE&filter%5Bapi_key_id%5D=SOME_STRING_VALUE&filter%5Bsource%5D=SOME_STRING_VALUE&filter%5Bitem_type%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/audits?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Buser_id%5D=SOME_STRING_VALUE&filter%5Bapi_key_id%5D=SOME_STRING_VALUE&filter%5Bsource%5D=SOME_STRING_VALUE&filter%5Bitem_type%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/audits?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Buser_id%5D=SOME_STRING_VALUE&filter%5Bapi_key_id%5D=SOME_STRING_VALUE&filter%5Bsource%5D=SOME_STRING_VALUE&filter%5Bitem_type%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/audits?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Buser_id%5D=SOME_STRING_VALUE&filter%5Bapi_key_id%5D=SOME_STRING_VALUE&filter%5Bsource%5D=SOME_STRING_VALUE&filter%5Bitem_type%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/authorizations":{"post":{"summary":"Creates an authorization","security":[{"bearer_auth":[]}],"tags":["Authorizations"],"description":"Creates a new authorization from provided data","operationId":"createAuthorization","parameters":[],"responses":{"201":{"description":"authorization created","content":{"application/vnd.api+json":{"example":{"data":{"id":"153a47ed-eb34-42ea-ba3c-f3e0184add2a","type":"authorizations","attributes":{"authorizable_id":"2ed66753-8679-4342-8097-56e5b124e57f","authorizable_type":"Dashboard","grantee_id":"40","grantee_type":"User","permissions":["read"],"updated_at":"2025-03-17T17:02:34.989-07:00","created_at":"2025-03-17T17:02:34.989-07:00"}}},"schema":{"$ref":"#/components/schemas/authorization_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_authorization"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/authorizations \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/authorizations\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/authorizations\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/authorizations\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List authorizations","security":[{"bearer_auth":[]}],"tags":["Authorizations"],"description":"List authorizations","operationId":"listAuthorizations","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[authorizable_id]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[authorizable_type]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[grantee_id]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[grantee_type]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/authorization_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/authorizations?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bauthorizable_id%5D=SOME_STRING_VALUE&filter%5Bauthorizable_type%5D=SOME_STRING_VALUE&filter%5Bgrantee_id%5D=SOME_STRING_VALUE&filter%5Bgrantee_type%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/authorizations?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bauthorizable_id%5D=SOME_STRING_VALUE&filter%5Bauthorizable_type%5D=SOME_STRING_VALUE&filter%5Bgrantee_id%5D=SOME_STRING_VALUE&filter%5Bgrantee_type%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/authorizations?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bauthorizable_id%5D=SOME_STRING_VALUE&filter%5Bauthorizable_type%5D=SOME_STRING_VALUE&filter%5Bgrantee_id%5D=SOME_STRING_VALUE&filter%5Bgrantee_type%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/authorizations?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bauthorizable_id%5D=SOME_STRING_VALUE&filter%5Bauthorizable_type%5D=SOME_STRING_VALUE&filter%5Bgrantee_id%5D=SOME_STRING_VALUE&filter%5Bgrantee_type%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/authorizations/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an authorization","security":[{"bearer_auth":[]}],"tags":["Authorizations"],"description":"Retrieves a specific authorization by id","operationId":"getAuthorization","responses":{"200":{"description":"authorization found","content":{"application/vnd.api+json":{"example":{"data":{"id":"9b27fea0-8bbf-4cc6-b50e-d880fb4c7465","type":"authorizations","attributes":{"authorizable_id":"83198539-a2b3-4515-b002-9a84bd2d1c23","authorizable_type":"Dashboard","grantee_id":"46","grantee_type":"Team","permissions":["read","update","authorize","destroy"],"updated_at":"2025-03-17T17:02:36.864-07:00","created_at":"2025-03-17T17:02:36.864-07:00"}}},"schema":{"$ref":"#/components/schemas/authorization_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/authorizations/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/authorizations/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/authorizations/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/authorizations/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an authorization","security":[{"bearer_auth":[]}],"tags":["Authorizations"],"description":"Update a specific authorization by id","operationId":"updateAuthorization","parameters":[],"responses":{"200":{"description":"authorization updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"c65bdecf-30ab-4ae5-819f-f37007095504","type":"authorizations","attributes":{"authorizable_id":"83c43d8a-1581-4347-ad12-6537b2c68ae4","authorizable_type":"Dashboard","grantee_id":"48","grantee_type":"User","permissions":["read","update"],"updated_at":"2025-03-17T17:02:40.233-07:00","created_at":"2025-03-17T17:02:40.071-07:00"}}},"schema":{"$ref":"#/components/schemas/authorization_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_authorization"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/authorizations/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/authorizations/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/authorizations/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/authorizations/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an authorization","security":[{"bearer_auth":[]}],"tags":["Authorizations"],"description":"Delete a specific authorization by id","operationId":"deleteAuthorization","responses":{"200":{"description":"authorization deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"c6945bf1-f6c0-4168-954e-ea4636e03f2c","type":"authorizations","attributes":{"authorizable_id":"278352f8-7e4d-40b0-8868-09504fe47c11","authorizable_type":"Dashboard","grantee_id":"54","grantee_type":"Team","permissions":["read","update","authorize","destroy"],"updated_at":"2025-03-17T17:02:42.604-07:00","created_at":"2025-03-17T17:02:42.604-07:00"}}},"schema":{"$ref":"#/components/schemas/authorization_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/authorizations/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/authorizations/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/authorizations/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/authorizations/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/catalogs/{catalog_id}/entities":{"parameters":[{"name":"catalog_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates a catalog_entity","security":[{"bearer_auth":[]}],"tags":["CatalogEntities"],"description":"Creates a new catalog_entity from provided data","operationId":"createCatalogEntity","parameters":[],"responses":{"201":{"description":"catalog_entity created","content":{"application/vnd.api+json":{"example":{"data":{"id":"33267779-3a10-45d5-9da9-c8739fde3b49","type":"catalog_entities","attributes":{"catalog_id":"6c89b9eb-1300-479a-abaf-5cf0f5ea5af2","name":"Test Item","slug":"test-item","position":2,"deleted_at":null,"updated_at":"2025-03-17T17:02:45.884-07:00","created_at":"2025-03-17T17:02:45.884-07:00"},"relationships":{"catalog":{"data":{"id":"6c89b9eb-1300-479a-abaf-5cf0f5ea5af2","type":"catalogs"}},"properties":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/catalog_entity_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"},{"title":"Name is too short (minimum is 1 character)","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_catalog_entity"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/catalogs/%7Bcatalog_id%7D/entities \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/catalogs/%7Bcatalog_id%7D/entities\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/catalogs/%7Bcatalog_id%7D/entities\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/catalogs/%7Bcatalog_id%7D/entities\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List catalog_entities","security":[{"bearer_auth":[]}],"tags":["CatalogEntities"],"description":"List catalog_entities","operationId":"listCatalogEntities","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: catalog,properties","schema":{"type":"string","enum":["catalog","properties"]},"required":false},{"name":"sort","in":"query","description":"comma separated if needed. eg: created_at,updated_at","schema":{"type":"string","enum":["created_at","-created_at","updated_at","-updated_at","position","-position"]},"required":false},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/catalog_entity_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/catalogs/%7Bcatalog_id%7D/entities?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/catalogs/%7Bcatalog_id%7D/entities?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/catalogs/%7Bcatalog_id%7D/entities?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/catalogs/%7Bcatalog_id%7D/entities?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/catalog_entities/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a catalog_entity","security":[{"bearer_auth":[]}],"tags":["CatalogEntities"],"description":"Retrieves a specific catalog_entity by id","operationId":"getCatalogEntity","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: catalog,properties","schema":{"type":"string","enum":["catalog","properties"]},"required":false}],"responses":{"200":{"description":"catalog_entity found","content":{"application/vnd.api+json":{"example":{"data":{"id":"93b38669-a5f2-44f0-82a4-c1826cf923bf","type":"catalog_entities","attributes":{"catalog_id":"6c89b9eb-1300-479a-abaf-5cf0f5ea5af2","name":"Test","slug":"test","position":1,"deleted_at":null,"updated_at":"2025-03-17T17:02:45.723-07:00","created_at":"2025-03-17T17:02:45.723-07:00"},"relationships":{"catalog":{"data":{"id":"6c89b9eb-1300-479a-abaf-5cf0f5ea5af2","type":"catalogs"}},"properties":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/catalog_entity_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/catalog_entities/%7Bid%7D?include=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/catalog_entities/%7Bid%7D?include=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/catalog_entities/%7Bid%7D?include=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/catalog_entities/%7Bid%7D?include=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a catalog_entity","security":[{"bearer_auth":[]}],"tags":["CatalogEntities"],"description":"Update a specific catalog_entity by id","operationId":"updateCatalogEntity","parameters":[],"responses":{"200":{"description":"catalog_entity updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"93b38669-a5f2-44f0-82a4-c1826cf923bf","type":"catalog_entities","attributes":{"catalog_id":"6c89b9eb-1300-479a-abaf-5cf0f5ea5af2","name":"Updated name","slug":"test","position":1,"deleted_at":null,"updated_at":"2025-03-17T17:02:47.082-07:00","created_at":"2025-03-17T17:02:45.723-07:00"},"relationships":{"catalog":{"data":{"id":"6c89b9eb-1300-479a-abaf-5cf0f5ea5af2","type":"catalogs"}},"properties":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/catalog_entity_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_catalog_entity"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/catalog_entities/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/catalog_entities/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/catalog_entities/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/catalog_entities/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a catalog_entity","security":[{"bearer_auth":[]}],"tags":["CatalogEntities"],"description":"Delete a specific catalog_entity by id","operationId":"deleteCatalogEntity","responses":{"200":{"description":"catalog_entity deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"93b38669-a5f2-44f0-82a4-c1826cf923bf","type":"catalog_entities","attributes":{"catalog_id":"6c89b9eb-1300-479a-abaf-5cf0f5ea5af2","name":"Test","slug":"test","position":1,"deleted_at":"2025-03-17T17:02:47.642-07:00","updated_at":"2025-03-17T17:02:47.642-07:00","created_at":"2025-03-17T17:02:45.723-07:00"},"relationships":{"catalog":{"data":{"id":"6c89b9eb-1300-479a-abaf-5cf0f5ea5af2","type":"catalogs"}},"properties":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/catalog_entity_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/catalog_entities/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/catalog_entities/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/catalog_entities/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/catalog_entities/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/catalog_entities/{catalog_entity_id}/properties":{"parameters":[{"name":"catalog_entity_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates a catalog_entity_property","security":[{"bearer_auth":[]}],"tags":["CatalogEntityProperties"],"description":"Creates a new catalog_entity_property from provided data","operationId":"createCatalogEntityProperty","parameters":[],"responses":{"201":{"description":"catalog_entity_property created","content":{"application/vnd.api+json":{"example":{"data":{"id":"3070cd03-19ea-4ed1-9e44-8b438fda4bcc","type":"catalog_entity_properties","attributes":{"catalog_entity_id":"bff99bd2-29b5-4086-a96d-1c94cd502bfd","catalog_field_id":"4e2878f1-def2-448b-8f33-7ca1f4bc1d47","key":"text","value":"Test EntityProperty","deleted_at":null,"updated_at":"2025-03-17T17:02:49.191-07:00","created_at":"2025-03-17T17:02:49.191-07:00"},"relationships":{"catalog_entity":{"data":{"id":"bff99bd2-29b5-4086-a96d-1c94cd502bfd","type":"catalog_entities"}},"catalog_field":{"data":{"id":"4e2878f1-def2-448b-8f33-7ca1f4bc1d47","type":"catalog_fields"}}}}},"schema":{"$ref":"#/components/schemas/catalog_entity_property_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Value can't be blank","status":"422"},{"title":"Value is too short (minimum is 1 character)","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_catalog_entity_property"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/catalog_entities/%7Bcatalog_entity_id%7D/properties \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/catalog_entities/%7Bcatalog_entity_id%7D/properties\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/catalog_entities/%7Bcatalog_entity_id%7D/properties\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/catalog_entities/%7Bcatalog_entity_id%7D/properties\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List catalog properties","security":[{"bearer_auth":[]}],"tags":["CatalogEntityProperties"],"description":"List catalog_entity_properties","operationId":"listCatalogEntityProperties","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: catalog_entity,catalog_field","schema":{"type":"string","enum":["catalog_entity","catalog_field"]},"required":false},{"name":"sort","in":"query","description":"comma separated if needed. eg: created_at,updated_at","schema":{"type":"string","enum":["created_at","-created_at","updated_at","-updated_at"]},"required":false},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[catalog_field_id]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[key]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/catalog_entity_property_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/catalog_entities/%7Bcatalog_entity_id%7D/properties?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bcatalog_field_id%5D=SOME_STRING_VALUE&filter%5Bkey%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/catalog_entities/%7Bcatalog_entity_id%7D/properties?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bcatalog_field_id%5D=SOME_STRING_VALUE&filter%5Bkey%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/catalog_entities/%7Bcatalog_entity_id%7D/properties?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bcatalog_field_id%5D=SOME_STRING_VALUE&filter%5Bkey%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/catalog_entities/%7Bcatalog_entity_id%7D/properties?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bcatalog_field_id%5D=SOME_STRING_VALUE&filter%5Bkey%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/catalog_entity_properties/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a catalog_entity_property","security":[{"bearer_auth":[]}],"tags":["CatalogEntityProperties"],"description":"Retrieves a specific catalog_entity_property by id","operationId":"getCatalogEntityProperty","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: catalog_entity,catalog_field","schema":{"type":"string","enum":["catalog_entity","catalog_field"]},"required":false}],"responses":{"200":{"description":"catalog_entity_property found","content":{"application/vnd.api+json":{"example":{"data":{"id":"cf6a00f9-fc09-4c2b-b9f6-6bbe01691044","type":"catalog_entity_properties","attributes":{"catalog_entity_id":"bff99bd2-29b5-4086-a96d-1c94cd502bfd","catalog_field_id":"4e2878f1-def2-448b-8f33-7ca1f4bc1d47","key":"text","value":"Test","deleted_at":null,"updated_at":"2025-03-17T17:02:49.035-07:00","created_at":"2025-03-17T17:02:49.035-07:00"},"relationships":{"catalog_entity":{"data":{"id":"bff99bd2-29b5-4086-a96d-1c94cd502bfd","type":"catalog_entities"}},"catalog_field":{"data":{"id":"4e2878f1-def2-448b-8f33-7ca1f4bc1d47","type":"catalog_fields"}}}}},"schema":{"$ref":"#/components/schemas/catalog_entity_property_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/catalog_entity_properties/%7Bid%7D?include=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/catalog_entity_properties/%7Bid%7D?include=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/catalog_entity_properties/%7Bid%7D?include=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/catalog_entity_properties/%7Bid%7D?include=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a catalog_entity_property","security":[{"bearer_auth":[]}],"tags":["CatalogEntityProperties"],"description":"Update a specific catalog_entity_property by id","operationId":"updateCatalogEntityProperty","parameters":[],"responses":{"200":{"description":"catalog_entity_property updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"cf6a00f9-fc09-4c2b-b9f6-6bbe01691044","type":"catalog_entity_properties","attributes":{"catalog_entity_id":"bff99bd2-29b5-4086-a96d-1c94cd502bfd","catalog_field_id":"4e2878f1-def2-448b-8f33-7ca1f4bc1d47","key":"text","value":"Updated value","deleted_at":null,"updated_at":"2025-03-17T17:02:50.435-07:00","created_at":"2025-03-17T17:02:49.035-07:00"},"relationships":{"catalog_entity":{"data":{"id":"bff99bd2-29b5-4086-a96d-1c94cd502bfd","type":"catalog_entities"}},"catalog_field":{"data":{"id":"4e2878f1-def2-448b-8f33-7ca1f4bc1d47","type":"catalog_fields"}}}}},"schema":{"$ref":"#/components/schemas/catalog_entity_property_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_catalog_entity_property"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/catalog_entity_properties/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/catalog_entity_properties/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/catalog_entity_properties/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/catalog_entity_properties/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a catalog_entity_property","security":[{"bearer_auth":[]}],"tags":["CatalogEntityProperties"],"description":"Delete a specific catalog_entity_property by id","operationId":"deleteCatalogEntityProperty","responses":{"200":{"description":"catalog_entity_property deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"cf6a00f9-fc09-4c2b-b9f6-6bbe01691044","type":"catalog_entity_properties","attributes":{"catalog_entity_id":"bff99bd2-29b5-4086-a96d-1c94cd502bfd","catalog_field_id":"4e2878f1-def2-448b-8f33-7ca1f4bc1d47","key":"text","value":"Test","deleted_at":"2025-03-17T17:02:50.966-07:00","updated_at":"2025-03-17T17:02:50.966-07:00","created_at":"2025-03-17T17:02:49.035-07:00"},"relationships":{"catalog_entity":{"data":{"id":"bff99bd2-29b5-4086-a96d-1c94cd502bfd","type":"catalog_entities"}},"catalog_field":{"data":{"id":"4e2878f1-def2-448b-8f33-7ca1f4bc1d47","type":"catalog_fields"}}}}},"schema":{"$ref":"#/components/schemas/catalog_entity_property_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/catalog_entity_properties/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/catalog_entity_properties/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/catalog_entity_properties/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/catalog_entity_properties/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/catalogs/{catalog_id}/fields":{"parameters":[{"name":"catalog_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates a catalog_field","security":[{"bearer_auth":[]}],"tags":["CatalogFields"],"description":"Creates a new catalog_field from provided data","operationId":"createCatalogField","parameters":[],"responses":{"201":{"description":"catalog_field created","content":{"application/vnd.api+json":{"example":{"data":{"id":"d5e6d04b-f786-40b7-9e91-8ffc8d49907f","type":"catalog_fields","attributes":{"catalog_id":"c784f648-0b3b-463f-9b5d-68503faeaf95","name":"Test Attribute","slug":"test-attribute","kind":"reference","kind_catalog_id":null,"multiple":false,"position":2,"deleted_at":null,"updated_at":"2025-03-17T17:02:52.585-07:00","created_at":"2025-03-17T17:02:52.585-07:00"},"relationships":{"catalog":{"data":{"id":"c784f648-0b3b-463f-9b5d-68503faeaf95","type":"catalogs"}}}}},"schema":{"$ref":"#/components/schemas/catalog_field_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"},{"title":"Name is too short (minimum is 1 character)","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_catalog_field"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/catalogs/%7Bcatalog_id%7D/fields \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/catalogs/%7Bcatalog_id%7D/fields\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/catalogs/%7Bcatalog_id%7D/fields\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/catalogs/%7Bcatalog_id%7D/fields\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List catalog_fields","security":[{"bearer_auth":[]}],"tags":["CatalogFields"],"description":"List catalog_fields","operationId":"listCatalogFields","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: catalog","schema":{"type":"string","enum":["catalog"]},"required":false},{"name":"sort","in":"query","description":"comma separated if needed. eg: created_at,updated_at","schema":{"type":"string","enum":["created_at","-created_at","updated_at","-updated_at","position","-position"]},"required":false},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[kind]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/catalog_field_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/catalogs/%7Bcatalog_id%7D/fields?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/catalogs/%7Bcatalog_id%7D/fields?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/catalogs/%7Bcatalog_id%7D/fields?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/catalogs/%7Bcatalog_id%7D/fields?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/catalog_fields/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a catalog_field","security":[{"bearer_auth":[]}],"tags":["CatalogFields"],"description":"Retrieves a specific catalog_field by id","operationId":"getCatalogField","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: catalog","schema":{"type":"string","enum":["catalog"]},"required":false}],"responses":{"200":{"description":"catalog_field found","content":{"application/vnd.api+json":{"example":{"data":{"id":"f04c00db-c907-4e97-93e8-85370f131ae3","type":"catalog_fields","attributes":{"catalog_id":"c784f648-0b3b-463f-9b5d-68503faeaf95","name":"Test","slug":"test","kind":"reference","kind_catalog_id":"c784f648-0b3b-463f-9b5d-68503faeaf95","multiple":false,"position":1,"deleted_at":null,"updated_at":"2025-03-17T17:02:52.431-07:00","created_at":"2025-03-17T17:02:52.431-07:00"},"relationships":{"catalog":{"data":{"id":"c784f648-0b3b-463f-9b5d-68503faeaf95","type":"catalogs"}}}}},"schema":{"$ref":"#/components/schemas/catalog_field_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/catalog_fields/%7Bid%7D?include=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/catalog_fields/%7Bid%7D?include=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/catalog_fields/%7Bid%7D?include=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/catalog_fields/%7Bid%7D?include=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a catalog_field","security":[{"bearer_auth":[]}],"tags":["CatalogFields"],"description":"Update a specific catalog_field by id","operationId":"updateCatalogField","parameters":[],"responses":{"200":{"description":"catalog_field updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"f04c00db-c907-4e97-93e8-85370f131ae3","type":"catalog_fields","attributes":{"catalog_id":"c784f648-0b3b-463f-9b5d-68503faeaf95","name":"Updated name","slug":"test","kind":"reference","kind_catalog_id":"c784f648-0b3b-463f-9b5d-68503faeaf95","multiple":false,"position":1,"deleted_at":null,"updated_at":"2025-03-17T17:02:53.729-07:00","created_at":"2025-03-17T17:02:52.431-07:00"},"relationships":{"catalog":{"data":{"id":"c784f648-0b3b-463f-9b5d-68503faeaf95","type":"catalogs"}}}}},"schema":{"$ref":"#/components/schemas/catalog_field_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_catalog_field"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/catalog_fields/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/catalog_fields/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/catalog_fields/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/catalog_fields/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a catalog_field","security":[{"bearer_auth":[]}],"tags":["CatalogFields"],"description":"Delete a specific catalog_field by id","operationId":"deleteCatalogField","responses":{"200":{"description":"catalog_field deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"f04c00db-c907-4e97-93e8-85370f131ae3","type":"catalog_fields","attributes":{"catalog_id":"c784f648-0b3b-463f-9b5d-68503faeaf95","name":"Test","slug":"test","kind":"reference","kind_catalog_id":"c784f648-0b3b-463f-9b5d-68503faeaf95","multiple":false,"position":1,"deleted_at":"2025-03-17T17:02:54.300-07:00","updated_at":"2025-03-17T17:02:54.300-07:00","created_at":"2025-03-17T17:02:52.431-07:00"},"relationships":{"catalog":{"data":{"id":"c784f648-0b3b-463f-9b5d-68503faeaf95","type":"catalogs"}}}}},"schema":{"$ref":"#/components/schemas/catalog_field_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/catalog_fields/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/catalog_fields/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/catalog_fields/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/catalog_fields/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/catalogs":{"post":{"summary":"Creates a catalog","security":[{"bearer_auth":[]}],"tags":["Catalogs"],"description":"Creates a new catalog from provided data","operationId":"createCatalog","parameters":[],"responses":{"201":{"description":"catalog created","content":{"application/vnd.api+json":{"example":{"data":{"id":"5051e16a-1e5f-4d49-bd27-86be68fd7bbe","type":"catalogs","attributes":{"name":"Test","slug":"test","icon":"shapes","description":null,"position":2,"deleted_at":null,"updated_at":"2025-03-17T17:02:55.843-07:00","created_at":"2025-03-17T17:02:55.843-07:00"},"relationships":{"fields":{"data":[]},"entities":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/catalog_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"},{"title":"Name is too short (minimum is 1 character)","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_catalog"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/catalogs \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/catalogs\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/catalogs\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/catalogs\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List catalogs","security":[{"bearer_auth":[]}],"tags":["Catalogs"],"description":"List catalogs","operationId":"listCatalogs","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: fields,entities","schema":{"type":"string","enum":["fields","entities"]},"required":false},{"name":"sort","in":"query","description":"comma separated if needed. eg: created_at,updated_at","schema":{"type":"string","enum":["created_at","-created_at","updated_at","-updated_at","position","-position"]},"required":false},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/catalog_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/catalogs?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/catalogs?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/catalogs?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/catalogs?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/catalogs/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a catalog","security":[{"bearer_auth":[]}],"tags":["Catalogs"],"description":"Retrieves a specific catalog by id","operationId":"getCatalog","responses":{"200":{"description":"catalog found","content":{"application/vnd.api+json":{"example":{"data":{"id":"8a13edfe-7643-4dbd-9e3e-fda9acfe0d2c","type":"catalogs","attributes":{"name":"Services","slug":"services","icon":"globe-alt","description":null,"position":1,"deleted_at":null,"updated_at":"2025-03-17T17:02:55.694-07:00","created_at":"2025-03-17T17:02:55.694-07:00"},"relationships":{"fields":{"data":[]},"entities":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/catalog_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/catalogs/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/catalogs/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/catalogs/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/catalogs/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a catalog","security":[{"bearer_auth":[]}],"tags":["Catalogs"],"description":"Update a specific catalog by id","operationId":"updateCatalog","parameters":[],"responses":{"200":{"description":"catalog updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"8a13edfe-7643-4dbd-9e3e-fda9acfe0d2c","type":"catalogs","attributes":{"name":"Services","slug":"services","icon":"globe-alt","description":"Updated description","position":1,"deleted_at":null,"updated_at":"2025-03-17T17:02:57.005-07:00","created_at":"2025-03-17T17:02:55.694-07:00"},"relationships":{"fields":{"data":[]},"entities":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/catalog_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_catalog"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/catalogs/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/catalogs/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/catalogs/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/catalogs/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a catalog","security":[{"bearer_auth":[]}],"tags":["Catalogs"],"description":"Delete a specific catalog by id","operationId":"deleteCatalog","responses":{"200":{"description":"catalog deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"8a13edfe-7643-4dbd-9e3e-fda9acfe0d2c","type":"catalogs","attributes":{"name":"Services","slug":"services","icon":"globe-alt","description":null,"position":1,"deleted_at":"2025-03-17T17:02:57.538-07:00","updated_at":"2025-03-17T17:02:57.538-07:00","created_at":"2025-03-17T17:02:55.694-07:00"},"relationships":{"fields":{"data":[]},"entities":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/catalog_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/catalogs/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/catalogs/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/catalogs/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/catalogs/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/causes":{"post":{"summary":"Creates a cause","security":[{"bearer_auth":[]}],"tags":["Causes"],"description":"Creates a new cause from provided data","operationId":"createCause","parameters":[],"responses":{"201":{"description":"cause created","content":{"application/vnd.api+json":{"example":{"data":{"id":"08657ac7-d4a4-4908-a0eb-f539c7ecc8bc","type":"causes","attributes":{"slug":"how-to-handle-customer-facing-incident","name":"How to handle customer-facing incident?","description":"This is a description","position":1,"created_at":"2025-03-17T17:03:01.313-07:00","updated_at":"2025-03-17T17:03:01.313-07:00"}}},"schema":{"$ref":"#/components/schemas/cause_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_cause"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/causes \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/causes\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/causes\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/causes\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List causes","security":[{"bearer_auth":[]}],"tags":["Causes"],"description":"List causes","operationId":"listCauses","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/cause_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/causes?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/causes?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/causes?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/causes?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/causes/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a cause","security":[{"bearer_auth":[]}],"tags":["Causes"],"description":"Retrieves a specific cause by id","operationId":"getCause","responses":{"200":{"description":"cause found","content":{"application/vnd.api+json":{"example":{"data":{"id":"21594c82-1f80-4f18-8e3d-f4647015c8b7","type":"causes","attributes":{"slug":"tempore-eos-asperiores-aliquid","name":"Tempore eos asperiores aliquid.","description":"Itaque assumenda possimus et.","position":1,"created_at":"2025-03-17T17:02:58.866-07:00","updated_at":"2025-03-17T17:02:58.866-07:00"}}},"schema":{"$ref":"#/components/schemas/cause_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/causes/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/causes/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/causes/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/causes/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a cause","security":[{"bearer_auth":[]}],"tags":["Causes"],"description":"Update a specific cause by id","operationId":"updateCause","parameters":[],"responses":{"200":{"description":"cause updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"21594c82-1f80-4f18-8e3d-f4647015c8b7","type":"causes","attributes":{"slug":"how-to-handle-security-incident","name":"How to handle security incident?","description":"This is a description","position":2,"created_at":"2025-03-17T17:02:58.866-07:00","updated_at":"2025-03-17T17:03:02.528-07:00"}}},"schema":{"$ref":"#/components/schemas/cause_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_cause"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/causes/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/causes/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/causes/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/causes/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a cause","security":[{"bearer_auth":[]}],"tags":["Causes"],"description":"Delete a specific cause by id","operationId":"deleteCause","responses":{"200":{"description":"cause deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"21594c82-1f80-4f18-8e3d-f4647015c8b7","type":"causes","attributes":{"slug":"tempore-eos-asperiores-aliquid","name":"Tempore eos asperiores aliquid.","description":"Itaque assumenda possimus et.","position":1,"created_at":"2025-03-17T17:02:58.866-07:00","updated_at":"2025-03-17T17:03:03.070-07:00"}}},"schema":{"$ref":"#/components/schemas/cause_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/causes/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/causes/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/causes/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/causes/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/custom_fields/{custom_field_id}/options":{"parameters":[{"name":"custom_field_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"[DEPRECATED] Creates a custom field option","security":[{"bearer_auth":[]}],"tags":["[DEPRECATED] CustomFieldOptions"],"description":"[DEPRECATED] Use form field endpoints instead. Creates a new custom field option from provided data","deprecated":true,"operationId":"createCustomFieldOption","parameters":[],"responses":{"201":{"description":"custom_field_option created","content":{"application/vnd.api+json":{"example":{"data":{"id":"3","type":"custom_field_options","attributes":{"custom_field_id":1,"value":"Test option value","color":"#FBE4A0","default":false,"position":3,"updated_at":"2025-03-17T17:03:04.726-07:00","created_at":"2025-03-17T17:03:04.726-07:00"}}},"schema":{"$ref":"#/components/schemas/custom_field_option_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Value can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_custom_field_option"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/custom_fields/%7Bcustom_field_id%7D/options \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/custom_fields/%7Bcustom_field_id%7D/options\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/custom_fields/%7Bcustom_field_id%7D/options\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/custom_fields/%7Bcustom_field_id%7D/options\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"[DEPRECATED] List custom field options","security":[{"bearer_auth":[]}],"tags":["[DEPRECATED] CustomFieldOptions"],"description":"[DEPRECATED] Use form field endpoints instead. List custom field options","deprecated":true,"operationId":"listCustomFieldOptions","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[value]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[color]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/custom_field_option_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/custom_fields/%7Bcustom_field_id%7D/options?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bvalue%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/custom_fields/%7Bcustom_field_id%7D/options?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bvalue%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/custom_fields/%7Bcustom_field_id%7D/options?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bvalue%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/custom_fields/%7Bcustom_field_id%7D/options?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bvalue%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/custom_field_options/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"[DEPRECATED] Retrieves a custom field option","security":[{"bearer_auth":[]}],"tags":["[DEPRECATED] CustomFieldOptions"],"description":"[DEPRECATED] Use form field endpoints instead. Retrieves a specific custom field option by id","deprecated":true,"operationId":"getCustomFieldOption","responses":{"200":{"description":"custom_field_option found","content":{"application/vnd.api+json":{"example":{"data":{"id":"1","type":"custom_field_options","attributes":{"custom_field_id":1,"value":"Similique dolores facere distinctio.","color":"#FBE4A0","default":false,"position":1,"updated_at":"2025-03-17T17:03:04.561-07:00","created_at":"2025-03-17T17:03:04.561-07:00"}}},"schema":{"$ref":"#/components/schemas/custom_field_option_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/custom_field_options/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/custom_field_options/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/custom_field_options/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/custom_field_options/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"[DEPRECATED] Update a custom field option","security":[{"bearer_auth":[]}],"tags":["[DEPRECATED] CustomFieldOptions"],"description":"[DEPRECATED] Use form field endpoints instead. Update a specific custom field option by id","deprecated":true,"operationId":"updateCustomFieldOption","parameters":[],"responses":{"200":{"description":"custom_field_option updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"1","type":"custom_field_options","attributes":{"custom_field_id":1,"value":"Test update option value","color":"#FBE4A0","default":false,"position":1,"updated_at":"2025-03-17T17:03:05.897-07:00","created_at":"2025-03-17T17:03:04.561-07:00"}}},"schema":{"$ref":"#/components/schemas/custom_field_option_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_custom_field_option"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/custom_field_options/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/custom_field_options/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/custom_field_options/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/custom_field_options/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"[DEPRECATED] Delete a custom field option","security":[{"bearer_auth":[]}],"tags":["[DEPRECATED] CustomFieldOptions"],"description":"[DEPRECATED] Use form field endpoints instead. Delete a specific Custom Field Option by id","deprecated":true,"operationId":"deleteCustomFieldOption","responses":{"200":{"description":"custom_field_option deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"1","type":"custom_field_options","attributes":{"custom_field_id":1,"value":"Similique dolores facere distinctio.","color":"#FBE4A0","default":false,"position":1,"updated_at":"2025-03-17T17:03:06.466-07:00","created_at":"2025-03-17T17:03:04.561-07:00"}}},"schema":{"$ref":"#/components/schemas/custom_field_option_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/custom_field_options/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/custom_field_options/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/custom_field_options/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/custom_field_options/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/custom_fields":{"post":{"summary":"[DEPRECATED] Creates a Custom Field","security":[{"bearer_auth":[]}],"tags":["[DEPRECATED] CustomFields"],"description":"[DEPRECATED] Use form field endpoints instead. Creates a new custom field from provided data","deprecated":true,"operationId":"createCustomField","parameters":[],"responses":{"201":{"description":"custom_field created","content":{"application/vnd.api+json":{"example":{"data":{"id":"3","type":"custom_fields","attributes":{"slug":"test-custom-field","description":null,"enabled":true,"position":2,"updated_at":"2025-03-17T17:03:10.910-07:00","created_at":"2025-03-17T17:03:10.910-07:00","kind":"text","label":"Test custom field","shown":["incident_form","incident_slack_form"],"required":[]},"relationships":{"options":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/custom_field_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_custom_field"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/custom_fields \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/custom_fields\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/custom_fields\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/custom_fields\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"[DEPRECATED] List Custom Fields","security":[{"bearer_auth":[]}],"tags":["[DEPRECATED] CustomFields"],"description":"[DEPRECATED] Use form field endpoints instead. List Custom fields","deprecated":true,"operationId":"listCustomFields","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: options","schema":{"type":"string","enum":["options"]},"required":false},{"name":"sort","in":"query","description":"comma separated if needed. eg: created_at,updated_at","schema":{"type":"string","enum":["created_at","-created_at","updated_at","-updated_at","position","-position"]},"required":false},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[label]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[kind]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[enabled]","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/custom_field_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/custom_fields?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Blabel%5D=SOME_STRING_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Benabled%5D=SOME_BOOLEAN_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/custom_fields?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Blabel%5D=SOME_STRING_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Benabled%5D=SOME_BOOLEAN_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/custom_fields?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Blabel%5D=SOME_STRING_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Benabled%5D=SOME_BOOLEAN_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/custom_fields?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Blabel%5D=SOME_STRING_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Benabled%5D=SOME_BOOLEAN_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/custom_fields/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"[DEPRECATED] Retrieves a Custom Field","security":[{"bearer_auth":[]}],"tags":["[DEPRECATED] CustomFields"],"description":"Retrieves a specific custom_field by id","deprecated":true,"operationId":"getCustomField","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: options","schema":{"type":"string","enum":["options"]},"required":false}],"responses":{"200":{"description":"custom_field found","content":{"application/vnd.api+json":{"example":{"data":{"id":"2","type":"custom_fields","attributes":{"slug":"dolores-blanditiis-quo-fuga","description":"Et sunt aut voluptate.","enabled":true,"position":1,"updated_at":"2025-03-17T17:03:08.390-07:00","created_at":"2025-03-17T17:03:08.390-07:00","kind":"text","label":"Dolores blanditiis quo fuga.","shown":["incident_form","incident_slack_form"],"required":[]},"relationships":{"options":{"data":[{"id":"4","type":"custom_field_options"},{"id":"5","type":"custom_field_options"}]}}}},"schema":{"$ref":"#/components/schemas/custom_field_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/custom_fields/%7Bid%7D?include=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/custom_fields/%7Bid%7D?include=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/custom_fields/%7Bid%7D?include=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/custom_fields/%7Bid%7D?include=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"[DEPRECATED] Update a Custom Field","security":[{"bearer_auth":[]}],"tags":["[DEPRECATED] CustomFields"],"description":"[DEPRECATED] Use form field endpoints instead. Update a specific custom field by id","deprecated":true,"operationId":"updateCustomField","parameters":[],"responses":{"200":{"description":"custom_field updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"2","type":"custom_fields","attributes":{"slug":"test-update-custom-field","description":"Et sunt aut voluptate.","enabled":true,"position":1,"updated_at":"2025-03-17T17:03:12.304-07:00","created_at":"2025-03-17T17:03:08.390-07:00","kind":"text","label":"Test update custom field","shown":["incident_form"],"required":[]},"relationships":{"options":{"data":[{"id":"4","type":"custom_field_options"},{"id":"5","type":"custom_field_options"}]}}}},"schema":{"$ref":"#/components/schemas/custom_field_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_custom_field"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/custom_fields/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/custom_fields/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/custom_fields/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/custom_fields/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"[DEPRECATED] Delete a Custom Field","security":[{"bearer_auth":[]}],"tags":["[DEPRECATED] CustomFields"],"description":"[DEPRECATED] Use form field endpoints instead. Delete a specific custom field by id","deprecated":true,"operationId":"deleteCustomField","responses":{"200":{"description":"custom_field deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"2","type":"custom_fields","attributes":{"slug":"dolores-blanditiis-quo-fuga","description":"Et sunt aut voluptate.","enabled":true,"position":1,"updated_at":"2025-03-17T17:03:13.071-07:00","created_at":"2025-03-17T17:03:08.390-07:00","kind":"text","label":"Dolores blanditiis quo fuga.","shown":[],"required":[]},"relationships":{"options":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/custom_field_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/custom_fields/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/custom_fields/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/custom_fields/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/custom_fields/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/custom_forms":{"post":{"summary":"Creates a custom form","security":[{"bearer_auth":[]}],"tags":["CustomForms"],"description":"Creates a new custom form from provided data","operationId":"createCustomForm","parameters":[],"responses":{"201":{"description":"custom_form created","content":{"application/vnd.api+json":{"example":{"data":{"id":"9377ff3a-e927-46d7-b554-e9599db279c0","type":"custom_forms","attributes":{"slug":"test","name":"Test","description":null,"enabled":true,"command":"test","created_at":"2025-03-17T17:03:16.257-07:00","updated_at":"2025-03-17T17:03:16.257-07:00"}}},"schema":{"$ref":"#/components/schemas/custom_form_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"},{"title":"Command can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_custom_form"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/custom_forms \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/custom_forms\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/custom_forms\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/custom_forms\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List custom forms","security":[{"bearer_auth":[]}],"tags":["CustomForms"],"description":"List custom forms","operationId":"listCustomForms","parameters":[{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[command]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"custom_form found","content":{"application/vnd.api+json":{"example":{"data":[],"links":{"self":"http://www.example.com/v1/custom_forms?page%5Bnumber%5D=1&page%5Bsize%5D=50","first":"http://www.example.com/v1/custom_forms?page%5Bnumber%5D=1&page%5Bsize%5D=50","prev":null,"last":"http://www.example.com/v1/custom_forms?page%5Bnumber%5D=1&page%5Bsize%5D=50","next":null},"meta":{"current_page":1,"next_page":null,"prev_page":null,"total_pages":1,"total_count":0}},"schema":{"$ref":"#/components/schemas/custom_form_list"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/custom_forms?page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bcommand%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/custom_forms?page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bcommand%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/custom_forms?page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bcommand%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/custom_forms?page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bcommand%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/custom_forms/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a custom form","security":[{"bearer_auth":[]}],"tags":["CustomForms"],"description":"Retrieves a specific custom form by id","operationId":"getCustomForm","responses":{"200":{"description":"custom_form found","content":{"application/vnd.api+json":{"example":{"data":{"id":"6c0bbf44-6bef-47b7-9a0e-d490054d47b3","type":"custom_forms","attributes":{"slug":"possimus-enim-vitae-quia","name":"Possimus enim vitae quia.","description":"Unde ea et ut.","enabled":true,"command":"possimus-enim-vitae-quia","created_at":"2025-03-17T17:03:18.419-07:00","updated_at":"2025-03-17T17:03:18.419-07:00"}}},"schema":{"$ref":"#/components/schemas/custom_form_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/custom_forms/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/custom_forms/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/custom_forms/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/custom_forms/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a custom form","security":[{"bearer_auth":[]}],"tags":["CustomForms"],"description":"Update a specific custom form by id","operationId":"updateCustomForm","parameters":[],"responses":{"200":{"description":"custom_form updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"8a60e6e0-c30a-4c32-9733-17f7ff672b3b","type":"custom_forms","attributes":{"slug":"laboriosam-doloribus-quos-velit","name":"Test Update","description":"Qui fugit magnam sit.","enabled":true,"command":"laboriosam-doloribus-quos-velit","created_at":"2025-03-17T17:03:20.972-07:00","updated_at":"2025-03-17T17:03:21.144-07:00"}}},"schema":{"$ref":"#/components/schemas/custom_form_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_custom_form"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/custom_forms/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/custom_forms/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/custom_forms/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/custom_forms/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a custom form","security":[{"bearer_auth":[]}],"tags":["CustomForms"],"description":"Delete a specific custom form by id","operationId":"deleteCustomForm","responses":{"200":{"description":"custom_form deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"67d9e115-1cb9-4852-9c57-7c64457cb826","type":"custom_forms","attributes":{"slug":"modi-eos-sint-nisi","name":"Modi eos sint nisi.","description":"Harum eius praesentium amet.","enabled":true,"command":"modi-eos-sint-nisi","created_at":"2025-03-17T17:03:23.508-07:00","updated_at":"2025-03-17T17:03:23.683-07:00"}}},"schema":{"$ref":"#/components/schemas/custom_form_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/custom_forms/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/custom_forms/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/custom_forms/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/custom_forms/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/dashboards/{dashboard_id}/panels":{"parameters":[{"name":"dashboard_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates a dashboard panel","security":[{"bearer_auth":[]}],"tags":["DashboardPanels"],"description":"Creates a new dashboard panel from provided data","operationId":"createDashboardPanel","parameters":[],"responses":{"201":{"description":"dashboard panel created","content":{"application/vnd.api+json":{"example":{"data":{"id":"74469441-d4d0-4bd3-af5b-3f59bff37633","type":"dashboard_panels","attributes":{"dashboard_id":"9f89f4a7-3b7e-4793-9d9d-cd72a00cf481","name":"test","params":{"display":"line_chart","datasets":[{"collection":"incidents","filter":[],"aggregate":{"operation":"count","key":"results","cumulative":false}}]},"position":null,"created_at":"2025-03-17T17:03:26.859-07:00","updated_at":"2025-03-17T17:03:26.859-07:00","data":[{"name":"Incidents","color":null,"data":{"2025-03-10":0,"2025-03-11":0,"2025-03-12":0,"2025-03-13":0,"2025-03-14":0,"2025-03-15":0,"2025-03-16":0,"2025-03-17":0}}]}}},"schema":{"$ref":"#/components/schemas/dashboard_panel_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_dashboard_panel"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/dashboards/%7Bdashboard_id%7D/panels \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/dashboards/%7Bdashboard_id%7D/panels\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/dashboards/%7Bdashboard_id%7D/panels\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/dashboards/%7Bdashboard_id%7D/panels\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List dashboard panels","security":[{"bearer_auth":[]}],"tags":["DashboardPanels"],"description":"List dashboard panels","operationId":"listDashboardPanels","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/dashboard_panel_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/dashboards/%7Bdashboard_id%7D/panels?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/dashboards/%7Bdashboard_id%7D/panels?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/dashboards/%7Bdashboard_id%7D/panels?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/dashboards/%7Bdashboard_id%7D/panels?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/dashboard_panels/{id}/duplicate":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Duplicates a dashboard panel","security":[{"bearer_auth":[]}],"tags":["DashboardPanels"],"description":"Duplicates a dashboard panel","operationId":"duplicateDashboardPanel","responses":{"201":{"description":"dashboard panel created","content":{"application/vnd.api+json":{"example":{"data":{"id":"93c4f730-1319-435c-b6a9-bf35321ab7aa","type":"dashboard_panels","attributes":{"dashboard_id":"9f89f4a7-3b7e-4793-9d9d-cd72a00cf481","name":"Copy of Test panel","params":{"display":"line_chart","datasets":[{"collection":"incidents","filter":[],"aggregate":{"operation":"count","key":"results","cumulative":false}}]},"position":null,"created_at":"2025-03-17T17:03:27.383-07:00","updated_at":"2025-03-17T17:03:27.383-07:00","data":[{"name":"Incidents","color":null,"data":{"2025-03-10":0,"2025-03-11":0,"2025-03-12":0,"2025-03-13":0,"2025-03-14":0,"2025-03-15":0,"2025-03-16":0,"2025-03-17":0}}]}}},"schema":{"$ref":"#/components/schemas/dashboard_panel_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/dashboard_panels/%7Bid%7D/duplicate \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/dashboard_panels/%7Bid%7D/duplicate\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/dashboard_panels/%7Bid%7D/duplicate\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/dashboard_panels/%7Bid%7D/duplicate\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/dashboard_panels/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a dashboard panel","security":[{"bearer_auth":[]}],"tags":["DashboardPanels"],"description":"Retrieves a specific dashboard panel by id","operationId":"getDashboardPanel","parameters":[{"name":"range","in":"query","required":false,"description":"Date range for panel data, ISO8601 timestamps separated by the word 'to'. Ex: '2022-06-19T11:28:46.029Z to 2022-07-18T21:58:46.029Z'.","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"The time period to group data by. Accepts 'day', 'week', and 'month'","schema":{"type":"string"}},{"name":"time_zone","in":"query","required":false,"description":"The time zone to use for period","schema":{"type":"string"}}],"responses":{"200":{"description":"dashboard panel found","content":{"application/vnd.api+json":{"example":{"data":{"id":"7e00c843-4dcc-45db-908f-08022fbb6fc8","type":"dashboard_panels","attributes":{"dashboard_id":"9f89f4a7-3b7e-4793-9d9d-cd72a00cf481","name":"Test panel","params":{"display":"line_chart","datasets":[{"collection":"incidents","filter":[],"aggregate":{"operation":"count","key":"results","cumulative":false}}]},"position":null,"created_at":"2025-03-17T17:03:26.659-07:00","updated_at":"2025-03-17T17:03:26.659-07:00","data":[{"name":"Incidents","color":null,"data":{"2025-02-17":0,"2025-02-18":0,"2025-02-19":0,"2025-02-20":0,"2025-02-21":0,"2025-02-22":0,"2025-02-23":0,"2025-02-24":0,"2025-02-25":0,"2025-02-26":0,"2025-02-27":0,"2025-02-28":0,"2025-03-01":0,"2025-03-02":0,"2025-03-03":0,"2025-03-04":0,"2025-03-05":0,"2025-03-06":0,"2025-03-07":0,"2025-03-08":0,"2025-03-09":0,"2025-03-10":0,"2025-03-11":0,"2025-03-12":0,"2025-03-13":0,"2025-03-14":0,"2025-03-15":0,"2025-03-16":0,"2025-03-17":0}}]}}},"schema":{"$ref":"#/components/schemas/dashboard_panel_response"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/dashboard_panels/%7Bid%7D?range=SOME_STRING_VALUE&period=SOME_STRING_VALUE&time_zone=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/dashboard_panels/%7Bid%7D?range=SOME_STRING_VALUE&period=SOME_STRING_VALUE&time_zone=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/dashboard_panels/%7Bid%7D?range=SOME_STRING_VALUE&period=SOME_STRING_VALUE&time_zone=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/dashboard_panels/%7Bid%7D?range=SOME_STRING_VALUE&period=SOME_STRING_VALUE&time_zone=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a dashboard panel","security":[{"bearer_auth":[]}],"tags":["DashboardPanels"],"description":"Update a specific dashboard panel by id","operationId":"updateDashboardPanel","parameters":[],"responses":{"200":{"description":"dashboard panel updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"7e00c843-4dcc-45db-908f-08022fbb6fc8","type":"dashboard_panels","attributes":{"dashboard_id":"9f89f4a7-3b7e-4793-9d9d-cd72a00cf481","name":"test update","params":{"display":"line_chart","datasets":[{"collection":"incidents","filter":[],"aggregate":{"operation":"count","key":"results","cumulative":false}}]},"position":null,"created_at":"2025-03-17T17:03:26.659-07:00","updated_at":"2025-03-17T17:03:27.950-07:00","data":[{"name":"Incidents","color":null,"data":{"2025-03-10":0,"2025-03-11":0,"2025-03-12":0,"2025-03-13":0,"2025-03-14":0,"2025-03-15":0,"2025-03-16":0,"2025-03-17":0}}]}}},"schema":{"$ref":"#/components/schemas/dashboard_panel_response"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_dashboard_panel"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/dashboard_panels/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/dashboard_panels/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/dashboard_panels/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/dashboard_panels/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a dashboard panel","security":[{"bearer_auth":[]}],"tags":["DashboardPanels"],"description":"Delete a specific dashboard panel by id","operationId":"deleteDashboardPanel","responses":{"200":{"description":"dashboard panel deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"7e00c843-4dcc-45db-908f-08022fbb6fc8","type":"dashboard_panels","attributes":{"dashboard_id":"9f89f4a7-3b7e-4793-9d9d-cd72a00cf481","name":"Test panel","params":{"display":"line_chart","datasets":[{"collection":"incidents","filter":[],"aggregate":{"operation":"count","key":"results","cumulative":false}}]},"position":null,"created_at":"2025-03-17T17:03:26.659-07:00","updated_at":"2025-03-17T17:03:28.194-07:00","data":[{"name":"Incidents","color":null,"data":{"2025-03-10":0,"2025-03-11":0,"2025-03-12":0,"2025-03-13":0,"2025-03-14":0,"2025-03-15":0,"2025-03-16":0,"2025-03-17":0}}]}}},"schema":{"$ref":"#/components/schemas/dashboard_panel_response"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/dashboard_panels/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/dashboard_panels/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/dashboard_panels/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/dashboard_panels/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/dashboards":{"post":{"summary":"Creates a dashboard","security":[{"bearer_auth":[]}],"tags":["Dashboards"],"description":"Creates a new dashboard from provided data","operationId":"createDashboard","parameters":[],"responses":{"201":{"description":"dashboard created","content":{"application/vnd.api+json":{"example":{"data":{"id":"5b9180f4-34be-47db-ac84-c62c72b8689a","type":"dashboards","attributes":{"team_id":98,"user_id":96,"name":"Test dashboard","description":null,"slug":"test-dashboard","public":false,"owner":"user","range":"Last 30 Days","period":"day","color":"#FAEEE6","icon":"📊","auto_refresh":false,"updated_at":"2025-03-17T17:03:31.543-07:00","created_at":"2025-03-17T17:03:31.543-07:00"},"relationships":{"panels":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/dashboard_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_dashboard"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/dashboards \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/dashboards\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/dashboards\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/dashboards\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List dashboards","security":[{"bearer_auth":[]}],"tags":["Dashboards"],"description":"List dashboards","operationId":"listDashboards","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: panels","schema":{"type":"string","enum":["panels"]},"required":false},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/dashboard_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/dashboards?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/dashboards?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/dashboards?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/dashboards?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/dashboards/{id}/duplicate":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Duplicates a dashboard","security":[{"bearer_auth":[]}],"tags":["Dashboards"],"description":"Duplicates a dashboard","operationId":"duplicateDashboard","responses":{"201":{"description":"dashboard created","content":{"application/vnd.api+json":{"example":{"data":{"id":"93af7915-98ec-4b2a-bf8d-0c5842602d1e","type":"dashboards","attributes":{"team_id":98,"user_id":96,"name":"Copy of Dashboard 10 - 2025-03-18","description":null,"slug":"copy-of-dashboard-10-2025-03-18","public":false,"owner":"user","range":"Last 30 Days","period":"day","color":"#FAEEE6","icon":"📊","auto_refresh":false,"updated_at":"2025-03-17T17:03:32.278-07:00","created_at":"2025-03-17T17:03:32.278-07:00"},"relationships":{"panels":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/dashboard_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/dashboards/%7Bid%7D/duplicate \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/dashboards/%7Bid%7D/duplicate\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/dashboards/%7Bid%7D/duplicate\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/dashboards/%7Bid%7D/duplicate\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/dashboards/{id}/set_default":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Sets dashboard to user default","security":[{"bearer_auth":[]}],"tags":["Dashboards"],"description":"Sets dashboard to user default","operationId":"setDefaultDashboard","responses":{"200":{"description":"dashboard created","content":{"application/vnd.api+json":{"example":{"data":{"id":"5a150978-fd6f-49fc-a689-72d24f2df7ac","type":"dashboards","attributes":{"team_id":98,"user_id":96,"name":"Dashboard 10","description":null,"slug":"dashboard-10","public":false,"owner":"team","range":"Last 30 Days","period":"day","color":"#FAEEE6","icon":"📊","auto_refresh":false,"updated_at":"2025-03-17T17:03:29.258-07:00","created_at":"2025-03-17T17:03:29.258-07:00"},"relationships":{"panels":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/dashboard_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/dashboards/%7Bid%7D/set_default \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/dashboards/%7Bid%7D/set_default\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/dashboards/%7Bid%7D/set_default\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/dashboards/%7Bid%7D/set_default\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/dashboards/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a dashboard","security":[{"bearer_auth":[]}],"tags":["Dashboards"],"description":"Retrieves a specific dashboard by id","operationId":"getDashboard","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: panels","schema":{"type":"string","enum":["panels"]},"required":false}],"responses":{"200":{"description":"dashboard found","content":{"application/vnd.api+json":{"example":{"data":{"id":"5a150978-fd6f-49fc-a689-72d24f2df7ac","type":"dashboards","attributes":{"team_id":98,"user_id":96,"name":"Dashboard 10","description":null,"slug":"dashboard-10","public":false,"owner":"team","range":"Last 30 Days","period":"day","color":"#FAEEE6","icon":"📊","auto_refresh":false,"updated_at":"2025-03-17T17:03:29.258-07:00","created_at":"2025-03-17T17:03:29.258-07:00"},"relationships":{"panels":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/dashboard_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/dashboards/%7Bid%7D?include=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/dashboards/%7Bid%7D?include=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/dashboards/%7Bid%7D?include=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/dashboards/%7Bid%7D?include=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a dashboard","security":[{"bearer_auth":[]}],"tags":["Dashboards"],"description":"Update a specific dashboard by id","operationId":"updateDashboard","parameters":[],"responses":{"200":{"description":"dashboard updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"5a150978-fd6f-49fc-a689-72d24f2df7ac","type":"dashboards","attributes":{"team_id":98,"user_id":96,"name":"Test update dashboard","description":null,"slug":"test-update-dashboard","public":false,"owner":"team","range":"Last 30 Days","period":"day","color":"#FAEEE6","icon":"📊","auto_refresh":false,"updated_at":"2025-03-17T17:03:33.478-07:00","created_at":"2025-03-17T17:03:29.258-07:00"},"relationships":{"panels":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/dashboard_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_dashboard"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/dashboards/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/dashboards/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/dashboards/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/dashboards/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a dashboard","security":[{"bearer_auth":[]}],"tags":["Dashboards"],"description":"Delete a specific dashboard by id","operationId":"deleteDashboard","responses":{"200":{"description":"dashboard deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"5a150978-fd6f-49fc-a689-72d24f2df7ac","type":"dashboards","attributes":{"team_id":98,"user_id":96,"name":"Dashboard 10","description":null,"slug":"dashboard-10","public":false,"owner":"user","range":"Last 30 Days","period":"day","color":"#FAEEE6","icon":"📊","auto_refresh":false,"updated_at":"2025-03-17T17:03:34.117-07:00","created_at":"2025-03-17T17:03:29.258-07:00"},"relationships":{"panels":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/dashboard_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/dashboards/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/dashboards/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/dashboards/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/dashboards/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/environments":{"post":{"summary":"Creates an environment","security":[{"bearer_auth":[]}],"tags":["Environments"],"description":"Creates a new environment from provided data","operationId":"createEnvironment","parameters":[],"responses":{"201":{"description":"environment created","content":{"application/vnd.api+json":{"example":{"data":{"id":"2c53f489-19db-4820-bd30-72e8bad6a9f6","type":"environments","attributes":{"slug":"us-east-1","name":"us-east-1","description":"East Coast Datacenter","color":"#FFF","position":1,"notify_emails":["hello@rootly.com","world@rootly.com"],"slack_channels":[{"id":"C03MKDSEJE8","name":"elastisearch"}],"slack_aliases":[{"id":"S03F7QUV7F1","name":"leadership"}],"created_at":"2025-03-17T17:03:38.301-07:00","updated_at":"2025-03-17T17:03:38.301-07:00"}}},"schema":{"$ref":"#/components/schemas/environment_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_environment"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/environments \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/environments\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/environments\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/environments\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List environments","security":[{"bearer_auth":[]}],"tags":["Environments"],"description":"List environments","operationId":"listEnvironments","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[color]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/environment_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/environments?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/environments?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/environments?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/environments?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/environments/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an environment","security":[{"bearer_auth":[]}],"tags":["Environments"],"description":"Retrieves a specific environment by id","operationId":"getEnvironment","responses":{"200":{"description":"environment found","content":{"application/vnd.api+json":{"example":{"data":{"id":"9d2aca00-927a-43da-94b9-4777e7baa6d0","type":"environments","attributes":{"slug":"vitae-autem-culpa-quas","name":"Vitae autem culpa quas.","description":"Eligendi consequatur earum qui.","color":"#93d2d2","position":1,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:03:35.621-07:00","updated_at":"2025-03-17T17:03:35.621-07:00"}}},"schema":{"$ref":"#/components/schemas/environment_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/environments/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/environments/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/environments/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/environments/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an environment","security":[{"bearer_auth":[]}],"tags":["Environments"],"description":"Update a specific environment by id","operationId":"updateEnvironment","parameters":[],"responses":{"200":{"description":"environment updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"9d2aca00-927a-43da-94b9-4777e7baa6d0","type":"environments","attributes":{"slug":"us-east-1","name":"us-east-1","description":"East Coast Datacenter Region 1","color":"#000","position":2,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:03:35.621-07:00","updated_at":"2025-03-17T17:03:39.611-07:00"}}},"schema":{"$ref":"#/components/schemas/environment_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_environment"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/environments/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/environments/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/environments/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/environments/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an environment","security":[{"bearer_auth":[]}],"tags":["Environments"],"description":"Delete a specific environment by id","operationId":"deleteEnvironment","responses":{"200":{"description":"environment deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"9d2aca00-927a-43da-94b9-4777e7baa6d0","type":"environments","attributes":{"slug":"vitae-autem-culpa-quas","name":"Vitae autem culpa quas.","description":"Eligendi consequatur earum qui.","color":"#93d2d2","position":1,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:03:35.621-07:00","updated_at":"2025-03-17T17:03:40.662-07:00"}}},"schema":{"$ref":"#/components/schemas/environment_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/environments/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/environments/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/environments/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/environments/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/escalation_policies":{"post":{"summary":"Creates an escalation policy","security":[{"bearer_auth":[]}],"tags":["EscalationPolicies"],"description":"Creates a new escalation policy from provided data","operationId":"createEscalationPolicy","parameters":[],"responses":{"201":{"description":"escalation policy created","content":{"application/vnd.api+json":{"example":{"data":{"id":"07337779-4130-435b-9f7d-c72f6b48b105","type":"escalation_policies","attributes":{"name":"Platform EP","description":"test","repeat_count":5,"created_by_user_id":106,"last_updated_by_user_id":106,"group_ids":[],"service_ids":[],"business_hours":{"time_zone":null,"days":["M","T","W","R","F"],"start_time":"09:00 AM","end_time":"05:00 PM"},"created_at":"2025-03-17T17:03:44.948-07:00","updated_at":"2025-03-17T17:03:44.948-07:00"},"relationships":{"escalation_levels":{"data":[]},"escalation_paths":{"data":[]},"groups":{"data":[]},"services":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/escalation_policy_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"name":["can't be blank"]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_escalation_policy"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/escalation_policies \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/escalation_policies\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/escalation_policies\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/escalation_policies\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List escalation policies","security":[{"bearer_auth":[]}],"tags":["EscalationPolicies"],"description":"List escalation policies","operationId":"listEscalationPolicies","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: escalation_policy_levels,escalation_policy_paths","schema":{"type":"string","enum":["escalation_policy_levels","escalation_policy_paths","groups","services"]},"required":false},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/escalation_policy_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/escalation_policies?include=SOME_STRING_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/escalation_policies?include=SOME_STRING_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/escalation_policies?include=SOME_STRING_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/escalation_policies?include=SOME_STRING_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/escalation_policies/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an escalation policy","security":[{"bearer_auth":[]}],"tags":["EscalationPolicies"],"description":"Retrieves a specific escalation policy by id","operationId":"getEscalationPolicy","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: escalation_policy_levels,escalation_policy_paths","schema":{"type":"string","enum":["escalation_policy_levels","escalation_policy_paths","groups","services"]},"required":false}],"responses":{"200":{"description":"escalation policy found","content":{"application/vnd.api+json":{"example":{"data":{"id":"cf54f191-c29d-4627-b7f3-5aabd2b42b7d","type":"escalation_policies","attributes":{"name":"Et odio deserunt tempora.","description":null,"repeat_count":1,"created_by_user_id":108,"last_updated_by_user_id":109,"group_ids":[],"service_ids":[],"business_hours":{"time_zone":null,"days":["F","M","T","R","W"],"start_time":"09:00 AM","end_time":"05:00 PM"},"created_at":"2025-03-17T17:03:42.276-07:00","updated_at":"2025-03-17T17:03:42.276-07:00"},"relationships":{"escalation_levels":{"data":[]},"escalation_paths":{"data":[]},"groups":{"data":[]},"services":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/escalation_policy_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/escalation_policies/%7Bid%7D?include=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/escalation_policies/%7Bid%7D?include=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/escalation_policies/%7Bid%7D?include=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/escalation_policies/%7Bid%7D?include=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an escalation policy","security":[{"bearer_auth":[]}],"tags":["EscalationPolicies"],"description":"Update a specific escalation policy by id","operationId":"updateEscalationPolicy","parameters":[],"responses":{"200":{"description":"escalation policy updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"cf54f191-c29d-4627-b7f3-5aabd2b42b7d","type":"escalation_policies","attributes":{"name":"Platform EP","description":"test","repeat_count":2,"created_by_user_id":108,"last_updated_by_user_id":109,"group_ids":[],"service_ids":[],"business_hours":{"time_zone":null,"days":["F","M","T","R","W"],"start_time":"09:00 AM","end_time":"05:00 PM"},"created_at":"2025-03-17T17:03:42.276-07:00","updated_at":"2025-03-17T17:03:46.904-07:00"},"relationships":{"escalation_levels":{"data":[]},"escalation_paths":{"data":[]},"groups":{"data":[]},"services":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/escalation_policy_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_escalation_policy"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/escalation_policies/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/escalation_policies/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/escalation_policies/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/escalation_policies/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an escalation policy","security":[{"bearer_auth":[]}],"tags":["EscalationPolicies"],"description":"Delete a specific escalation policy by id","operationId":"deleteEscalationPolicy","responses":{"200":{"description":"escalation policy deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"cf54f191-c29d-4627-b7f3-5aabd2b42b7d","type":"escalation_policies","attributes":{"name":"Et odio deserunt tempora.","description":null,"repeat_count":1,"created_by_user_id":108,"last_updated_by_user_id":109,"group_ids":[],"service_ids":[],"business_hours":{"time_zone":null,"days":["F","M","T","R","W"],"start_time":"09:00 AM","end_time":"05:00 PM"},"created_at":"2025-03-17T17:03:42.276-07:00","updated_at":"2025-03-17T17:03:47.446-07:00"},"relationships":{"escalation_levels":{"data":[]},"escalation_paths":{"data":[]},"groups":{"data":[]},"services":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/escalation_policy_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/escalation_policies/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/escalation_policies/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/escalation_policies/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/escalation_policies/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/escalation_policies/{escalation_policy_id}/escalation_levels":{"parameters":[{"name":"escalation_policy_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates an escalation level for an Escalation Policy","security":[{"bearer_auth":[]}],"tags":["EscalationLevelsPolicies"],"description":"Creates a new escalation level from provided data","operationId":"createEscalationLevel","parameters":[],"responses":{"201":{"description":"escalation level created","content":{"application/vnd.api+json":{"example":{"data":{"id":"6d455e77-0f97-4ab0-8e98-0a256006469f","type":"escalation_levels","attributes":{"escalation_policy_path_id":"7cdb6dbd-4d41-4eb9-ba0f-02b7c7f7bcb0","position":1,"delay":2,"escalation_policy_id":"48318c6c-f971-444c-abf2-861070f91503","paging_strategy_configuration_strategy":null,"paging_strategy_configuration_schedule_strategy":null,"created_at":"2025-03-17T17:03:52.304-07:00","updated_at":"2025-03-17T17:03:52.304-07:00","notification_target_params":[{"id":"115","type":"user","team_members":"all"},{"id":"f0fb69ac-1535-4689-af92-c9d201961fba","type":"schedule","team_members":"all"},{"id":"CX21345","type":"slack_channel","team_members":"all"}]}}},"schema":{"$ref":"#/components/schemas/escalation_policy_level_response"}}}},"401":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/errors_list"},"example":{"notification_target":["You need at least 1 notification target"]}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_escalation_policy_level"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/escalation_policies/%7Bescalation_policy_id%7D/escalation_levels \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/escalation_policies/%7Bescalation_policy_id%7D/escalation_levels\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/escalation_policies/%7Bescalation_policy_id%7D/escalation_levels\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/escalation_policies/%7Bescalation_policy_id%7D/escalation_levels\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List escalation levels for an Escalation Policy","security":[{"bearer_auth":[]}],"tags":["EscalationLevelsPolicies"],"description":"List escalation levels","operationId":"listEscalationLevels","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/escalation_policy_level_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/escalation_policies/%7Bescalation_policy_id%7D/escalation_levels?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/escalation_policies/%7Bescalation_policy_id%7D/escalation_levels?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/escalation_policies/%7Bescalation_policy_id%7D/escalation_levels?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/escalation_policies/%7Bescalation_policy_id%7D/escalation_levels?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/escalation_paths/{escalation_policy_path_id}/escalation_levels":{"parameters":[{"name":"escalation_policy_path_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates an escalation level for an Escalation Path","security":[{"bearer_auth":[]}],"tags":["EscalationLevelsPath"],"description":"Creates a new escalation level from provided data","operationId":"createEscalationLevelPaths","parameters":[],"responses":{"201":{"description":"escalation level created","content":{"application/vnd.api+json":{"example":{"data":{"id":"7ba32278-88a1-442f-9936-36c8a7fc69db","type":"escalation_levels","attributes":{"escalation_policy_path_id":"0d858a0f-aa4a-4bcb-ba6f-5ad54e640979","position":2,"delay":2,"escalation_policy_id":"48318c6c-f971-444c-abf2-861070f91503","paging_strategy_configuration_strategy":null,"paging_strategy_configuration_schedule_strategy":null,"created_at":"2025-03-17T17:03:52.741-07:00","updated_at":"2025-03-17T17:03:52.741-07:00","notification_target_params":[{"id":"115","type":"user","team_members":"all"},{"id":"f0fb69ac-1535-4689-af92-c9d201961fba","type":"schedule","team_members":"all"},{"id":"CX21345","type":"slack_channel","team_members":"all"}]}}},"schema":{"$ref":"#/components/schemas/escalation_policy_level_response"}}}},"401":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"notification_target":["You need at least 1 notification target"]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_escalation_policy_level"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/escalation_paths/%7Bescalation_policy_path_id%7D/escalation_levels \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/escalation_paths/%7Bescalation_policy_path_id%7D/escalation_levels\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/escalation_paths/%7Bescalation_policy_path_id%7D/escalation_levels\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/escalation_paths/%7Bescalation_policy_path_id%7D/escalation_levels\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List escalation levels for an Escalation Path","security":[{"bearer_auth":[]}],"tags":["EscalationLevelsPath"],"description":"List escalation levels","operationId":"listEscalationLevelsPaths","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/escalation_policy_level_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/escalation_paths/%7Bescalation_policy_path_id%7D/escalation_levels?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/escalation_paths/%7Bescalation_policy_path_id%7D/escalation_levels?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/escalation_paths/%7Bescalation_policy_path_id%7D/escalation_levels?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/escalation_paths/%7Bescalation_policy_path_id%7D/escalation_levels?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/escalation_levels/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an escalation level","security":[{"bearer_auth":[]}],"tags":["EscalationLevels"],"description":"Retrieves a specific escalation level by id","operationId":"getEscalationLevel","responses":{"200":{"description":"escalation level found","content":{"application/vnd.api+json":{"example":{"data":{"id":"16e562e8-1134-43c7-9bc4-33bef8a436e7","type":"escalation_levels","attributes":{"escalation_policy_path_id":null,"position":1,"delay":5,"escalation_policy_id":"48318c6c-f971-444c-abf2-861070f91503","paging_strategy_configuration_strategy":null,"paging_strategy_configuration_schedule_strategy":null,"created_at":"2025-03-17T17:03:49.145-07:00","updated_at":"2025-03-17T17:03:49.145-07:00","notification_target_params":[{"id":"119","type":"user","team_members":"all"}]}}},"schema":{"$ref":"#/components/schemas/escalation_policy_level_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/escalation_levels/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/escalation_levels/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/escalation_levels/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/escalation_levels/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an escalation level","security":[{"bearer_auth":[]}],"tags":["EscalationLevels"],"description":"Update a specific escalation level by id","operationId":"updateEscalationLevel","parameters":[],"responses":{"200":{"description":"escalation policy updated with notification_target set with slack_channel_id instead of slack_channel uuid","content":{"application/vnd.api+json":{"example":{"data":{"id":"16e562e8-1134-43c7-9bc4-33bef8a436e7","type":"escalation_levels","attributes":{"escalation_policy_path_id":null,"position":1,"delay":5,"escalation_policy_id":"48318c6c-f971-444c-abf2-861070f91503","paging_strategy_configuration_strategy":null,"paging_strategy_configuration_schedule_strategy":null,"created_at":"2025-03-17T17:03:49.145-07:00","updated_at":"2025-03-17T17:03:49.145-07:00","notification_target_params":[{"id":"CX21345","type":"slack_channel","team_members":"all"}]}}},"schema":{"$ref":"#/components/schemas/escalation_policy_level_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_escalation_policy_level"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/escalation_levels/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/escalation_levels/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/escalation_levels/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/escalation_levels/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an escalation level","security":[{"bearer_auth":[]}],"tags":["EscalationLevels"],"description":"Delete a specific escalation level by id","operationId":"deleteEscalationLevel","responses":{"200":{"description":"escalation level deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"16e562e8-1134-43c7-9bc4-33bef8a436e7","type":"escalation_levels","attributes":{"escalation_policy_path_id":null,"position":1,"delay":5,"escalation_policy_id":"48318c6c-f971-444c-abf2-861070f91503","paging_strategy_configuration_strategy":null,"paging_strategy_configuration_schedule_strategy":null,"created_at":"2025-03-17T17:03:49.145-07:00","updated_at":"2025-03-17T17:03:54.753-07:00","notification_target_params":[{"id":"119","type":"user","team_members":"all"}]}}},"schema":{"$ref":"#/components/schemas/escalation_policy_level_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/escalation_levels/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/escalation_levels/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/escalation_levels/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/escalation_levels/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/escalation_policies/{escalation_policy_id}/escalation_paths":{"parameters":[{"name":"escalation_policy_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates an escalation path","security":[{"bearer_auth":[]}],"tags":["EscalationPaths"],"description":"Creates a new escalation path from provided data","operationId":"createEscalationPath","parameters":[],"responses":{"201":{"description":"escalation path created","content":{"application/vnd.api+json":{"example":{"data":{"id":"1fe2efb1-76ec-4ba2-90b8-c8881186b059","type":"escalation_paths","attributes":{"name":"Test EP Path","default":false,"notification_type":"quiet","escalation_policy_id":"d2719baf-65ef-41dd-959b-2d0b29e75c00","match_mode":"match-all-rules","position":1,"repeat":true,"repeat_count":3,"created_at":"2025-03-17T17:03:57.243-07:00","updated_at":"2025-03-17T17:03:57.281-07:00","rules":[{"rule_type":"alert_urgency","urgency_ids":["ea2cc417-8171-44ba-aa8a-b2a2cdc003c2"]},{"rule_type":"working_hour","within_working_hour":true},{"rule_type":"json_path","json_path":"$.title","operator":"is","value":"Test"}]},"relationships":{"escalation_levels":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/escalation_policy_path_response"}}}},"401":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"base":["You need at least 1 escalation path condition."]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_escalation_policy_path"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/escalation_policies/%7Bescalation_policy_id%7D/escalation_paths \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/escalation_policies/%7Bescalation_policy_id%7D/escalation_paths\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/escalation_policies/%7Bescalation_policy_id%7D/escalation_paths\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/escalation_policies/%7Bescalation_policy_id%7D/escalation_paths\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List escalation paths","security":[{"bearer_auth":[]}],"tags":["EscalationPaths"],"description":"List escalation paths","operationId":"listEscalationPaths","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: escalation_policy_levels","schema":{"type":"string","enum":["escalation_policy_levels"]},"required":false},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/escalation_policy_path_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/escalation_policies/%7Bescalation_policy_id%7D/escalation_paths?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/escalation_policies/%7Bescalation_policy_id%7D/escalation_paths?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/escalation_policies/%7Bescalation_policy_id%7D/escalation_paths?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/escalation_policies/%7Bescalation_policy_id%7D/escalation_paths?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/escalation_paths/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an escalation path","security":[{"bearer_auth":[]}],"tags":["EscalationPaths"],"description":"Retrieves a specific escalation path by id","operationId":"getEscalationPath","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: escalation_policy_levels","schema":{"type":"string","enum":["escalation_policy_levels"]},"required":false}],"responses":{"200":{"description":"escalation path found","content":{"application/vnd.api+json":{"example":{"data":{"id":"32a9b4df-5e6d-4368-b9b0-b9f84b854f33","type":"escalation_paths","attributes":{"name":"Illo consequatur doloremque qui.","default":false,"notification_type":"audible","escalation_policy_id":"d2719baf-65ef-41dd-959b-2d0b29e75c00","match_mode":"match-all-rules","position":1,"repeat":false,"repeat_count":1,"created_at":"2025-03-17T17:03:56.368-07:00","updated_at":"2025-03-17T17:03:56.368-07:00","rules":[{"rule_type":"alert_urgency","urgency_ids":["d0a6da48-fe91-4fa7-b254-40812759ac1d"]}]},"relationships":{"escalation_levels":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/escalation_policy_path_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/escalation_paths/%7Bid%7D?include=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/escalation_paths/%7Bid%7D?include=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/escalation_paths/%7Bid%7D?include=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/escalation_paths/%7Bid%7D?include=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an escalation path","security":[{"bearer_auth":[]}],"tags":["EscalationPaths"],"description":"Update a specific escalation path by id","operationId":"updateEscalationPath","parameters":[],"responses":{"200":{"description":"escalation policy updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"32a9b4df-5e6d-4368-b9b0-b9f84b854f33","type":"escalation_paths","attributes":{"name":"Illo consequatur doloremque qui.","default":false,"notification_type":"quiet","escalation_policy_id":"d2719baf-65ef-41dd-959b-2d0b29e75c00","match_mode":"match-all-rules","position":1,"repeat":false,"repeat_count":1,"created_at":"2025-03-17T17:03:56.368-07:00","updated_at":"2025-03-17T17:03:58.541-07:00","rules":[{"rule_type":"alert_urgency","urgency_ids":["ea2cc417-8171-44ba-aa8a-b2a2cdc003c2"]}]},"relationships":{"escalation_levels":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/escalation_policy_path_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_escalation_policy_path"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/escalation_paths/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/escalation_paths/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/escalation_paths/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/escalation_paths/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an escalation path","security":[{"bearer_auth":[]}],"tags":["EscalationPaths"],"description":"Delete a specific escalation path by id","operationId":"deleteEscalationPath","responses":{"200":{"description":"escalation path deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"32a9b4df-5e6d-4368-b9b0-b9f84b854f33","type":"escalation_paths","attributes":{"name":"Illo consequatur doloremque qui.","default":false,"notification_type":"audible","escalation_policy_id":"d2719baf-65ef-41dd-959b-2d0b29e75c00","match_mode":"match-all-rules","position":1,"repeat":false,"repeat_count":1,"created_at":"2025-03-17T17:03:56.368-07:00","updated_at":"2025-03-17T17:03:59.112-07:00","rules":[{"rule_type":"alert_urgency","urgency_ids":["d0a6da48-fe91-4fa7-b254-40812759ac1d"]}]},"relationships":{"escalation_levels":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/escalation_policy_path_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/escalation_paths/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/escalation_paths/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/escalation_paths/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/escalation_paths/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/form_fields/{form_field_id}/options":{"parameters":[{"name":"form_field_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates FormField Options","security":[{"bearer_auth":[]}],"tags":["FormFieldOptions"],"description":"Creates a new form_field_option from provided data","operationId":"createFormFieldOption","parameters":[],"responses":{"201":{"description":"form_field_option created","content":{"application/vnd.api+json":{"example":{"data":{"id":"4bd9e563-5cf3-47b3-bc88-661030d1e57e","type":"form_field_options","attributes":{"form_field_id":"6ecb021c-45de-4eb1-b20d-987667164e91","value":"Test option value","color":"#FBE4A0","default":false,"position":1,"updated_at":"2025-03-17T17:04:00.741-07:00","created_at":"2025-03-17T17:04:00.741-07:00"},"relationships":{"form_field":{"data":{"id":"6ecb021c-45de-4eb1-b20d-987667164e91","type":"form_fields"}}}}},"schema":{"$ref":"#/components/schemas/form_field_option_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Value can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_form_field_option"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/form_fields/%7Bform_field_id%7D/options \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_fields/%7Bform_field_id%7D/options\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_fields/%7Bform_field_id%7D/options\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_fields/%7Bform_field_id%7D/options\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List FormField Options","security":[{"bearer_auth":[]}],"tags":["FormFieldOptions"],"description":"List form_field_options","operationId":"listFormFieldOptions","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[value]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[color]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/form_field_option_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/form_fields/%7Bform_field_id%7D/options?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bvalue%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_fields/%7Bform_field_id%7D/options?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bvalue%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_fields/%7Bform_field_id%7D/options?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bvalue%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_fields/%7Bform_field_id%7D/options?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bvalue%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/form_field_options/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves FormField Options","security":[{"bearer_auth":[]}],"tags":["FormFieldOptions"],"description":"Retrieves a specific form_field_option by id","operationId":"getFormFieldOption","responses":{"200":{"description":"form_field_option found","content":{"application/vnd.api+json":{"example":{"data":{"id":"55ef9600-d79e-432e-b410-98ea6ff0af9e","type":"form_field_options","attributes":{"form_field_id":"6ecb021c-45de-4eb1-b20d-987667164e91","value":"Architecto sed ipsa impedit.","color":"#FBE4A0","default":false,"position":1,"updated_at":"2025-03-17T17:04:00.579-07:00","created_at":"2025-03-17T17:04:00.579-07:00"},"relationships":{"form_field":{"data":{"id":"6ecb021c-45de-4eb1-b20d-987667164e91","type":"form_fields"}}}}},"schema":{"$ref":"#/components/schemas/form_field_option_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/form_field_options/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_field_options/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_field_options/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_field_options/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update FormField Options","security":[{"bearer_auth":[]}],"tags":["FormFieldOptions"],"description":"Update a specific form_field_option by id","operationId":"updateFormFieldOption","parameters":[],"responses":{"200":{"description":"form_field_option updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"55ef9600-d79e-432e-b410-98ea6ff0af9e","type":"form_field_options","attributes":{"form_field_id":"6ecb021c-45de-4eb1-b20d-987667164e91","value":"Test update option value","color":"#FBE4A0","default":false,"position":1,"updated_at":"2025-03-17T17:04:02.035-07:00","created_at":"2025-03-17T17:04:00.579-07:00"},"relationships":{"form_field":{"data":{"id":"6ecb021c-45de-4eb1-b20d-987667164e91","type":"form_fields"}}}}},"schema":{"$ref":"#/components/schemas/form_field_option_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_form_field_option"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/form_field_options/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_field_options/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_field_options/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_field_options/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete FormField Options","security":[{"bearer_auth":[]}],"tags":["FormFieldOptions"],"description":"Delete a specific form_field_option by id","operationId":"deleteFormFieldOption","responses":{"200":{"description":"form_field_option deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"55ef9600-d79e-432e-b410-98ea6ff0af9e","type":"form_field_options","attributes":{"form_field_id":"6ecb021c-45de-4eb1-b20d-987667164e91","value":"Architecto sed ipsa impedit.","color":"#FBE4A0","default":false,"position":1,"updated_at":"2025-03-17T17:04:02.595-07:00","created_at":"2025-03-17T17:04:00.579-07:00"},"relationships":{"form_field":{"data":{"id":"6ecb021c-45de-4eb1-b20d-987667164e91","type":"form_fields"}}}}},"schema":{"$ref":"#/components/schemas/form_field_option_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/form_field_options/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_field_options/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_field_options/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_field_options/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/form_field_placements/{form_field_placement_id}/conditions":{"parameters":[{"name":"form_field_placement_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates a Form Set Condition","security":[{"bearer_auth":[]}],"tags":["FormFieldPlacementConditions"],"description":"Creates a new form_field_placement_condition from provided data","operationId":"createFormFieldPlacementCondition","parameters":[],"responses":{"201":{"description":"form_field_placement_condition created","content":{"application/vnd.api+json":{"example":{"data":{"id":"da0c5767-f3b2-4f98-8e4b-4feaf2bde3f3","type":"form_field_placement_conditions","attributes":{"form_field_placement_id":"b7e763ff-0f9d-4c8e-8809-2d617c386b6a","conditioned":"placement","position":2,"form_field_id":"bc998f80-5ee3-4bbc-b0c1-a758e0ccad9a","comparison":"equal","values":["test"]}}},"schema":{"$ref":"#/components/schemas/form_field_placement_condition_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_form_field_placement_condition"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/form_field_placements/%7Bform_field_placement_id%7D/conditions \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_field_placements/%7Bform_field_placement_id%7D/conditions\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_field_placements/%7Bform_field_placement_id%7D/conditions\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_field_placements/%7Bform_field_placement_id%7D/conditions\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List Form Set Conditions","security":[{"bearer_auth":[]}],"tags":["FormFieldPlacementConditions"],"description":"List form_field_placement_conditions","operationId":"listFormFieldPlacementConditions","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[form_field_id]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/form_field_placement_condition_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/form_field_placements/%7Bform_field_placement_id%7D/conditions?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bform_field_id%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_field_placements/%7Bform_field_placement_id%7D/conditions?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bform_field_id%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_field_placements/%7Bform_field_placement_id%7D/conditions?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bform_field_id%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_field_placements/%7Bform_field_placement_id%7D/conditions?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bform_field_id%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/form_field_placement_conditions/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a Form Set Condition","security":[{"bearer_auth":[]}],"tags":["FormFieldPlacementConditions"],"description":"Retrieves a specific form_field_placement_condition by id","operationId":"getFormFieldPlacementCondition","responses":{"200":{"description":"form_field_placement_condition found","content":{"application/vnd.api+json":{"example":{"data":{"id":"fce061dd-23dd-41e4-b921-d691eb2f3198","type":"form_field_placement_conditions","attributes":{"form_field_placement_id":"b7e763ff-0f9d-4c8e-8809-2d617c386b6a","conditioned":"placement","position":1,"form_field_id":"07d6bc69-2f02-40cb-8e03-44b45e144637","comparison":"equal","values":["test"]}}},"schema":{"$ref":"#/components/schemas/form_field_placement_condition_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/form_field_placement_conditions/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_field_placement_conditions/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_field_placement_conditions/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_field_placement_conditions/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a Form Set Condition","security":[{"bearer_auth":[]}],"tags":["FormFieldPlacementConditions"],"description":"Update a specific form_field_placement_condition by id","operationId":"updateFormFieldPlacementCondition","parameters":[],"responses":{"200":{"description":"form_field_placement_condition updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"fce061dd-23dd-41e4-b921-d691eb2f3198","type":"form_field_placement_conditions","attributes":{"form_field_placement_id":"b7e763ff-0f9d-4c8e-8809-2d617c386b6a","conditioned":"placement","position":1,"form_field_id":"07d6bc69-2f02-40cb-8e03-44b45e144637","comparison":"equal","values":["bar"]}}},"schema":{"$ref":"#/components/schemas/form_field_placement_condition_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_form_field_placement_condition"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/form_field_placement_conditions/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_field_placement_conditions/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_field_placement_conditions/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_field_placement_conditions/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a Form Set Condition","security":[{"bearer_auth":[]}],"tags":["FormFieldPlacementConditions"],"description":"Delete a specific form_field_placement_condition by id","operationId":"deleteFormFieldPlacementCondition","responses":{"200":{"description":"form_field_placement_condition deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"fce061dd-23dd-41e4-b921-d691eb2f3198","type":"form_field_placement_conditions","attributes":{"form_field_placement_id":"b7e763ff-0f9d-4c8e-8809-2d617c386b6a","conditioned":"placement","position":1,"form_field_id":"07d6bc69-2f02-40cb-8e03-44b45e144637","comparison":"equal","values":["test"]}}},"schema":{"$ref":"#/components/schemas/form_field_placement_condition_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/form_field_placement_conditions/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_field_placement_conditions/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_field_placement_conditions/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_field_placement_conditions/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/form_fields/{form_field_id}/placements":{"parameters":[{"name":"form_field_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates a Form Field Placement","security":[{"bearer_auth":[]}],"tags":["FormFieldPlacements"],"description":"Creates a new form_field_placement from provided data","operationId":"createFormFieldPlacement","parameters":[],"responses":{"201":{"description":"form_field_placement created","content":{"application/vnd.api+json":{"example":{"data":{"id":"1f7db1e4-5d5f-4891-a6fd-d8fcc5a17d07","type":"form_field_placements","attributes":{"form_field_id":"850955a5-d112-42fd-ad92-c97553714166","form_set_id":"623ed62d-629c-4d6b-9560-80c5ab6efaf0","form":"web_update_incident_form","position":1,"required":false,"placement_operator":"and","required_operator":"and"}}},"schema":{"$ref":"#/components/schemas/form_field_placement_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Form \"blah\"is not a valid form","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_form_field_placement"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/form_fields/%7Bform_field_id%7D/placements \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_fields/%7Bform_field_id%7D/placements\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_fields/%7Bform_field_id%7D/placements\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_fields/%7Bform_field_id%7D/placements\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List Form Field Placements","security":[{"bearer_auth":[]}],"tags":["FormFieldPlacements"],"description":"List form_field_placements","operationId":"listFormFieldPlacements","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[form_field_id]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/form_field_placement_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/form_fields/%7Bform_field_id%7D/placements?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bform_field_id%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_fields/%7Bform_field_id%7D/placements?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bform_field_id%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_fields/%7Bform_field_id%7D/placements?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bform_field_id%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_fields/%7Bform_field_id%7D/placements?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bform_field_id%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/form_field_placements/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a Form Field Placement","security":[{"bearer_auth":[]}],"tags":["FormFieldPlacements"],"description":"Retrieves a specific form_field_placement by id","operationId":"getFormFieldPlacement","responses":{"200":{"description":"form_field_placement found","content":{"application/vnd.api+json":{"example":{"data":{"id":"44f8f133-bd5a-41dc-a14c-b846c2d1e466","type":"form_field_placements","attributes":{"form_field_id":"850955a5-d112-42fd-ad92-c97553714166","form_set_id":"623ed62d-629c-4d6b-9560-80c5ab6efaf0","form":"web_new_incident_form","position":1,"required":false,"placement_operator":"and","required_operator":"and"}}},"schema":{"$ref":"#/components/schemas/form_field_placement_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/form_field_placements/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_field_placements/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_field_placements/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_field_placements/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a Form Field Placement","security":[{"bearer_auth":[]}],"tags":["FormFieldPlacements"],"description":"Update a specific form_field_placement by id","operationId":"updateFormFieldPlacement","parameters":[],"responses":{"200":{"description":"form_field_placement updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"44f8f133-bd5a-41dc-a14c-b846c2d1e466","type":"form_field_placements","attributes":{"form_field_id":"850955a5-d112-42fd-ad92-c97553714166","form_set_id":"623ed62d-629c-4d6b-9560-80c5ab6efaf0","form":"web_new_incident_form","position":5,"required":false,"placement_operator":"and","required_operator":"and"}}},"schema":{"$ref":"#/components/schemas/form_field_placement_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_form_field_placement"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/form_field_placements/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_field_placements/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_field_placements/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_field_placements/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a Form Field Placement","security":[{"bearer_auth":[]}],"tags":["FormFieldPlacements"],"description":"Delete a specific form_field_placement by id","operationId":"deleteFormFieldPlacement","responses":{"200":{"description":"form_field_placement deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"44f8f133-bd5a-41dc-a14c-b846c2d1e466","type":"form_field_placements","attributes":{"form_field_id":"850955a5-d112-42fd-ad92-c97553714166","form_set_id":"623ed62d-629c-4d6b-9560-80c5ab6efaf0","form":"web_new_incident_form","position":1,"required":false,"placement_operator":"and","required_operator":"and"}}},"schema":{"$ref":"#/components/schemas/form_field_placement_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/form_field_placements/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_field_placements/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_field_placements/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_field_placements/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/form_fields/{form_field_id}/positions":{"parameters":[{"name":"form_field_id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"List FormField Position","security":[{"bearer_auth":[]}],"tags":["FormFieldPositions"],"description":"List form field positions","operationId":"listFormFieldPositions","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[form]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/form_field_position_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/form_fields/%7Bform_field_id%7D/positions?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bform%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_fields/%7Bform_field_id%7D/positions?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bform%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_fields/%7Bform_field_id%7D/positions?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bform%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_fields/%7Bform_field_id%7D/positions?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bform%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"post":{"summary":"Creates FormField Positions","security":[{"bearer_auth":[]}],"tags":["FormFieldPositions"],"description":"Creates a new form field_position from provided data","operationId":"createFormFieldPosition","parameters":[],"responses":{"201":{"description":"form_field_position created","content":{"application/vnd.api+json":{"example":{"data":{"id":"c8425795-beab-4b97-b1a3-ba53c70a621f","type":"form_field_positions","attributes":{"form_field_id":"371e2dbc-6d48-4df5-a282-2c74222dd8b7","form":"web_new_incident_form","position":2}}},"schema":{"$ref":"#/components/schemas/form_field_position_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_form_field_position"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/form_fields/%7Bform_field_id%7D/positions \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_fields/%7Bform_field_id%7D/positions\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_fields/%7Bform_field_id%7D/positions\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_fields/%7Bform_field_id%7D/positions\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/form_field_positions/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a FormFieldPosition","security":[{"bearer_auth":[]}],"tags":["FormFieldPositions"],"description":"Retrieves a specific form field_position by id","operationId":"getFormFieldPosition","responses":{"200":{"description":"form_field_position found","content":{"application/vnd.api+json":{"example":{"data":{"id":"160b97df-b0ca-4cbb-a364-564cc31af0b6","type":"form_field_positions","attributes":{"form_field_id":"371e2dbc-6d48-4df5-a282-2c74222dd8b7","form":"slack_new_incident_form","position":1}}},"schema":{"$ref":"#/components/schemas/form_field_position_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/form_field_positions/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_field_positions/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_field_positions/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_field_positions/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a FormFieldPosition","security":[{"bearer_auth":[]}],"tags":["FormFieldPositions"],"description":"Update a specific form_field position by id","operationId":"updateFormFieldPosition","parameters":[],"responses":{"200":{"description":"form_field_position updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"160b97df-b0ca-4cbb-a364-564cc31af0b6","type":"form_field_positions","attributes":{"form_field_id":"371e2dbc-6d48-4df5-a282-2c74222dd8b7","form":"slack_new_incident_form","position":2}}},"schema":{"$ref":"#/components/schemas/form_field_position_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_form_field_position"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/form_field_positions/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_field_positions/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_field_positions/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_field_positions/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a FormFieldPosition","security":[{"bearer_auth":[]}],"tags":["FormFieldPositions"],"description":"Delete a specific form_field position by id","operationId":"deleteFormFieldPosition","responses":{"200":{"description":"form_field_position deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"160b97df-b0ca-4cbb-a364-564cc31af0b6","type":"form_field_positions","attributes":{"form_field_id":"371e2dbc-6d48-4df5-a282-2c74222dd8b7","form":"slack_new_incident_form","position":1}}},"schema":{"$ref":"#/components/schemas/form_field_position_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/form_field_positions/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_field_positions/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_field_positions/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_field_positions/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/form_fields":{"post":{"summary":"Creates a Form Field","security":[{"bearer_auth":[]}],"tags":["FormFields"],"description":"Creates a new form_field from provided data","operationId":"createFormField","parameters":[],"responses":{"201":{"description":"form_field created","content":{"application/vnd.api+json":{"example":{"data":{"id":"45a9ffa0-498c-4f85-a8ac-0d31c39afe37","type":"form_fields","attributes":{"team_id":127,"slug":"test-custom-field","kind":"custom","input_kind":"text","value_kind":"inherit","value_kind_catalog_id":null,"name":"Test custom field","description":null,"shown":["web_new_incident_form","slack_new_incident_form"],"required":[],"default_values":[],"show_on_incident_details":true,"enabled":true,"updated_at":"2025-03-17T17:04:17.807-07:00","created_at":"2025-03-17T17:04:17.807-07:00"},"relationships":{"options":{"data":[]},"positions":{"data":[{"id":"6f5be424-29ce-48e5-b31b-504fa83b11b0","type":"form_field_positions"},{"id":"5d169270-ab54-4c6c-941b-134a90ef7d00","type":"form_field_positions"}]}}}},"schema":{"$ref":"#/components/schemas/form_field_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_form_field"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/form_fields \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_fields\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_fields\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_fields\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List Form Fields","security":[{"bearer_auth":[]}],"tags":["FormFields"],"description":"List form_fields","operationId":"listFormFields","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: options,positions","schema":{"type":"string","enum":["options","positions"]},"required":false},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[kind]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[enabled]","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/form_field_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/form_fields?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Benabled%5D=SOME_BOOLEAN_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_fields?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Benabled%5D=SOME_BOOLEAN_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_fields?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Benabled%5D=SOME_BOOLEAN_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_fields?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Benabled%5D=SOME_BOOLEAN_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/form_fields/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a Form Field","security":[{"bearer_auth":[]}],"tags":["FormFields"],"description":"Retrieves a specific form_field by id","operationId":"getFormField","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: options,positions","schema":{"type":"string","enum":["options","positions"]},"required":false}],"responses":{"200":{"description":"form_field found","content":{"application/vnd.api+json":{"example":{"data":{"id":"9538bf27-d5ae-4d82-9afd-cb51e87149ef","type":"form_fields","attributes":{"team_id":127,"slug":"ab-dolor-qui-quisquam","kind":"custom","input_kind":"text","value_kind":"inherit","value_kind_catalog_id":null,"name":"Ab dolor qui quisquam.","description":"Qui veniam necessitatibus atque.","shown":["web_new_incident_form","web_update_incident_form","slack_new_incident_form","slack_update_incident_form"],"required":[],"default_values":[],"show_on_incident_details":true,"enabled":true,"updated_at":"2025-03-17T17:04:15.152-07:00","created_at":"2025-03-17T17:04:15.152-07:00"},"relationships":{"options":{"data":[{"id":"9fcdec33-ddf6-4d57-bd0e-775c7d683182","type":"form_field_options"},{"id":"42364fcd-a0c6-4b65-9129-5ce7b53f1d1f","type":"form_field_options"}]},"positions":{"data":[{"id":"40ab841b-1770-4805-9ada-ad62c054f5bd","type":"form_field_positions"},{"id":"5293648f-32bd-4e26-86c7-a8ef4a8e2a9a","type":"form_field_positions"},{"id":"dbd387f7-d377-42e3-b69c-ca95143cd8fa","type":"form_field_positions"},{"id":"42a89e41-4428-49e9-a71c-77be24381ecb","type":"form_field_positions"}]}}}},"schema":{"$ref":"#/components/schemas/form_field_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/form_fields/%7Bid%7D?include=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_fields/%7Bid%7D?include=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_fields/%7Bid%7D?include=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_fields/%7Bid%7D?include=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a Form Field","security":[{"bearer_auth":[]}],"tags":["FormFields"],"description":"Update a specific form_field by id","operationId":"updateFormField","parameters":[],"responses":{"200":{"description":"form_field updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"9538bf27-d5ae-4d82-9afd-cb51e87149ef","type":"form_fields","attributes":{"team_id":127,"slug":"test-update-custom-field","kind":"custom","input_kind":"text","value_kind":"inherit","value_kind_catalog_id":null,"name":"Test update custom field","description":"Qui veniam necessitatibus atque.","shown":["web_new_incident_form","web_update_incident_form","slack_new_incident_form","slack_update_incident_form"],"required":[],"default_values":[],"show_on_incident_details":false,"enabled":true,"updated_at":"2025-03-17T17:04:19.165-07:00","created_at":"2025-03-17T17:04:15.152-07:00"},"relationships":{"options":{"data":[{"id":"9fcdec33-ddf6-4d57-bd0e-775c7d683182","type":"form_field_options"},{"id":"42364fcd-a0c6-4b65-9129-5ce7b53f1d1f","type":"form_field_options"}]},"positions":{"data":[{"id":"40ab841b-1770-4805-9ada-ad62c054f5bd","type":"form_field_positions"},{"id":"5293648f-32bd-4e26-86c7-a8ef4a8e2a9a","type":"form_field_positions"},{"id":"dbd387f7-d377-42e3-b69c-ca95143cd8fa","type":"form_field_positions"},{"id":"42a89e41-4428-49e9-a71c-77be24381ecb","type":"form_field_positions"}]}}}},"schema":{"$ref":"#/components/schemas/form_field_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_form_field"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/form_fields/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_fields/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_fields/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_fields/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a Form Field","security":[{"bearer_auth":[]}],"tags":["FormFields"],"description":"Delete a specific form_field by id","operationId":"deleteFormField","responses":{"200":{"description":"form_field deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"9538bf27-d5ae-4d82-9afd-cb51e87149ef","type":"form_fields","attributes":{"team_id":127,"slug":"ab-dolor-qui-quisquam","kind":"custom","input_kind":"text","value_kind":"inherit","value_kind_catalog_id":null,"name":"Ab dolor qui quisquam.","description":"Qui veniam necessitatibus atque.","shown":[],"required":[],"default_values":[],"show_on_incident_details":true,"enabled":true,"updated_at":"2025-03-17T17:04:19.865-07:00","created_at":"2025-03-17T17:04:15.152-07:00"},"relationships":{"options":{"data":[]},"positions":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/form_field_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/form_fields/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_fields/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_fields/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_fields/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/form_sets/{form_set_id}/conditions":{"parameters":[{"name":"form_set_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates a Form Set Condition","security":[{"bearer_auth":[]}],"tags":["FormSetConditions"],"description":"Creates a new form_set_condition from provided data","operationId":"createFormSetCondition","parameters":[],"responses":{"201":{"description":"form_set_condition created","content":{"application/vnd.api+json":{"example":{"data":{"id":"9b94c407-220a-462f-948c-c78bdbcb0f1c","type":"form_set_conditions","attributes":{"form_set_id":"6151d156-fe14-45c7-a9f8-d2a1bd897d21","form_field_id":"6207e601-7d08-4372-a925-a86f54f5744d","comparison":"equal","values":["test"]}}},"schema":{"$ref":"#/components/schemas/form_set_condition_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Values can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_form_set_condition"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/form_sets/%7Bform_set_id%7D/conditions \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_sets/%7Bform_set_id%7D/conditions\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_sets/%7Bform_set_id%7D/conditions\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_sets/%7Bform_set_id%7D/conditions\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List Form Set Conditions","security":[{"bearer_auth":[]}],"tags":["FormSetConditions"],"description":"List form_set_conditions","operationId":"listFormSetConditions","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[form_field_id]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/form_set_condition_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/form_sets/%7Bform_set_id%7D/conditions?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bform_field_id%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_sets/%7Bform_set_id%7D/conditions?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bform_field_id%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_sets/%7Bform_set_id%7D/conditions?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bform_field_id%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_sets/%7Bform_set_id%7D/conditions?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bform_field_id%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/form_set_conditions/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a Form Set Condition","security":[{"bearer_auth":[]}],"tags":["FormSetConditions"],"description":"Retrieves a specific form_set_condition by id","operationId":"getFormSetCondition","responses":{"200":{"description":"form_set_condition found","content":{"application/vnd.api+json":{"example":{"data":{"id":"9755eec1-3c91-4c22-b158-da377aef5a25","type":"form_set_conditions","attributes":{"form_set_id":"977dd1ae-0011-4b98-8386-fb1fc8ca86dd","form_field_id":"5ff21cac-50da-41b5-9fa1-a2fc5710b849","comparison":"equal","values":["test"]}}},"schema":{"$ref":"#/components/schemas/form_set_condition_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/form_set_conditions/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_set_conditions/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_set_conditions/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_set_conditions/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a Form Set Condition","security":[{"bearer_auth":[]}],"tags":["FormSetConditions"],"description":"Update a specific form_set_condition by id","operationId":"updateFormSetCondition","parameters":[],"responses":{"200":{"description":"form_set_condition updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"9755eec1-3c91-4c22-b158-da377aef5a25","type":"form_set_conditions","attributes":{"form_set_id":"977dd1ae-0011-4b98-8386-fb1fc8ca86dd","form_field_id":"5ff21cac-50da-41b5-9fa1-a2fc5710b849","comparison":"equal","values":["test update"]}}},"schema":{"$ref":"#/components/schemas/form_set_condition_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_form_set_condition"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/form_set_conditions/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_set_conditions/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_set_conditions/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_set_conditions/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a Form Set Condition","security":[{"bearer_auth":[]}],"tags":["FormSetConditions"],"description":"Delete a specific form_set_condition by id","operationId":"deleteFormSetCondition","responses":{"200":{"description":"form_set_condition deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"9755eec1-3c91-4c22-b158-da377aef5a25","type":"form_set_conditions","attributes":{"form_set_id":"977dd1ae-0011-4b98-8386-fb1fc8ca86dd","form_field_id":"5ff21cac-50da-41b5-9fa1-a2fc5710b849","comparison":"equal","values":["test"]}}},"schema":{"$ref":"#/components/schemas/form_set_condition_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/form_set_conditions/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_set_conditions/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_set_conditions/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_set_conditions/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/form_sets":{"post":{"summary":"Creates a Form Set","security":[{"bearer_auth":[]}],"tags":["FormSets"],"description":"Creates a new form_set from provided data","operationId":"createFormSet","parameters":[],"responses":{"201":{"description":"form_set created","content":{"application/vnd.api+json":{"example":{"data":{"id":"52b31f4b-a198-4256-b31f-ceabfe45ab1e","type":"form_sets","attributes":{"name":"Test custom form set","slug":"test-custom-form-set","is_default":false,"forms":["web_new_incident_form"],"updated_at":"2025-03-17T17:04:27.084-07:00","created_at":"2025-03-17T17:04:27.084-07:00"}}},"schema":{"$ref":"#/components/schemas/form_set_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Forms are required (at least one)","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_form_set"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/form_sets \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_sets\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_sets\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_sets\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List Form Sets","security":[{"bearer_auth":[]}],"tags":["FormSets"],"description":"List form_sets","operationId":"listFormSets","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[is_default]","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/form_set_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/form_sets?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bis_default%5D=SOME_BOOLEAN_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_sets?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bis_default%5D=SOME_BOOLEAN_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_sets?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bis_default%5D=SOME_BOOLEAN_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_sets?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bis_default%5D=SOME_BOOLEAN_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/form_sets/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a Form Set","security":[{"bearer_auth":[]}],"tags":["FormSets"],"description":"Retrieves a specific form_set by id","operationId":"getFormSet","responses":{"200":{"description":"form_set found","content":{"application/vnd.api+json":{"example":{"data":{"id":"d269f064-01f3-4e1e-8185-29169ff9f23f","type":"form_sets","attributes":{"name":"Test","slug":"test","is_default":false,"forms":["web_new_incident_form"],"updated_at":"2025-03-17T17:04:24.778-07:00","created_at":"2025-03-17T17:04:24.778-07:00"}}},"schema":{"$ref":"#/components/schemas/form_set_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/form_sets/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_sets/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_sets/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_sets/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a Form Set","security":[{"bearer_auth":[]}],"tags":["FormSets"],"description":"Update a specific form_set by id","operationId":"updateFormSet","parameters":[],"responses":{"200":{"description":"form_set updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"d269f064-01f3-4e1e-8185-29169ff9f23f","type":"form_sets","attributes":{"name":"Test update custom form set","slug":"test","is_default":false,"forms":["web_new_incident_form"],"updated_at":"2025-03-17T17:04:28.928-07:00","created_at":"2025-03-17T17:04:24.778-07:00"}}},"schema":{"$ref":"#/components/schemas/form_set_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_form_set"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/form_sets/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_sets/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_sets/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_sets/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a Form Set","security":[{"bearer_auth":[]}],"tags":["FormSets"],"description":"Delete a specific form_set by id","operationId":"deleteFormSet","responses":{"200":{"description":"form_set deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"d269f064-01f3-4e1e-8185-29169ff9f23f","type":"form_sets","attributes":{"name":"Test","slug":"test","is_default":false,"forms":["web_new_incident_form"],"updated_at":"2025-03-17T17:04:29.512-07:00","created_at":"2025-03-17T17:04:24.778-07:00"}}},"schema":{"$ref":"#/components/schemas/form_set_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/form_sets/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/form_sets/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/form_sets/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/form_sets/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/functionalities":{"post":{"summary":"Creates a functionality","security":[{"bearer_auth":[]}],"tags":["Functionalities"],"description":"Creates a new functionality from provided data","operationId":"createFunctionality","parameters":[],"responses":{"201":{"description":"functionality created","content":{"application/vnd.api+json":{"example":{"data":{"id":"1ec80b35-46cb-4f4e-9f6d-994d7652c0fc","type":"functionalities","attributes":{"name":"Add items to cart","slug":"add-items-to-cart","description":"Users should be able to add items to cart","public_description":"Public description","notify_emails":["john@rootly.com","doe@rootly.com"],"color":"#FFF","status":"operational","position":1,"show_uptime":true,"show_uptime_last_days":60,"slack_channels":[{"id":"C03MKDSEJE8","name":"elastisearch"}],"slack_aliases":[{"id":"S03F7QUV7F1","name":"engineering"}],"backstage_id":null,"external_id":"d795fe69-acc2-4b30-92c9-3c25cbb92056","opsgenie_id":"8743a1b2-11da-480e-8493-744660987bef","pagerduty_id":"PQ9K7I8","cortex_id":null,"opslevel_id":null,"service_now_ci_sys_id":null,"environment_ids":["d57d49bc-b088-4722-ba27-5840a6f7952a"],"service_ids":["d2cfa9a7-b850-4f3f-bedd-0423855f03f4"],"owners_group_ids":["df2bfd68-7bda-4512-bdb0-f983358cf419"],"owners_user_ids":[147],"incidents_count":0,"created_at":"2025-03-17T17:04:34.641-07:00","updated_at":"2025-03-17T17:04:34.641-07:00"}}},"schema":{"$ref":"#/components/schemas/functionality_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_functionality"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/functionalities \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/functionalities\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/functionalities\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/functionalities\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List functionalities","security":[{"bearer_auth":[]}],"tags":["Functionalities"],"description":"List functionalities","operationId":"listFunctionalities","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[backstage_id]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[cortex_id]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[opslevel_id]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[external_id]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/functionality_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/functionalities?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bbackstage_id%5D=SOME_STRING_VALUE&filter%5Bcortex_id%5D=SOME_STRING_VALUE&filter%5Bopslevel_id%5D=SOME_STRING_VALUE&filter%5Bexternal_id%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/functionalities?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bbackstage_id%5D=SOME_STRING_VALUE&filter%5Bcortex_id%5D=SOME_STRING_VALUE&filter%5Bopslevel_id%5D=SOME_STRING_VALUE&filter%5Bexternal_id%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/functionalities?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bbackstage_id%5D=SOME_STRING_VALUE&filter%5Bcortex_id%5D=SOME_STRING_VALUE&filter%5Bopslevel_id%5D=SOME_STRING_VALUE&filter%5Bexternal_id%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/functionalities?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bbackstage_id%5D=SOME_STRING_VALUE&filter%5Bcortex_id%5D=SOME_STRING_VALUE&filter%5Bopslevel_id%5D=SOME_STRING_VALUE&filter%5Bexternal_id%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/functionalities/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a functionality","security":[{"bearer_auth":[]}],"tags":["Functionalities"],"description":"Retrieves a specific functionality by id","operationId":"getFunctionality","responses":{"200":{"description":"functionality found","content":{"application/vnd.api+json":{"example":{"data":{"id":"bb35b3de-c3d6-498c-916d-d943c934f6a5","type":"functionalities","attributes":{"name":"Animi dolore sunt non.","slug":"animi-dolore-sunt-non","description":"Omnis consequatur facilis sed.","public_description":null,"notify_emails":[],"color":"#F4CFD1","status":"partial_outage","position":1,"show_uptime":true,"show_uptime_last_days":60,"slack_channels":[],"slack_aliases":[],"backstage_id":null,"external_id":null,"opsgenie_id":null,"pagerduty_id":null,"cortex_id":null,"opslevel_id":null,"service_now_ci_sys_id":null,"environment_ids":[],"service_ids":[],"owners_group_ids":[],"owners_user_ids":[],"incidents_count":1,"created_at":"2025-03-17T17:04:31.097-07:00","updated_at":"2025-03-17T17:04:31.259-07:00"}}},"schema":{"$ref":"#/components/schemas/functionality_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/functionalities/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/functionalities/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/functionalities/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/functionalities/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a functionality","security":[{"bearer_auth":[]}],"tags":["Functionalities"],"description":"Update a specific functionality by id","operationId":"updateFunctionality","parameters":[],"responses":{"200":{"description":"functionality updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"bb35b3de-c3d6-498c-916d-d943c934f6a5","type":"functionalities","attributes":{"name":"Checkout","slug":"animi-dolore-sunt-non","description":"Users should be able to checkout","public_description":"Public description updated","notify_emails":["hello@rootly.com","world@rootly.com"],"color":"#000","status":"partial_outage","position":2,"show_uptime":true,"show_uptime_last_days":60,"slack_channels":[{"id":"C03MKDSEJE8","name":"elastisearch"}],"slack_aliases":[{"id":"S03F7QUV7F1","name":"leadership"}],"backstage_id":null,"external_id":"33bfcc62-cc35-46e6-a270-8c52a56fb358","opsgenie_id":"8743a1b2-11da-480e-8493-744660987bec","pagerduty_id":"PQ9K7I9","cortex_id":null,"opslevel_id":null,"service_now_ci_sys_id":null,"environment_ids":["d57d49bc-b088-4722-ba27-5840a6f7952a"],"service_ids":[],"owners_group_ids":[],"owners_user_ids":[],"incidents_count":1,"created_at":"2025-03-17T17:04:31.097-07:00","updated_at":"2025-03-17T17:04:37.209-07:00"}}},"schema":{"$ref":"#/components/schemas/functionality_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_functionality"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/functionalities/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/functionalities/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/functionalities/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/functionalities/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a functionality","security":[{"bearer_auth":[]}],"tags":["Functionalities"],"description":"Delete a specific functionality by id","operationId":"deleteFunctionality","responses":{"200":{"description":"functionality deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"bb35b3de-c3d6-498c-916d-d943c934f6a5","type":"functionalities","attributes":{"name":"Animi dolore sunt non.","slug":"animi-dolore-sunt-non","description":"Omnis consequatur facilis sed.","public_description":null,"notify_emails":[],"color":"#F4CFD1","status":"partial_outage","position":1,"show_uptime":true,"show_uptime_last_days":60,"slack_channels":[],"slack_aliases":[],"backstage_id":null,"external_id":null,"opsgenie_id":null,"pagerduty_id":null,"cortex_id":null,"opslevel_id":null,"service_now_ci_sys_id":null,"environment_ids":[],"service_ids":[],"owners_group_ids":[],"owners_user_ids":[],"incidents_count":1,"created_at":"2025-03-17T17:04:31.097-07:00","updated_at":"2025-03-17T17:04:38.109-07:00"}}},"schema":{"$ref":"#/components/schemas/functionality_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/functionalities/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/functionalities/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/functionalities/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/functionalities/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/functionalities/{id}/incidents_chart":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Get functionality incidents chart","security":[{"bearer_auth":[]}],"tags":["Functionalities"],"description":"Get functionality incidents chart","operationId":"getFunctionalityIncidentsChart","parameters":[{"name":"period","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"example":{"data":{"2025-01-17 00:00:00 UTC":0,"2025-01-24 00:00:00 UTC":0,"2025-01-31 00:00:00 UTC":0,"2025-02-07 00:00:00 UTC":0,"2025-02-14 00:00:00 UTC":0,"2025-02-21 00:00:00 UTC":0,"2025-02-28 00:00:00 UTC":0,"2025-03-07 00:00:00 UTC":0,"2025-03-14 00:00:00 UTC":1}},"schema":{"$ref":"#/components/schemas/incidents_chart_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/functionalities/%7Bid%7D/incidents_chart?period=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/functionalities/%7Bid%7D/incidents_chart?period=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/functionalities/%7Bid%7D/incidents_chart?period=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/functionalities/%7Bid%7D/incidents_chart?period=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/functionalities/{id}/uptime_chart":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Get functionality uptime chart","security":[{"bearer_auth":[]}],"tags":["Functionalities"],"description":"Get functionality uptime chart","operationId":"getFunctionalityUptimeChart","parameters":[{"name":"period","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"example":{"data":{"2025-03-03":100,"2025-03-04":100,"2025-03-05":100,"2025-03-06":100,"2025-03-07":100,"2025-03-08":100,"2025-03-09":100,"2025-03-10":100,"2025-03-11":100,"2025-03-12":100,"2025-03-13":100,"2025-03-14":100,"2025-03-15":50,"2025-03-16":0,"2025-03-17":100,"2025-03-18":100}},"schema":{"$ref":"#/components/schemas/uptime_chart_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/functionalities/%7Bid%7D/uptime_chart?period=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/functionalities/%7Bid%7D/uptime_chart?period=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/functionalities/%7Bid%7D/uptime_chart?period=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/functionalities/%7Bid%7D/uptime_chart?period=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/workflows/{workflow_id}/workflow_tasks":{"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates a workflow task","security":[{"bearer_auth":[]}],"tags":["WorkflowTasks"],"description":"Creates a new workflow task from provided data","operationId":"createWorkflowTask","parameters":[],"responses":{"201":{"description":"workflow task created","content":{"application/vnd.api+json":{"example":{"data":{"id":"09cc7b08-3ffb-4998-a145-4612fe39df85","type":"workflow_tasks","attributes":{"workflow_id":"8ca61f67-f175-4ab2-932a-d7cdb080085f","task_params":{"task_type":"send_email","from":"Rootly <no-reply@rootly.com>","to":["test@example.com"],"cc":[],"bcc":[],"subject":"Hello from Rootly","preheader":null,"body":"Hello from Rootly","include_header":true,"include_footer":true,"custom_logo_url":null},"name":"My Custom Name","position":2,"skip_on_failure":false,"enabled":true,"created_at":"2025-03-17T17:04:41.982-07:00","updated_at":"2025-03-17T17:04:41.982-07:00"}}},"schema":{"$ref":"#/components/schemas/workflow_task_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_workflow_task"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/workflow_tasks \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/workflow_tasks\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflows/%7Bworkflow_id%7D/workflow_tasks\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/workflow_tasks\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List workflow tasks","security":[{"bearer_auth":[]}],"tags":["WorkflowTasks"],"description":"List workflow tasks","operationId":"listWorkflowTasks","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/workflow_task_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/workflow_tasks?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/workflow_tasks?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflows/%7Bworkflow_id%7D/workflow_tasks?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/workflow_tasks?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/workflow_tasks/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a workflow task","security":[{"bearer_auth":[]}],"tags":["WorkflowTasks"],"description":"Retrieves a specific workflow_task by id","operationId":"getWorkflowTask","responses":{"200":{"description":"workflow_task found","content":{"application/vnd.api+json":{"example":{"data":{"id":"73425c51-70c0-4b93-9b0f-81aace48232d","type":"workflow_tasks","attributes":{"workflow_id":"8ca61f67-f175-4ab2-932a-d7cdb080085f","task_params":{"task_type":"send_email","from":"Rootly <no-reply@rootly.com>","to":["nulla"],"cc":[],"bcc":[],"subject":"Ex impedit minus ut.","preheader":null,"body":"Nesciunt ipsa ut dolores.","include_header":true,"include_footer":true,"custom_logo_url":null},"name":"Send an email","position":1,"skip_on_failure":false,"enabled":true,"created_at":"2025-03-17T17:04:41.561-07:00","updated_at":"2025-03-17T17:04:41.561-07:00"}}},"schema":{"$ref":"#/components/schemas/workflow_task_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/workflow_tasks/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflow_tasks/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflow_tasks/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflow_tasks/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a workflow task","security":[{"bearer_auth":[]}],"tags":["WorkflowTasks"],"description":"Update a specific workflow task by id","operationId":"updateWorkflowTask","parameters":[],"responses":{"200":{"description":"workflow_task updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"73425c51-70c0-4b93-9b0f-81aace48232d","type":"workflow_tasks","attributes":{"workflow_id":"8ca61f67-f175-4ab2-932a-d7cdb080085f","task_params":{"task_type":"send_email","from":"Rootly <no-reply@rootly.com>","to":["nulla"],"cc":[],"bcc":[],"subject":"Ex impedit minus ut.","preheader":null,"body":"updated","include_header":true,"include_footer":true,"custom_logo_url":null},"name":"Another name","position":2,"skip_on_failure":true,"enabled":false,"created_at":"2025-03-17T17:04:41.561-07:00","updated_at":"2025-03-17T17:04:43.209-07:00"}}},"schema":{"$ref":"#/components/schemas/workflow_task_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_workflow_task"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/workflow_tasks/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflow_tasks/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflow_tasks/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflow_tasks/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a workflow task","security":[{"bearer_auth":[]}],"tags":["WorkflowTasks"],"description":"Delete a specific workflow task by id","operationId":"deleteWorkflowTask","responses":{"200":{"description":"workflow_task deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"73425c51-70c0-4b93-9b0f-81aace48232d","type":"workflow_tasks","attributes":{"workflow_id":"8ca61f67-f175-4ab2-932a-d7cdb080085f","task_params":{"task_type":"send_email","from":"Rootly <no-reply@rootly.com>","to":["nulla"],"cc":[],"bcc":[],"subject":"Ex impedit minus ut.","preheader":null,"body":"Nesciunt ipsa ut dolores.","include_header":true,"include_footer":true,"custom_logo_url":null},"name":"Send an email","position":1,"skip_on_failure":false,"enabled":true,"created_at":"2025-03-17T17:04:41.561-07:00","updated_at":"2025-03-17T17:04:43.859-07:00"}}},"schema":{"$ref":"#/components/schemas/workflow_task_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/workflow_tasks/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflow_tasks/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflow_tasks/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflow_tasks/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/workflows/{workflow_id}/custom_field_selections":{"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"[DEPRECATED] Creates a workflow custom field selection","security":[{"bearer_auth":[]}],"tags":["[DEPRECATED] WorkflowCustomFieldSelections"],"description":"[DEPRECATED] Use form field endpoints instead. Creates a new workflow custom field selection from provided data","deprecated":true,"operationId":"createWorkflowCustomFieldSelection","parameters":[],"responses":{"201":{"description":"workflow_custom_field_selection created","content":{"application/vnd.api+json":{"example":{"data":{"id":"2","type":"workflow_custom_field_selections","attributes":{"custom_field_id":23,"workflow_id":"42563106-78dd-4b27-a11b-79c067ecd06c","incident_condition":"ANY","values":[],"selected_option_ids":[]}}},"schema":{"$ref":"#/components/schemas/workflow_custom_field_selection_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_workflow_custom_field_selection"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/custom_field_selections \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/custom_field_selections\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflows/%7Bworkflow_id%7D/custom_field_selections\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/custom_field_selections\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"[DEPRECATED] List workflow custom field selections","security":[{"bearer_auth":[]}],"tags":["[DEPRECATED] WorkflowCustomFieldSelections"],"description":"[DEPRECATED] Use form field endpoints instead. List workflow custom field selections","deprecated":true,"operationId":"listWorkflowCustomFieldSelections","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/workflow_custom_field_selection_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/custom_field_selections?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/custom_field_selections?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflows/%7Bworkflow_id%7D/custom_field_selections?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/custom_field_selections?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/workflow_custom_field_selections/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"[DEPRECATED] Retrieves a workflow custom field selection","security":[{"bearer_auth":[]}],"tags":["[DEPRECATED] WorkflowCustomFieldSelections"],"description":"[DEPRECATED] Use form field endpoints instead. Retrieves a specific workflow custom field selection by id","deprecated":true,"operationId":"getWorkflowCustomFieldSelection","responses":{"200":{"description":"workflow_custom_field_selection found","content":{"application/vnd.api+json":{"example":{"data":{"id":"1","type":"workflow_custom_field_selections","attributes":{"custom_field_id":22,"workflow_id":"42563106-78dd-4b27-a11b-79c067ecd06c","incident_condition":"ANY","values":[],"selected_option_ids":[]}}},"schema":{"$ref":"#/components/schemas/workflow_custom_field_selection_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/workflow_custom_field_selections/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflow_custom_field_selections/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflow_custom_field_selections/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflow_custom_field_selections/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"[DEPRECATED] Update a workflow custom field selection","security":[{"bearer_auth":[]}],"tags":["[DEPRECATED] WorkflowCustomFieldSelections"],"description":"[DEPRECATED] Use form field endpoints instead. Update a specific workflow custom field selection by id","deprecated":true,"operationId":"updateWorkflowCustomFieldSelection","parameters":[],"responses":{"200":{"description":"workflow_custom_field_selection updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"1","type":"workflow_custom_field_selections","attributes":{"custom_field_id":22,"workflow_id":"42563106-78dd-4b27-a11b-79c067ecd06c","incident_condition":"IS","values":[],"selected_option_ids":[]}}},"schema":{"$ref":"#/components/schemas/workflow_custom_field_selection_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_workflow_custom_field_selection"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/workflow_custom_field_selections/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflow_custom_field_selections/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflow_custom_field_selections/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflow_custom_field_selections/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"[DEPRECATED] Delete a workflow custom field selection","security":[{"bearer_auth":[]}],"tags":["[DEPRECATED] WorkflowCustomFieldSelections"],"description":"[DEPRECATED] Use form field endpoints instead. Delete a specific workflow custom field selection by id","deprecated":true,"operationId":"deleteWorkflowCustomFieldSelection","responses":{"200":{"description":"workflow_custom_field_selection deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"1","type":"workflow_custom_field_selections","attributes":{"custom_field_id":22,"workflow_id":"42563106-78dd-4b27-a11b-79c067ecd06c","incident_condition":"ANY","values":[],"selected_option_ids":[]}}},"schema":{"$ref":"#/components/schemas/workflow_custom_field_selection_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/workflow_custom_field_selections/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflow_custom_field_selections/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflow_custom_field_selections/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflow_custom_field_selections/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/workflows/{workflow_id}/form_field_conditions":{"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates a workflow form field condition","security":[{"bearer_auth":[]}],"tags":["WorkflowFormFieldConditions"],"description":"Creates a new workflow form field condition from provided data","operationId":"createWorkflowFormFieldCondition","parameters":[],"responses":{"201":{"description":"workflow_form_field_condition created","content":{"application/vnd.api+json":{"example":{"data":{"id":"c776c74c-aa88-449d-a409-c61e4c19bdd2","type":"workflow_form_field_conditions","attributes":{"workflow_id":"b1ca72b4-6bae-4f6e-b8d2-b86849ca0535","form_field_id":"6c9a9fc3-0e78-4c8a-a5aa-1c406e9f3674","incident_condition":"ANY","values":[],"selected_group_ids":[],"selected_option_ids":[],"selected_service_ids":[],"selected_functionality_ids":[],"selected_user_ids":[],"selected_catalog_entity_ids":[]}}},"schema":{"$ref":"#/components/schemas/workflow_form_field_condition_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_workflow_form_field_condition"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/form_field_conditions \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/form_field_conditions\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflows/%7Bworkflow_id%7D/form_field_conditions\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/form_field_conditions\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List workflow form field conditions","security":[{"bearer_auth":[]}],"tags":["WorkflowFormFieldConditions"],"description":"List workflow form field conditions","operationId":"listWorkflowFormFieldConditions","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/workflow_form_field_condition_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/form_field_conditions?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/form_field_conditions?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflows/%7Bworkflow_id%7D/form_field_conditions?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/form_field_conditions?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/workflow_form_field_conditions/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a workflow form field condition","security":[{"bearer_auth":[]}],"tags":["WorkflowFormFieldConditions"],"description":"Retrieves a specific workflow form field condition by id","operationId":"getWorkflowFormFieldCondition","responses":{"200":{"description":"workflow_form_field_condition found","content":{"application/vnd.api+json":{"example":{"data":{"id":"e1b49e13-b259-4121-8e28-d4bb517716e2","type":"workflow_form_field_conditions","attributes":{"workflow_id":"b1ca72b4-6bae-4f6e-b8d2-b86849ca0535","form_field_id":"6f2185c6-3322-4652-aad3-cb10bc296da0","incident_condition":"ANY","values":[],"selected_group_ids":[],"selected_option_ids":[],"selected_service_ids":[],"selected_functionality_ids":[],"selected_user_ids":[],"selected_catalog_entity_ids":[]}}},"schema":{"$ref":"#/components/schemas/workflow_form_field_condition_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/workflow_form_field_conditions/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflow_form_field_conditions/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflow_form_field_conditions/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflow_form_field_conditions/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a workflow form field condition","security":[{"bearer_auth":[]}],"tags":["WorkflowFormFieldConditions"],"description":"Update a specific workflow form field condition by id","operationId":"updateWorkflowFormFieldCondition","parameters":[],"responses":{"200":{"description":"workflow_form_field_condition updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"e1b49e13-b259-4121-8e28-d4bb517716e2","type":"workflow_form_field_conditions","attributes":{"workflow_id":"b1ca72b4-6bae-4f6e-b8d2-b86849ca0535","form_field_id":"6f2185c6-3322-4652-aad3-cb10bc296da0","incident_condition":"IS","values":[],"selected_group_ids":[],"selected_option_ids":[],"selected_service_ids":[],"selected_functionality_ids":[],"selected_user_ids":[],"selected_catalog_entity_ids":[]}}},"schema":{"$ref":"#/components/schemas/workflow_form_field_condition_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_workflow_form_field_condition"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/workflow_form_field_conditions/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflow_form_field_conditions/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflow_form_field_conditions/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflow_form_field_conditions/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a workflow_form field condition","security":[{"bearer_auth":[]}],"tags":["WorkflowFormFieldConditions"],"description":"Delete a specific workflow form field condition by id","operationId":"deleteWorkflowFormFieldCondition","responses":{"200":{"description":"workflow_form_field_condition deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"e1b49e13-b259-4121-8e28-d4bb517716e2","type":"workflow_form_field_conditions","attributes":{"workflow_id":"b1ca72b4-6bae-4f6e-b8d2-b86849ca0535","form_field_id":"6f2185c6-3322-4652-aad3-cb10bc296da0","incident_condition":"ANY","values":[],"selected_group_ids":[],"selected_option_ids":[],"selected_service_ids":[],"selected_functionality_ids":[],"selected_user_ids":[],"selected_catalog_entity_ids":[]}}},"schema":{"$ref":"#/components/schemas/workflow_form_field_condition_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/workflow_form_field_conditions/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflow_form_field_conditions/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflow_form_field_conditions/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflow_form_field_conditions/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/workflow_groups":{"post":{"summary":"Creates a workflow group","security":[{"bearer_auth":[]}],"tags":["WorkflowGroups"],"description":"Creates a new workflow group from provided data","operationId":"createWorkflowGroup","parameters":[],"responses":{"201":{"description":"workflow group created","content":{"application/vnd.api+json":{"example":{"data":{"id":"408105b9-b60c-4380-990b-0eb5d459aef0","type":"workflow_groups","attributes":{"kind":"incident","name":"Test","description":null,"icon":"📁","slug":"test-incident","expanded":true,"position":1}}},"schema":{"$ref":"#/components/schemas/workflow_group_response"}}}},"401":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_workflow_group"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/workflow_groups \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflow_groups\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflow_groups\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflow_groups\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List workflow groups","security":[{"bearer_auth":[]}],"tags":["WorkflowGroups"],"description":"List workflow groups","operationId":"listWorkflowGroups","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[kind]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[expanded]","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"filter[position]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/workflow_group_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/workflow_groups?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bexpanded%5D=SOME_BOOLEAN_VALUE&filter%5Bposition%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflow_groups?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bexpanded%5D=SOME_BOOLEAN_VALUE&filter%5Bposition%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflow_groups?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bexpanded%5D=SOME_BOOLEAN_VALUE&filter%5Bposition%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflow_groups?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bexpanded%5D=SOME_BOOLEAN_VALUE&filter%5Bposition%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/workflow_groups/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a workflow group","security":[{"bearer_auth":[]}],"tags":["WorkflowGroups"],"description":"Retrieves a specific workflow group by id","operationId":"getWorkflowGroup","responses":{"200":{"description":"workflow group found","content":{"application/vnd.api+json":{"example":{"data":{"id":"ab7058e4-a4e4-4556-bd82-769829ed04f2","type":"workflow_groups","attributes":{"kind":"incident","name":"Default","description":null,"icon":"📁","slug":"default-incident","expanded":true,"position":1}}},"schema":{"$ref":"#/components/schemas/workflow_group_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/workflow_groups/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflow_groups/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflow_groups/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflow_groups/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a workflow group","security":[{"bearer_auth":[]}],"tags":["WorkflowGroups"],"description":"Update a specific workflow group by id","operationId":"updateWorkflowGroup","parameters":[],"responses":{"200":{"description":"workflow group updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"ab7058e4-a4e4-4556-bd82-769829ed04f2","type":"workflow_groups","attributes":{"kind":"incident","name":"Test update","description":null,"icon":"📁","slug":"default-incident","expanded":true,"position":1}}},"schema":{"$ref":"#/components/schemas/workflow_group_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_workflow_group"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/workflow_groups/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflow_groups/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflow_groups/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflow_groups/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a workflow_group","security":[{"bearer_auth":[]}],"tags":["WorkflowGroups"],"description":"Delete a specific workflow group by id","operationId":"deleteWorkflowGroup","responses":{"200":{"description":"workflow group deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"ab7058e4-a4e4-4556-bd82-769829ed04f2","type":"workflow_groups","attributes":{"kind":"incident","name":"Default","description":null,"icon":"📁","slug":"default-incident","expanded":true,"position":1}}},"schema":{"$ref":"#/components/schemas/workflow_group_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/workflow_groups/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflow_groups/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflow_groups/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflow_groups/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/workflows/{workflow_id}/workflow_runs":{"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"List workflow runs","security":[{"bearer_auth":[]}],"tags":["WorkflowRuns"],"description":"List workflow runs","operationId":"ListWorkflowRuns","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: genius_task_runs","schema":{"type":"string","enum":["genius_task_runs"]},"required":false},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/workflow_runs_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/workflow_runs?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/workflow_runs?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflows/%7Bworkflow_id%7D/workflow_runs?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/workflow_runs?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"post":{"summary":"Creates a workflow run","security":[{"bearer_auth":[]}],"tags":["WorkflowRuns"],"description":"Creates a new workflow run from provided data","operationId":"createWorkflowRun","parameters":[],"responses":{"201":{"description":"workflow run created","content":{"application/vnd.api+json":{"example":{"data":{"id":"31cc4b56-28e0-4ad5-a222-7f7cd5fd85bd","type":"workflow_runs","attributes":{"kind":"incident","status":"queued","status_message":null,"triggered_by":"user","user_id":163,"queued_at":"2025-03-17T17:04:59.369-07:00","started_at":null,"completed_at":null,"failed_at":null,"canceled_at":null,"updated_at":"2025-03-17T17:04:59.369-07:00","created_at":"2025-03-17T17:04:59.369-07:00","incident_id":"0a4cbf6b-1118-4a86-aeee-cbe813a96d00","post_mortem_id":null,"action_item_id":null,"alert_id":null,"pulse_id":null,"workflow_id":"66ff9077-c66d-4a9b-b7a7-05b1a59b7e00","workflow_name":"Gone Girl"},"relationships":{"task_runs":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/workflow_run_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"workflow run not created","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Incident conditions are not satisfied","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_workflow_run"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/workflow_runs \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/workflow_runs\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflows/%7Bworkflow_id%7D/workflow_runs\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflows/%7Bworkflow_id%7D/workflow_runs\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/workflows":{"post":{"summary":"Creates a workflow","security":[{"bearer_auth":[]}],"tags":["Workflows"],"description":"Creates a new workflow from provided data","operationId":"createWorkflow","parameters":[],"responses":{"201":{"description":"admins can set 'locked' while creating a workflow","content":{"application/vnd.api+json":{"example":{"data":{"id":"05c00619-7d0c-45c2-b52f-c9fac95b7194","type":"workflows","attributes":{"name":"Test","slug":"test","description":null,"command":"incident-test","command_feedback_enabled":true,"repeat_every_duration":null,"repeat_condition_duration_since_first_run":null,"repeat_condition_number_of_repeats":0,"continuously_repeat":false,"repeat_on":[],"wait":null,"enabled":true,"locked":true,"position":1,"workflow_group_id":"bac35ef7-ae26-40e8-b5a6-590f7fcccc77","trigger_params":{"trigger_type":"incident","triggers":[],"incident_visibilities":[],"incident_kinds":["normal"],"incident_statuses":[],"incident_inactivity_duration":null,"incident_condition":"ALL","incident_condition_visibility":"ANY","incident_condition_kind":"IS","incident_condition_status":"ANY","incident_condition_sub_status":"ANY","incident_condition_environment":"ANY","incident_condition_severity":"ANY","incident_condition_incident_type":"ANY","incident_condition_incident_roles":"ANY","incident_condition_service":"ANY","incident_condition_functionality":"ANY","incident_condition_group":"ANY","incident_condition_cause":"ANY","incident_condition_summary":null,"incident_condition_started_at":null,"incident_condition_detected_at":null,"incident_condition_acknowledged_at":null,"incident_condition_mitigated_at":null,"incident_condition_resolved_at":null,"incident_conditional_inactivity":null,"incident_post_mortem_condition_cause":"ANY"},"severity_ids":[],"environment_ids":[],"incident_type_ids":[],"incident_role_ids":[],"service_ids":[],"functionality_ids":[],"group_ids":[],"updated_at":"2025-03-17T17:05:07.406-07:00","created_at":"2025-03-17T17:05:07.406-07:00"},"relationships":{"custom_field_selections":{"data":[]},"workflow_tasks":{"data":[]},"workflow_runs":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/workflow_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"403":{"description":"non-admins can't set 'locked' while creating a workflow","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Unauthorized Action. Only admins can set locked","status":"403"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_workflow"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/workflows \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflows\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflows\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflows\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List workflows","security":[{"bearer_auth":[]}],"tags":["Workflows"],"description":"List workflows","operationId":"listWorkflows","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: form_field_conditions,genius_tasks","schema":{"type":"string","enum":["form_field_conditions","genius_tasks","genius_workflow_runs"]},"required":false},{"name":"sort","in":"query","description":"comma separated if needed. eg: created_at,updated_at","schema":{"type":"string","enum":["created_at","-created_at","updated_at","-updated_at","position","-position"]},"required":false},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/workflow_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/workflows?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflows?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflows?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflows?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/workflows/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a workflow","security":[{"bearer_auth":[]}],"tags":["Workflows"],"description":"Retrieves a specific workflow by id","operationId":"getWorkflow","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: form_field_conditions,genius_tasks","schema":{"type":"string","enum":["form_field_conditions","genius_tasks","genius_workflow_runs"]},"required":false}],"responses":{"200":{"description":"workflow found","content":{"application/vnd.api+json":{"example":{"data":{"id":"fc76ac71-6bce-432f-ad6f-623b62b0a40e","type":"workflows","attributes":{"name":"Whiplash","slug":"whiplash","description":null,"command":"incident-whiplash","command_feedback_enabled":true,"repeat_every_duration":null,"repeat_condition_duration_since_first_run":"","repeat_condition_number_of_repeats":0,"continuously_repeat":false,"repeat_on":[],"wait":null,"enabled":true,"locked":false,"position":1,"workflow_group_id":null,"trigger_params":{"trigger_type":"incident","triggers":[],"incident_visibilities":[],"incident_kinds":["normal"],"incident_statuses":[],"incident_inactivity_duration":null,"incident_condition":"ALL","incident_condition_visibility":"ANY","incident_condition_kind":"IS","incident_condition_status":"ANY","incident_condition_sub_status":"ANY","incident_condition_environment":"ANY","incident_condition_severity":"ANY","incident_condition_incident_type":"ANY","incident_condition_incident_roles":"ANY","incident_condition_service":"ANY","incident_condition_functionality":"ANY","incident_condition_group":"ANY","incident_condition_cause":"ANY","incident_condition_summary":null,"incident_condition_started_at":null,"incident_condition_detected_at":null,"incident_condition_acknowledged_at":null,"incident_condition_mitigated_at":null,"incident_condition_resolved_at":null,"incident_conditional_inactivity":null,"incident_post_mortem_condition_cause":"ANY"},"severity_ids":[],"environment_ids":[],"incident_type_ids":[],"incident_role_ids":[],"service_ids":[],"functionality_ids":[],"group_ids":[],"updated_at":"2025-03-17T17:05:08.842-07:00","created_at":"2025-03-17T17:05:08.842-07:00"},"relationships":{"custom_field_selections":{"data":[]},"workflow_tasks":{"data":[]},"workflow_runs":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/workflow_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/workflows/%7Bid%7D?include=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflows/%7Bid%7D?include=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflows/%7Bid%7D?include=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflows/%7Bid%7D?include=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a workflow","security":[{"bearer_auth":[]}],"tags":["Workflows"],"description":"Update a specific workflow by id","operationId":"updateWorkflow","parameters":[],"responses":{"200":{"description":"admin can update 'locked' attribute","content":{"application/vnd.api+json":{"example":{"data":{"id":"5388accb-74fe-4526-8156-b691aea9fa13","type":"workflows","attributes":{"name":"Updated","slug":"updated","description":null,"command":"incident-north-by-northwest","command_feedback_enabled":true,"repeat_every_duration":null,"repeat_condition_duration_since_first_run":null,"repeat_condition_number_of_repeats":0,"continuously_repeat":false,"repeat_on":[],"wait":null,"enabled":true,"locked":true,"position":1,"workflow_group_id":null,"trigger_params":{"trigger_type":"incident","triggers":[],"incident_visibilities":[],"incident_kinds":["normal"],"incident_statuses":[],"incident_inactivity_duration":null,"incident_condition":"ALL","incident_condition_visibility":"ANY","incident_condition_kind":"IS","incident_condition_status":"ANY","incident_condition_sub_status":"ANY","incident_condition_environment":"ANY","incident_condition_severity":"ANY","incident_condition_incident_type":"ANY","incident_condition_incident_roles":"ANY","incident_condition_service":"ANY","incident_condition_functionality":"ANY","incident_condition_group":"ANY","incident_condition_cause":"ANY","incident_condition_summary":null,"incident_condition_started_at":null,"incident_condition_detected_at":null,"incident_condition_acknowledged_at":null,"incident_condition_mitigated_at":null,"incident_condition_resolved_at":null,"incident_conditional_inactivity":null,"incident_post_mortem_condition_cause":"ANY"},"severity_ids":[],"environment_ids":[],"incident_type_ids":[],"incident_role_ids":[],"service_ids":[],"functionality_ids":[],"group_ids":[],"updated_at":"2025-03-17T17:05:14.653-07:00","created_at":"2025-03-17T17:05:14.152-07:00"},"relationships":{"custom_field_selections":{"data":[]},"workflow_tasks":{"data":[]},"workflow_runs":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/workflow_response"}}}},"403":{"description":"non-admin can't update 'locked' attribute","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Unauthorized Action. Only admins can set locked","status":"403"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"404":{"description":"non-admin can't update locked workflow","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_workflow"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/workflows/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflows/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflows/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflows/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a workflow","security":[{"bearer_auth":[]}],"tags":["Workflows"],"description":"Delete a specific workflow by id","operationId":"deleteWorkflow","responses":{"200":{"description":"admin can destroy locked workflow","content":{"application/vnd.api+json":{"example":{"data":{"id":"3b9a9bf5-56fc-4e4b-a02a-e95af7f469c7","type":"workflows","attributes":{"name":"Inglourious Basterds","slug":"inglourious-basterds","description":null,"command":null,"command_feedback_enabled":true,"repeat_every_duration":null,"repeat_condition_duration_since_first_run":"","repeat_condition_number_of_repeats":0,"continuously_repeat":false,"repeat_on":[],"wait":null,"enabled":true,"locked":true,"position":1,"workflow_group_id":null,"trigger_params":{"trigger_type":"incident","triggers":[],"incident_visibilities":[],"incident_kinds":["normal"],"incident_statuses":[],"incident_inactivity_duration":null,"incident_condition":"ALL","incident_condition_visibility":"ANY","incident_condition_kind":"IS","incident_condition_status":"ANY","incident_condition_sub_status":"ANY","incident_condition_environment":"ANY","incident_condition_severity":"ANY","incident_condition_incident_type":"ANY","incident_condition_incident_roles":"ANY","incident_condition_service":"ANY","incident_condition_functionality":"ANY","incident_condition_group":"ANY","incident_condition_cause":"ANY","incident_condition_summary":null,"incident_condition_started_at":null,"incident_condition_detected_at":null,"incident_condition_acknowledged_at":null,"incident_condition_mitigated_at":null,"incident_condition_resolved_at":null,"incident_conditional_inactivity":null,"incident_post_mortem_condition_cause":"ANY"},"severity_ids":[],"environment_ids":[],"incident_type_ids":[],"incident_role_ids":[],"service_ids":[],"functionality_ids":[],"group_ids":[],"updated_at":"2025-03-17T17:05:17.405-07:00","created_at":"2025-03-17T17:05:16.841-07:00"},"relationships":{"custom_field_selections":{"data":[]},"workflow_tasks":{"data":[]},"workflow_runs":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/workflow_response"}}}},"404":{"description":"non-admin can't destroy locked workflow","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/workflows/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/workflows/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/workflows/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/workflows/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/heartbeats/{heartbeat_id}/ping":{"parameters":[{"name":"heartbeat_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Ping a heartbeat","security":[{"bearer_auth":[]}],"tags":["Heartbeats"],"description":"Ping a specific heartbeat by id","operationId":"pingHeartbeat","responses":{"204":{"description":"create ping"},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/heartbeats/%7Bheartbeat_id%7D/ping \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/heartbeats/%7Bheartbeat_id%7D/ping\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/heartbeats/%7Bheartbeat_id%7D/ping\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/heartbeats/%7Bheartbeat_id%7D/ping\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/heartbeats":{"post":{"summary":"Creates a heartbeat","security":[{"bearer_auth":[]}],"tags":["Heartbeats"],"description":"Creates a new heartbeat from provided data","operationId":"createHeartbeat","parameters":[],"responses":{"201":{"description":"heartbeat created","content":{"application/vnd.api+json":{"example":{"data":{"id":"9c2cb524-4800-4b76-b8e9-9b5d9796efd7","type":"heartbeats","attributes":{"slug":"api","name":"API","description":"This is a description","alert_summary":"API is down","alert_urgency_id":"559a5a7b-68b1-43c3-bec5-3589cf167ee3","interval":1,"interval_unit":"minutes","notification_target_id":"176","notification_target_type":"User","last_pinged_at":null,"expires_at":null,"enabled":false,"status":"waiting","updated_at":"2025-03-17T17:05:24.040-07:00","created_at":"2025-03-17T17:05:24.040-07:00"}}},"schema":{"$ref":"#/components/schemas/heartbeat_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"},{"title":"Name can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_heartbeat"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/heartbeats \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/heartbeats\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/heartbeats\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/heartbeats\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List heartbeats","security":[{"bearer_auth":[]}],"tags":["Heartbeats"],"description":"List heartbeats","operationId":"listHeartbeats","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/heartbeat_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/heartbeats?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/heartbeats?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/heartbeats?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/heartbeats?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/heartbeats/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a heartbeat","security":[{"bearer_auth":[]}],"tags":["Heartbeats"],"description":"Retrieves a specific heartbeat by id","operationId":"getHeartbeat","responses":{"200":{"description":"heartbeat found","content":{"application/vnd.api+json":{"example":{"data":{"id":"640acca1-0984-4028-8969-163102d2969c","type":"heartbeats","attributes":{"slug":"harum-delectus-animi-sed","name":"Harum delectus animi sed.","description":"Placeat quos et temporibus.","alert_summary":"API is down","alert_urgency_id":"ab557ce2-db2e-44be-bb22-e69da0796f41","interval":7,"interval_unit":"hours","notification_target_id":"178","notification_target_type":"User","last_pinged_at":null,"expires_at":null,"enabled":false,"status":"waiting","updated_at":"2025-03-17T17:05:20.953-07:00","created_at":"2025-03-17T17:05:20.953-07:00"}}},"schema":{"$ref":"#/components/schemas/heartbeat_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/heartbeats/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/heartbeats/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/heartbeats/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/heartbeats/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a heartbeat","security":[{"bearer_auth":[]}],"tags":["Heartbeats"],"description":"Update a specific heartbeat by id","operationId":"updateHeartbeat","parameters":[],"responses":{"200":{"description":"heartbeat updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"640acca1-0984-4028-8969-163102d2969c","type":"heartbeats","attributes":{"slug":"harum-delectus-animi-sed","name":"api.rootly.com","description":"This is a description","alert_summary":"API is down","alert_urgency_id":"559a5a7b-68b1-43c3-bec5-3589cf167ee3","interval":10,"interval_unit":"minutes","notification_target_id":"178","notification_target_type":"User","last_pinged_at":null,"expires_at":null,"enabled":false,"status":"waiting","updated_at":"2025-03-17T17:05:25.216-07:00","created_at":"2025-03-17T17:05:20.953-07:00"}}},"schema":{"$ref":"#/components/schemas/heartbeat_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_heartbeat"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/heartbeats/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/heartbeats/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/heartbeats/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/heartbeats/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a heartbeat","security":[{"bearer_auth":[]}],"tags":["Heartbeats"],"description":"Delete a specific heartbeat by id","operationId":"deleteHeartbeat","responses":{"200":{"description":"heartbeat deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"640acca1-0984-4028-8969-163102d2969c","type":"heartbeats","attributes":{"slug":"harum-delectus-animi-sed","name":"Harum delectus animi sed.","description":"Placeat quos et temporibus.","alert_summary":"API is down","alert_urgency_id":"ab557ce2-db2e-44be-bb22-e69da0796f41","interval":7,"interval_unit":"hours","notification_target_id":"178","notification_target_type":"User","last_pinged_at":null,"expires_at":null,"enabled":false,"status":"waiting","updated_at":"2025-03-17T17:05:25.784-07:00","created_at":"2025-03-17T17:05:20.953-07:00"}}},"schema":{"$ref":"#/components/schemas/heartbeat_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/heartbeats/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/heartbeats/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/heartbeats/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/heartbeats/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incidents/{incident_id}/action_items":{"parameters":[{"name":"incident_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates an incident action item","security":[{"bearer_auth":[]}],"tags":["IncidentActionItems"],"description":"Creates a new action item from provided data","operationId":"createIncidentActionItem","parameters":[],"responses":{"201":{"description":"incident_action_item created","content":{"application/vnd.api+json":{"example":{"data":{"id":"97a3fddb-8dd7-47c5-bd1f-b76ccd156b4d","type":"incident_action_items","attributes":{"incident_id":"787c077c-3d24-4dbe-aa60-7e9c233557ba","incident_title":"Odit vel sequi in.","description":"New action item description","assigned_to":{"id":183,"email":"mark@boyer-ryan.test","deleted_at":null,"created_at":"2025-03-17T17:05:26.311-07:00","updated_at":"2025-03-17T17:05:30.601-07:00","current_team_id":174,"first_name":"Venetta","last_name":"Homenick","time_zone":"UTC","last_seen_at":null,"profile_photo_id":null,"ability_cache":{"team_ids":[174],"administrating_team_ids":[]},"last_notification_email_sent_at":null,"accept_terms":true,"onboarding_completed":true,"service_user":false,"accept_marketing":true,"teams_count":1,"created_through_sso":false,"scim_uid":null,"session_token":null,"incidents_example_count":0,"incidents_test_count":0,"incidents_normal_count":0,"incidents_scheduled_count":0,"incidents_backfilled_count":0,"incidents_count":0,"theme":"light_v2","skip_tutorial":false,"external_id":null,"jti":"521e46c1-a6e9-4b47-b564-8636e647fdf4","is_super_admin":false,"has_impersonate_write_permission":false,"view_multiple_schedules":true,"push_notification_new_alert_sound":"default","push_notification_shift_starts_sound":"soft_bloob","push_notification_shift_ends_sound":"soft_bloob","how_did_you_hear_about_us":null,"opsgenie_id":null,"push_notification_new_alert_volume":1,"victor_ops_id":null,"pagerduty_id":null},"assigned_to_group_ids":["6e2a095f-9667-4832-adcc-16badc9a2da5","97d62662-ce57-4878-aba2-44f4c85ddd1d"],"kind":"task","priority":"medium","status":"open","due_date":null,"jira_issue_id":null,"jira_issue_url":null,"asana_task_id":null,"asana_task_url":null,"github_issue_id":null,"github_issue_url":null,"gitlab_issue_id":null,"gitlab_issue_url":null,"shortcut_story_id":null,"shortcut_story_url":null,"shortcut_task_id":null,"shortcut_task_url":null,"trello_card_id":null,"trello_card_url":null,"linear_issue_id":null,"linear_issue_url":null,"zendesk_ticket_id":null,"zendesk_ticket_url":null,"motion_task_id":null,"motion_task_url":null,"clickup_task_id":null,"clickup_task_url":null,"airtable_base_key":null,"airtable_table_name":null,"airtable_record_id":null,"airtable_record_url":null,"freshservice_ticket_id":null,"freshservice_ticket_url":null,"freshservice_task_id":null,"freshservice_task_url":null,"url":"https://test.rootly.com/account/incidents/odit-vel-sequi-in#nav-action-items","short_url":null,"created_at":"2025-03-17T17:05:30.773-07:00","updated_at":"2025-03-17T17:05:30.773-07:00","summary":"New action item summary"}}},"schema":{"$ref":"#/components/schemas/incident_action_item_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Summary can't be blank","status":"422"},{"title":"Summary raw can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_incident_action_item"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/incidents/%7Bincident_id%7D/action_items \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/action_items\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bincident_id%7D/action_items\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/action_items\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List incident action items","security":[{"bearer_auth":[]}],"tags":["IncidentActionItems"],"description":"List incident action items","operationId":"listIncidentActionItems","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/incident_action_item_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/incidents/%7Bincident_id%7D/action_items?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/action_items?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bincident_id%7D/action_items?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/action_items?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/action_items/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an incident action item","security":[{"bearer_auth":[]}],"tags":["IncidentActionItems"],"description":"Retrieves a specific incident_action_item by id","operationId":"getIncidentActionItems","responses":{"200":{"description":"incident_action_item found","content":{"application/vnd.api+json":{"example":{"data":{"id":"73c1cb41-6b3c-4e97-9566-f307441770d1","type":"incident_action_items","attributes":{"incident_id":"787c077c-3d24-4dbe-aa60-7e9c233557ba","incident_title":"Odit vel sequi in.","description":"shabby chic wolf locavore pickled twee poke. YOLO godard health goth pork belly cold-pressed swag","assigned_to":null,"assigned_to_group_ids":[],"kind":"follow_up","priority":"high","status":"open","due_date":null,"jira_issue_id":null,"jira_issue_url":null,"asana_task_id":null,"asana_task_url":null,"github_issue_id":null,"github_issue_url":null,"gitlab_issue_id":null,"gitlab_issue_url":null,"shortcut_story_id":null,"shortcut_story_url":null,"shortcut_task_id":null,"shortcut_task_url":null,"trello_card_id":null,"trello_card_url":null,"linear_issue_id":null,"linear_issue_url":null,"zendesk_ticket_id":null,"zendesk_ticket_url":null,"motion_task_id":null,"motion_task_url":null,"clickup_task_id":null,"clickup_task_url":null,"airtable_base_key":null,"airtable_table_name":null,"airtable_record_id":null,"airtable_record_url":null,"freshservice_ticket_id":null,"freshservice_ticket_url":null,"freshservice_task_id":null,"freshservice_task_url":null,"url":"https://test.rootly.com/account/incidents/odit-vel-sequi-in#nav-action-items","short_url":null,"created_at":"2025-03-17T17:05:29.802-07:00","updated_at":"2025-03-17T17:05:29.802-07:00","summary":"shabby chic wolf locavore pickled twee poke. YOLO godard health goth pork belly cold-pressed swag"}}},"schema":{"$ref":"#/components/schemas/incident_action_item_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/action_items/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/action_items/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/action_items/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/action_items/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an incident action item","security":[{"bearer_auth":[]}],"tags":["IncidentActionItems"],"description":"Update a specific incident action item by id","operationId":"updateIncidentActionItem","parameters":[],"responses":{"200":{"description":"incident_action_item updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"73c1cb41-6b3c-4e97-9566-f307441770d1","type":"incident_action_items","attributes":{"incident_id":"787c077c-3d24-4dbe-aa60-7e9c233557ba","incident_title":"Odit vel sequi in.","description":"Action item description updated","assigned_to":null,"assigned_to_group_ids":[],"kind":"follow_up","priority":"high","status":"open","due_date":null,"jira_issue_id":null,"jira_issue_url":null,"asana_task_id":null,"asana_task_url":null,"github_issue_id":null,"github_issue_url":null,"gitlab_issue_id":null,"gitlab_issue_url":null,"shortcut_story_id":null,"shortcut_story_url":null,"shortcut_task_id":null,"shortcut_task_url":null,"trello_card_id":null,"trello_card_url":null,"linear_issue_id":null,"linear_issue_url":null,"zendesk_ticket_id":null,"zendesk_ticket_url":null,"motion_task_id":null,"motion_task_url":null,"clickup_task_id":null,"clickup_task_url":null,"airtable_base_key":null,"airtable_table_name":null,"airtable_record_id":null,"airtable_record_url":null,"freshservice_ticket_id":null,"freshservice_ticket_url":null,"freshservice_task_id":null,"freshservice_task_url":null,"url":"https://test.rootly.com/account/incidents/odit-vel-sequi-in#nav-action-items","short_url":null,"created_at":"2025-03-17T17:05:29.802-07:00","updated_at":"2025-03-17T17:05:32.353-07:00","summary":"Action item summary updated"}}},"schema":{"$ref":"#/components/schemas/incident_action_item_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_incident_action_item"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/action_items/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/action_items/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/action_items/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/action_items/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an incident action item","security":[{"bearer_auth":[]}],"tags":["IncidentActionItems"],"description":"Delete a specific incident action item by id","operationId":"deleteIncidentActionItem","responses":{"200":{"description":"incident_action_item deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"73c1cb41-6b3c-4e97-9566-f307441770d1","type":"incident_action_items","attributes":{"incident_id":"787c077c-3d24-4dbe-aa60-7e9c233557ba","incident_title":"Odit vel sequi in.","description":"shabby chic wolf locavore pickled twee poke. YOLO godard health goth pork belly cold-pressed swag","assigned_to":null,"assigned_to_group_ids":[],"kind":"follow_up","priority":"high","status":"open","due_date":null,"jira_issue_id":null,"jira_issue_url":null,"asana_task_id":null,"asana_task_url":null,"github_issue_id":null,"github_issue_url":null,"gitlab_issue_id":null,"gitlab_issue_url":null,"shortcut_story_id":null,"shortcut_story_url":null,"shortcut_task_id":null,"shortcut_task_url":null,"trello_card_id":null,"trello_card_url":null,"linear_issue_id":null,"linear_issue_url":null,"zendesk_ticket_id":null,"zendesk_ticket_url":null,"motion_task_id":null,"motion_task_url":null,"clickup_task_id":null,"clickup_task_url":null,"airtable_base_key":null,"airtable_table_name":null,"airtable_record_id":null,"airtable_record_url":null,"freshservice_ticket_id":null,"freshservice_ticket_url":null,"freshservice_task_id":null,"freshservice_task_url":null,"url":"https://test.rootly.com/account/incidents/odit-vel-sequi-in#nav-action-items","short_url":null,"created_at":"2025-03-17T17:05:29.802-07:00","updated_at":"2025-03-17T17:05:32.939-07:00","summary":"shabby chic wolf locavore pickled twee poke. YOLO godard health goth pork belly cold-pressed swag"}}},"schema":{"$ref":"#/components/schemas/incident_action_item_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/action_items/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/action_items/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/action_items/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/action_items/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/action_items":{"get":{"summary":"List all action items for an organization","security":[{"bearer_auth":[]}],"tags":["IncidentActionItems"],"description":"List all action items for an organization","operationId":"listAllIncidentActionItems","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[kind]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[priority]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[status]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[incident_status]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[incident_created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[incident_created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[incident_created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[incident_created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[due_date][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[due_date][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[due_date][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[due_date][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/incident_action_item_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/action_items?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bpriority%5D=SOME_STRING_VALUE&filter%5Bstatus%5D=SOME_STRING_VALUE&filter%5Bincident_status%5D=SOME_STRING_VALUE&filter%5Bincident_created_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bincident_created_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bincident_created_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bincident_created_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bdue_date%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bdue_date%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bdue_date%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bdue_date%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/action_items?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bpriority%5D=SOME_STRING_VALUE&filter%5Bstatus%5D=SOME_STRING_VALUE&filter%5Bincident_status%5D=SOME_STRING_VALUE&filter%5Bincident_created_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bincident_created_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bincident_created_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bincident_created_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bdue_date%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bdue_date%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bdue_date%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bdue_date%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/action_items?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bpriority%5D=SOME_STRING_VALUE&filter%5Bstatus%5D=SOME_STRING_VALUE&filter%5Bincident_status%5D=SOME_STRING_VALUE&filter%5Bincident_created_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bincident_created_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bincident_created_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bincident_created_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bdue_date%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bdue_date%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bdue_date%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bdue_date%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/action_items?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bpriority%5D=SOME_STRING_VALUE&filter%5Bstatus%5D=SOME_STRING_VALUE&filter%5Bincident_status%5D=SOME_STRING_VALUE&filter%5Bincident_created_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bincident_created_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bincident_created_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bincident_created_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bdue_date%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bdue_date%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bdue_date%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bdue_date%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incidents/{incident_id}/custom_field_selections":{"parameters":[{"name":"incident_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"[DEPRECATED] Creates an incident custom field selection","security":[{"bearer_auth":[]}],"tags":["[DEPRECATED] IncidentCustomFieldSelections"],"description":"[DEPRECATED] Use form field endpoints instead. Creates a new incident custom field selection from provided data","deprecated":true,"operationId":"createIncidentCustomFieldSelection","parameters":[],"responses":{"201":{"description":"incident_custom_field_selection created","content":{"application/vnd.api+json":{"example":{"data":{"id":"2","type":"incident_custom_field_selections","attributes":{"custom_field_id":29,"incident_id":"ce5bc349-b358-4bf9-8029-76e33034a586","value":"Test custom field","selected_option_ids":[]}}},"schema":{"$ref":"#/components/schemas/incident_custom_field_selection_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"requires either value or at least one selected option, group, service, or user","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_incident_custom_field_selection"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/incidents/%7Bincident_id%7D/custom_field_selections \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/custom_field_selections\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bincident_id%7D/custom_field_selections\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/custom_field_selections\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"[DEPRECATED] List incident custom field selections","security":[{"bearer_auth":[]}],"tags":["[DEPRECATED] IncidentCustomFieldSelections"],"description":"[DEPRECATED] Use form field endpoints instead. List incident custom field selections","deprecated":true,"operationId":"listIncidentCustomFieldSelections","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/incident_custom_field_selection_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/incidents/%7Bincident_id%7D/custom_field_selections?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/custom_field_selections?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bincident_id%7D/custom_field_selections?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/custom_field_selections?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incident_custom_field_selections/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"[DEPRECATED] Retrieves an incident custom field selection","security":[{"bearer_auth":[]}],"tags":["[DEPRECATED] IncidentCustomFieldSelections"],"description":"[DEPRECATED] Use form field endpoints instead. Retrieves a specific incident custom field selection by id","deprecated":true,"operationId":"getIncidentCustomFieldSelection","responses":{"200":{"description":"incident_custom_field_selection found","content":{"application/vnd.api+json":{"example":{"data":{"id":"1","type":"incident_custom_field_selections","attributes":{"custom_field_id":28,"incident_id":"ce5bc349-b358-4bf9-8029-76e33034a586","value":"Officia excepturi et sit.","selected_option_ids":[]}}},"schema":{"$ref":"#/components/schemas/incident_custom_field_selection_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/incident_custom_field_selections/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_custom_field_selections/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_custom_field_selections/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_custom_field_selections/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"[DEPRECATED] Update an incident custom field selection","security":[{"bearer_auth":[]}],"tags":["[DEPRECATED] IncidentCustomFieldSelections"],"description":"[DEPRECATED] Use form field endpoints instead. Update a specific incident custom field selection by id","deprecated":true,"operationId":"updateIncidentCustomFieldSelection","parameters":[],"responses":{"200":{"description":"incident_custom_field_selection updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"1","type":"incident_custom_field_selections","attributes":{"custom_field_id":28,"incident_id":"ce5bc349-b358-4bf9-8029-76e33034a586","value":"Test update custom field","selected_option_ids":[]}}},"schema":{"$ref":"#/components/schemas/incident_custom_field_selection_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_incident_custom_field_selection"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/incident_custom_field_selections/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_custom_field_selections/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_custom_field_selections/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_custom_field_selections/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"[DEPRECATED] Delete an incident custom field selection","security":[{"bearer_auth":[]}],"tags":["[DEPRECATED] IncidentCustomFieldSelections"],"description":"[DEPRECATED] Use form field endpoints instead. Delete a specific incident custom field selection by id","deprecated":true,"operationId":"deleteIncidentCustomFieldSelection","responses":{"200":{"description":"incident_custom_field_selection deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"1","type":"incident_custom_field_selections","attributes":{"custom_field_id":28,"incident_id":"ce5bc349-b358-4bf9-8029-76e33034a586","value":"Officia excepturi et sit.","selected_option_ids":[]}}},"schema":{"$ref":"#/components/schemas/incident_custom_field_selection_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/incident_custom_field_selections/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_custom_field_selections/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_custom_field_selections/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_custom_field_selections/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/events/{incident_event_id}/functionalities":{"parameters":[{"name":"incident_event_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates an incident event functionality","security":[{"bearer_auth":[]}],"tags":["IncidentEventFunctionalities"],"description":"Creates a new event functionality from provided data","operationId":"createIncidentEventFunctionality","parameters":[],"responses":{"201":{"description":"incident_event_functionality created","content":{"application/vnd.api+json":{"example":{"data":{"id":"ac0be4a9-5e68-436c-ab9e-69590450a6c6","type":"incident_event_functionalities","attributes":{"incident_event_id":"1fe77d4f-46ac-4a6f-8377-a35162ad592e","functionality_id":"e241d2a6-825d-4bcc-a7c6-d931a6a9749d","status":"partial_outage"}}},"schema":{"$ref":"#/components/schemas/incident_event_functionality_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Functionality must exist","status":"422"},{"title":"Functionality can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_incident_event_functionality"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/events/%7Bincident_event_id%7D/functionalities \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/events/%7Bincident_event_id%7D/functionalities\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/events/%7Bincident_event_id%7D/functionalities\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/events/%7Bincident_event_id%7D/functionalities\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List incident event functionalities","security":[{"bearer_auth":[]}],"tags":["IncidentEventFunctionalities"],"description":"List incident event functionalities","operationId":"listIncidentEventFunctionalities","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/incident_event_functionality_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/events/%7Bincident_event_id%7D/functionalities?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/events/%7Bincident_event_id%7D/functionalities?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/events/%7Bincident_event_id%7D/functionalities?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/events/%7Bincident_event_id%7D/functionalities?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incident_event_functionalities/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an incident event functionality","security":[{"bearer_auth":[]}],"tags":["IncidentEventFunctionalities"],"description":"Retrieves a specific incident_event_functionality by id","operationId":"getIncidentEventFunctionalities","responses":{"200":{"description":"incident_event_functionality found","content":{"application/vnd.api+json":{"example":{"data":{"id":"7aca4948-4c0d-4839-9c4a-a342da6a9845","type":"incident_event_functionalities","attributes":{"incident_event_id":"1fe77d4f-46ac-4a6f-8377-a35162ad592e","functionality_id":"3bbeab93-5cc7-4a7b-aa43-9edc325e9e8a","status":"partial_outage"}}},"schema":{"$ref":"#/components/schemas/incident_event_functionality_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/incident_event_functionalities/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_event_functionalities/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_event_functionalities/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_event_functionalities/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an incident event","security":[{"bearer_auth":[]}],"tags":["IncidentEventFunctionalities"],"description":"Update a specific incident event functionality by id","operationId":"updateIncidentEventFunctionality","parameters":[],"responses":{"200":{"description":"incident_event_functionality updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"7aca4948-4c0d-4839-9c4a-a342da6a9845","type":"incident_event_functionalities","attributes":{"incident_event_id":"1fe77d4f-46ac-4a6f-8377-a35162ad592e","functionality_id":"3bbeab93-5cc7-4a7b-aa43-9edc325e9e8a","status":"major_outage"}}},"schema":{"$ref":"#/components/schemas/incident_event_functionality_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_incident_event_functionality"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/incident_event_functionalities/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_event_functionalities/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_event_functionalities/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_event_functionalities/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an incident event functionality","security":[{"bearer_auth":[]}],"tags":["IncidentEventFunctionalities"],"description":"Delete a specific incident event functionality by id","operationId":"deleteIncidentEventFunctionality","responses":{"200":{"description":"incident_event deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"7aca4948-4c0d-4839-9c4a-a342da6a9845","type":"incident_event_functionalities","attributes":{"incident_event_id":"1fe77d4f-46ac-4a6f-8377-a35162ad592e","functionality_id":"3bbeab93-5cc7-4a7b-aa43-9edc325e9e8a","status":"partial_outage"}}},"schema":{"$ref":"#/components/schemas/incident_event_functionality_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/incident_event_functionalities/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_event_functionalities/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_event_functionalities/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_event_functionalities/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/events/{incident_event_id}/services":{"parameters":[{"name":"incident_event_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates an incident event service","security":[{"bearer_auth":[]}],"tags":["IncidentEventServices"],"description":"Creates a new event service from provided data","operationId":"createIncidentEventService","parameters":[],"responses":{"201":{"description":"incident_event_service created","content":{"application/vnd.api+json":{"example":{"data":{"id":"569b0df5-415e-4bd8-953a-e533d36870be","type":"incident_event_services","attributes":{"incident_event_id":"a6f24b43-b6c6-4c2e-8a00-12ea559a00da","service_id":"6fe56ae1-eadc-4e98-ba16-95ae9de6b256","status":"partial_outage"}}},"schema":{"$ref":"#/components/schemas/incident_event_service_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Service must exist","status":"422"},{"title":"Service can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_incident_event_service"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/events/%7Bincident_event_id%7D/services \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/events/%7Bincident_event_id%7D/services\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/events/%7Bincident_event_id%7D/services\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/events/%7Bincident_event_id%7D/services\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List incident event services","security":[{"bearer_auth":[]}],"tags":["IncidentEventServices"],"description":"List incident event services","operationId":"listIncidentEventServices","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/incident_event_service_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/events/%7Bincident_event_id%7D/services?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/events/%7Bincident_event_id%7D/services?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/events/%7Bincident_event_id%7D/services?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/events/%7Bincident_event_id%7D/services?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incident_event_services/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an incident event service","security":[{"bearer_auth":[]}],"tags":["IncidentEventServices"],"description":"Retrieves a specific incident_event_service by id","operationId":"getIncidentEventServices","responses":{"200":{"description":"incident_event_service found","content":{"application/vnd.api+json":{"example":{"data":{"id":"500726b2-6e61-4ac8-955b-12ffb6e07ed2","type":"incident_event_services","attributes":{"incident_event_id":"a6f24b43-b6c6-4c2e-8a00-12ea559a00da","service_id":"f4524656-2b1b-487c-9b53-07ac9bb6b3c0","status":"partial_outage"}}},"schema":{"$ref":"#/components/schemas/incident_event_service_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/incident_event_services/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_event_services/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_event_services/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_event_services/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an incident event","security":[{"bearer_auth":[]}],"tags":["IncidentEventServices"],"description":"Update a specific incident event service by id","operationId":"updateIncidentEventService","parameters":[],"responses":{"200":{"description":"incident_event_service updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"500726b2-6e61-4ac8-955b-12ffb6e07ed2","type":"incident_event_services","attributes":{"incident_event_id":"a6f24b43-b6c6-4c2e-8a00-12ea559a00da","service_id":"f4524656-2b1b-487c-9b53-07ac9bb6b3c0","status":"major_outage"}}},"schema":{"$ref":"#/components/schemas/incident_event_service_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_incident_event_service"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/incident_event_services/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_event_services/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_event_services/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_event_services/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an incident event functionalitu","security":[{"bearer_auth":[]}],"tags":["IncidentEventServices"],"description":"Delete a specific incident event service by id","operationId":"deleteIncidentEventService","responses":{"200":{"description":"incident_event deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"500726b2-6e61-4ac8-955b-12ffb6e07ed2","type":"incident_event_services","attributes":{"incident_event_id":"a6f24b43-b6c6-4c2e-8a00-12ea559a00da","service_id":"f4524656-2b1b-487c-9b53-07ac9bb6b3c0","status":"partial_outage"}}},"schema":{"$ref":"#/components/schemas/incident_event_service_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/incident_event_services/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_event_services/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_event_services/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_event_services/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incidents/{incident_id}/events":{"parameters":[{"name":"incident_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates an incident event","security":[{"bearer_auth":[]}],"tags":["IncidentEvents"],"description":"Creates a new event from provided data","operationId":"createIncidentEvent","parameters":[],"responses":{"201":{"description":"incident_event created","content":{"application/vnd.api+json":{"example":{"data":{"id":"f2c20b29-c2e5-4cc3-9637-c0e6985c0792","type":"incident_events","attributes":{"event":"New Event","event_raw":"New Event","kind":"event","source":"web","visibility":"external","user_display_name":"Rootly","occurred_at":"2025-03-17T17:05:51.481-07:00","starred_at":null,"created_at":"2025-03-17T17:05:51.481-07:00","updated_at":"2025-03-17T17:05:51.481-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_event_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Event can't be blank","status":"422"},{"title":"Event raw can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_incident_event"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/incidents/%7Bincident_id%7D/events \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/events\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bincident_id%7D/events\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/events\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List incident events","security":[{"bearer_auth":[]}],"tags":["IncidentEvents"],"description":"List incident events","operationId":"listIncidentEvents","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/incident_event_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/incidents/%7Bincident_id%7D/events?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/events?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bincident_id%7D/events?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/events?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/events/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an incident event","security":[{"bearer_auth":[]}],"tags":["IncidentEvents"],"description":"Retrieves a specific incident_event by id","operationId":"getIncidentEvents","responses":{"200":{"description":"incident_event found","content":{"application/vnd.api+json":{"example":{"data":{"id":"d342f41a-0ec8-4713-a1fe-0ed1375c4922","type":"incident_events","attributes":{"event":"Nulla vero libero distinctio.","event_raw":"Nulla vero libero distinctio.","kind":"event","source":"web","visibility":"internal","user_display_name":"Clair Cassin","occurred_at":"2025-03-17T17:05:50.765-07:00","starred_at":null,"created_at":"2025-03-17T17:05:50.765-07:00","updated_at":"2025-03-17T17:05:50.765-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_event_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/events/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/events/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/events/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/events/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an incident event","security":[{"bearer_auth":[]}],"tags":["IncidentEvents"],"description":"Update a specific incident event by id","operationId":"updateIncidentEvent","parameters":[],"responses":{"200":{"description":"incident_event updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"d342f41a-0ec8-4713-a1fe-0ed1375c4922","type":"incident_events","attributes":{"event":"Event updated","event_raw":"Event updated","kind":"event","source":"web","visibility":"internal","user_display_name":"Clair Cassin","occurred_at":"2025-03-17T17:05:50.765-07:00","starred_at":null,"created_at":"2025-03-17T17:05:50.765-07:00","updated_at":"2025-03-17T17:05:53.057-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_event_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_incident_event"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/events/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/events/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/events/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/events/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an incident event","security":[{"bearer_auth":[]}],"tags":["IncidentEvents"],"description":"Delete a specific incident event by id","operationId":"deleteIncidentEvent","responses":{"200":{"description":"incident_event deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"d342f41a-0ec8-4713-a1fe-0ed1375c4922","type":"incident_events","attributes":{"event":"Nulla vero libero distinctio.","event_raw":"Nulla vero libero distinctio.","kind":"event","source":"web","visibility":"internal","user_display_name":"Clair Cassin","occurred_at":"2025-03-17T17:05:50.765-07:00","starred_at":null,"created_at":"2025-03-17T17:05:50.765-07:00","updated_at":"2025-03-17T17:05:53.625-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_event_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/events/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/events/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/events/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/events/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incidents/{incident_id}/feedbacks":{"parameters":[{"name":"incident_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates an incident feedback","security":[{"bearer_auth":[]}],"tags":["IncidentFeedbacks"],"description":"Creates a new feedback from provided data","operationId":"createIncidentFeedback","parameters":[],"responses":{"201":{"description":"incident_feedback created","content":{"application/vnd.api+json":{"example":{"data":{"id":"5c88f082-373a-4199-85ca-180fc49e0ec9","type":"incident_feedbacks","attributes":{"rating":4,"rating_humanized":"Very satisfied","feedback":"New Feedback","anonymous":true,"updated_at":"2025-03-17T17:05:57.585-07:00","created_at":"2025-03-17T17:05:57.585-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_feedback_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Feedback can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_incident_feedback"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/incidents/%7Bincident_id%7D/feedbacks \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/feedbacks\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bincident_id%7D/feedbacks\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/feedbacks\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List incident feedbacks","security":[{"bearer_auth":[]}],"tags":["IncidentFeedbacks"],"description":"List incident feedbacks","operationId":"listIncidentFeedbacks","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/incident_feedback_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/incidents/%7Bincident_id%7D/feedbacks?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/feedbacks?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bincident_id%7D/feedbacks?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/feedbacks?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/feedbacks/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an incident feedback","security":[{"bearer_auth":[]}],"tags":["IncidentFeedbacks"],"description":"Retrieves a specific incident_feedback by id","operationId":"getIncidentFeedbacks","responses":{"200":{"description":"incident_feedback found","content":{"application/vnd.api+json":{"example":{"data":{"id":"63282e03-bdd7-4ede-9db3-eed5bc77d8c3","type":"incident_feedbacks","attributes":{"rating":4,"rating_humanized":"Very satisfied","feedback":"Molestiae reprehenderit qui eos.","anonymous":false,"updated_at":"2025-03-17T17:05:56.911-07:00","created_at":"2025-03-17T17:05:56.911-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_feedback_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/feedbacks/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/feedbacks/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/feedbacks/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/feedbacks/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an incident feedback","security":[{"bearer_auth":[]}],"tags":["IncidentFeedbacks"],"description":"Update a specific incident feedback by id","operationId":"updateIncidentFeedback","parameters":[],"responses":{"200":{"description":"incident_feedback updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"63282e03-bdd7-4ede-9db3-eed5bc77d8c3","type":"incident_feedbacks","attributes":{"rating":3,"rating_humanized":"Somewhat satisfied","feedback":"Feedback updated","anonymous":false,"updated_at":"2025-03-17T17:05:59.027-07:00","created_at":"2025-03-17T17:05:56.911-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_feedback_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_incident_feedback"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/feedbacks/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/feedbacks/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/feedbacks/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/feedbacks/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incidents/{incident_id}/form_field_selections":{"parameters":[{"name":"incident_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates an incident form field selection","security":[{"bearer_auth":[]}],"tags":["IncidentFormFieldSelections"],"description":"Creates a new incident form field selection from provided data","operationId":"createIncidentFormFieldSelection","parameters":[],"responses":{"201":{"description":"incident_form_field_selection created","content":{"application/vnd.api+json":{"example":{"data":{"id":"9aaf1fdc-fa8f-45af-a3cc-b0aa646bfa5a","type":"incident_form_field_selections","attributes":{"incident_id":"b8d11dfa-5562-45c3-89e7-222eccb9b7ca","custom_field_id":32,"form_field_id":"cd44412a-daf8-470e-9bcd-230e334d7dc6","form_field":{"id":"cd44412a-daf8-470e-9bcd-230e334d7dc6","team_id":198,"slug":"veritatis-excepturi-magni-nihil","kind":"custom","input_kind":"text","value_kind":"inherit","value_kind_catalog_id":null,"name":"Veritatis excepturi magni nihil.","description":"Rerum consequatur ab quae.","shown":["web_new_incident_form","web_update_incident_form","slack_new_incident_form","slack_update_incident_form"],"required":[],"default_values":[],"show_on_incident_details":true,"enabled":true,"updated_at":"2025-03-17T17:06:00.978-07:00","created_at":"2025-03-17T17:06:00.978-07:00","options":[{"id":"38c8e071-1d78-4a85-a4e1-902cac8c1800","form_field_id":"cd44412a-daf8-470e-9bcd-230e334d7dc6","value":"Non dolor nihil veniam.","color":"#FBE4A0","default":false,"position":1,"updated_at":"2025-03-17T17:06:01.042-07:00","created_at":"2025-03-17T17:06:01.042-07:00"},{"id":"2c9b40a1-d8dd-4b51-81dc-1fef14dd4cf2","form_field_id":"cd44412a-daf8-470e-9bcd-230e334d7dc6","value":"Sed similique nostrum eos.","color":"#FBE4A0","default":false,"position":2,"updated_at":"2025-03-17T17:06:01.045-07:00","created_at":"2025-03-17T17:06:01.045-07:00"}],"positions":[{"id":"26354086-3c62-4ef8-8f93-c0bba2e5b02c","form_field_id":"cd44412a-daf8-470e-9bcd-230e334d7dc6","form":"slack_new_incident_form","position":2},{"id":"1ca3e748-327a-4252-b773-b05949f2b365","form_field_id":"cd44412a-daf8-470e-9bcd-230e334d7dc6","form":"web_update_incident_form","position":2},{"id":"03e51f31-3d73-4f01-b858-8f06e20404fb","form_field_id":"cd44412a-daf8-470e-9bcd-230e334d7dc6","form":"slack_update_incident_form","position":2},{"id":"69be60a9-e201-4ed2-95f9-4d99fd79fae9","form_field_id":"cd44412a-daf8-470e-9bcd-230e334d7dc6","form":"web_new_incident_form","position":2}]},"value":"Test custom field","selected_group_ids":[],"selected_groups":{"id":null,"value":"Test custom field"},"selected_option_ids":[],"selected_options":{"id":null,"value":"Test custom field"},"selected_service_ids":[],"selected_services":{"id":null,"value":"Test custom field"},"selected_functionality_ids":[],"selected_functionalities":{"id":null,"value":"Test custom field"},"selected_catalog_entity_ids":[],"selected_catalog_entities":{"id":null,"value":"Test custom field"},"selected_user_ids":[],"selected_users":{"id":null,"value":"Test custom field"}}}},"schema":{"$ref":"#/components/schemas/incident_form_field_selection_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Form field must exist","status":"422"},{"title":"requires either value or at least one selected option, group, service, or user","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_incident_form_field_selection"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/incidents/%7Bincident_id%7D/form_field_selections \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/form_field_selections\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bincident_id%7D/form_field_selections\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/form_field_selections\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List incident form field selections","security":[{"bearer_auth":[]}],"tags":["IncidentFormFieldSelections"],"description":"List incident form field selections","operationId":"listIncidentFormFieldSelections","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/incident_form_field_selection_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/incidents/%7Bincident_id%7D/form_field_selections?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/form_field_selections?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bincident_id%7D/form_field_selections?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/form_field_selections?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incident_form_field_selections/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an incident form field selection","security":[{"bearer_auth":[]}],"tags":["IncidentFormFieldSelections"],"description":"Retrieves a specific incident form field selection by id","operationId":"getIncidentFormFieldSelection","responses":{"200":{"description":"incident_form_field_selection found","content":{"application/vnd.api+json":{"example":{"data":{"id":"6722953e-b192-4ac7-a022-322df8eb6d64","type":"incident_form_field_selections","attributes":{"incident_id":"b8d11dfa-5562-45c3-89e7-222eccb9b7ca","custom_field_id":31,"form_field_id":"14591972-6d0c-41a2-bab2-c568efcf0b92","form_field":{"id":"14591972-6d0c-41a2-bab2-c568efcf0b92","team_id":198,"slug":"totam-sapiente-dicta-in","kind":"custom","input_kind":"text","value_kind":"inherit","value_kind_catalog_id":null,"name":"Totam sapiente dicta in.","description":"Perspiciatis eaque magni et.","shown":["web_new_incident_form","web_update_incident_form","slack_new_incident_form","slack_update_incident_form"],"required":[],"default_values":[],"show_on_incident_details":true,"enabled":true,"updated_at":"2025-03-17T17:06:00.909-07:00","created_at":"2025-03-17T17:06:00.909-07:00","options":[{"id":"8db936fa-b938-4b99-8aea-6ecf9fa33b96","form_field_id":"14591972-6d0c-41a2-bab2-c568efcf0b92","value":"Quo ut voluptates tempora.","color":"#FBE4A0","default":false,"position":1,"updated_at":"2025-03-17T17:06:00.969-07:00","created_at":"2025-03-17T17:06:00.968-07:00"},{"id":"5405c2d3-c3c6-4ec4-9d57-b5b6b84fd4f7","form_field_id":"14591972-6d0c-41a2-bab2-c568efcf0b92","value":"Magni aperiam optio vel.","color":"#FBE4A0","default":false,"position":2,"updated_at":"2025-03-17T17:06:00.972-07:00","created_at":"2025-03-17T17:06:00.972-07:00"}],"positions":[{"id":"56df66a4-d856-4fc1-ba9a-232a66820b46","form_field_id":"14591972-6d0c-41a2-bab2-c568efcf0b92","form":"slack_new_incident_form","position":1},{"id":"a0e3f771-4993-4973-9536-2b7530b9f452","form_field_id":"14591972-6d0c-41a2-bab2-c568efcf0b92","form":"web_update_incident_form","position":1},{"id":"6f9f874d-156d-4932-a091-a70b2931c9e4","form_field_id":"14591972-6d0c-41a2-bab2-c568efcf0b92","form":"slack_update_incident_form","position":1},{"id":"eecdfa62-e7ec-4d7a-aece-ad0f2be6c512","form_field_id":"14591972-6d0c-41a2-bab2-c568efcf0b92","form":"web_new_incident_form","position":1}]},"value":"Reiciendis commodi debitis consectetur.","selected_group_ids":[],"selected_groups":{"id":null,"value":"Reiciendis commodi debitis consectetur."},"selected_option_ids":[],"selected_options":{"id":null,"value":"Reiciendis commodi debitis consectetur."},"selected_service_ids":[],"selected_services":{"id":null,"value":"Reiciendis commodi debitis consectetur."},"selected_functionality_ids":[],"selected_functionalities":{"id":null,"value":"Reiciendis commodi debitis consectetur."},"selected_catalog_entity_ids":[],"selected_catalog_entities":{"id":null,"value":"Reiciendis commodi debitis consectetur."},"selected_user_ids":[],"selected_users":{"id":null,"value":"Reiciendis commodi debitis consectetur."}}}},"schema":{"$ref":"#/components/schemas/incident_form_field_selection_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/incident_form_field_selections/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_form_field_selections/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_form_field_selections/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_form_field_selections/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an incident form field selection","security":[{"bearer_auth":[]}],"tags":["IncidentFormFieldSelections"],"description":"Update a specific incident form field selection by id","operationId":"updateIncidentFormFieldSelection","parameters":[],"responses":{"200":{"description":"incident_form_field_selection updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"6722953e-b192-4ac7-a022-322df8eb6d64","type":"incident_form_field_selections","attributes":{"incident_id":"b8d11dfa-5562-45c3-89e7-222eccb9b7ca","custom_field_id":31,"form_field_id":"14591972-6d0c-41a2-bab2-c568efcf0b92","form_field":{"id":"14591972-6d0c-41a2-bab2-c568efcf0b92","team_id":198,"slug":"totam-sapiente-dicta-in","kind":"custom","input_kind":"text","value_kind":"inherit","value_kind_catalog_id":null,"name":"Totam sapiente dicta in.","description":"Perspiciatis eaque magni et.","shown":["web_new_incident_form","web_update_incident_form","slack_new_incident_form","slack_update_incident_form"],"required":[],"default_values":[],"show_on_incident_details":true,"enabled":true,"updated_at":"2025-03-17T17:06:00.909-07:00","created_at":"2025-03-17T17:06:00.909-07:00","options":[{"id":"8db936fa-b938-4b99-8aea-6ecf9fa33b96","form_field_id":"14591972-6d0c-41a2-bab2-c568efcf0b92","value":"Quo ut voluptates tempora.","color":"#FBE4A0","default":false,"position":1,"updated_at":"2025-03-17T17:06:00.969-07:00","created_at":"2025-03-17T17:06:00.968-07:00"},{"id":"5405c2d3-c3c6-4ec4-9d57-b5b6b84fd4f7","form_field_id":"14591972-6d0c-41a2-bab2-c568efcf0b92","value":"Magni aperiam optio vel.","color":"#FBE4A0","default":false,"position":2,"updated_at":"2025-03-17T17:06:00.972-07:00","created_at":"2025-03-17T17:06:00.972-07:00"}],"positions":[{"id":"56df66a4-d856-4fc1-ba9a-232a66820b46","form_field_id":"14591972-6d0c-41a2-bab2-c568efcf0b92","form":"slack_new_incident_form","position":1},{"id":"a0e3f771-4993-4973-9536-2b7530b9f452","form_field_id":"14591972-6d0c-41a2-bab2-c568efcf0b92","form":"web_update_incident_form","position":1},{"id":"6f9f874d-156d-4932-a091-a70b2931c9e4","form_field_id":"14591972-6d0c-41a2-bab2-c568efcf0b92","form":"slack_update_incident_form","position":1},{"id":"eecdfa62-e7ec-4d7a-aece-ad0f2be6c512","form_field_id":"14591972-6d0c-41a2-bab2-c568efcf0b92","form":"web_new_incident_form","position":1}]},"value":"Test update custom field","selected_group_ids":[],"selected_groups":{"id":null,"value":"Test update custom field"},"selected_option_ids":[],"selected_options":{"id":null,"value":"Test update custom field"},"selected_service_ids":[],"selected_services":{"id":null,"value":"Test update custom field"},"selected_functionality_ids":[],"selected_functionalities":{"id":null,"value":"Test update custom field"},"selected_catalog_entity_ids":[],"selected_catalog_entities":{"id":null,"value":"Test update custom field"},"selected_user_ids":[],"selected_users":{"id":null,"value":"Test update custom field"}}}},"schema":{"$ref":"#/components/schemas/incident_form_field_selection_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_incident_form_field_selection"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/incident_form_field_selections/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_form_field_selections/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_form_field_selections/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_form_field_selections/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an incident form field selection","security":[{"bearer_auth":[]}],"tags":["IncidentFormFieldSelections"],"description":"Delete a specific incident form field selection by id","operationId":"deleteIncidentFormFieldSelection","responses":{"200":{"description":"incident_form_field_selection deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"6722953e-b192-4ac7-a022-322df8eb6d64","type":"incident_form_field_selections","attributes":{"incident_id":"b8d11dfa-5562-45c3-89e7-222eccb9b7ca","custom_field_id":31,"form_field_id":"14591972-6d0c-41a2-bab2-c568efcf0b92","form_field":{"id":"14591972-6d0c-41a2-bab2-c568efcf0b92","team_id":198,"slug":"totam-sapiente-dicta-in","kind":"custom","input_kind":"text","value_kind":"inherit","value_kind_catalog_id":null,"name":"Totam sapiente dicta in.","description":"Perspiciatis eaque magni et.","shown":["web_new_incident_form","web_update_incident_form","slack_new_incident_form","slack_update_incident_form"],"required":[],"default_values":[],"show_on_incident_details":true,"enabled":true,"updated_at":"2025-03-17T17:06:00.909-07:00","created_at":"2025-03-17T17:06:00.909-07:00","options":[{"id":"8db936fa-b938-4b99-8aea-6ecf9fa33b96","form_field_id":"14591972-6d0c-41a2-bab2-c568efcf0b92","value":"Quo ut voluptates tempora.","color":"#FBE4A0","default":false,"position":1,"updated_at":"2025-03-17T17:06:00.969-07:00","created_at":"2025-03-17T17:06:00.968-07:00"},{"id":"5405c2d3-c3c6-4ec4-9d57-b5b6b84fd4f7","form_field_id":"14591972-6d0c-41a2-bab2-c568efcf0b92","value":"Magni aperiam optio vel.","color":"#FBE4A0","default":false,"position":2,"updated_at":"2025-03-17T17:06:00.972-07:00","created_at":"2025-03-17T17:06:00.972-07:00"}],"positions":[{"id":"56df66a4-d856-4fc1-ba9a-232a66820b46","form_field_id":"14591972-6d0c-41a2-bab2-c568efcf0b92","form":"slack_new_incident_form","position":1},{"id":"a0e3f771-4993-4973-9536-2b7530b9f452","form_field_id":"14591972-6d0c-41a2-bab2-c568efcf0b92","form":"web_update_incident_form","position":1},{"id":"6f9f874d-156d-4932-a091-a70b2931c9e4","form_field_id":"14591972-6d0c-41a2-bab2-c568efcf0b92","form":"slack_update_incident_form","position":1},{"id":"eecdfa62-e7ec-4d7a-aece-ad0f2be6c512","form_field_id":"14591972-6d0c-41a2-bab2-c568efcf0b92","form":"web_new_incident_form","position":1}]},"value":"Reiciendis commodi debitis consectetur.","selected_group_ids":[],"selected_groups":{"id":null,"value":"Reiciendis commodi debitis consectetur."},"selected_option_ids":[],"selected_options":{"id":null,"value":"Reiciendis commodi debitis consectetur."},"selected_service_ids":[],"selected_services":{"id":null,"value":"Reiciendis commodi debitis consectetur."},"selected_functionality_ids":[],"selected_functionalities":{"id":null,"value":"Reiciendis commodi debitis consectetur."},"selected_catalog_entity_ids":[],"selected_catalog_entities":{"id":null,"value":"Reiciendis commodi debitis consectetur."},"selected_user_ids":[],"selected_users":{"id":null,"value":"Reiciendis commodi debitis consectetur."}}}},"schema":{"$ref":"#/components/schemas/incident_form_field_selection_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/incident_form_field_selections/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_form_field_selections/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_form_field_selections/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_form_field_selections/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incident_permission_sets/{incident_permission_set_id}/booleans":{"parameters":[{"name":"incident_permission_set_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates an incident_permission_set_boolean","security":[{"bearer_auth":[]}],"tags":["IncidentPermissionSetBooleans"],"description":"Creates a new incident_permission_set_boolean from provided data","operationId":"createIncidentPermissionSetBoolean","parameters":[],"responses":{"201":{"description":"incident_permission_set_boolean created","content":{"application/vnd.api+json":{"example":{"data":{"id":"4ef775d9-f349-4c4e-abd5-ca3dfe78d869","type":"incident_permission_set_booleans","attributes":{"incident_permission_set_id":"6794e30e-30c4-4c86-9df4-8f799e7e5d51","kind":"update_summary","private":false,"enabled":false,"updated_at":"2025-03-17T17:06:05.599-07:00","created_at":"2025-03-17T17:06:05.599-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_permission_set_boolean_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Kind can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_incident_permission_set_boolean"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/incident_permission_sets/%7Bincident_permission_set_id%7D/booleans \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_permission_sets/%7Bincident_permission_set_id%7D/booleans\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_permission_sets/%7Bincident_permission_set_id%7D/booleans\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_permission_sets/%7Bincident_permission_set_id%7D/booleans\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List incident_permission_set_booleans","security":[{"bearer_auth":[]}],"tags":["IncidentPermissionSetBooleans"],"description":"List incident_permission_set_booleans","operationId":"listIncidentPermissionSetBooleans","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[kind]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/incident_permission_set_boolean_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/incident_permission_sets/%7Bincident_permission_set_id%7D/booleans?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_permission_sets/%7Bincident_permission_set_id%7D/booleans?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_permission_sets/%7Bincident_permission_set_id%7D/booleans?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_permission_sets/%7Bincident_permission_set_id%7D/booleans?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incident_permission_set_booleans/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an incident_permission_set_boolean","security":[{"bearer_auth":[]}],"tags":["IncidentPermissionSetBooleans"],"description":"Retrieves a specific incident_permission_set_boolean by id","operationId":"getIncidentPermissionSetBoolean","responses":{"200":{"description":"incident_permission_set_boolean found","content":{"application/vnd.api+json":{"example":{"data":{"id":"c6a0f940-dd6c-4d3f-9e0a-6ecfa1eef48d","type":"incident_permission_set_booleans","attributes":{"incident_permission_set_id":"fba6856b-f976-45a0-8508-208fb8bd9480","kind":"update_summary","private":false,"enabled":false,"updated_at":"2025-03-17T17:06:09.027-07:00","created_at":"2025-03-17T17:06:09.027-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_permission_set_boolean_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/incident_permission_set_booleans/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_permission_set_booleans/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_permission_set_booleans/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_permission_set_booleans/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an incident_permission_set_boolean","security":[{"bearer_auth":[]}],"tags":["IncidentPermissionSetBooleans"],"description":"Update a specific incident_permission_set_boolean by id","operationId":"updateIncidentPermissionSetBoolean","parameters":[],"responses":{"200":{"description":"incident_permission_set_boolean updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"4bf402c6-0255-46c6-a6d6-e537998f9b26","type":"incident_permission_set_booleans","attributes":{"incident_permission_set_id":"c2754ed2-bf1d-4d3a-9e6f-b8f4d082615f","kind":"update_timeline","private":false,"enabled":false,"updated_at":"2025-03-17T17:06:11.885-07:00","created_at":"2025-03-17T17:06:11.716-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_permission_set_boolean_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_incident_permission_set_boolean"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/incident_permission_set_booleans/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_permission_set_booleans/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_permission_set_booleans/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_permission_set_booleans/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an incident_permission_set_boolean","security":[{"bearer_auth":[]}],"tags":["IncidentPermissionSetBooleans"],"description":"Delete a specific incident_permission_set_boolean by id","operationId":"deleteIncidentPermissionSetBoolean","responses":{"200":{"description":"incident_permission_set_boolean deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"22aa0ab1-e9ab-4f1a-aade-fbcbf2b1c6c7","type":"incident_permission_set_booleans","attributes":{"incident_permission_set_id":"819ce928-c268-466a-8f50-1e323631229d","kind":"update_summary","private":false,"enabled":false,"updated_at":"2025-03-17T17:06:14.372-07:00","created_at":"2025-03-17T17:06:14.372-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_permission_set_boolean_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/incident_permission_set_booleans/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_permission_set_booleans/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_permission_set_booleans/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_permission_set_booleans/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incident_permission_sets/{incident_permission_set_id}/resources":{"parameters":[{"name":"incident_permission_set_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates an incident_permission_set_resource","security":[{"bearer_auth":[]}],"tags":["IncidentPermissionSetResources"],"description":"Creates a new incident_permission_set_resource from provided data","operationId":"createIncidentPermissionSetResource","parameters":[],"responses":{"201":{"description":"incident_permission_set_resource created","content":{"application/vnd.api+json":{"example":{"data":{"id":"eddd5ad7-0505-4687-b166-f5a4526fc8e9","type":"incident_permission_set_resources","attributes":{"incident_permission_set_id":"95274261-e35c-4113-9d93-202dbc459264","kind":"incident_types","private":false,"resource_id":"fcebb97a-3cab-40e3-b49e-c2d61760fd83","resource_type":"IncidentType","updated_at":"2025-03-17T17:06:18.084-07:00","created_at":"2025-03-17T17:06:18.084-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_permission_set_resource_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Resource must exist","status":"422"},{"title":"Kind can't be blank","status":"422"},{"title":"Kind is not included in the list","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_incident_permission_set_resource"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/incident_permission_sets/%7Bincident_permission_set_id%7D/resources \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_permission_sets/%7Bincident_permission_set_id%7D/resources\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_permission_sets/%7Bincident_permission_set_id%7D/resources\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_permission_sets/%7Bincident_permission_set_id%7D/resources\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List incident_permission_set_resources","security":[{"bearer_auth":[]}],"tags":["IncidentPermissionSetResources"],"description":"List incident_permission_set_resources","operationId":"listIncidentPermissionSetResources","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[kind]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/incident_permission_set_resource_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/incident_permission_sets/%7Bincident_permission_set_id%7D/resources?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_permission_sets/%7Bincident_permission_set_id%7D/resources?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_permission_sets/%7Bincident_permission_set_id%7D/resources?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_permission_sets/%7Bincident_permission_set_id%7D/resources?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incident_permission_set_resources/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an incident_permission_set_resource","security":[{"bearer_auth":[]}],"tags":["IncidentPermissionSetResources"],"description":"Retrieves a specific incident_permission_set_resource by id","operationId":"getIncidentPermissionSetResource","responses":{"200":{"description":"incident_permission_set_resource found","content":{"application/vnd.api+json":{"example":{"data":{"id":"fa77d07c-b0e0-48ed-bd3d-0cf9d5b0f1f8","type":"incident_permission_set_resources","attributes":{"incident_permission_set_id":"52f76f50-2172-40d0-8c28-492bc76113ea","kind":"incident_types","private":false,"resource_id":"f87dd15f-2dd2-4eed-847a-4b59c9215a40","resource_type":"IncidentType","updated_at":"2025-03-17T17:06:20.878-07:00","created_at":"2025-03-17T17:06:20.878-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_permission_set_resource_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/incident_permission_set_resources/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_permission_set_resources/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_permission_set_resources/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_permission_set_resources/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an incident_permission_set_resource","security":[{"bearer_auth":[]}],"tags":["IncidentPermissionSetResources"],"description":"Update a specific incident_permission_set_resource by id","operationId":"updateIncidentPermissionSetResource","parameters":[],"responses":{"200":{"description":"incident_permission_set_resource updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"5d9be628-6120-49a5-90b8-ee335f68e1c7","type":"incident_permission_set_resources","attributes":{"incident_permission_set_id":"273bb9fe-9771-4a7e-9146-5f12e363509a","kind":"statuses","private":false,"resource_id":"8d99ff2c-5971-478d-8d72-85fe808d00bb","resource_type":"IncidentType","updated_at":"2025-03-17T17:06:24.372-07:00","created_at":"2025-03-17T17:06:24.206-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_permission_set_resource_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_incident_permission_set_resource"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/incident_permission_set_resources/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_permission_set_resources/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_permission_set_resources/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_permission_set_resources/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an incident_permission_set_resource","security":[{"bearer_auth":[]}],"tags":["IncidentPermissionSetResources"],"description":"Delete a specific incident_permission_set_resource by id","operationId":"deleteIncidentPermissionSetResource","responses":{"200":{"description":"incident_permission_set_resource deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"3fba8720-4344-4fdd-8fb9-95c5c285e95a","type":"incident_permission_set_resources","attributes":{"incident_permission_set_id":"3d70f436-3960-456b-9d72-7715f8d050d6","kind":"incident_types","private":false,"resource_id":"c588b3ff-f42e-4f37-950b-5f70c2fed5db","resource_type":"IncidentType","updated_at":"2025-03-17T17:06:26.900-07:00","created_at":"2025-03-17T17:06:26.900-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_permission_set_resource_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/incident_permission_set_resources/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_permission_set_resources/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_permission_set_resources/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_permission_set_resources/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incident_permission_sets":{"post":{"summary":"Creates an incident_permission_set","security":[{"bearer_auth":[]}],"tags":["IncidentPermissionSets"],"description":"Creates a new incident_permission_set from provided data","operationId":"createIncidentPermissionSet","parameters":[],"responses":{"201":{"description":"incident_permission_set created","content":{"application/vnd.api+json":{"example":{"data":{"id":"b47d165d-f021-4cf9-abb7-bf131b223b6e","type":"incident_permission_sets","attributes":{"team_id":238,"name":"Infrastructure","slug":"infrastructure","description":null,"private_incident_permissions":["read"],"public_incident_permissions":["read"],"updated_at":"2025-03-17T17:06:31.747-07:00","created_at":"2025-03-17T17:06:31.747-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_permission_set_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_incident_permission_set"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/incident_permission_sets \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_permission_sets\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_permission_sets\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_permission_sets\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List incident_permission_sets","security":[{"bearer_auth":[]}],"tags":["IncidentPermissionSets"],"description":"List incident_permission_sets","operationId":"listIncidentPermissionSets","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/incident_permission_set_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/incident_permission_sets?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_permission_sets?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_permission_sets?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_permission_sets?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incident_permission_sets/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an incident_permission_set","security":[{"bearer_auth":[]}],"tags":["IncidentPermissionSets"],"description":"Retrieves a specific incident_permission_set by id","operationId":"getIncidentPermissionSet","responses":{"200":{"description":"incident_permission_set found","content":{"application/vnd.api+json":{"example":{"data":{"id":"27c39fdb-b758-422a-be04-63a7e07a8533","type":"incident_permission_sets","attributes":{"team_id":241,"name":"Praesentium ut animi in.","slug":"praesentium-ut-animi-in","description":"Nam pariatur repellendus sit.","private_incident_permissions":["read"],"public_incident_permissions":["read"],"updated_at":"2025-03-17T17:06:33.838-07:00","created_at":"2025-03-17T17:06:33.838-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_permission_set_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/incident_permission_sets/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_permission_sets/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_permission_sets/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_permission_sets/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an incident_permission_set","security":[{"bearer_auth":[]}],"tags":["IncidentPermissionSets"],"description":"Update a specific incident_permission_set by id","operationId":"updateIncidentPermissionSet","parameters":[],"responses":{"200":{"description":"incident_permission_set updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"829cb954-613f-4680-83c8-a36f7e2da07b","type":"incident_permission_sets","attributes":{"team_id":245,"name":"Security","slug":"voluptas-ad-nulla-sit","description":"Est id reiciendis accusamus.","private_incident_permissions":["read"],"public_incident_permissions":["read"],"updated_at":"2025-03-17T17:06:37.425-07:00","created_at":"2025-03-17T17:06:37.187-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_permission_set_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_incident_permission_set"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/incident_permission_sets/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_permission_sets/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_permission_sets/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_permission_sets/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an incident_permission_set","security":[{"bearer_auth":[]}],"tags":["IncidentPermissionSets"],"description":"Delete a specific incident_permission_set by id","operationId":"deleteIncidentPermissionSet","responses":{"200":{"description":"incident_permission_set deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"7d4f7760-7a28-4b64-b52e-c97608222196","type":"incident_permission_sets","attributes":{"team_id":249,"name":"Id qui et maiores.","slug":"id-qui-et-maiores","description":"Delectus ut tempora omnis.","private_incident_permissions":["read"],"public_incident_permissions":["read"],"updated_at":"2025-03-17T17:06:40.278-07:00","created_at":"2025-03-17T17:06:39.976-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_permission_set_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/incident_permission_sets/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_permission_sets/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_permission_sets/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_permission_sets/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/post_mortems":{"get":{"summary":"List incident retrospectives","security":[{"bearer_auth":[]}],"tags":["IncidentRetrospectives"],"description":"List incident retrospectives","operationId":"listIncidentPostMortems","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[status]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[severity]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[type]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[user_id]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[environments]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[functionalities]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[services]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[teams]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[started_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[started_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[started_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[started_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[mitigated_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[mitigated_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[mitigated_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[mitigated_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[resolved_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[resolved_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[resolved_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[resolved_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/incident_post_mortem_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/post_mortems?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bstatus%5D=SOME_STRING_VALUE&filter%5Bseverity%5D=SOME_STRING_VALUE&filter%5Btype%5D=SOME_STRING_VALUE&filter%5Buser_id%5D=SOME_INTEGER_VALUE&filter%5Benvironments%5D=SOME_STRING_VALUE&filter%5Bfunctionalities%5D=SOME_STRING_VALUE&filter%5Bservices%5D=SOME_STRING_VALUE&filter%5Bteams%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/post_mortems?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bstatus%5D=SOME_STRING_VALUE&filter%5Bseverity%5D=SOME_STRING_VALUE&filter%5Btype%5D=SOME_STRING_VALUE&filter%5Buser_id%5D=SOME_INTEGER_VALUE&filter%5Benvironments%5D=SOME_STRING_VALUE&filter%5Bfunctionalities%5D=SOME_STRING_VALUE&filter%5Bservices%5D=SOME_STRING_VALUE&filter%5Bteams%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/post_mortems?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bstatus%5D=SOME_STRING_VALUE&filter%5Bseverity%5D=SOME_STRING_VALUE&filter%5Btype%5D=SOME_STRING_VALUE&filter%5Buser_id%5D=SOME_INTEGER_VALUE&filter%5Benvironments%5D=SOME_STRING_VALUE&filter%5Bfunctionalities%5D=SOME_STRING_VALUE&filter%5Bservices%5D=SOME_STRING_VALUE&filter%5Bteams%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/post_mortems?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bstatus%5D=SOME_STRING_VALUE&filter%5Bseverity%5D=SOME_STRING_VALUE&filter%5Btype%5D=SOME_STRING_VALUE&filter%5Buser_id%5D=SOME_INTEGER_VALUE&filter%5Benvironments%5D=SOME_STRING_VALUE&filter%5Bfunctionalities%5D=SOME_STRING_VALUE&filter%5Bservices%5D=SOME_STRING_VALUE&filter%5Bteams%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/post_mortems/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an incident retrospective","security":[{"bearer_auth":[]}],"tags":["IncidentRetrospectives"],"description":"List incidents retrospectives","operationId":"ListIncidentPostmortem","responses":{"200":{"description":"incident_post_mortem found","content":{"application/vnd.api+json":{"example":{"data":{"id":"9070d850-5417-429d-a742-f3d7f06eabdf","type":"incident_post_mortems","attributes":{"incident_id":"9d1d0e39-f127-4734-89cc-43907e0f5770","title":"Unde et ad eveniet.","status":"draft","url":"https://test.rootly.com/account/post_mortems/unde-et-ad-eveniet","short_url":null,"content":null,"published_at":null,"started_at":"2025-03-17T17:06:43.814-07:00","mitigated_at":null,"resolved_at":null,"cancelled_at":null,"show_timeline":true,"show_timeline_starred_only":false,"show_timeline_genius":true,"show_timeline_trail":true,"show_timeline_tasks":true,"show_timeline_action_items":true,"show_timeline_order":"desc","show_functionalities_impacted":true,"show_services_impacted":true,"show_groups_impacted":true,"show_action_items":true,"created_at":"2025-03-17T17:06:44.469-07:00","updated_at":"2025-03-17T17:06:44.477-07:00"},"relationships":{"incident_retrospective_steps":{"data":[{"id":"9f3df94c-ce5e-419c-b647-fbbf9577a61d","type":"incident_retrospective_steps"}]}}}},"schema":{"$ref":"#/components/schemas/incident_post_mortem_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/post_mortems/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/post_mortems/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/post_mortems/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/post_mortems/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an incident retrospective","security":[{"bearer_auth":[]}],"tags":["IncidentRetrospectives"],"description":"Update a specific incident retrospective by id","operationId":"updateIncidentPostmortem","parameters":[],"responses":{"200":{"description":"incident_post_mortem updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"9070d850-5417-429d-a742-f3d7f06eabdf","type":"incident_post_mortems","attributes":{"incident_id":"9d1d0e39-f127-4734-89cc-43907e0f5770","title":"Retrospective updated","status":"draft","url":"https://test.rootly.com/account/post_mortems/unde-et-ad-eveniet","short_url":null,"content":null,"published_at":null,"started_at":"2025-03-17T17:06:43.814-07:00","mitigated_at":null,"resolved_at":null,"cancelled_at":null,"show_timeline":false,"show_timeline_starred_only":false,"show_timeline_genius":true,"show_timeline_trail":true,"show_timeline_tasks":true,"show_timeline_action_items":true,"show_timeline_order":"desc","show_functionalities_impacted":true,"show_services_impacted":true,"show_groups_impacted":true,"show_action_items":true,"created_at":"2025-03-17T17:06:44.469-07:00","updated_at":"2025-03-17T17:06:51.582-07:00"},"relationships":{"incident_retrospective_steps":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/incident_post_mortem_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_incident_post_mortem"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/post_mortems/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/post_mortems/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/post_mortems/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/post_mortems/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incident_retrospective_steps/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an incident retrospective step","security":[{"bearer_auth":[]}],"tags":["IncidentRetrospectiveSteps"],"description":"Retrieves a specific incident retrospective step by id","operationId":"getIncidentRetrospectiveStep","responses":{"200":{"description":"incident retrospective_step found","content":{"application/vnd.api+json":{"example":{"data":{"id":"e09226e6-53e3-4000-b508-b8b58ce3dc8e","type":"incident_retrospective_steps","attributes":{"retrospective_step_id":"72defae7-62fb-4bf5-9711-6b3cb0b44473","incident_id":"b78de842-f190-4fd7-bd10-9dae72248541","title":"Step 4","description":null,"due_date":null,"user_id":null,"kind":"custom","position":1,"skippable":false,"status":"todo","status_changed_at":null,"status_changed_by_id":null,"created_at":"2025-03-17T17:06:53.648-07:00","updated_at":"2025-03-17T17:06:53.648-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_retrospective_step_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/incident_retrospective_steps/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_retrospective_steps/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_retrospective_steps/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_retrospective_steps/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an incident retrospective step","security":[{"bearer_auth":[]}],"tags":["IncidentRetrospectiveSteps"],"description":"Update a specific incident retrospective step by id","operationId":"updateIncidentRetrospectiveStep","parameters":[],"responses":{"200":{"description":"incident_retrospective_step updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"e09226e6-53e3-4000-b508-b8b58ce3dc8e","type":"incident_retrospective_steps","attributes":{"retrospective_step_id":"72defae7-62fb-4bf5-9711-6b3cb0b44473","incident_id":"b78de842-f190-4fd7-bd10-9dae72248541","title":"Step 2","description":"Step 2 description","due_date":"2024-12-05T08:10:58.323-08:00","user_id":null,"kind":"custom","position":2,"skippable":true,"status":"todo","status_changed_at":null,"status_changed_by_id":null,"created_at":"2025-03-17T17:06:53.648-07:00","updated_at":"2025-03-17T17:06:54.363-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_retrospective_step_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_incident_retrospective_step"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/incident_retrospective_steps/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_retrospective_steps/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_retrospective_steps/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_retrospective_steps/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incident_roles/{incident_role_id}/incident_role_tasks":{"parameters":[{"name":"incident_role_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates an incident role task","security":[{"bearer_auth":[]}],"tags":["IncidentRoleTasks"],"description":"Creates a new task from provided data","operationId":"createIncidentRoleTask","parameters":[],"responses":{"201":{"description":"incident_role_task created","content":{"application/vnd.api+json":{"example":{"data":{"id":"74757787-8f3b-4c8b-bdfc-9ac54c944951","type":"incident_role_tasks","attributes":{"incident_role_id":"7a4dcd7b-005e-4930-a62f-b57aa59c77a9","task":"New task","description":"New task description","priority":"high","created_at":"2025-03-17T17:06:56.622-07:00","updated_at":"2025-03-17T17:06:56.622-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_role_task_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Task can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_incident_role_task"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/incident_roles/%7Bincident_role_id%7D/incident_role_tasks \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_roles/%7Bincident_role_id%7D/incident_role_tasks\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_roles/%7Bincident_role_id%7D/incident_role_tasks\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_roles/%7Bincident_role_id%7D/incident_role_tasks\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List incident role tasks","security":[{"bearer_auth":[]}],"tags":["IncidentRoleTasks"],"description":"List incident_role tasks","operationId":"listIncidentRoleTasks","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/incident_role_task_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/incident_roles/%7Bincident_role_id%7D/incident_role_tasks?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_roles/%7Bincident_role_id%7D/incident_role_tasks?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_roles/%7Bincident_role_id%7D/incident_role_tasks?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_roles/%7Bincident_role_id%7D/incident_role_tasks?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incident_role_tasks/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an incident role task","security":[{"bearer_auth":[]}],"tags":["IncidentRoleTasks"],"description":"Retrieves a specific incident_role_task by id","operationId":"getIncidentRoleTask","responses":{"200":{"description":"incident_role_task found","content":{"application/vnd.api+json":{"example":{"data":{"id":"02062168-de01-4dd7-8a59-1af9ab8008cd","type":"incident_role_tasks","attributes":{"incident_role_id":"7a4dcd7b-005e-4930-a62f-b57aa59c77a9","task":"Voluptatem inventore aliquam aperiam.","description":"Tempore commodi et ut.","priority":"medium","created_at":"2025-03-17T17:06:56.445-07:00","updated_at":"2025-03-17T17:06:56.455-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_role_task_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/incident_role_tasks/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_role_tasks/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_role_tasks/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_role_tasks/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an incident role task","security":[{"bearer_auth":[]}],"tags":["IncidentRoleTasks"],"description":"Update a specific incident_role task by id","operationId":"updateIncidentRoleTask","parameters":[],"responses":{"200":{"description":"incident_role_task updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"02062168-de01-4dd7-8a59-1af9ab8008cd","type":"incident_role_tasks","attributes":{"incident_role_id":"7a4dcd7b-005e-4930-a62f-b57aa59c77a9","task":"Task updated","description":"Task description updated","priority":"medium","created_at":"2025-03-17T17:06:56.445-07:00","updated_at":"2025-03-17T17:06:57.772-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_role_task_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_incident_role_task"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/incident_role_tasks/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_role_tasks/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_role_tasks/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_role_tasks/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an incident role task","security":[{"bearer_auth":[]}],"tags":["IncidentRoleTasks"],"description":"Delete a specific incident_role task by id","operationId":"deleteIncidentRoleTask","responses":{"200":{"description":"incident_role_task deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"02062168-de01-4dd7-8a59-1af9ab8008cd","type":"incident_role_tasks","attributes":{"incident_role_id":"7a4dcd7b-005e-4930-a62f-b57aa59c77a9","task":"Voluptatem inventore aliquam aperiam.","description":"Tempore commodi et ut.","priority":"medium","created_at":"2025-03-17T17:06:56.445-07:00","updated_at":"2025-03-17T17:06:58.379-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_role_task_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/incident_role_tasks/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_role_tasks/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_role_tasks/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_role_tasks/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incident_roles":{"post":{"summary":"Creates an incident role","security":[{"bearer_auth":[]}],"tags":["IncidentRoles"],"description":"Creates a new incident role from provided data","operationId":"createIncidentRole","parameters":[],"responses":{"201":{"description":"incident_role created","content":{"application/vnd.api+json":{"example":{"data":{"id":"3a05dfa7-ecd1-4b96-9126-2a9af898974b","type":"incident_roles","attributes":{"slug":"my-incident-role","name":"My Incident Role","summary":"My Incident Role summary","description":"My Incident Role description","position":1,"optional":false,"enabled":true,"allow_multi_user_assignment":true,"created_at":"2025-03-17T17:07:02.285-07:00","updated_at":"2025-03-17T17:07:02.285-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_role_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_incident_role"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/incident_roles \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_roles\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_roles\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_roles\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List incident roles","security":[{"bearer_auth":[]}],"tags":["IncidentRoles"],"description":"List incident roles","operationId":"listIncidentRoles","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[enabled]","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/incident_role_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/incident_roles?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Benabled%5D=SOME_BOOLEAN_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_roles?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Benabled%5D=SOME_BOOLEAN_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_roles?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Benabled%5D=SOME_BOOLEAN_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_roles?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Benabled%5D=SOME_BOOLEAN_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incident_roles/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an incident role","security":[{"bearer_auth":[]}],"tags":["IncidentRoles"],"description":"Retrieves a specific incident_role by id","operationId":"getIncidentRole","responses":{"200":{"description":"incident_role found","content":{"application/vnd.api+json":{"example":{"data":{"id":"beff9f48-b6e3-4c89-99e1-40ab8f9f0fe8","type":"incident_roles","attributes":{"slug":"facilis-iste-ut-maxime","name":"Facilis iste ut maxime.","summary":null,"description":null,"position":1,"optional":false,"enabled":true,"allow_multi_user_assignment":false,"created_at":"2025-03-17T17:06:59.749-07:00","updated_at":"2025-03-17T17:06:59.749-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_role_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/incident_roles/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_roles/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_roles/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_roles/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an incident role","security":[{"bearer_auth":[]}],"tags":["IncidentRoles"],"description":"Update a specific incident_role by id","operationId":"updateIncidentRole","parameters":[],"responses":{"200":{"description":"incident_role updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"beff9f48-b6e3-4c89-99e1-40ab8f9f0fe8","type":"incident_roles","attributes":{"slug":"my-incident-role-updated","name":"My Incident Role Updated","summary":"My Incident Role Summary Updated","description":"My Incident Role Description Updated","position":2,"optional":true,"enabled":true,"allow_multi_user_assignment":false,"created_at":"2025-03-17T17:06:59.749-07:00","updated_at":"2025-03-17T17:07:03.498-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_role_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_incident_role"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/incident_roles/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_roles/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_roles/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_roles/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an incident role","security":[{"bearer_auth":[]}],"tags":["IncidentRoles"],"description":"Delete a specific incident_role by id","operationId":"deleteIncidentRole","responses":{"200":{"description":"incident_role deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"beff9f48-b6e3-4c89-99e1-40ab8f9f0fe8","type":"incident_roles","attributes":{"slug":"facilis-iste-ut-maxime","name":"Facilis iste ut maxime.","summary":null,"description":null,"position":1,"optional":false,"enabled":true,"allow_multi_user_assignment":false,"created_at":"2025-03-17T17:06:59.749-07:00","updated_at":"2025-03-17T17:07:04.076-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_role_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/incident_roles/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_roles/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_roles/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_roles/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incidents/{incident_id}/status-page-events":{"parameters":[{"name":"incident_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates an incident status page event","security":[{"bearer_auth":[]}],"tags":["IncidentStatusPageEvents"],"description":"Creates a new event from provided data","operationId":"createIncidentStatusPage","parameters":[],"responses":{"201":{"description":"incident_status_page_event created","content":{"application/vnd.api+json":{"example":{"data":{"id":"69eb16db-3f93-4079-92c1-d527401555e2","type":"incident_status_page_events","attributes":{"incident_id":"310917d7-3aa0-4ef2-9913-3894312c1417","status_page_id":"7a9a5acc-5cdf-4b14-ad17-02dce5baabfd","status":"investigating","notify_subscribers":true,"should_tweet":false,"started_at":"2025-03-17T17:07:06.528-07:00","created_at":"2025-03-17T17:07:06.528-07:00","updated_at":"2025-03-17T17:07:06.528-07:00","event":"New Event"}}},"schema":{"$ref":"#/components/schemas/incident_status_page_event_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Status page must exist","status":"422"},{"title":"Event can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_incident_status_page_event"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/incidents/%7Bincident_id%7D/status-page-events \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/status-page-events\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bincident_id%7D/status-page-events\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/status-page-events\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List incident status page events","security":[{"bearer_auth":[]}],"tags":["IncidentStatusPageEvents"],"description":"List incident status page events","operationId":"listIncidentStatusPages","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/incident_status_page_event_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/incidents/%7Bincident_id%7D/status-page-events?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/status-page-events?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bincident_id%7D/status-page-events?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/status-page-events?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/status-page-events/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an incident status page event","security":[{"bearer_auth":[]}],"tags":["IncidentStatusPageEvents"],"description":"Retrieves a specific incident_status_page_event by id","operationId":"getIncidentStatusPages","responses":{"200":{"description":"incident_status_page_event found","content":{"application/vnd.api+json":{"example":{"data":{"id":"dda214d5-bb6e-40e2-9296-4fcab69cbce5","type":"incident_status_page_events","attributes":{"incident_id":"310917d7-3aa0-4ef2-9913-3894312c1417","status_page_id":"7a9a5acc-5cdf-4b14-ad17-02dce5baabfd","status":"investigating","notify_subscribers":false,"should_tweet":false,"started_at":"2025-03-17T17:07:06.109-07:00","created_at":"2025-03-17T17:07:06.109-07:00","updated_at":"2025-03-17T17:07:06.109-07:00","event":"Aut dolores rerum consequuntur."}}},"schema":{"$ref":"#/components/schemas/incident_status_page_event_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/status-page-events/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/status-page-events/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/status-page-events/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/status-page-events/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an incident status page event","security":[{"bearer_auth":[]}],"tags":["IncidentStatusPageEvents"],"description":"Update a specific incident status page event by id","operationId":"updateIncidentStatusPage","parameters":[],"responses":{"200":{"description":"incident_status_page_event updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"dda214d5-bb6e-40e2-9296-4fcab69cbce5","type":"incident_status_page_events","attributes":{"incident_id":"310917d7-3aa0-4ef2-9913-3894312c1417","status_page_id":"c12885b8-169f-4041-93a4-d3dd6f66020f","status":"investigating","notify_subscribers":false,"should_tweet":false,"started_at":"2025-03-17T17:07:06.109-07:00","created_at":"2025-03-17T17:07:06.109-07:00","updated_at":"2025-03-17T17:07:08.097-07:00","event":"Event updated"}}},"schema":{"$ref":"#/components/schemas/incident_status_page_event_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_incident_status_page_event"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/status-page-events/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/status-page-events/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/status-page-events/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/status-page-events/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an incident status page event","security":[{"bearer_auth":[]}],"tags":["IncidentStatusPageEvents"],"description":"Delete a specific incident status page event by id","operationId":"deleteIncidentStatusPage","responses":{"200":{"description":"incident_status_page_event deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"dda214d5-bb6e-40e2-9296-4fcab69cbce5","type":"incident_status_page_events","attributes":{"incident_id":"310917d7-3aa0-4ef2-9913-3894312c1417","status_page_id":"7a9a5acc-5cdf-4b14-ad17-02dce5baabfd","status":"investigating","notify_subscribers":false,"should_tweet":false,"started_at":"2025-03-17T17:07:06.109-07:00","created_at":"2025-03-17T17:07:06.109-07:00","updated_at":"2025-03-17T17:07:08.754-07:00","event":"Aut dolores rerum consequuntur."}}},"schema":{"$ref":"#/components/schemas/incident_status_page_event_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/status-page-events/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/status-page-events/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/status-page-events/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/status-page-events/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incidents/{incident_id}/sub_statuses":{"parameters":[{"name":"incident_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates a sub-status assignment","security":[{"bearer_auth":[]}],"tags":["IncidentSubStatuses"],"description":"Creates a new sub-status assignment from provided data","operationId":"createIncidentSubStatus","parameters":[],"responses":{"201":{"description":"incident_sub_status created","content":{"application/vnd.api+json":{"example":{"data":{"id":"94ad1cf3-dc87-4c58-83ee-bf9c6f185b9a","type":"incident_sub_statuses","attributes":{"sub_status_id":"f2538372-e2a6-41fe-a338-826cc39036c1","incident_id":"04ecf7b8-e024-45fb-985b-253c2de6a629","assigned_at":"2025-03-17T17:07:11.000-07:00","assigned_by_user_id":null},"relationships":{"sub_status":{"data":{"id":"f2538372-e2a6-41fe-a338-826cc39036c1","type":"sub_statuses"}},"assigned_by_user":{"data":null}}}},"schema":{"$ref":"#/components/schemas/incident_sub_status_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_incident_sub_status"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/incidents/%7Bincident_id%7D/sub_statuses \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/sub_statuses\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bincident_id%7D/sub_statuses\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/sub_statuses\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List incident_sub_statuses","security":[{"bearer_auth":[]}],"tags":["IncidentSubStatuses"],"description":"List incident_sub_statuses","operationId":"listIncidentSubStatuses","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: sub_status,assigned_by_user","schema":{"type":"string","enum":["sub_status","assigned_by_user"]},"required":false},{"name":"sort","in":"query","description":"comma separated if needed. eg: created_at,updated_at","schema":{"type":"string","enum":["created_at","-created_at","updated_at","-updated_at","assigned_at","-assigned_at"]},"required":false},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[sub_status_id]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[assigned_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[assigned_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[assigned_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[assigned_at][lte]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/incident_sub_status_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/incidents/%7Bincident_id%7D/sub_statuses?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsub_status_id%5D=SOME_STRING_VALUE&filter%5Bassigned_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bassigned_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bassigned_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bassigned_at%5D%5Blte%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/sub_statuses?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsub_status_id%5D=SOME_STRING_VALUE&filter%5Bassigned_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bassigned_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bassigned_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bassigned_at%5D%5Blte%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bincident_id%7D/sub_statuses?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsub_status_id%5D=SOME_STRING_VALUE&filter%5Bassigned_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bassigned_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bassigned_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bassigned_at%5D%5Blte%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bincident_id%7D/sub_statuses?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsub_status_id%5D=SOME_STRING_VALUE&filter%5Bassigned_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bassigned_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bassigned_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bassigned_at%5D%5Blte%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incident_sub_statuses/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves incident_sub_status","security":[{"bearer_auth":[]}],"tags":["IncidentSubStatuses"],"description":"Retrieves a specific incident_sub_status by id","operationId":"getIncidentSubStatus","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: sub_status,assigned_by_user","schema":{"type":"string","enum":["sub_status","assigned_by_user"]},"required":false}],"responses":{"200":{"description":"sub_status found","content":{"application/vnd.api+json":{"example":{"data":{"id":"8f9e9ef9-d866-4324-bc5d-69502ee8ec29","type":"incident_sub_statuses","attributes":{"sub_status_id":"740932cf-9cfb-431a-a777-b294a99b795d","incident_id":"04ecf7b8-e024-45fb-985b-253c2de6a629","assigned_at":"2025-03-17T17:07:11.333-07:00","assigned_by_user_id":307},"relationships":{"sub_status":{"data":{"id":"740932cf-9cfb-431a-a777-b294a99b795d","type":"sub_statuses"}},"assigned_by_user":{"data":{"id":"307","type":"users"}}}}},"schema":{"$ref":"#/components/schemas/incident_sub_status_response"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/incident_sub_statuses/%7Bid%7D?include=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_sub_statuses/%7Bid%7D?include=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_sub_statuses/%7Bid%7D?include=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_sub_statuses/%7Bid%7D?include=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update incident_sub_status","security":[{"bearer_auth":[]}],"tags":["IncidentSubStatuses"],"description":"Update a specific incident_sub_status by id","operationId":"updateIncidentSubStatus","parameters":[],"responses":{"200":{"description":"incident_sub_status updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"8f9e9ef9-d866-4324-bc5d-69502ee8ec29","type":"incident_sub_statuses","attributes":{"sub_status_id":"740932cf-9cfb-431a-a777-b294a99b795d","incident_id":"04ecf7b8-e024-45fb-985b-253c2de6a629","assigned_at":"2025-03-17T17:07:12.000-07:00","assigned_by_user_id":307},"relationships":{"sub_status":{"data":{"id":"740932cf-9cfb-431a-a777-b294a99b795d","type":"sub_statuses"}},"assigned_by_user":{"data":{"id":"307","type":"users"}}}}},"schema":{"$ref":"#/components/schemas/incident_sub_status_response"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_incident_sub_status"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/incident_sub_statuses/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_sub_statuses/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_sub_statuses/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_sub_statuses/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an incident_sub_status","security":[{"bearer_auth":[]}],"tags":["IncidentSubStatuses"],"description":"Delete a specific incident_sub_status by id","operationId":"deleteIncidentSubStatus","responses":{"200":{"description":"incident_sub_status deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"8f9e9ef9-d866-4324-bc5d-69502ee8ec29","type":"incident_sub_statuses","attributes":{"sub_status_id":"740932cf-9cfb-431a-a777-b294a99b795d","incident_id":"04ecf7b8-e024-45fb-985b-253c2de6a629","assigned_at":"2025-03-17T17:07:11.333-07:00","assigned_by_user_id":307},"relationships":{"sub_status":{"data":{"id":"740932cf-9cfb-431a-a777-b294a99b795d","type":"sub_statuses"}},"assigned_by_user":{"data":{"id":"307","type":"users"}}}}},"schema":{"$ref":"#/components/schemas/incident_sub_status_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/incident_sub_statuses/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_sub_statuses/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_sub_statuses/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_sub_statuses/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incident_types":{"post":{"summary":"Creates an incident type","security":[{"bearer_auth":[]}],"tags":["IncidentTypes"],"description":"Creates a new incident_type from provided data","operationId":"createIncidentType","parameters":[],"responses":{"201":{"description":"incident_type created","content":{"application/vnd.api+json":{"example":{"data":{"id":"0b3204d6-2e03-4004-893d-acdea909002b","type":"incident_types","attributes":{"slug":"bug","name":"Bug","description":"Bug caused by a human","color":"#FFF","position":1,"notify_emails":["hello@rootly.com","world@rootly.com"],"slack_channels":[{"id":"C03MKDSEJE8","name":"elastisearch"}],"slack_aliases":[{"id":"S03F7QUV7F1","name":"leadership"}],"created_at":"2025-03-17T17:07:17.096-07:00","updated_at":"2025-03-17T17:07:17.096-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_type_response"}}}},"401":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_incident_type"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/incident_types \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_types\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_types\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_types\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List incident types","security":[{"bearer_auth":[]}],"tags":["IncidentTypes"],"description":"List incident types","operationId":"listIncident Types","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[color]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/incident_type_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/incident_types?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_types?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_types?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_types?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incident_types/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an incident type","security":[{"bearer_auth":[]}],"tags":["IncidentTypes"],"description":"Retrieves a specific incident_type by id","operationId":"getIncidentType","responses":{"200":{"description":"incident_type found","content":{"application/vnd.api+json":{"example":{"data":{"id":"85750da3-1ed8-4151-bf10-f14b47243020","type":"incident_types","attributes":{"slug":"totam-voluptas-fugit-atque","name":"Totam voluptas fugit atque.","description":"Alias optio et non.","color":"#FAEBB7","position":1,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:07:14.693-07:00","updated_at":"2025-03-17T17:07:14.693-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_type_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/incident_types/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_types/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_types/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_types/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an incident type","security":[{"bearer_auth":[]}],"tags":["IncidentTypes"],"description":"Update a specific incident_type by id","operationId":"updateIncidentType","parameters":[],"responses":{"200":{"description":"incident_type updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"85750da3-1ed8-4151-bf10-f14b47243020","type":"incident_types","attributes":{"slug":"p1","name":"P1","description":"Medium Priority","color":"#000","position":2,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:07:14.693-07:00","updated_at":"2025-03-17T17:07:18.262-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_type_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_incident_type"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/incident_types/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_types/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_types/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_types/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an incident type","security":[{"bearer_auth":[]}],"tags":["IncidentTypes"],"description":"Delete a specific incident_type by id","operationId":"deleteIncidentType","responses":{"200":{"description":"incident_type deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"85750da3-1ed8-4151-bf10-f14b47243020","type":"incident_types","attributes":{"slug":"totam-voluptas-fugit-atque","name":"Totam voluptas fugit atque.","description":"Alias optio et non.","color":"#FAEBB7","position":1,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:07:14.693-07:00","updated_at":"2025-03-17T17:07:18.847-07:00"}}},"schema":{"$ref":"#/components/schemas/incident_type_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/incident_types/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incident_types/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incident_types/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incident_types/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incidents":{"post":{"summary":"Creates an incident","security":[{"bearer_auth":[]}],"tags":["Incidents"],"description":"Creates a new incident from provided data","operationId":"createIncident","parameters":[],"responses":{"201":{"description":"incident created","content":{"application/vnd.api+json":{"example":{"data":{"id":"07dcd458-94e4-45c3-bedc-811dd0da8efa","type":"incidents","attributes":{"parent_incident_id":null,"sequential_id":4,"title":"Oh no! Something is broken","slug":"oh-no-something-is-broken","kind":"normal","private":false,"summary":"this is the description and there are new lines\n\nthis is the next line\n\nthis is the 3rd line","status":"started","source":"api","url":"http://localhost:3001/account/incidents/4-oh-no-something-is-broken","short_url":null,"user":{"data":{"id":"313","type":"users","attributes":{"name":"Tomas Kilback","email":"camelia@baumbach.test","phone":null,"phone_2":null,"full_name":"Tomas Kilback","full_name_with_team":"[McKenzie, McGlynn and Hamill] Tomas Kilback","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:28.338-07:00","created_at":"2025-03-17T17:07:19.245-07:00"},"relationships":{"email_addresses":{"data":[{"id":"36e1bf90-b06a-44d6-83e4-4248abcf3618","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"severity":{"data":{"id":"842f9c1d-06a4-4af9-bd23-6f15eff6c6db","type":"severities","attributes":{"name":"d759c","slug":"d759c","description":"Fuga itaque sit aliquam.","severity":"medium","color":"#E58A1F","position":1,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:07:22.667-07:00","updated_at":"2025-03-17T17:07:22.667-07:00"}}},"in_triage_by":null,"started_by":{"data":{"id":"313","type":"users","attributes":{"name":"Tomas Kilback","email":"camelia@baumbach.test","phone":null,"phone_2":null,"full_name":"Tomas Kilback","full_name_with_team":"[McKenzie, McGlynn and Hamill] Tomas Kilback","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:28.338-07:00","created_at":"2025-03-17T17:07:19.245-07:00"},"relationships":{"email_addresses":{"data":[{"id":"36e1bf90-b06a-44d6-83e4-4248abcf3618","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"mitigated_by":null,"resolved_by":null,"closed_by":null,"cancelled_by":null,"mitigation_message":null,"resolution_message":null,"cancellation_message":null,"public_title":null,"duplicate_incident_id":null,"retrospective_progress_status":"not_started","zoom_meeting_id":null,"zoom_meeting_start_url":null,"zoom_meeting_join_url":null,"zoom_meeting_password":null,"zoom_meeting_pstn_password":null,"zoom_meeting_h323_password":null,"zoom_meeting_global_dial_in_numbers":[],"shortcut_story_id":null,"shortcut_story_url":null,"shortcut_task_id":null,"shortcut_task_url":null,"asana_task_id":null,"asana_task_url":null,"github_issue_id":null,"github_issue_url":null,"gitlab_issue_id":null,"gitlab_issue_url":null,"jira_issue_key":null,"jira_issue_id":null,"jira_issue_url":null,"google_meeting_id":null,"google_meeting_url":null,"trello_card_id":null,"trello_card_url":null,"linear_issue_id":null,"linear_issue_url":null,"zendesk_ticket_id":null,"zendesk_ticket_url":null,"motion_task_id":null,"motion_task_url":null,"clickup_task_id":null,"clickup_task_url":null,"slack_channel_name":null,"slack_channel_id":null,"slack_channel_url":null,"slack_channel_short_url":null,"slack_channel_deep_link":null,"slack_channel_archived":false,"slack_last_message_ts":null,"service_now_incident_id":null,"service_now_incident_key":null,"service_now_incident_url":null,"opsgenie_incident_id":null,"opsgenie_incident_url":null,"opsgenie_alert_id":null,"opsgenie_alert_url":null,"victor_ops_incident_id":null,"victor_ops_incident_url":null,"pagerduty_incident_id":null,"pagerduty_incident_number":null,"pagerduty_incident_url":null,"mattermost_channel_id":null,"mattermost_channel_name":null,"mattermost_channel_url":null,"confluence_page_id":null,"confluence_page_url":null,"quip_page_id":null,"quip_page_url":null,"airtable_base_key":null,"airtable_table_name":null,"airtable_record_id":null,"airtable_record_url":null,"google_drive_id":null,"google_drive_parent_id":null,"google_drive_url":null,"sharepoint_page_id":null,"sharepoint_page_url":null,"datadog_notebook_id":null,"datadog_notebook_url":null,"freshservice_ticket_id":null,"freshservice_ticket_url":null,"freshservice_task_id":null,"freshservice_task_url":null,"scheduled_for":null,"scheduled_until":null,"in_triage_at":null,"started_at":"2025-03-17T17:07:28.499-07:00","detected_at":null,"acknowledged_at":null,"mitigated_at":null,"resolved_at":null,"closed_at":null,"cancelled_at":null,"created_at":"2025-03-17T17:07:28.560-07:00","updated_at":"2025-03-17T17:07:28.750-07:00","labels":{"platform":"windows","version":"1.12","CaseSensitive":"preserve"}},"relationships":{"causes":{"data":[{"id":"41984685-0849-412b-855e-b4e97538ed73","type":"causes"},{"id":"5cf3762b-c6b5-4686-a5d2-193958d2a283","type":"causes"}]},"subscribers":{"data":[]},"roles":{"data":[{"id":"63e0ab18-7f38-458f-ac0c-8db7e96e3dd0","type":"incident_role_assignments"}]},"environments":{"data":[{"id":"9fc06312-c1d1-4de7-b1bc-5b6d987dd28f","type":"environments"},{"id":"3d785c17-d79a-4cad-ac88-93c602869c44","type":"environments"}]},"incident_types":{"data":[{"id":"39f1c889-6353-49b0-b54f-2f47e2e776fb","type":"incident_types"},{"id":"48d7a922-58bf-4f0d-88bc-1a38713fbfb0","type":"incident_types"}]},"services":{"data":[{"id":"4d427f0c-d3af-4888-a316-0bdc962e4191","type":"services"},{"id":"e2df3e89-263c-4b8d-8bcd-d8060ebfedb1","type":"services"}]},"functionalities":{"data":[{"id":"93bbb5e2-a6b1-4e4a-84df-1fc44f59f71c","type":"functionalities"},{"id":"0e1ea65e-98d7-4d69-b4da-fbb687faf705","type":"functionalities"}]},"groups":{"data":[{"id":"3454692f-8f6d-4e7b-89e5-e42056dfef2d","type":"groups"},{"id":"c1bfe4cd-1f86-4526-a506-ff7badad7326","type":"groups"}]},"events":{"data":[{"id":"fde2d66d-d65e-4cd2-89a4-3a50d74b633b","type":"incident_events"},{"id":"8c905ed3-d410-4767-95ea-5e8418c39377","type":"incident_events"},{"id":"47cd8fd4-dd12-49c8-b54a-adb4bc7d7c58","type":"incident_events"},{"id":"e4a0a6c6-c664-4db4-a34b-4af9fbedba16","type":"incident_events"}]},"action_items":{"data":[]},"custom_field_selections":{"data":[]},"feedbacks":{"data":[]},"attachments":{"data":[]},"slack_messages":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/incident_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid causes association","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Detected at can not be before Started time","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_incident"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/incidents \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List incidents","security":[{"bearer_auth":[]}],"tags":["Incidents"],"description":"List incidents","operationId":"listIncidents","parameters":[{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[kind]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[status]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[private]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[user_id]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[severity]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[severity_id]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[labels]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[types]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[type_ids]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[environments]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[environment_ids]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[functionalities]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[functionality_ids]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[services]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[service_ids]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[teams]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[team_ids]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[cause]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[cause_ids]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[custom_field_selected_option_ids]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[updated_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[updated_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[updated_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[updated_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[started_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[started_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[started_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[started_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[detected_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[detected_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[detected_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[detected_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[acknowledged_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[acknowledged_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[acknowledged_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[acknowledged_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[mitigated_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[mitigated_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[mitigated_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[mitigated_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[resolved_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[resolved_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[resolved_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[resolved_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[closed_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[closed_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[closed_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[closed_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[in_triage_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[in_triage_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[in_triage_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[in_triage_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","description":"comma separated if needed. eg: created_at,updated_at","schema":{"type":"string","enum":["created_at","-created_at","updated_at","-updated_at"]},"required":false},{"name":"include","in":"query","description":"comma separated if needed. eg: sub_statuses,causes,subscribers","schema":{"type":"string","enum":["sub_statuses","causes","subscribers","roles","slack_messages","environments","incident_types","services","functionalities","groups","events","action_items","custom_field_selections","feedbacks","incident_post_mortem"]},"required":false}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/incident_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/incidents?page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bstatus%5D=SOME_STRING_VALUE&filter%5Bprivate%5D=SOME_STRING_VALUE&filter%5Buser_id%5D=SOME_INTEGER_VALUE&filter%5Bseverity%5D=SOME_STRING_VALUE&filter%5Bseverity_id%5D=SOME_STRING_VALUE&filter%5Blabels%5D=SOME_STRING_VALUE&filter%5Btypes%5D=SOME_STRING_VALUE&filter%5Btype_ids%5D=SOME_STRING_VALUE&filter%5Benvironments%5D=SOME_STRING_VALUE&filter%5Benvironment_ids%5D=SOME_STRING_VALUE&filter%5Bfunctionalities%5D=SOME_STRING_VALUE&filter%5Bfunctionality_ids%5D=SOME_STRING_VALUE&filter%5Bservices%5D=SOME_STRING_VALUE&filter%5Bservice_ids%5D=SOME_STRING_VALUE&filter%5Bteams%5D=SOME_STRING_VALUE&filter%5Bteam_ids%5D=SOME_STRING_VALUE&filter%5Bcause%5D=SOME_STRING_VALUE&filter%5Bcause_ids%5D=SOME_STRING_VALUE&filter%5Bcustom_field_selected_option_ids%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bupdated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bupdated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bupdated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bupdated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bdetected_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bdetected_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bdetected_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bdetected_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Backnowledged_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Backnowledged_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Backnowledged_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Backnowledged_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bclosed_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bclosed_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bclosed_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bclosed_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bin_triage_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bin_triage_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bin_triage_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bin_triage_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&include=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents?page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bstatus%5D=SOME_STRING_VALUE&filter%5Bprivate%5D=SOME_STRING_VALUE&filter%5Buser_id%5D=SOME_INTEGER_VALUE&filter%5Bseverity%5D=SOME_STRING_VALUE&filter%5Bseverity_id%5D=SOME_STRING_VALUE&filter%5Blabels%5D=SOME_STRING_VALUE&filter%5Btypes%5D=SOME_STRING_VALUE&filter%5Btype_ids%5D=SOME_STRING_VALUE&filter%5Benvironments%5D=SOME_STRING_VALUE&filter%5Benvironment_ids%5D=SOME_STRING_VALUE&filter%5Bfunctionalities%5D=SOME_STRING_VALUE&filter%5Bfunctionality_ids%5D=SOME_STRING_VALUE&filter%5Bservices%5D=SOME_STRING_VALUE&filter%5Bservice_ids%5D=SOME_STRING_VALUE&filter%5Bteams%5D=SOME_STRING_VALUE&filter%5Bteam_ids%5D=SOME_STRING_VALUE&filter%5Bcause%5D=SOME_STRING_VALUE&filter%5Bcause_ids%5D=SOME_STRING_VALUE&filter%5Bcustom_field_selected_option_ids%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bupdated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bupdated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bupdated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bupdated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bdetected_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bdetected_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bdetected_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bdetected_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Backnowledged_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Backnowledged_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Backnowledged_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Backnowledged_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bclosed_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bclosed_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bclosed_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bclosed_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bin_triage_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bin_triage_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bin_triage_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bin_triage_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&include=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents?page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bstatus%5D=SOME_STRING_VALUE&filter%5Bprivate%5D=SOME_STRING_VALUE&filter%5Buser_id%5D=SOME_INTEGER_VALUE&filter%5Bseverity%5D=SOME_STRING_VALUE&filter%5Bseverity_id%5D=SOME_STRING_VALUE&filter%5Blabels%5D=SOME_STRING_VALUE&filter%5Btypes%5D=SOME_STRING_VALUE&filter%5Btype_ids%5D=SOME_STRING_VALUE&filter%5Benvironments%5D=SOME_STRING_VALUE&filter%5Benvironment_ids%5D=SOME_STRING_VALUE&filter%5Bfunctionalities%5D=SOME_STRING_VALUE&filter%5Bfunctionality_ids%5D=SOME_STRING_VALUE&filter%5Bservices%5D=SOME_STRING_VALUE&filter%5Bservice_ids%5D=SOME_STRING_VALUE&filter%5Bteams%5D=SOME_STRING_VALUE&filter%5Bteam_ids%5D=SOME_STRING_VALUE&filter%5Bcause%5D=SOME_STRING_VALUE&filter%5Bcause_ids%5D=SOME_STRING_VALUE&filter%5Bcustom_field_selected_option_ids%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bupdated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bupdated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bupdated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bupdated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bdetected_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bdetected_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bdetected_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bdetected_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Backnowledged_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Backnowledged_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Backnowledged_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Backnowledged_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bclosed_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bclosed_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bclosed_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bclosed_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bin_triage_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bin_triage_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bin_triage_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bin_triage_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&include=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents?page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE&filter%5Bstatus%5D=SOME_STRING_VALUE&filter%5Bprivate%5D=SOME_STRING_VALUE&filter%5Buser_id%5D=SOME_INTEGER_VALUE&filter%5Bseverity%5D=SOME_STRING_VALUE&filter%5Bseverity_id%5D=SOME_STRING_VALUE&filter%5Blabels%5D=SOME_STRING_VALUE&filter%5Btypes%5D=SOME_STRING_VALUE&filter%5Btype_ids%5D=SOME_STRING_VALUE&filter%5Benvironments%5D=SOME_STRING_VALUE&filter%5Benvironment_ids%5D=SOME_STRING_VALUE&filter%5Bfunctionalities%5D=SOME_STRING_VALUE&filter%5Bfunctionality_ids%5D=SOME_STRING_VALUE&filter%5Bservices%5D=SOME_STRING_VALUE&filter%5Bservice_ids%5D=SOME_STRING_VALUE&filter%5Bteams%5D=SOME_STRING_VALUE&filter%5Bteam_ids%5D=SOME_STRING_VALUE&filter%5Bcause%5D=SOME_STRING_VALUE&filter%5Bcause_ids%5D=SOME_STRING_VALUE&filter%5Bcustom_field_selected_option_ids%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bupdated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bupdated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bupdated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bupdated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bdetected_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bdetected_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bdetected_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bdetected_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Backnowledged_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Backnowledged_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Backnowledged_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Backnowledged_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bmitigated_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bresolved_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bclosed_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bclosed_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bclosed_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bclosed_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bin_triage_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bin_triage_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bin_triage_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bin_triage_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&include=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incidents/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an incident","security":[{"bearer_auth":[]}],"tags":["Incidents"],"description":"Retrieves a specific incident by id","operationId":"getIncident","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: sub_statuses,causes,subscribers","schema":{"type":"string","enum":["sub_statuses","causes","subscribers","roles","slack_messages","environments","incident_types","services","functionalities","groups","events","action_items","custom_field_selections","feedbacks","incident_post_mortem"]},"required":false}],"responses":{"200":{"description":"incident found","content":{"application/vnd.api+json":{"example":{"data":{"id":"a86f619d-90ba-48fe-a527-cae4aba47d87","type":"incidents","attributes":{"parent_incident_id":null,"sequential_id":1,"title":"Velit deserunt delectus tempora.","slug":"velit-deserunt-delectus-tempora","kind":"normal","private":false,"summary":"Quasi est itaque. Dolor commodi quasi. Aut natus animi.","status":"started","source":"web","url":"http://localhost:3001/account/incidents/1-velit-deserunt-delectus-tempora","short_url":null,"user":{"data":{"id":"315","type":"users","attributes":{"name":"Shad Schmitt","email":"noemi@ryan.example","phone":null,"phone_2":null,"full_name":"Shad Schmitt","full_name_with_team":"[McKenzie, McGlynn and Hamill] Shad Schmitt","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:20.676-07:00","created_at":"2025-03-17T17:07:20.227-07:00"},"relationships":{"email_addresses":{"data":[{"id":"2b2298c7-6e95-433b-b2f7-b2e89d29d9c2","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"severity":{"data":{"id":"2bed8b25-bdc3-43f2-b554-4d12556d53c6","type":"severities","attributes":{"name":"axuza","slug":"axuza","description":"Veniam repudiandae similique unde.","severity":"medium","color":"#E58A1F","position":1,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:07:20.642-07:00","updated_at":"2025-03-17T17:07:20.642-07:00"}}},"in_triage_by":null,"started_by":{"data":{"id":"315","type":"users","attributes":{"name":"Shad Schmitt","email":"noemi@ryan.example","phone":null,"phone_2":null,"full_name":"Shad Schmitt","full_name_with_team":"[McKenzie, McGlynn and Hamill] Shad Schmitt","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:20.676-07:00","created_at":"2025-03-17T17:07:20.227-07:00"},"relationships":{"email_addresses":{"data":[{"id":"2b2298c7-6e95-433b-b2f7-b2e89d29d9c2","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"mitigated_by":null,"resolved_by":null,"closed_by":null,"cancelled_by":null,"mitigation_message":null,"resolution_message":null,"cancellation_message":null,"public_title":null,"duplicate_incident_id":null,"retrospective_progress_status":"not_started","zoom_meeting_id":null,"zoom_meeting_start_url":null,"zoom_meeting_join_url":null,"zoom_meeting_password":null,"zoom_meeting_pstn_password":null,"zoom_meeting_h323_password":null,"zoom_meeting_global_dial_in_numbers":[],"shortcut_story_id":null,"shortcut_story_url":null,"shortcut_task_id":null,"shortcut_task_url":null,"asana_task_id":null,"asana_task_url":null,"github_issue_id":null,"github_issue_url":null,"gitlab_issue_id":null,"gitlab_issue_url":null,"jira_issue_key":null,"jira_issue_id":null,"jira_issue_url":null,"google_meeting_id":null,"google_meeting_url":null,"trello_card_id":null,"trello_card_url":null,"linear_issue_id":null,"linear_issue_url":null,"zendesk_ticket_id":null,"zendesk_ticket_url":null,"motion_task_id":null,"motion_task_url":null,"clickup_task_id":null,"clickup_task_url":null,"slack_channel_name":null,"slack_channel_id":null,"slack_channel_url":null,"slack_channel_short_url":null,"slack_channel_deep_link":null,"slack_channel_archived":false,"slack_last_message_ts":null,"service_now_incident_id":null,"service_now_incident_key":null,"service_now_incident_url":null,"opsgenie_incident_id":null,"opsgenie_incident_url":null,"opsgenie_alert_id":null,"opsgenie_alert_url":null,"victor_ops_incident_id":null,"victor_ops_incident_url":null,"pagerduty_incident_id":null,"pagerduty_incident_number":null,"pagerduty_incident_url":null,"mattermost_channel_id":null,"mattermost_channel_name":null,"mattermost_channel_url":null,"confluence_page_id":null,"confluence_page_url":null,"quip_page_id":null,"quip_page_url":null,"airtable_base_key":null,"airtable_table_name":null,"airtable_record_id":null,"airtable_record_url":null,"google_drive_id":null,"google_drive_parent_id":null,"google_drive_url":null,"sharepoint_page_id":null,"sharepoint_page_url":null,"datadog_notebook_id":null,"datadog_notebook_url":null,"freshservice_ticket_id":null,"freshservice_ticket_url":null,"freshservice_task_id":null,"freshservice_task_url":null,"scheduled_for":null,"scheduled_until":null,"in_triage_at":null,"started_at":"2025-03-17T17:07:20.649-07:00","detected_at":null,"acknowledged_at":null,"mitigated_at":null,"resolved_at":null,"closed_at":null,"cancelled_at":null,"created_at":"2025-03-17T17:07:20.649-07:00","updated_at":"2025-03-17T17:07:20.649-07:00","labels":{}},"relationships":{"causes":{"data":[]},"subscribers":{"data":[]},"roles":{"data":[]},"environments":{"data":[]},"incident_types":{"data":[]},"services":{"data":[]},"functionalities":{"data":[]},"groups":{"data":[]},"events":{"data":[{"id":"a1083a28-c39f-4ead-995d-466450c66901","type":"incident_events"},{"id":"88bed702-abbe-462d-a601-dc4f8a2c7813","type":"incident_events"}]},"action_items":{"data":[]},"custom_field_selections":{"data":[]},"feedbacks":{"data":[]},"attachments":{"data":[]},"slack_messages":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/incident_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/incidents/%7Bid%7D?include=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bid%7D?include=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bid%7D?include=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bid%7D?include=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an incident","security":[{"bearer_auth":[]}],"tags":["Incidents"],"description":"Update a specific incident by id","operationId":"updateIncident","parameters":[],"responses":{"200":{"description":"incident updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"a86f619d-90ba-48fe-a527-cae4aba47d87","type":"incidents","attributes":{"parent_incident_id":null,"sequential_id":1,"title":"Oh no! Something is broken again","slug":"velit-deserunt-delectus-tempora","kind":"normal","private":true,"summary":"What could it be again?","status":"started","source":"web","url":"http://localhost:3001/account/incidents/1-velit-deserunt-delectus-tempora","short_url":null,"user":{"data":{"id":"315","type":"users","attributes":{"name":"Shad Schmitt","email":"noemi@ryan.example","phone":null,"phone_2":null,"full_name":"Shad Schmitt","full_name_with_team":"[McKenzie, McGlynn and Hamill] Shad Schmitt","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:20.676-07:00","created_at":"2025-03-17T17:07:20.227-07:00"},"relationships":{"email_addresses":{"data":[{"id":"2b2298c7-6e95-433b-b2f7-b2e89d29d9c2","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"severity":{"data":{"id":"2bed8b25-bdc3-43f2-b554-4d12556d53c6","type":"severities","attributes":{"name":"axuza","slug":"axuza","description":"Veniam repudiandae similique unde.","severity":"medium","color":"#E58A1F","position":1,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:07:20.642-07:00","updated_at":"2025-03-17T17:07:20.642-07:00"}}},"in_triage_by":null,"started_by":{"data":{"id":"315","type":"users","attributes":{"name":"Shad Schmitt","email":"noemi@ryan.example","phone":null,"phone_2":null,"full_name":"Shad Schmitt","full_name_with_team":"[McKenzie, McGlynn and Hamill] Shad Schmitt","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:20.676-07:00","created_at":"2025-03-17T17:07:20.227-07:00"},"relationships":{"email_addresses":{"data":[{"id":"2b2298c7-6e95-433b-b2f7-b2e89d29d9c2","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"mitigated_by":null,"resolved_by":null,"closed_by":null,"cancelled_by":null,"mitigation_message":null,"resolution_message":null,"cancellation_message":null,"public_title":null,"duplicate_incident_id":null,"retrospective_progress_status":"not_started","zoom_meeting_id":null,"zoom_meeting_start_url":null,"zoom_meeting_join_url":null,"zoom_meeting_password":null,"zoom_meeting_pstn_password":null,"zoom_meeting_h323_password":null,"zoom_meeting_global_dial_in_numbers":[],"shortcut_story_id":null,"shortcut_story_url":null,"shortcut_task_id":null,"shortcut_task_url":null,"asana_task_id":null,"asana_task_url":null,"github_issue_id":null,"github_issue_url":null,"gitlab_issue_id":null,"gitlab_issue_url":null,"jira_issue_key":null,"jira_issue_id":null,"jira_issue_url":null,"google_meeting_id":null,"google_meeting_url":null,"trello_card_id":null,"trello_card_url":null,"linear_issue_id":null,"linear_issue_url":null,"zendesk_ticket_id":null,"zendesk_ticket_url":null,"motion_task_id":null,"motion_task_url":null,"clickup_task_id":null,"clickup_task_url":null,"slack_channel_name":null,"slack_channel_id":null,"slack_channel_url":null,"slack_channel_short_url":null,"slack_channel_deep_link":null,"slack_channel_archived":false,"slack_last_message_ts":null,"service_now_incident_id":null,"service_now_incident_key":null,"service_now_incident_url":null,"opsgenie_incident_id":null,"opsgenie_incident_url":null,"opsgenie_alert_id":null,"opsgenie_alert_url":null,"victor_ops_incident_id":null,"victor_ops_incident_url":null,"pagerduty_incident_id":null,"pagerduty_incident_number":null,"pagerduty_incident_url":null,"mattermost_channel_id":null,"mattermost_channel_name":null,"mattermost_channel_url":null,"confluence_page_id":null,"confluence_page_url":null,"quip_page_id":null,"quip_page_url":null,"airtable_base_key":null,"airtable_table_name":null,"airtable_record_id":null,"airtable_record_url":null,"google_drive_id":null,"google_drive_parent_id":null,"google_drive_url":null,"sharepoint_page_id":null,"sharepoint_page_url":null,"datadog_notebook_id":null,"datadog_notebook_url":null,"freshservice_ticket_id":null,"freshservice_ticket_url":null,"freshservice_task_id":null,"freshservice_task_url":null,"scheduled_for":null,"scheduled_until":null,"in_triage_at":null,"started_at":"2025-03-17T17:07:20.649-07:00","detected_at":null,"acknowledged_at":null,"mitigated_at":null,"resolved_at":null,"closed_at":null,"cancelled_at":null,"created_at":"2025-03-17T17:07:20.649-07:00","updated_at":"2025-03-17T17:07:32.722-07:00","labels":{}},"relationships":{"causes":{"data":[]},"subscribers":{"data":[]},"roles":{"data":[]},"environments":{"data":[]},"incident_types":{"data":[]},"services":{"data":[]},"functionalities":{"data":[]},"groups":{"data":[]},"events":{"data":[{"id":"07014cf2-18f3-4a78-be29-39e5baa7d26b","type":"incident_events"},{"id":"5061a064-baa1-4095-a45f-56fdcd060e36","type":"incident_events"},{"id":"a1083a28-c39f-4ead-995d-466450c66901","type":"incident_events"},{"id":"88bed702-abbe-462d-a601-dc4f8a2c7813","type":"incident_events"}]},"action_items":{"data":[]},"custom_field_selections":{"data":[]},"feedbacks":{"data":[]},"attachments":{"data":[]},"slack_messages":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/incident_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_incident"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/incidents/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an incident","security":[{"bearer_auth":[]}],"tags":["Incidents"],"description":"Delete a specific incident by id","operationId":"deleteIncident","responses":{"200":{"description":"incident deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"a86f619d-90ba-48fe-a527-cae4aba47d87","type":"incidents","attributes":{"parent_incident_id":null,"sequential_id":1,"title":"Velit deserunt delectus tempora.","slug":"velit-deserunt-delectus-tempora","kind":"normal","private":false,"summary":"Quasi est itaque. Dolor commodi quasi. Aut natus animi.","status":"started","source":"web","url":"http://localhost:3001/account/incidents/1-velit-deserunt-delectus-tempora","short_url":null,"user":{"data":{"id":"315","type":"users","attributes":{"name":"Shad Schmitt","email":"noemi@ryan.example","phone":null,"phone_2":null,"full_name":"Shad Schmitt","full_name_with_team":"[McKenzie, McGlynn and Hamill] Shad Schmitt","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:20.676-07:00","created_at":"2025-03-17T17:07:20.227-07:00"},"relationships":{"email_addresses":{"data":[{"id":"2b2298c7-6e95-433b-b2f7-b2e89d29d9c2","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"severity":{"data":{"id":"2bed8b25-bdc3-43f2-b554-4d12556d53c6","type":"severities","attributes":{"name":"axuza","slug":"axuza","description":"Veniam repudiandae similique unde.","severity":"medium","color":"#E58A1F","position":1,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:07:20.642-07:00","updated_at":"2025-03-17T17:07:20.642-07:00"}}},"in_triage_by":null,"started_by":{"data":{"id":"315","type":"users","attributes":{"name":"Shad Schmitt","email":"noemi@ryan.example","phone":null,"phone_2":null,"full_name":"Shad Schmitt","full_name_with_team":"[McKenzie, McGlynn and Hamill] Shad Schmitt","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:20.676-07:00","created_at":"2025-03-17T17:07:20.227-07:00"},"relationships":{"email_addresses":{"data":[{"id":"2b2298c7-6e95-433b-b2f7-b2e89d29d9c2","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"mitigated_by":null,"resolved_by":null,"closed_by":null,"cancelled_by":null,"mitigation_message":null,"resolution_message":null,"cancellation_message":null,"public_title":null,"duplicate_incident_id":null,"retrospective_progress_status":"not_started","zoom_meeting_id":null,"zoom_meeting_start_url":null,"zoom_meeting_join_url":null,"zoom_meeting_password":null,"zoom_meeting_pstn_password":null,"zoom_meeting_h323_password":null,"zoom_meeting_global_dial_in_numbers":[],"shortcut_story_id":null,"shortcut_story_url":null,"shortcut_task_id":null,"shortcut_task_url":null,"asana_task_id":null,"asana_task_url":null,"github_issue_id":null,"github_issue_url":null,"gitlab_issue_id":null,"gitlab_issue_url":null,"jira_issue_key":null,"jira_issue_id":null,"jira_issue_url":null,"google_meeting_id":null,"google_meeting_url":null,"trello_card_id":null,"trello_card_url":null,"linear_issue_id":null,"linear_issue_url":null,"zendesk_ticket_id":null,"zendesk_ticket_url":null,"motion_task_id":null,"motion_task_url":null,"clickup_task_id":null,"clickup_task_url":null,"slack_channel_name":null,"slack_channel_id":null,"slack_channel_url":null,"slack_channel_short_url":null,"slack_channel_deep_link":null,"slack_channel_archived":false,"slack_last_message_ts":null,"service_now_incident_id":null,"service_now_incident_key":null,"service_now_incident_url":null,"opsgenie_incident_id":null,"opsgenie_incident_url":null,"opsgenie_alert_id":null,"opsgenie_alert_url":null,"victor_ops_incident_id":null,"victor_ops_incident_url":null,"pagerduty_incident_id":null,"pagerduty_incident_number":null,"pagerduty_incident_url":null,"mattermost_channel_id":null,"mattermost_channel_name":null,"mattermost_channel_url":null,"confluence_page_id":null,"confluence_page_url":null,"quip_page_id":null,"quip_page_url":null,"airtable_base_key":null,"airtable_table_name":null,"airtable_record_id":null,"airtable_record_url":null,"google_drive_id":null,"google_drive_parent_id":null,"google_drive_url":null,"sharepoint_page_id":null,"sharepoint_page_url":null,"datadog_notebook_id":null,"datadog_notebook_url":null,"freshservice_ticket_id":null,"freshservice_ticket_url":null,"freshservice_task_id":null,"freshservice_task_url":null,"scheduled_for":null,"scheduled_until":null,"in_triage_at":null,"started_at":"2025-03-17T17:07:20.649-07:00","detected_at":null,"acknowledged_at":null,"mitigated_at":null,"resolved_at":null,"closed_at":null,"cancelled_at":null,"created_at":"2025-03-17T17:07:20.649-07:00","updated_at":"2025-03-17T17:07:33.767-07:00","labels":{}},"relationships":{"causes":{"data":[]},"subscribers":{"data":[]},"roles":{"data":[]},"environments":{"data":[]},"incident_types":{"data":[]},"services":{"data":[]},"functionalities":{"data":[]},"groups":{"data":[]},"events":{"data":[{"id":"a1083a28-c39f-4ead-995d-466450c66901","type":"incident_events"},{"id":"88bed702-abbe-462d-a601-dc4f8a2c7813","type":"incident_events"}]},"action_items":{"data":[]},"custom_field_selections":{"data":[]},"feedbacks":{"data":[]},"attachments":{"data":[]},"slack_messages":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/incident_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/incidents/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incidents/{id}/mitigate":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"put":{"summary":"Mitigate an incident","security":[{"bearer_auth":[]}],"tags":["Incidents"],"description":"Mitigate a specific incident by id","operationId":"mitigateIncident","parameters":[],"responses":{"200":{"description":"incident mitigated","content":{"application/vnd.api+json":{"example":{"data":{"id":"a86f619d-90ba-48fe-a527-cae4aba47d87","type":"incidents","attributes":{"parent_incident_id":null,"sequential_id":1,"title":"Velit deserunt delectus tempora.","slug":"velit-deserunt-delectus-tempora","kind":"normal","private":false,"summary":"Quasi est itaque. Dolor commodi quasi. Aut natus animi.","status":"mitigated","source":"web","url":"http://localhost:3001/account/incidents/1-velit-deserunt-delectus-tempora","short_url":null,"user":{"data":{"id":"315","type":"users","attributes":{"name":"Shad Schmitt","email":"noemi@ryan.example","phone":null,"phone_2":null,"full_name":"Shad Schmitt","full_name_with_team":"[McKenzie, McGlynn and Hamill] Shad Schmitt","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:20.676-07:00","created_at":"2025-03-17T17:07:20.227-07:00"},"relationships":{"email_addresses":{"data":[{"id":"2b2298c7-6e95-433b-b2f7-b2e89d29d9c2","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"severity":{"data":{"id":"2bed8b25-bdc3-43f2-b554-4d12556d53c6","type":"severities","attributes":{"name":"axuza","slug":"axuza","description":"Veniam repudiandae similique unde.","severity":"medium","color":"#E58A1F","position":1,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:07:20.642-07:00","updated_at":"2025-03-17T17:07:20.642-07:00"}}},"in_triage_by":null,"started_by":{"data":{"id":"315","type":"users","attributes":{"name":"Shad Schmitt","email":"noemi@ryan.example","phone":null,"phone_2":null,"full_name":"Shad Schmitt","full_name_with_team":"[McKenzie, McGlynn and Hamill] Shad Schmitt","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:20.676-07:00","created_at":"2025-03-17T17:07:20.227-07:00"},"relationships":{"email_addresses":{"data":[{"id":"2b2298c7-6e95-433b-b2f7-b2e89d29d9c2","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"mitigated_by":{"data":{"id":"313","type":"users","attributes":{"name":"Tomas Kilback","email":"camelia@baumbach.test","phone":null,"phone_2":null,"full_name":"Tomas Kilback","full_name_with_team":"[McKenzie, McGlynn and Hamill] Tomas Kilback","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:34.568-07:00","created_at":"2025-03-17T17:07:19.245-07:00"},"relationships":{"email_addresses":{"data":[{"id":"36e1bf90-b06a-44d6-83e4-4248abcf3618","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"resolved_by":null,"closed_by":null,"cancelled_by":null,"mitigation_message":"Restart database fixed it!","resolution_message":null,"cancellation_message":null,"public_title":null,"duplicate_incident_id":null,"retrospective_progress_status":"not_started","zoom_meeting_id":null,"zoom_meeting_start_url":null,"zoom_meeting_join_url":null,"zoom_meeting_password":null,"zoom_meeting_pstn_password":null,"zoom_meeting_h323_password":null,"zoom_meeting_global_dial_in_numbers":[],"shortcut_story_id":null,"shortcut_story_url":null,"shortcut_task_id":null,"shortcut_task_url":null,"asana_task_id":null,"asana_task_url":null,"github_issue_id":null,"github_issue_url":null,"gitlab_issue_id":null,"gitlab_issue_url":null,"jira_issue_key":null,"jira_issue_id":null,"jira_issue_url":null,"google_meeting_id":null,"google_meeting_url":null,"trello_card_id":null,"trello_card_url":null,"linear_issue_id":null,"linear_issue_url":null,"zendesk_ticket_id":null,"zendesk_ticket_url":null,"motion_task_id":null,"motion_task_url":null,"clickup_task_id":null,"clickup_task_url":null,"slack_channel_name":null,"slack_channel_id":null,"slack_channel_url":null,"slack_channel_short_url":null,"slack_channel_deep_link":null,"slack_channel_archived":false,"slack_last_message_ts":null,"service_now_incident_id":null,"service_now_incident_key":null,"service_now_incident_url":null,"opsgenie_incident_id":null,"opsgenie_incident_url":null,"opsgenie_alert_id":null,"opsgenie_alert_url":null,"victor_ops_incident_id":null,"victor_ops_incident_url":null,"pagerduty_incident_id":null,"pagerduty_incident_number":null,"pagerduty_incident_url":null,"mattermost_channel_id":null,"mattermost_channel_name":null,"mattermost_channel_url":null,"confluence_page_id":null,"confluence_page_url":null,"quip_page_id":null,"quip_page_url":null,"airtable_base_key":null,"airtable_table_name":null,"airtable_record_id":null,"airtable_record_url":null,"google_drive_id":null,"google_drive_parent_id":null,"google_drive_url":null,"sharepoint_page_id":null,"sharepoint_page_url":null,"datadog_notebook_id":null,"datadog_notebook_url":null,"freshservice_ticket_id":null,"freshservice_ticket_url":null,"freshservice_task_id":null,"freshservice_task_url":null,"scheduled_for":null,"scheduled_until":null,"in_triage_at":null,"started_at":"2025-03-17T17:07:20.649-07:00","detected_at":null,"acknowledged_at":null,"mitigated_at":"2025-03-17T17:07:34.755-07:00","resolved_at":null,"closed_at":null,"cancelled_at":null,"created_at":"2025-03-17T17:07:20.649-07:00","updated_at":"2025-03-17T17:07:34.768-07:00","labels":{}},"relationships":{"incident_post_mortem":{"data":{"id":"4bb3974b-673f-4972-acff-3167e09d2aac","type":"incident_post_mortems"}},"causes":{"data":[]},"subscribers":{"data":[]},"roles":{"data":[]},"environments":{"data":[]},"incident_types":{"data":[]},"services":{"data":[]},"functionalities":{"data":[]},"groups":{"data":[]},"events":{"data":[{"id":"c458e8d9-33d3-4e82-b896-6e150bf6f894","type":"incident_events"},{"id":"a1083a28-c39f-4ead-995d-466450c66901","type":"incident_events"},{"id":"88bed702-abbe-462d-a601-dc4f8a2c7813","type":"incident_events"}]},"action_items":{"data":[]},"custom_field_selections":{"data":[]},"feedbacks":{"data":[]},"attachments":{"data":[]},"slack_messages":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/incident_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/mitigate_incident"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/incidents/%7Bid%7D/mitigate \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bid%7D/mitigate\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bid%7D/mitigate\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bid%7D/mitigate\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incidents/{id}/resolve":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"put":{"summary":"Resolve an incident","security":[{"bearer_auth":[]}],"tags":["Incidents"],"description":"Resolve a specific incident by id","operationId":"resolveIncident","parameters":[],"responses":{"200":{"description":"incident resolved","content":{"application/vnd.api+json":{"example":{"data":{"id":"a86f619d-90ba-48fe-a527-cae4aba47d87","type":"incidents","attributes":{"parent_incident_id":null,"sequential_id":1,"title":"Velit deserunt delectus tempora.","slug":"velit-deserunt-delectus-tempora","kind":"normal","private":false,"summary":"Quasi est itaque. Dolor commodi quasi. Aut natus animi.","status":"resolved","source":"web","url":"http://localhost:3001/account/incidents/1-velit-deserunt-delectus-tempora","short_url":null,"user":{"data":{"id":"315","type":"users","attributes":{"name":"Shad Schmitt","email":"noemi@ryan.example","phone":null,"phone_2":null,"full_name":"Shad Schmitt","full_name_with_team":"[McKenzie, McGlynn and Hamill] Shad Schmitt","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:20.676-07:00","created_at":"2025-03-17T17:07:20.227-07:00"},"relationships":{"email_addresses":{"data":[{"id":"2b2298c7-6e95-433b-b2f7-b2e89d29d9c2","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"severity":{"data":{"id":"2bed8b25-bdc3-43f2-b554-4d12556d53c6","type":"severities","attributes":{"name":"axuza","slug":"axuza","description":"Veniam repudiandae similique unde.","severity":"medium","color":"#E58A1F","position":1,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:07:20.642-07:00","updated_at":"2025-03-17T17:07:20.642-07:00"}}},"in_triage_by":null,"started_by":{"data":{"id":"315","type":"users","attributes":{"name":"Shad Schmitt","email":"noemi@ryan.example","phone":null,"phone_2":null,"full_name":"Shad Schmitt","full_name_with_team":"[McKenzie, McGlynn and Hamill] Shad Schmitt","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:20.676-07:00","created_at":"2025-03-17T17:07:20.227-07:00"},"relationships":{"email_addresses":{"data":[{"id":"2b2298c7-6e95-433b-b2f7-b2e89d29d9c2","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"mitigated_by":null,"resolved_by":{"data":{"id":"313","type":"users","attributes":{"name":"Tomas Kilback","email":"camelia@baumbach.test","phone":null,"phone_2":null,"full_name":"Tomas Kilback","full_name_with_team":"[McKenzie, McGlynn and Hamill] Tomas Kilback","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:35.655-07:00","created_at":"2025-03-17T17:07:19.245-07:00"},"relationships":{"email_addresses":{"data":[{"id":"36e1bf90-b06a-44d6-83e4-4248abcf3618","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"closed_by":null,"cancelled_by":null,"mitigation_message":null,"resolution_message":"Restart database fixed it!","cancellation_message":null,"public_title":null,"duplicate_incident_id":null,"retrospective_progress_status":"not_started","zoom_meeting_id":null,"zoom_meeting_start_url":null,"zoom_meeting_join_url":null,"zoom_meeting_password":null,"zoom_meeting_pstn_password":null,"zoom_meeting_h323_password":null,"zoom_meeting_global_dial_in_numbers":[],"shortcut_story_id":null,"shortcut_story_url":null,"shortcut_task_id":null,"shortcut_task_url":null,"asana_task_id":null,"asana_task_url":null,"github_issue_id":null,"github_issue_url":null,"gitlab_issue_id":null,"gitlab_issue_url":null,"jira_issue_key":null,"jira_issue_id":null,"jira_issue_url":null,"google_meeting_id":null,"google_meeting_url":null,"trello_card_id":null,"trello_card_url":null,"linear_issue_id":null,"linear_issue_url":null,"zendesk_ticket_id":null,"zendesk_ticket_url":null,"motion_task_id":null,"motion_task_url":null,"clickup_task_id":null,"clickup_task_url":null,"slack_channel_name":null,"slack_channel_id":null,"slack_channel_url":null,"slack_channel_short_url":null,"slack_channel_deep_link":null,"slack_channel_archived":false,"slack_last_message_ts":null,"service_now_incident_id":null,"service_now_incident_key":null,"service_now_incident_url":null,"opsgenie_incident_id":null,"opsgenie_incident_url":null,"opsgenie_alert_id":null,"opsgenie_alert_url":null,"victor_ops_incident_id":null,"victor_ops_incident_url":null,"pagerduty_incident_id":null,"pagerduty_incident_number":null,"pagerduty_incident_url":null,"mattermost_channel_id":null,"mattermost_channel_name":null,"mattermost_channel_url":null,"confluence_page_id":null,"confluence_page_url":null,"quip_page_id":null,"quip_page_url":null,"airtable_base_key":null,"airtable_table_name":null,"airtable_record_id":null,"airtable_record_url":null,"google_drive_id":null,"google_drive_parent_id":null,"google_drive_url":null,"sharepoint_page_id":null,"sharepoint_page_url":null,"datadog_notebook_id":null,"datadog_notebook_url":null,"freshservice_ticket_id":null,"freshservice_ticket_url":null,"freshservice_task_id":null,"freshservice_task_url":null,"scheduled_for":null,"scheduled_until":null,"in_triage_at":null,"started_at":"2025-03-17T17:07:20.649-07:00","detected_at":null,"acknowledged_at":null,"mitigated_at":"2025-03-17T17:07:35.859-07:00","resolved_at":"2025-03-17T17:07:35.859-07:00","closed_at":null,"cancelled_at":null,"created_at":"2025-03-17T17:07:20.649-07:00","updated_at":"2025-03-17T17:07:35.881-07:00","labels":{}},"relationships":{"incident_post_mortem":{"data":{"id":"4bb3974b-673f-4972-acff-3167e09d2aac","type":"incident_post_mortems"}},"causes":{"data":[]},"subscribers":{"data":[]},"roles":{"data":[]},"environments":{"data":[]},"incident_types":{"data":[]},"services":{"data":[]},"functionalities":{"data":[]},"groups":{"data":[]},"events":{"data":[{"id":"ab9b51b2-4e47-4f22-a8df-3a88df43861e","type":"incident_events"},{"id":"a1083a28-c39f-4ead-995d-466450c66901","type":"incident_events"},{"id":"88bed702-abbe-462d-a601-dc4f8a2c7813","type":"incident_events"}]},"action_items":{"data":[]},"custom_field_selections":{"data":[]},"feedbacks":{"data":[]},"attachments":{"data":[]},"slack_messages":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/incident_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/resolve_incident"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/incidents/%7Bid%7D/resolve \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bid%7D/resolve\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bid%7D/resolve\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bid%7D/resolve\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incidents/{id}/cancel":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"put":{"summary":"Cancel an incident","security":[{"bearer_auth":[]}],"tags":["Incidents"],"description":"Cancel a specific incident by id","operationId":"cancelIncident","parameters":[],"responses":{"200":{"description":"incident cancel","content":{"application/vnd.api+json":{"example":{"data":{"id":"a86f619d-90ba-48fe-a527-cae4aba47d87","type":"incidents","attributes":{"parent_incident_id":null,"sequential_id":1,"title":"Velit deserunt delectus tempora.","slug":"velit-deserunt-delectus-tempora","kind":"normal","private":false,"summary":"Quasi est itaque. Dolor commodi quasi. Aut natus animi.","status":"cancelled","source":"web","url":"http://localhost:3001/account/incidents/1-velit-deserunt-delectus-tempora","short_url":null,"user":{"data":{"id":"315","type":"users","attributes":{"name":"Shad Schmitt","email":"noemi@ryan.example","phone":null,"phone_2":null,"full_name":"Shad Schmitt","full_name_with_team":"[McKenzie, McGlynn and Hamill] Shad Schmitt","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:20.676-07:00","created_at":"2025-03-17T17:07:20.227-07:00"},"relationships":{"email_addresses":{"data":[{"id":"2b2298c7-6e95-433b-b2f7-b2e89d29d9c2","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"severity":{"data":{"id":"2bed8b25-bdc3-43f2-b554-4d12556d53c6","type":"severities","attributes":{"name":"axuza","slug":"axuza","description":"Veniam repudiandae similique unde.","severity":"medium","color":"#E58A1F","position":1,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:07:20.642-07:00","updated_at":"2025-03-17T17:07:20.642-07:00"}}},"in_triage_by":null,"started_by":{"data":{"id":"315","type":"users","attributes":{"name":"Shad Schmitt","email":"noemi@ryan.example","phone":null,"phone_2":null,"full_name":"Shad Schmitt","full_name_with_team":"[McKenzie, McGlynn and Hamill] Shad Schmitt","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:20.676-07:00","created_at":"2025-03-17T17:07:20.227-07:00"},"relationships":{"email_addresses":{"data":[{"id":"2b2298c7-6e95-433b-b2f7-b2e89d29d9c2","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"mitigated_by":null,"resolved_by":null,"closed_by":null,"cancelled_by":{"data":{"id":"313","type":"users","attributes":{"name":"Tomas Kilback","email":"camelia@baumbach.test","phone":null,"phone_2":null,"full_name":"Tomas Kilback","full_name_with_team":"[McKenzie, McGlynn and Hamill] Tomas Kilback","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:36.787-07:00","created_at":"2025-03-17T17:07:19.245-07:00"},"relationships":{"email_addresses":{"data":[{"id":"36e1bf90-b06a-44d6-83e4-4248abcf3618","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"mitigation_message":null,"resolution_message":null,"cancellation_message":"Nevermind!","public_title":null,"duplicate_incident_id":null,"retrospective_progress_status":"not_started","zoom_meeting_id":null,"zoom_meeting_start_url":null,"zoom_meeting_join_url":null,"zoom_meeting_password":null,"zoom_meeting_pstn_password":null,"zoom_meeting_h323_password":null,"zoom_meeting_global_dial_in_numbers":[],"shortcut_story_id":null,"shortcut_story_url":null,"shortcut_task_id":null,"shortcut_task_url":null,"asana_task_id":null,"asana_task_url":null,"github_issue_id":null,"github_issue_url":null,"gitlab_issue_id":null,"gitlab_issue_url":null,"jira_issue_key":null,"jira_issue_id":null,"jira_issue_url":null,"google_meeting_id":null,"google_meeting_url":null,"trello_card_id":null,"trello_card_url":null,"linear_issue_id":null,"linear_issue_url":null,"zendesk_ticket_id":null,"zendesk_ticket_url":null,"motion_task_id":null,"motion_task_url":null,"clickup_task_id":null,"clickup_task_url":null,"slack_channel_name":null,"slack_channel_id":null,"slack_channel_url":null,"slack_channel_short_url":null,"slack_channel_deep_link":null,"slack_channel_archived":false,"slack_last_message_ts":null,"service_now_incident_id":null,"service_now_incident_key":null,"service_now_incident_url":null,"opsgenie_incident_id":null,"opsgenie_incident_url":null,"opsgenie_alert_id":null,"opsgenie_alert_url":null,"victor_ops_incident_id":null,"victor_ops_incident_url":null,"pagerduty_incident_id":null,"pagerduty_incident_number":null,"pagerduty_incident_url":null,"mattermost_channel_id":null,"mattermost_channel_name":null,"mattermost_channel_url":null,"confluence_page_id":null,"confluence_page_url":null,"quip_page_id":null,"quip_page_url":null,"airtable_base_key":null,"airtable_table_name":null,"airtable_record_id":null,"airtable_record_url":null,"google_drive_id":null,"google_drive_parent_id":null,"google_drive_url":null,"sharepoint_page_id":null,"sharepoint_page_url":null,"datadog_notebook_id":null,"datadog_notebook_url":null,"freshservice_ticket_id":null,"freshservice_ticket_url":null,"freshservice_task_id":null,"freshservice_task_url":null,"scheduled_for":null,"scheduled_until":null,"in_triage_at":null,"started_at":"2025-03-17T17:07:20.649-07:00","detected_at":null,"acknowledged_at":null,"mitigated_at":null,"resolved_at":null,"closed_at":null,"cancelled_at":"2025-03-17T17:07:36.995-07:00","created_at":"2025-03-17T17:07:20.649-07:00","updated_at":"2025-03-17T17:07:37.009-07:00","labels":{}},"relationships":{"incident_post_mortem":{"data":{"id":"4bb3974b-673f-4972-acff-3167e09d2aac","type":"incident_post_mortems"}},"causes":{"data":[]},"subscribers":{"data":[]},"roles":{"data":[]},"environments":{"data":[]},"incident_types":{"data":[]},"services":{"data":[]},"functionalities":{"data":[]},"groups":{"data":[]},"events":{"data":[{"id":"d5732951-2536-4135-bb7c-464f71a66e66","type":"incident_events"},{"id":"a1083a28-c39f-4ead-995d-466450c66901","type":"incident_events"},{"id":"88bed702-abbe-462d-a601-dc4f8a2c7813","type":"incident_events"}]},"action_items":{"data":[]},"custom_field_selections":{"data":[]},"feedbacks":{"data":[]},"attachments":{"data":[]},"slack_messages":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/incident_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/cancel_incident"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/incidents/%7Bid%7D/cancel \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bid%7D/cancel\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bid%7D/cancel\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bid%7D/cancel\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incidents/{id}/in_triage":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"put":{"summary":"Triage an incident","security":[{"bearer_auth":[]}],"tags":["Incidents"],"description":"Set a specific incident by ID to triage state","operationId":"triageIncident","parameters":[],"responses":{"200":{"description":"incident set to triage","content":{"application/vnd.api+json":{"example":{"data":{"id":"5744a7c2-40f9-455b-92c5-f9f75218be94","type":"incidents","attributes":{"parent_incident_id":null,"sequential_id":3,"title":"Porro corrupti soluta modi.","slug":"porro-corrupti-soluta-modi","kind":"normal","private":false,"summary":"Quidem illo nobis. Quae ipsa facilis. Assumenda voluptatem tempora.","status":"in_triage","source":"web","url":"http://localhost:3001/account/incidents/3-porro-corrupti-soluta-modi","short_url":null,"user":{"data":{"id":"318","type":"users","attributes":{"name":"Lanny Reynolds","email":"marlin@spencer.example","phone":null,"phone_2":null,"full_name":"Lanny Reynolds","full_name_with_team":"[McKenzie, McGlynn and Hamill] Lanny Reynolds","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:22.377-07:00","created_at":"2025-03-17T17:07:21.873-07:00"},"relationships":{"email_addresses":{"data":[{"id":"aedb558f-5973-4de3-86e8-89ebdcc0acaa","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"severity":{"data":{"id":"e722efc5-0124-4fc6-9dc5-183c7aed2160","type":"severities","attributes":{"name":"1vzym","slug":"1vzym","description":"Ab voluptatem ut debitis.","severity":"medium","color":"#E58A1F","position":1,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:07:22.303-07:00","updated_at":"2025-03-17T17:07:22.303-07:00"}}},"in_triage_by":{"data":{"id":"313","type":"users","attributes":{"name":"Tomas Kilback","email":"camelia@baumbach.test","phone":null,"phone_2":null,"full_name":"Tomas Kilback","full_name_with_team":"[McKenzie, McGlynn and Hamill] Tomas Kilback","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:37.898-07:00","created_at":"2025-03-17T17:07:19.245-07:00"},"relationships":{"email_addresses":{"data":[{"id":"36e1bf90-b06a-44d6-83e4-4248abcf3618","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"started_by":{"data":{"id":"318","type":"users","attributes":{"name":"Lanny Reynolds","email":"marlin@spencer.example","phone":null,"phone_2":null,"full_name":"Lanny Reynolds","full_name_with_team":"[McKenzie, McGlynn and Hamill] Lanny Reynolds","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:22.377-07:00","created_at":"2025-03-17T17:07:21.873-07:00"},"relationships":{"email_addresses":{"data":[{"id":"aedb558f-5973-4de3-86e8-89ebdcc0acaa","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"mitigated_by":null,"resolved_by":null,"closed_by":null,"cancelled_by":null,"mitigation_message":null,"resolution_message":null,"cancellation_message":null,"public_title":null,"duplicate_incident_id":null,"retrospective_progress_status":"not_started","zoom_meeting_id":null,"zoom_meeting_start_url":null,"zoom_meeting_join_url":null,"zoom_meeting_password":null,"zoom_meeting_pstn_password":null,"zoom_meeting_h323_password":null,"zoom_meeting_global_dial_in_numbers":[],"shortcut_story_id":null,"shortcut_story_url":null,"shortcut_task_id":null,"shortcut_task_url":null,"asana_task_id":null,"asana_task_url":null,"github_issue_id":null,"github_issue_url":null,"gitlab_issue_id":null,"gitlab_issue_url":null,"jira_issue_key":null,"jira_issue_id":null,"jira_issue_url":null,"google_meeting_id":null,"google_meeting_url":null,"trello_card_id":null,"trello_card_url":null,"linear_issue_id":null,"linear_issue_url":null,"zendesk_ticket_id":null,"zendesk_ticket_url":null,"motion_task_id":null,"motion_task_url":null,"clickup_task_id":null,"clickup_task_url":null,"slack_channel_name":null,"slack_channel_id":null,"slack_channel_url":null,"slack_channel_short_url":null,"slack_channel_deep_link":null,"slack_channel_archived":false,"slack_last_message_ts":null,"service_now_incident_id":null,"service_now_incident_key":null,"service_now_incident_url":null,"opsgenie_incident_id":null,"opsgenie_incident_url":null,"opsgenie_alert_id":null,"opsgenie_alert_url":null,"victor_ops_incident_id":null,"victor_ops_incident_url":null,"pagerduty_incident_id":null,"pagerduty_incident_number":null,"pagerduty_incident_url":null,"mattermost_channel_id":null,"mattermost_channel_name":null,"mattermost_channel_url":null,"confluence_page_id":null,"confluence_page_url":null,"quip_page_id":null,"quip_page_url":null,"airtable_base_key":null,"airtable_table_name":null,"airtable_record_id":null,"airtable_record_url":null,"google_drive_id":null,"google_drive_parent_id":null,"google_drive_url":null,"sharepoint_page_id":null,"sharepoint_page_url":null,"datadog_notebook_id":null,"datadog_notebook_url":null,"freshservice_ticket_id":null,"freshservice_ticket_url":null,"freshservice_task_id":null,"freshservice_task_url":null,"scheduled_for":null,"scheduled_until":null,"in_triage_at":"2025-03-17T17:07:38.102-07:00","started_at":null,"detected_at":null,"acknowledged_at":null,"mitigated_at":null,"resolved_at":null,"closed_at":null,"cancelled_at":null,"created_at":"2025-03-17T17:07:22.310-07:00","updated_at":"2025-03-17T17:07:38.149-07:00","labels":{}},"relationships":{"incident_post_mortem":{"data":{"id":"8e0c01c1-acf1-4cae-a2dd-b2f87b1e8b3f","type":"incident_post_mortems"}},"causes":{"data":[]},"subscribers":{"data":[]},"roles":{"data":[]},"environments":{"data":[]},"incident_types":{"data":[]},"services":{"data":[]},"functionalities":{"data":[]},"groups":{"data":[]},"events":{"data":[{"id":"6a6bb6e6-a8a4-4244-9304-270b1086c5da","type":"incident_events"},{"id":"0d2ba2c7-8eaa-4dd2-a15f-8716233c5ab0","type":"incident_events"},{"id":"ddeee16f-c2bb-48a6-8c64-a87702516a10","type":"incident_events"},{"id":"9d481f21-a2bc-49a5-aa08-23b2897250a0","type":"incident_events"}]},"action_items":{"data":[]},"custom_field_selections":{"data":[]},"feedbacks":{"data":[]},"attachments":{"data":[]},"slack_messages":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/incident_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/in_triage_incident"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/incidents/%7Bid%7D/in_triage \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bid%7D/in_triage\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bid%7D/in_triage\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bid%7D/in_triage\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incidents/{id}/restart":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"put":{"summary":"Restart an incident","security":[{"bearer_auth":[]}],"tags":["Incidents"],"description":"Restart a specific incident by id","operationId":"restartIncident","parameters":[],"responses":{"200":{"description":"incident restarted","content":{"application/vnd.api+json":{"example":{"data":{"id":"5744a7c2-40f9-455b-92c5-f9f75218be94","type":"incidents","attributes":{"parent_incident_id":null,"sequential_id":3,"title":"Porro corrupti soluta modi.","slug":"porro-corrupti-soluta-modi","kind":"normal","private":false,"summary":"Quidem illo nobis. Quae ipsa facilis. Assumenda voluptatem tempora.","status":"started","source":"web","url":"http://localhost:3001/account/incidents/3-porro-corrupti-soluta-modi","short_url":null,"user":{"data":{"id":"318","type":"users","attributes":{"name":"Lanny Reynolds","email":"marlin@spencer.example","phone":null,"phone_2":null,"full_name":"Lanny Reynolds","full_name_with_team":"[McKenzie, McGlynn and Hamill] Lanny Reynolds","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:22.377-07:00","created_at":"2025-03-17T17:07:21.873-07:00"},"relationships":{"email_addresses":{"data":[{"id":"aedb558f-5973-4de3-86e8-89ebdcc0acaa","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"severity":{"data":{"id":"e722efc5-0124-4fc6-9dc5-183c7aed2160","type":"severities","attributes":{"name":"1vzym","slug":"1vzym","description":"Ab voluptatem ut debitis.","severity":"medium","color":"#E58A1F","position":1,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:07:22.303-07:00","updated_at":"2025-03-17T17:07:22.303-07:00"}}},"in_triage_by":null,"started_by":{"data":{"id":"313","type":"users","attributes":{"name":"Tomas Kilback","email":"camelia@baumbach.test","phone":null,"phone_2":null,"full_name":"Tomas Kilback","full_name_with_team":"[McKenzie, McGlynn and Hamill] Tomas Kilback","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:39.060-07:00","created_at":"2025-03-17T17:07:19.245-07:00"},"relationships":{"email_addresses":{"data":[{"id":"36e1bf90-b06a-44d6-83e4-4248abcf3618","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"mitigated_by":null,"resolved_by":null,"closed_by":null,"cancelled_by":null,"mitigation_message":null,"resolution_message":null,"cancellation_message":null,"public_title":null,"duplicate_incident_id":null,"retrospective_progress_status":"not_started","zoom_meeting_id":null,"zoom_meeting_start_url":null,"zoom_meeting_join_url":null,"zoom_meeting_password":null,"zoom_meeting_pstn_password":null,"zoom_meeting_h323_password":null,"zoom_meeting_global_dial_in_numbers":[],"shortcut_story_id":null,"shortcut_story_url":null,"shortcut_task_id":null,"shortcut_task_url":null,"asana_task_id":null,"asana_task_url":null,"github_issue_id":null,"github_issue_url":null,"gitlab_issue_id":null,"gitlab_issue_url":null,"jira_issue_key":null,"jira_issue_id":null,"jira_issue_url":null,"google_meeting_id":null,"google_meeting_url":null,"trello_card_id":null,"trello_card_url":null,"linear_issue_id":null,"linear_issue_url":null,"zendesk_ticket_id":null,"zendesk_ticket_url":null,"motion_task_id":null,"motion_task_url":null,"clickup_task_id":null,"clickup_task_url":null,"slack_channel_name":null,"slack_channel_id":null,"slack_channel_url":null,"slack_channel_short_url":null,"slack_channel_deep_link":null,"slack_channel_archived":false,"slack_last_message_ts":null,"service_now_incident_id":null,"service_now_incident_key":null,"service_now_incident_url":null,"opsgenie_incident_id":null,"opsgenie_incident_url":null,"opsgenie_alert_id":null,"opsgenie_alert_url":null,"victor_ops_incident_id":null,"victor_ops_incident_url":null,"pagerduty_incident_id":null,"pagerduty_incident_number":null,"pagerduty_incident_url":null,"mattermost_channel_id":null,"mattermost_channel_name":null,"mattermost_channel_url":null,"confluence_page_id":null,"confluence_page_url":null,"quip_page_id":null,"quip_page_url":null,"airtable_base_key":null,"airtable_table_name":null,"airtable_record_id":null,"airtable_record_url":null,"google_drive_id":null,"google_drive_parent_id":null,"google_drive_url":null,"sharepoint_page_id":null,"sharepoint_page_url":null,"datadog_notebook_id":null,"datadog_notebook_url":null,"freshservice_ticket_id":null,"freshservice_ticket_url":null,"freshservice_task_id":null,"freshservice_task_url":null,"scheduled_for":null,"scheduled_until":null,"in_triage_at":null,"started_at":"2025-03-17T17:07:39.259-07:00","detected_at":null,"acknowledged_at":null,"mitigated_at":null,"resolved_at":null,"closed_at":null,"cancelled_at":null,"created_at":"2025-03-17T17:07:22.310-07:00","updated_at":"2025-03-17T17:07:39.306-07:00","labels":{}},"relationships":{"causes":{"data":[]},"subscribers":{"data":[]},"roles":{"data":[]},"environments":{"data":[]},"incident_types":{"data":[]},"services":{"data":[]},"functionalities":{"data":[]},"groups":{"data":[]},"events":{"data":[{"id":"8e2e306c-6d17-4356-9a01-546e6bc9f2e4","type":"incident_events"},{"id":"0d2ba2c7-8eaa-4dd2-a15f-8716233c5ab0","type":"incident_events"},{"id":"ddeee16f-c2bb-48a6-8c64-a87702516a10","type":"incident_events"},{"id":"9d481f21-a2bc-49a5-aa08-23b2897250a0","type":"incident_events"}]},"action_items":{"data":[]},"custom_field_selections":{"data":[]},"feedbacks":{"data":[]},"attachments":{"data":[]},"slack_messages":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/incident_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/restart_incident"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/incidents/%7Bid%7D/restart \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bid%7D/restart\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bid%7D/restart\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bid%7D/restart\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incidents/{id}/duplicate":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"put":{"summary":"Mark an incident as a duplicate","security":[{"bearer_auth":[]}],"tags":["Incidents"],"description":"Mark an incident as a duplicate","operationId":"markAsDuplicateIncident","parameters":[],"responses":{"200":{"description":"incident marked as duplicated","content":{"application/vnd.api+json":{"example":{"data":{"id":"a86f619d-90ba-48fe-a527-cae4aba47d87","type":"incidents","attributes":{"parent_incident_id":null,"sequential_id":1,"title":"Velit deserunt delectus tempora.","slug":"velit-deserunt-delectus-tempora","kind":"normal","private":false,"summary":"Quasi est itaque. Dolor commodi quasi. Aut natus animi.","status":"cancelled","source":"web","url":"http://localhost:3001/account/incidents/1-velit-deserunt-delectus-tempora","short_url":null,"user":{"data":{"id":"315","type":"users","attributes":{"name":"Shad Schmitt","email":"noemi@ryan.example","phone":null,"phone_2":null,"full_name":"Shad Schmitt","full_name_with_team":"[McKenzie, McGlynn and Hamill] Shad Schmitt","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:20.676-07:00","created_at":"2025-03-17T17:07:20.227-07:00"},"relationships":{"email_addresses":{"data":[{"id":"2b2298c7-6e95-433b-b2f7-b2e89d29d9c2","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"severity":{"data":{"id":"2bed8b25-bdc3-43f2-b554-4d12556d53c6","type":"severities","attributes":{"name":"axuza","slug":"axuza","description":"Veniam repudiandae similique unde.","severity":"medium","color":"#E58A1F","position":1,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:07:20.642-07:00","updated_at":"2025-03-17T17:07:20.642-07:00"}}},"in_triage_by":null,"started_by":{"data":{"id":"315","type":"users","attributes":{"name":"Shad Schmitt","email":"noemi@ryan.example","phone":null,"phone_2":null,"full_name":"Shad Schmitt","full_name_with_team":"[McKenzie, McGlynn and Hamill] Shad Schmitt","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:20.676-07:00","created_at":"2025-03-17T17:07:20.227-07:00"},"relationships":{"email_addresses":{"data":[{"id":"2b2298c7-6e95-433b-b2f7-b2e89d29d9c2","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"mitigated_by":null,"resolved_by":null,"closed_by":null,"cancelled_by":null,"mitigation_message":null,"resolution_message":null,"cancellation_message":"Duplicate !","public_title":null,"duplicate_incident_id":"3a76de08-135e-43ec-8c55-b6b8e8521df1","retrospective_progress_status":"not_started","zoom_meeting_id":null,"zoom_meeting_start_url":null,"zoom_meeting_join_url":null,"zoom_meeting_password":null,"zoom_meeting_pstn_password":null,"zoom_meeting_h323_password":null,"zoom_meeting_global_dial_in_numbers":[],"shortcut_story_id":null,"shortcut_story_url":null,"shortcut_task_id":null,"shortcut_task_url":null,"asana_task_id":null,"asana_task_url":null,"github_issue_id":null,"github_issue_url":null,"gitlab_issue_id":null,"gitlab_issue_url":null,"jira_issue_key":null,"jira_issue_id":null,"jira_issue_url":null,"google_meeting_id":null,"google_meeting_url":null,"trello_card_id":null,"trello_card_url":null,"linear_issue_id":null,"linear_issue_url":null,"zendesk_ticket_id":null,"zendesk_ticket_url":null,"motion_task_id":null,"motion_task_url":null,"clickup_task_id":null,"clickup_task_url":null,"slack_channel_name":null,"slack_channel_id":null,"slack_channel_url":null,"slack_channel_short_url":null,"slack_channel_deep_link":null,"slack_channel_archived":false,"slack_last_message_ts":null,"service_now_incident_id":null,"service_now_incident_key":null,"service_now_incident_url":null,"opsgenie_incident_id":null,"opsgenie_incident_url":null,"opsgenie_alert_id":null,"opsgenie_alert_url":null,"victor_ops_incident_id":null,"victor_ops_incident_url":null,"pagerduty_incident_id":null,"pagerduty_incident_number":null,"pagerduty_incident_url":null,"mattermost_channel_id":null,"mattermost_channel_name":null,"mattermost_channel_url":null,"confluence_page_id":null,"confluence_page_url":null,"quip_page_id":null,"quip_page_url":null,"airtable_base_key":null,"airtable_table_name":null,"airtable_record_id":null,"airtable_record_url":null,"google_drive_id":null,"google_drive_parent_id":null,"google_drive_url":null,"sharepoint_page_id":null,"sharepoint_page_url":null,"datadog_notebook_id":null,"datadog_notebook_url":null,"freshservice_ticket_id":null,"freshservice_ticket_url":null,"freshservice_task_id":null,"freshservice_task_url":null,"scheduled_for":null,"scheduled_until":null,"in_triage_at":null,"started_at":"2025-03-17T17:07:20.649-07:00","detected_at":null,"acknowledged_at":null,"mitigated_at":null,"resolved_at":null,"closed_at":null,"cancelled_at":"2025-03-17T17:07:40.380-07:00","created_at":"2025-03-17T17:07:20.649-07:00","updated_at":"2025-03-17T17:07:40.386-07:00","labels":{}},"relationships":{"incident_post_mortem":{"data":{"id":"4bb3974b-673f-4972-acff-3167e09d2aac","type":"incident_post_mortems"}},"causes":{"data":[]},"subscribers":{"data":[]},"roles":{"data":[]},"environments":{"data":[]},"incident_types":{"data":[]},"services":{"data":[]},"functionalities":{"data":[]},"groups":{"data":[]},"events":{"data":[{"id":"615e9cc8-21c5-4128-a3cc-a547c6cbd9a6","type":"incident_events"},{"id":"d39b7e41-6682-4966-a045-116e838225a5","type":"incident_events"},{"id":"a1083a28-c39f-4ead-995d-466450c66901","type":"incident_events"},{"id":"88bed702-abbe-462d-a601-dc4f8a2c7813","type":"incident_events"}]},"action_items":{"data":[]},"custom_field_selections":{"data":[]},"feedbacks":{"data":[]},"attachments":{"data":[]},"slack_messages":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/incident_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/resolve_incident"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/incidents/%7Bid%7D/duplicate \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bid%7D/duplicate\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bid%7D/duplicate\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bid%7D/duplicate\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incidents/{id}/add_subscribers":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Add subscribers to incident","security":[{"bearer_auth":[]}],"tags":["Incidents"],"description":"Add subscribers to incident","operationId":"addSubscribersToIncident","parameters":[],"responses":{"200":{"description":"add subscribers to incident","content":{"application/vnd.api+json":{"example":{"data":{"id":"a86f619d-90ba-48fe-a527-cae4aba47d87","type":"incidents","attributes":{"parent_incident_id":null,"sequential_id":1,"title":"Velit deserunt delectus tempora.","slug":"velit-deserunt-delectus-tempora","kind":"normal","private":false,"summary":"Quasi est itaque. Dolor commodi quasi. Aut natus animi.","status":"started","source":"web","url":"http://localhost:3001/account/incidents/1-velit-deserunt-delectus-tempora","short_url":null,"user":{"data":{"id":"315","type":"users","attributes":{"name":"Shad Schmitt","email":"noemi@ryan.example","phone":null,"phone_2":null,"full_name":"Shad Schmitt","full_name_with_team":"[McKenzie, McGlynn and Hamill] Shad Schmitt","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:20.676-07:00","created_at":"2025-03-17T17:07:20.227-07:00"},"relationships":{"email_addresses":{"data":[{"id":"2b2298c7-6e95-433b-b2f7-b2e89d29d9c2","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"severity":{"data":{"id":"2bed8b25-bdc3-43f2-b554-4d12556d53c6","type":"severities","attributes":{"name":"axuza","slug":"axuza","description":"Veniam repudiandae similique unde.","severity":"medium","color":"#E58A1F","position":1,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:07:20.642-07:00","updated_at":"2025-03-17T17:07:20.642-07:00"}}},"in_triage_by":null,"started_by":{"data":{"id":"315","type":"users","attributes":{"name":"Shad Schmitt","email":"noemi@ryan.example","phone":null,"phone_2":null,"full_name":"Shad Schmitt","full_name_with_team":"[McKenzie, McGlynn and Hamill] Shad Schmitt","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:20.676-07:00","created_at":"2025-03-17T17:07:20.227-07:00"},"relationships":{"email_addresses":{"data":[{"id":"2b2298c7-6e95-433b-b2f7-b2e89d29d9c2","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"mitigated_by":null,"resolved_by":null,"closed_by":null,"cancelled_by":null,"mitigation_message":null,"resolution_message":null,"cancellation_message":null,"public_title":null,"duplicate_incident_id":null,"retrospective_progress_status":"not_started","zoom_meeting_id":null,"zoom_meeting_start_url":null,"zoom_meeting_join_url":null,"zoom_meeting_password":null,"zoom_meeting_pstn_password":null,"zoom_meeting_h323_password":null,"zoom_meeting_global_dial_in_numbers":[],"shortcut_story_id":null,"shortcut_story_url":null,"shortcut_task_id":null,"shortcut_task_url":null,"asana_task_id":null,"asana_task_url":null,"github_issue_id":null,"github_issue_url":null,"gitlab_issue_id":null,"gitlab_issue_url":null,"jira_issue_key":null,"jira_issue_id":null,"jira_issue_url":null,"google_meeting_id":null,"google_meeting_url":null,"trello_card_id":null,"trello_card_url":null,"linear_issue_id":null,"linear_issue_url":null,"zendesk_ticket_id":null,"zendesk_ticket_url":null,"motion_task_id":null,"motion_task_url":null,"clickup_task_id":null,"clickup_task_url":null,"slack_channel_name":null,"slack_channel_id":null,"slack_channel_url":null,"slack_channel_short_url":null,"slack_channel_deep_link":null,"slack_channel_archived":false,"slack_last_message_ts":null,"service_now_incident_id":null,"service_now_incident_key":null,"service_now_incident_url":null,"opsgenie_incident_id":null,"opsgenie_incident_url":null,"opsgenie_alert_id":null,"opsgenie_alert_url":null,"victor_ops_incident_id":null,"victor_ops_incident_url":null,"pagerduty_incident_id":null,"pagerduty_incident_number":null,"pagerduty_incident_url":null,"mattermost_channel_id":null,"mattermost_channel_name":null,"mattermost_channel_url":null,"confluence_page_id":null,"confluence_page_url":null,"quip_page_id":null,"quip_page_url":null,"airtable_base_key":null,"airtable_table_name":null,"airtable_record_id":null,"airtable_record_url":null,"google_drive_id":null,"google_drive_parent_id":null,"google_drive_url":null,"sharepoint_page_id":null,"sharepoint_page_url":null,"datadog_notebook_id":null,"datadog_notebook_url":null,"freshservice_ticket_id":null,"freshservice_ticket_url":null,"freshservice_task_id":null,"freshservice_task_url":null,"scheduled_for":null,"scheduled_until":null,"in_triage_at":null,"started_at":"2025-03-17T17:07:20.649-07:00","detected_at":null,"acknowledged_at":null,"mitigated_at":null,"resolved_at":null,"closed_at":null,"cancelled_at":null,"created_at":"2025-03-17T17:07:20.649-07:00","updated_at":"2025-03-17T17:07:20.649-07:00","labels":{}},"relationships":{"causes":{"data":[]},"subscribers":{"data":[{"id":"45dff707-434b-483f-b02c-43254f7c384a","type":"incident_subscribers"}]},"roles":{"data":[]},"environments":{"data":[]},"incident_types":{"data":[]},"services":{"data":[]},"functionalities":{"data":[]},"groups":{"data":[]},"events":{"data":[{"id":"a1083a28-c39f-4ead-995d-466450c66901","type":"incident_events"},{"id":"88bed702-abbe-462d-a601-dc4f8a2c7813","type":"incident_events"}]},"action_items":{"data":[]},"custom_field_selections":{"data":[]},"feedbacks":{"data":[]},"attachments":{"data":[]},"slack_messages":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/incident_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/add_subscribers"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/incidents/%7Bid%7D/add_subscribers \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bid%7D/add_subscribers\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bid%7D/add_subscribers\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bid%7D/add_subscribers\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incidents/{id}/remove_subscribers":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"delete":{"summary":"Remove subscribers from incident","security":[{"bearer_auth":[]}],"tags":["Incidents"],"description":"Remove subscribers to incident","operationId":"removeSubscribersToIncident","parameters":[],"responses":{"200":{"description":"remove subscribers from incident","content":{"application/vnd.api+json":{"example":{"data":{"id":"a86f619d-90ba-48fe-a527-cae4aba47d87","type":"incidents","attributes":{"parent_incident_id":null,"sequential_id":1,"title":"Velit deserunt delectus tempora.","slug":"velit-deserunt-delectus-tempora","kind":"normal","private":false,"summary":"Quasi est itaque. Dolor commodi quasi. Aut natus animi.","status":"started","source":"web","url":"http://localhost:3001/account/incidents/1-velit-deserunt-delectus-tempora","short_url":null,"user":{"data":{"id":"315","type":"users","attributes":{"name":"Shad Schmitt","email":"noemi@ryan.example","phone":null,"phone_2":null,"full_name":"Shad Schmitt","full_name_with_team":"[McKenzie, McGlynn and Hamill] Shad Schmitt","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:20.676-07:00","created_at":"2025-03-17T17:07:20.227-07:00"},"relationships":{"email_addresses":{"data":[{"id":"2b2298c7-6e95-433b-b2f7-b2e89d29d9c2","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"severity":{"data":{"id":"2bed8b25-bdc3-43f2-b554-4d12556d53c6","type":"severities","attributes":{"name":"axuza","slug":"axuza","description":"Veniam repudiandae similique unde.","severity":"medium","color":"#E58A1F","position":1,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:07:20.642-07:00","updated_at":"2025-03-17T17:07:20.642-07:00"}}},"in_triage_by":null,"started_by":{"data":{"id":"315","type":"users","attributes":{"name":"Shad Schmitt","email":"noemi@ryan.example","phone":null,"phone_2":null,"full_name":"Shad Schmitt","full_name_with_team":"[McKenzie, McGlynn and Hamill] Shad Schmitt","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:20.676-07:00","created_at":"2025-03-17T17:07:20.227-07:00"},"relationships":{"email_addresses":{"data":[{"id":"2b2298c7-6e95-433b-b2f7-b2e89d29d9c2","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"mitigated_by":null,"resolved_by":null,"closed_by":null,"cancelled_by":null,"mitigation_message":null,"resolution_message":null,"cancellation_message":null,"public_title":null,"duplicate_incident_id":null,"retrospective_progress_status":"not_started","zoom_meeting_id":null,"zoom_meeting_start_url":null,"zoom_meeting_join_url":null,"zoom_meeting_password":null,"zoom_meeting_pstn_password":null,"zoom_meeting_h323_password":null,"zoom_meeting_global_dial_in_numbers":[],"shortcut_story_id":null,"shortcut_story_url":null,"shortcut_task_id":null,"shortcut_task_url":null,"asana_task_id":null,"asana_task_url":null,"github_issue_id":null,"github_issue_url":null,"gitlab_issue_id":null,"gitlab_issue_url":null,"jira_issue_key":null,"jira_issue_id":null,"jira_issue_url":null,"google_meeting_id":null,"google_meeting_url":null,"trello_card_id":null,"trello_card_url":null,"linear_issue_id":null,"linear_issue_url":null,"zendesk_ticket_id":null,"zendesk_ticket_url":null,"motion_task_id":null,"motion_task_url":null,"clickup_task_id":null,"clickup_task_url":null,"slack_channel_name":null,"slack_channel_id":null,"slack_channel_url":null,"slack_channel_short_url":null,"slack_channel_deep_link":null,"slack_channel_archived":false,"slack_last_message_ts":null,"service_now_incident_id":null,"service_now_incident_key":null,"service_now_incident_url":null,"opsgenie_incident_id":null,"opsgenie_incident_url":null,"opsgenie_alert_id":null,"opsgenie_alert_url":null,"victor_ops_incident_id":null,"victor_ops_incident_url":null,"pagerduty_incident_id":null,"pagerduty_incident_number":null,"pagerduty_incident_url":null,"mattermost_channel_id":null,"mattermost_channel_name":null,"mattermost_channel_url":null,"confluence_page_id":null,"confluence_page_url":null,"quip_page_id":null,"quip_page_url":null,"airtable_base_key":null,"airtable_table_name":null,"airtable_record_id":null,"airtable_record_url":null,"google_drive_id":null,"google_drive_parent_id":null,"google_drive_url":null,"sharepoint_page_id":null,"sharepoint_page_url":null,"datadog_notebook_id":null,"datadog_notebook_url":null,"freshservice_ticket_id":null,"freshservice_ticket_url":null,"freshservice_task_id":null,"freshservice_task_url":null,"scheduled_for":null,"scheduled_until":null,"in_triage_at":null,"started_at":"2025-03-17T17:07:20.649-07:00","detected_at":null,"acknowledged_at":null,"mitigated_at":null,"resolved_at":null,"closed_at":null,"cancelled_at":null,"created_at":"2025-03-17T17:07:20.649-07:00","updated_at":"2025-03-17T17:07:20.649-07:00","labels":{}},"relationships":{"causes":{"data":[]},"subscribers":{"data":[]},"roles":{"data":[]},"environments":{"data":[]},"incident_types":{"data":[]},"services":{"data":[]},"functionalities":{"data":[]},"groups":{"data":[]},"events":{"data":[{"id":"a1083a28-c39f-4ead-995d-466450c66901","type":"incident_events"},{"id":"88bed702-abbe-462d-a601-dc4f8a2c7813","type":"incident_events"}]},"action_items":{"data":[]},"custom_field_selections":{"data":[]},"feedbacks":{"data":[]},"attachments":{"data":[]},"slack_messages":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/incident_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/remove_subscribers"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/incidents/%7Bid%7D/remove_subscribers \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bid%7D/remove_subscribers\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bid%7D/remove_subscribers\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bid%7D/remove_subscribers\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incidents/{id}/assign_role_to_user":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Assign user to incident","security":[{"bearer_auth":[]}],"tags":["Incidents"],"description":"Assign user to incident","operationId":"assignUserToIncident","parameters":[],"responses":{"200":{"description":"assign user to incident","content":{"application/vnd.api+json":{"example":{"data":{"id":"a86f619d-90ba-48fe-a527-cae4aba47d87","type":"incidents","attributes":{"parent_incident_id":null,"sequential_id":1,"title":"Velit deserunt delectus tempora.","slug":"velit-deserunt-delectus-tempora","kind":"normal","private":false,"summary":"Quasi est itaque. Dolor commodi quasi. Aut natus animi.","status":"started","source":"web","url":"http://localhost:3001/account/incidents/1-velit-deserunt-delectus-tempora","short_url":null,"user":{"data":{"id":"315","type":"users","attributes":{"name":"Shad Schmitt","email":"noemi@ryan.example","phone":null,"phone_2":null,"full_name":"Shad Schmitt","full_name_with_team":"[McKenzie, McGlynn and Hamill] Shad Schmitt","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:20.676-07:00","created_at":"2025-03-17T17:07:20.227-07:00"},"relationships":{"email_addresses":{"data":[{"id":"2b2298c7-6e95-433b-b2f7-b2e89d29d9c2","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"severity":{"data":{"id":"2bed8b25-bdc3-43f2-b554-4d12556d53c6","type":"severities","attributes":{"name":"axuza","slug":"axuza","description":"Veniam repudiandae similique unde.","severity":"medium","color":"#E58A1F","position":1,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:07:20.642-07:00","updated_at":"2025-03-17T17:07:20.642-07:00"}}},"in_triage_by":null,"started_by":{"data":{"id":"315","type":"users","attributes":{"name":"Shad Schmitt","email":"noemi@ryan.example","phone":null,"phone_2":null,"full_name":"Shad Schmitt","full_name_with_team":"[McKenzie, McGlynn and Hamill] Shad Schmitt","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:20.676-07:00","created_at":"2025-03-17T17:07:20.227-07:00"},"relationships":{"email_addresses":{"data":[{"id":"2b2298c7-6e95-433b-b2f7-b2e89d29d9c2","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"mitigated_by":null,"resolved_by":null,"closed_by":null,"cancelled_by":null,"mitigation_message":null,"resolution_message":null,"cancellation_message":null,"public_title":null,"duplicate_incident_id":null,"retrospective_progress_status":"not_started","zoom_meeting_id":null,"zoom_meeting_start_url":null,"zoom_meeting_join_url":null,"zoom_meeting_password":null,"zoom_meeting_pstn_password":null,"zoom_meeting_h323_password":null,"zoom_meeting_global_dial_in_numbers":[],"shortcut_story_id":null,"shortcut_story_url":null,"shortcut_task_id":null,"shortcut_task_url":null,"asana_task_id":null,"asana_task_url":null,"github_issue_id":null,"github_issue_url":null,"gitlab_issue_id":null,"gitlab_issue_url":null,"jira_issue_key":null,"jira_issue_id":null,"jira_issue_url":null,"google_meeting_id":null,"google_meeting_url":null,"trello_card_id":null,"trello_card_url":null,"linear_issue_id":null,"linear_issue_url":null,"zendesk_ticket_id":null,"zendesk_ticket_url":null,"motion_task_id":null,"motion_task_url":null,"clickup_task_id":null,"clickup_task_url":null,"slack_channel_name":null,"slack_channel_id":null,"slack_channel_url":null,"slack_channel_short_url":null,"slack_channel_deep_link":null,"slack_channel_archived":false,"slack_last_message_ts":null,"service_now_incident_id":null,"service_now_incident_key":null,"service_now_incident_url":null,"opsgenie_incident_id":null,"opsgenie_incident_url":null,"opsgenie_alert_id":null,"opsgenie_alert_url":null,"victor_ops_incident_id":null,"victor_ops_incident_url":null,"pagerduty_incident_id":null,"pagerduty_incident_number":null,"pagerduty_incident_url":null,"mattermost_channel_id":null,"mattermost_channel_name":null,"mattermost_channel_url":null,"confluence_page_id":null,"confluence_page_url":null,"quip_page_id":null,"quip_page_url":null,"airtable_base_key":null,"airtable_table_name":null,"airtable_record_id":null,"airtable_record_url":null,"google_drive_id":null,"google_drive_parent_id":null,"google_drive_url":null,"sharepoint_page_id":null,"sharepoint_page_url":null,"datadog_notebook_id":null,"datadog_notebook_url":null,"freshservice_ticket_id":null,"freshservice_ticket_url":null,"freshservice_task_id":null,"freshservice_task_url":null,"scheduled_for":null,"scheduled_until":null,"in_triage_at":null,"started_at":"2025-03-17T17:07:20.649-07:00","detected_at":null,"acknowledged_at":null,"mitigated_at":null,"resolved_at":null,"closed_at":null,"cancelled_at":null,"created_at":"2025-03-17T17:07:20.649-07:00","updated_at":"2025-03-17T17:07:43.365-07:00","labels":{}},"relationships":{"causes":{"data":[]},"subscribers":{"data":[{"id":"086e9ff5-dbf4-4bd8-ba26-2cb3170977a7","type":"incident_subscribers"}]},"roles":{"data":[{"id":"59862659-0d70-4db7-aa40-38c442291ef6","type":"incident_role_assignments"}]},"environments":{"data":[]},"incident_types":{"data":[]},"services":{"data":[]},"functionalities":{"data":[]},"groups":{"data":[]},"events":{"data":[{"id":"978f8799-0a4c-4743-b6ce-576bb1f5e6aa","type":"incident_events"},{"id":"a1083a28-c39f-4ead-995d-466450c66901","type":"incident_events"},{"id":"88bed702-abbe-462d-a601-dc4f8a2c7813","type":"incident_events"}]},"action_items":{"data":[]},"custom_field_selections":{"data":[]},"feedbacks":{"data":[]},"attachments":{"data":[]},"slack_messages":{"data":[]}}},"included":[{"id":"59862659-0d70-4db7-aa40-38c442291ef6","type":"incident_role_assignments","attributes":{"incident_role":{"data":{"id":"17b0dc3c-d620-4a35-967f-922aee5c94c5","type":"incident_roles","attributes":{"slug":"laudantium-unde-rerum-voluptatibus","name":"Laudantium unde rerum voluptatibus.","summary":null,"description":null,"position":1,"optional":false,"enabled":true,"allow_multi_user_assignment":false,"created_at":"2025-03-17T17:07:22.949-07:00","updated_at":"2025-03-17T17:07:22.949-07:00"}}},"user":{"data":{"id":"313","type":"users","attributes":{"name":"Tomas Kilback","email":"camelia@baumbach.test","phone":null,"phone_2":null,"full_name":"Tomas Kilback","full_name_with_team":"[McKenzie, McGlynn and Hamill] Tomas Kilback","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:43.211-07:00","created_at":"2025-03-17T17:07:19.245-07:00"},"relationships":{"email_addresses":{"data":[{"id":"36e1bf90-b06a-44d6-83e4-4248abcf3618","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}}}}]},"schema":{"$ref":"#/components/schemas/incident_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/assign_role_to_user"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/incidents/%7Bid%7D/assign_role_to_user \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bid%7D/assign_role_to_user\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bid%7D/assign_role_to_user\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bid%7D/assign_role_to_user\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/incidents/{id}/unassign_role_from_user":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"delete":{"summary":"Remove assigned user from incident","security":[{"bearer_auth":[]}],"tags":["Incidents"],"description":"Remove assigned user from incident","operationId":"removeAssignedUserFromIncident","parameters":[],"responses":{"200":{"description":"remove assigned user from incident","content":{"application/vnd.api+json":{"example":{"data":{"id":"a86f619d-90ba-48fe-a527-cae4aba47d87","type":"incidents","attributes":{"parent_incident_id":null,"sequential_id":1,"title":"Velit deserunt delectus tempora.","slug":"velit-deserunt-delectus-tempora","kind":"normal","private":false,"summary":"Quasi est itaque. Dolor commodi quasi. Aut natus animi.","status":"started","source":"web","url":"http://localhost:3001/account/incidents/1-velit-deserunt-delectus-tempora","short_url":null,"user":{"data":{"id":"315","type":"users","attributes":{"name":"Shad Schmitt","email":"noemi@ryan.example","phone":null,"phone_2":null,"full_name":"Shad Schmitt","full_name_with_team":"[McKenzie, McGlynn and Hamill] Shad Schmitt","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:20.676-07:00","created_at":"2025-03-17T17:07:20.227-07:00"},"relationships":{"email_addresses":{"data":[{"id":"2b2298c7-6e95-433b-b2f7-b2e89d29d9c2","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"severity":{"data":{"id":"2bed8b25-bdc3-43f2-b554-4d12556d53c6","type":"severities","attributes":{"name":"axuza","slug":"axuza","description":"Veniam repudiandae similique unde.","severity":"medium","color":"#E58A1F","position":1,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:07:20.642-07:00","updated_at":"2025-03-17T17:07:20.642-07:00"}}},"in_triage_by":null,"started_by":{"data":{"id":"315","type":"users","attributes":{"name":"Shad Schmitt","email":"noemi@ryan.example","phone":null,"phone_2":null,"full_name":"Shad Schmitt","full_name_with_team":"[McKenzie, McGlynn and Hamill] Shad Schmitt","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:07:20.676-07:00","created_at":"2025-03-17T17:07:20.227-07:00"},"relationships":{"email_addresses":{"data":[{"id":"2b2298c7-6e95-433b-b2f7-b2e89d29d9c2","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"mitigated_by":null,"resolved_by":null,"closed_by":null,"cancelled_by":null,"mitigation_message":null,"resolution_message":null,"cancellation_message":null,"public_title":null,"duplicate_incident_id":null,"retrospective_progress_status":"not_started","zoom_meeting_id":null,"zoom_meeting_start_url":null,"zoom_meeting_join_url":null,"zoom_meeting_password":null,"zoom_meeting_pstn_password":null,"zoom_meeting_h323_password":null,"zoom_meeting_global_dial_in_numbers":[],"shortcut_story_id":null,"shortcut_story_url":null,"shortcut_task_id":null,"shortcut_task_url":null,"asana_task_id":null,"asana_task_url":null,"github_issue_id":null,"github_issue_url":null,"gitlab_issue_id":null,"gitlab_issue_url":null,"jira_issue_key":null,"jira_issue_id":null,"jira_issue_url":null,"google_meeting_id":null,"google_meeting_url":null,"trello_card_id":null,"trello_card_url":null,"linear_issue_id":null,"linear_issue_url":null,"zendesk_ticket_id":null,"zendesk_ticket_url":null,"motion_task_id":null,"motion_task_url":null,"clickup_task_id":null,"clickup_task_url":null,"slack_channel_name":null,"slack_channel_id":null,"slack_channel_url":null,"slack_channel_short_url":null,"slack_channel_deep_link":null,"slack_channel_archived":false,"slack_last_message_ts":null,"service_now_incident_id":null,"service_now_incident_key":null,"service_now_incident_url":null,"opsgenie_incident_id":null,"opsgenie_incident_url":null,"opsgenie_alert_id":null,"opsgenie_alert_url":null,"victor_ops_incident_id":null,"victor_ops_incident_url":null,"pagerduty_incident_id":null,"pagerduty_incident_number":null,"pagerduty_incident_url":null,"mattermost_channel_id":null,"mattermost_channel_name":null,"mattermost_channel_url":null,"confluence_page_id":null,"confluence_page_url":null,"quip_page_id":null,"quip_page_url":null,"airtable_base_key":null,"airtable_table_name":null,"airtable_record_id":null,"airtable_record_url":null,"google_drive_id":null,"google_drive_parent_id":null,"google_drive_url":null,"sharepoint_page_id":null,"sharepoint_page_url":null,"datadog_notebook_id":null,"datadog_notebook_url":null,"freshservice_ticket_id":null,"freshservice_ticket_url":null,"freshservice_task_id":null,"freshservice_task_url":null,"scheduled_for":null,"scheduled_until":null,"in_triage_at":null,"started_at":"2025-03-17T17:07:20.649-07:00","detected_at":null,"acknowledged_at":null,"mitigated_at":null,"resolved_at":null,"closed_at":null,"cancelled_at":null,"created_at":"2025-03-17T17:07:20.649-07:00","updated_at":"2025-03-17T17:07:44.420-07:00","labels":{}},"relationships":{"causes":{"data":[]},"subscribers":{"data":[{"id":"96f5f30c-3751-467a-9875-6358e590808e","type":"incident_subscribers"}]},"roles":{"data":[]},"environments":{"data":[]},"incident_types":{"data":[]},"services":{"data":[]},"functionalities":{"data":[]},"groups":{"data":[]},"events":{"data":[{"id":"e91d9df6-f9c1-4326-bb8e-6b0393f7f3e2","type":"incident_events"},{"id":"a1083a28-c39f-4ead-995d-466450c66901","type":"incident_events"},{"id":"88bed702-abbe-462d-a601-dc4f8a2c7813","type":"incident_events"}]},"action_items":{"data":[]},"custom_field_selections":{"data":[]},"feedbacks":{"data":[]},"attachments":{"data":[]},"slack_messages":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/incident_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/unassign_role_from_user"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/incidents/%7Bid%7D/unassign_role_from_user \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/incidents/%7Bid%7D/unassign_role_from_user\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/incidents/%7Bid%7D/unassign_role_from_user\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/incidents/%7Bid%7D/unassign_role_from_user\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/ip_ranges":{"get":{"summary":"Retrieves IP ranges","security":[{"bearer_auth":[]}],"tags":["IpRanges"],"description":"Retrieves the IP ranges for rootly.com services","operationId":"getIpRanges","responses":{"200":{"description":"ip_ranges found","content":{"application/vnd.api+json":{"example":{"data":{"id":"ip_ranges","type":"ip_ranges","attributes":{"integrations_ipv4":["34.232.217.139","18.213.181.255"],"integrations_ipv6":[],"webhooks_ipv4":["34.232.217.139","18.213.181.255"],"webhooks_ipv6":[]}}},"schema":{"$ref":"#/components/schemas/ip_ranges_response"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/ip_ranges \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/ip_ranges\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/ip_ranges\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/ip_ranges\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/live_call_routers":{"post":{"summary":"Creates a live_call_router","security":[{"bearer_auth":[]}],"tags":["LiveCallRouters"],"description":"Creates a new live_call_router from provided data","operationId":"createLiveCallRouter","parameters":[],"responses":{"201":{"description":"live_call_router created","content":{"application/vnd.api+json":{"example":{"data":{"id":"1492f1c9-d4a1-47e7-ba69-b4f87899a595","type":"live_call_routers","attributes":{"kind":"voicemail","name":"live_call_router-prod","country_code":"US","phone_type":"toll_free","phone_number":"+14155552344","voicemail_greeting":"hello","slug":"live_call_router-prod","enabled":true,"created_at":"2025-03-17T17:07:50.214-07:00","updated_at":"2025-03-17T17:07:50.214-07:00","alert_urgency_id":"a002b4e4-9703-4fac-8bfa-c41e4b2b7514","escalation_policy_trigger":{"id":"ce771e58-dfdd-4247-9c3d-0b966ae3ed30","type":"service"}}}},"schema":{"$ref":"#/components/schemas/live_call_router_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_live_call_router"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/live_call_routers \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/live_call_routers\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/live_call_routers\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/live_call_routers\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List live_call_routers","security":[{"bearer_auth":[]}],"tags":["LiveCallRouters"],"description":"List live_call_routers","operationId":"listLiveCallRouters","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/live_call_router_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/live_call_routers?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/live_call_routers?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/live_call_routers?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/live_call_routers?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/live_call_routers/generate_phone_number":{"get":{"summary":"Generates a phone number for live_call_router","security":[{"bearer_auth":[]}],"tags":["LiveCallRouters"],"description":"Generates a phone number for live_call_router","operationId":"generatePhoneNumberLiveCallRouter","parameters":[{"name":"country_code","in":"query","required":true,"schema":{"type":"string","enum":["US","GB","NZ","CA","AU"]}},{"name":"phone_type","in":"query","required":true,"schema":{"type":"string","enum":["local","toll_free"]}}],"responses":{"200":{"description":"live_call_router phone number","content":{"application/vnd.api+json":{"example":{"phone_number":"+18001000052"}}}},"422":{"description":"live_call_router without required params","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid params","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/live_call_routers/generate_phone_number?country_code=SOME_STRING_VALUE&phone_type=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/live_call_routers/generate_phone_number?country_code=SOME_STRING_VALUE&phone_type=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/live_call_routers/generate_phone_number?country_code=SOME_STRING_VALUE&phone_type=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/live_call_routers/generate_phone_number?country_code=SOME_STRING_VALUE&phone_type=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/live_call_routers/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a live_call_router","security":[{"bearer_auth":[]}],"tags":["LiveCallRouters"],"description":"Retrieves a specific live_call_router by id","operationId":"getLiveCallRouter","responses":{"200":{"description":"live_call_router found","content":{"application/vnd.api+json":{"example":{"data":{"id":"2b452dfb-a3b6-429a-9dd7-46637dc9f4aa","type":"live_call_routers","attributes":{"kind":"voicemail","name":"Est voluptatibus et totam.","country_code":"US","phone_type":"local","phone_number":"14155551234","voicemail_greeting":"Praesentium temporibus cupiditate earum.","slug":"est-voluptatibus-et-totam","enabled":true,"created_at":"2025-03-17T17:07:54.346-07:00","updated_at":"2025-03-17T17:07:54.346-07:00","alert_urgency_id":"72c17168-16b4-4e4c-b323-2dbddc19c715","escalation_policy_trigger":{"id":"df98b75b-6f05-47bd-b158-80cdd29a796f","type":"service"}}}},"schema":{"$ref":"#/components/schemas/live_call_router_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/live_call_routers/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/live_call_routers/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/live_call_routers/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/live_call_routers/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a live_call_router","security":[{"bearer_auth":[]}],"tags":["LiveCallRouters"],"description":"Update a specific live_call_router by id","operationId":"updateLiveCallRouter","parameters":[],"responses":{"200":{"description":"live_call_router updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"893d0ac4-1721-4521-9743-5368fe330871","type":"live_call_routers","attributes":{"kind":"voicemail","name":"live_call_router-staging","country_code":"US","phone_type":"local","phone_number":"14155551234","voicemail_greeting":"Aut nihil qui veniam.","slug":"veniam-praesentium-doloremque-velit","enabled":true,"created_at":"2025-03-17T17:07:57.804-07:00","updated_at":"2025-03-17T17:07:58.001-07:00","alert_urgency_id":"95a6e6e8-3957-49d9-9ea6-2ac91661bbe0","escalation_policy_trigger":{"id":"20186170-490a-4d81-ad89-170f537303e3","type":"service"}}}},"schema":{"$ref":"#/components/schemas/live_call_router_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_live_call_router"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/live_call_routers/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/live_call_routers/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/live_call_routers/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/live_call_routers/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a live_call_router","security":[{"bearer_auth":[]}],"tags":["LiveCallRouters"],"description":"Delete a specific live_call_router by id","operationId":"deleteLiveCallRouter","responses":{"200":{"description":"live_call_router deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"5b984289-86f7-49eb-be7f-0d6492b1e366","type":"live_call_routers","attributes":{"kind":"voicemail","name":"Consequatur reprehenderit in repudiandae.","country_code":"US","phone_type":"local","phone_number":"14155551234","voicemail_greeting":"Non architecto quis sint.","slug":"consequatur-reprehenderit-in-repudiandae","enabled":true,"created_at":"2025-03-17T17:08:01.276-07:00","updated_at":"2025-03-17T17:08:01.445-07:00","alert_urgency_id":"1ed849fd-5e07-4959-ace1-249370d49153","escalation_policy_trigger":{"id":"79ac9011-abda-4b34-84e7-b159fcc60033","type":"service"}}}},"schema":{"$ref":"#/components/schemas/live_call_router_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/live_call_routers/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/live_call_routers/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/live_call_routers/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/live_call_routers/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/on_call_roles":{"post":{"summary":"Creates an on_call_role","security":[{"bearer_auth":[]}],"tags":["OnCallRoles"],"description":"Creates a new on_call_role from provided data","operationId":"createOnCallRole","parameters":[],"responses":{"201":{"description":"on_call_role created","content":{"application/vnd.api+json":{"example":{"data":{"id":"431336ab-5ac5-4318-bf73-0ee40b553473","type":"on_call_roles","attributes":{"team_id":317,"name":"Infrastructure","slug":"infrastructure","system_role":"custom","alert_sources_permissions":[],"alert_urgency_permissions":[],"alerts_permissions":[],"api_keys_permissions":[],"audits_permissions":[],"contacts_permissions":[],"escalation_policies_permissions":[],"groups_permissions":[],"heartbeats_permissions":[],"integrations_permissions":[],"invitations_permissions":[],"live_call_routing_permissions":[],"schedule_override_permissions":[],"schedules_permissions":[],"services_permissions":[],"webhooks_permissions":[],"workflows_permissions":[],"updated_at":"2025-03-17T17:08:07.159-07:00","created_at":"2025-03-17T17:08:07.159-07:00"}}},"schema":{"$ref":"#/components/schemas/on_call_role_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_on_call_role"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/on_call_roles \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/on_call_roles\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/on_call_roles\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/on_call_roles\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List on_call_roles","security":[{"bearer_auth":[]}],"tags":["OnCallRoles"],"description":"List on_call_roles","operationId":"listOnCallRoles","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/on_call_role_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/on_call_roles?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/on_call_roles?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/on_call_roles?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/on_call_roles?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/on_call_roles/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an on_call_role","security":[{"bearer_auth":[]}],"tags":["OnCallRoles"],"description":"Retrieves a specific on_call_role by id","operationId":"getOnCallRole","responses":{"200":{"description":"on_call_role found","content":{"application/vnd.api+json":{"example":{"data":{"id":"edc20a3a-aadd-4285-abac-f6cbd6a8d199","type":"on_call_roles","attributes":{"team_id":317,"name":"On-Call Role 1","slug":"on-call-role-1","system_role":"admin","alert_sources_permissions":[],"alert_urgency_permissions":[],"alerts_permissions":[],"api_keys_permissions":[],"audits_permissions":[],"contacts_permissions":[],"escalation_policies_permissions":[],"groups_permissions":[],"heartbeats_permissions":[],"integrations_permissions":[],"invitations_permissions":[],"live_call_routing_permissions":[],"schedule_override_permissions":[],"schedules_permissions":[],"services_permissions":[],"webhooks_permissions":[],"workflows_permissions":[],"updated_at":"2025-03-17T17:08:07.715-07:00","created_at":"2025-03-17T17:08:07.715-07:00"}}},"schema":{"$ref":"#/components/schemas/on_call_role_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/on_call_roles/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/on_call_roles/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/on_call_roles/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/on_call_roles/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an on_call_role","security":[{"bearer_auth":[]}],"tags":["OnCallRoles"],"description":"Update a specific on_call_role by id","operationId":"updateOnCallRole","parameters":[],"responses":{"200":{"description":"on_call_role updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"a486b107-eea6-43b6-bc51-d968cd50f9b4","type":"on_call_roles","attributes":{"team_id":317,"name":"Security","slug":"on-call-role-3","system_role":"custom","alert_sources_permissions":[],"alert_urgency_permissions":[],"alerts_permissions":[],"api_keys_permissions":[],"audits_permissions":[],"contacts_permissions":[],"escalation_policies_permissions":[],"groups_permissions":[],"heartbeats_permissions":[],"integrations_permissions":[],"invitations_permissions":[],"live_call_routing_permissions":[],"schedule_override_permissions":[],"schedules_permissions":[],"services_permissions":[],"webhooks_permissions":[],"workflows_permissions":[],"updated_at":"2025-03-17T17:08:08.933-07:00","created_at":"2025-03-17T17:08:08.772-07:00"}}},"schema":{"$ref":"#/components/schemas/on_call_role_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_on_call_role"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/on_call_roles/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/on_call_roles/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/on_call_roles/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/on_call_roles/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an on_call_role","security":[{"bearer_auth":[]}],"tags":["OnCallRoles"],"description":"Delete a specific on_call_role by id","operationId":"deleteOnCallRole","responses":{"200":{"description":"on_call_role deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"07d00917-c065-4a32-8147-1a3676cc6347","type":"on_call_roles","attributes":{"team_id":317,"name":"On-Call Role 5","slug":"on-call-role-5","system_role":"custom","alert_sources_permissions":[],"alert_urgency_permissions":[],"alerts_permissions":[],"api_keys_permissions":[],"audits_permissions":[],"contacts_permissions":[],"escalation_policies_permissions":[],"groups_permissions":[],"heartbeats_permissions":[],"integrations_permissions":[],"invitations_permissions":[],"live_call_routing_permissions":[],"schedule_override_permissions":[],"schedules_permissions":[],"services_permissions":[],"webhooks_permissions":[],"workflows_permissions":[],"updated_at":"2025-03-17T17:08:10.059-07:00","created_at":"2025-03-17T17:08:09.881-07:00"}}},"schema":{"$ref":"#/components/schemas/on_call_role_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/on_call_roles/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/on_call_roles/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/on_call_roles/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/on_call_roles/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/schedules/{schedule_id}/on_call_shadows":{"parameters":[{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"creates an shadow configuration","security":[{"bearer_auth":[]}],"tags":["OnCallShadows"],"description":"Creates a new on call shadow configuration from provided data","operationId":"createOnCallShadow","parameters":[],"responses":{"201":{"description":"shadow shift is created","content":{"application/vnd.api+json":{"example":{"data":{"id":"1f079bd8-a714-4a14-90c8-2f6e579f630c","type":"on_call_shadows","attributes":{"schedule_id":"a8bab3cb-2fe9-410e-988f-a6f3947cef07","shadowable_type":"User","shadowable_id":"356","shadow_user_id":355,"starts_at":"2025-03-19T17:08:12.398-07:00","ends_at":"2025-03-20T17:08:12.398-07:00","created_at":"2025-03-17T17:08:12.608-07:00","updated_at":"2025-03-17T17:08:12.608-07:00"}}},"schema":{"$ref":"#/components/schemas/on_call_shadow_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Shadow user must exist","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_on_call_shadow"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/schedules/%7Bschedule_id%7D/on_call_shadows \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedules/%7Bschedule_id%7D/on_call_shadows\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedules/%7Bschedule_id%7D/on_call_shadows\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedules/%7Bschedule_id%7D/on_call_shadows\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List On Call Shadows for Shift","security":[{"bearer_auth":[]}],"tags":["OnCallShadows"],"description":"List shadow shifts for schedule","operationId":"listOnCallShadows","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/on_call_shadows_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/schedules/%7Bschedule_id%7D/on_call_shadows?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedules/%7Bschedule_id%7D/on_call_shadows?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedules/%7Bschedule_id%7D/on_call_shadows?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedules/%7Bschedule_id%7D/on_call_shadows?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/on_call_shadows/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an On Call Shadow configuration by ID","security":[{"bearer_auth":[]}],"tags":["OnCallShadows"],"description":"Retrieves a specific On Call Shadow configuration by ID","operationId":"getOnCallShadow","responses":{"200":{"description":"override shift found","content":{"application/vnd.api+json":{"example":{"data":{"id":"2335a624-60c1-435e-b5e8-b304eb509b3e","type":"on_call_shadows","attributes":{"schedule_id":"a8bab3cb-2fe9-410e-988f-a6f3947cef07","shadowable_type":"User","shadowable_id":"356","shadow_user_id":355,"starts_at":"2025-03-17T19:08:12.000-07:00","ends_at":"2025-03-18T17:08:12.000-07:00","created_at":"2025-03-17T17:08:12.251-07:00","updated_at":"2025-03-17T17:08:12.251-07:00"}}},"schema":{"$ref":"#/components/schemas/on_call_shadow_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/on_call_shadows/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/on_call_shadows/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/on_call_shadows/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/on_call_shadows/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an On Call Shadow configuration","security":[{"bearer_auth":[]}],"tags":["OnCallShadows"],"description":"Update a specific on call shadow configuration by id","operationId":"updateOnCallShadow","parameters":[],"responses":{"200":{"description":"on call shadows configuration is is updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"2335a624-60c1-435e-b5e8-b304eb509b3e","type":"on_call_shadows","attributes":{"schedule_id":"a8bab3cb-2fe9-410e-988f-a6f3947cef07","shadowable_type":"Schedule","shadowable_id":"a8bab3cb-2fe9-410e-988f-a6f3947cef07","shadow_user_id":355,"starts_at":"2025-03-17T19:08:12.000-07:00","ends_at":"2025-03-18T17:08:12.000-07:00","created_at":"2025-03-17T17:08:12.251-07:00","updated_at":"2025-03-17T17:08:13.856-07:00"}}},"schema":{"$ref":"#/components/schemas/on_call_shadow_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_on_call_shadow"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/on_call_shadows/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/on_call_shadows/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/on_call_shadows/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/on_call_shadows/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an on call shadow configuration","security":[{"bearer_auth":[]}],"tags":["OverrideShifts"],"description":"Delete a specific on call shadow configuration by id","operationId":"deleteOnCallShadow","responses":{"200":{"description":"override shift deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"2335a624-60c1-435e-b5e8-b304eb509b3e","type":"on_call_shadows","attributes":{"schedule_id":"a8bab3cb-2fe9-410e-988f-a6f3947cef07","shadowable_type":"User","shadowable_id":"356","shadow_user_id":355,"starts_at":"2025-03-17T19:08:12.000-07:00","ends_at":"2025-03-18T17:08:12.000-07:00","created_at":"2025-03-17T17:08:12.251-07:00","updated_at":"2025-03-17T17:08:12.251-07:00"}}},"schema":{"$ref":"#/components/schemas/on_call_shadow_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/on_call_shadows/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/on_call_shadows/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/on_call_shadows/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/on_call_shadows/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/schedules/{schedule_id}/override_shifts":{"parameters":[{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"creates an override shift","security":[{"bearer_auth":[]}],"tags":["OverrideShifts"],"description":"Creates a new override shift from provided data","operationId":"createOverrideShift","parameters":[],"responses":{"201":{"description":"override_shift created","content":{"application/vnd.api+json":{"example":{"data":{"id":"812cc7ea-0763-45c8-acb4-5f0600eeb537","type":"shifts","attributes":{"schedule_id":"ba7d2865-540a-4da4-9700-19cba181b263","rotation_id":null,"starts_at":"2025-03-17T19:08:17.000-07:00","ends_at":"2025-03-18T17:08:17.000-07:00","is_override":true},"relationships":{"shift_override":{"data":{"id":"bc6774e6-e05e-4502-ab0d-4638838c94dd","type":"shift_overrides"}},"user":{"data":{"id":"360","type":"users"}}}}},"schema":{"$ref":"#/components/schemas/override_shift_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"User must exist","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_override_shift"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/schedules/%7Bschedule_id%7D/override_shifts \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedules/%7Bschedule_id%7D/override_shifts\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedules/%7Bschedule_id%7D/override_shifts\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedules/%7Bschedule_id%7D/override_shifts\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List override shifts","security":[{"bearer_auth":[]}],"tags":["OverrideShifts"],"description":"List override shifts","operationId":"listOverrideShifts","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/override_shift_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/schedules/%7Bschedule_id%7D/override_shifts?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedules/%7Bschedule_id%7D/override_shifts?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedules/%7Bschedule_id%7D/override_shifts?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedules/%7Bschedule_id%7D/override_shifts?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/override_shifts/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an override shift","security":[{"bearer_auth":[]}],"tags":["OverrideShifts"],"description":"Retrieves a specific override shift by id","operationId":"getOverrideShift","responses":{"200":{"description":"override shift found","content":{"application/vnd.api+json":{"example":{"data":{"id":"ba627f61-7614-49fa-ad1c-f33c8d9e6f98","type":"shifts","attributes":{"schedule_id":"ba7d2865-540a-4da4-9700-19cba181b263","rotation_id":"1904527c-704a-4f60-8a96-7deb6a302ec4","starts_at":"2025-03-17T11:08:16.000-07:00","ends_at":"2025-03-17T19:08:16.000-07:00","is_override":true},"relationships":{"shift_override":{"data":null},"user":{"data":{"id":"368","type":"users"}}}}},"schema":{"$ref":"#/components/schemas/override_shift_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/override_shifts/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/override_shifts/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/override_shifts/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/override_shifts/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an override shift","security":[{"bearer_auth":[]}],"tags":["OverrideShifts"],"description":"Update a specific override shift by id","operationId":"updateOverrideShift","parameters":[],"responses":{"200":{"description":"override shift updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"ba627f61-7614-49fa-ad1c-f33c8d9e6f98","type":"shifts","attributes":{"schedule_id":"ba7d2865-540a-4da4-9700-19cba181b263","rotation_id":"1904527c-704a-4f60-8a96-7deb6a302ec4","starts_at":"2025-03-17T11:08:16.000-07:00","ends_at":"2025-03-17T19:08:16.000-07:00","is_override":true},"relationships":{"shift_override":{"data":{"id":"ebaee6d8-6f1f-4afa-a28a-5d2ac3ff6c4a","type":"shift_overrides"}},"user":{"data":{"id":"369","type":"users"}}}}},"schema":{"$ref":"#/components/schemas/override_shift_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_override_shift"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/override_shifts/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/override_shifts/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/override_shifts/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/override_shifts/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an override shift","security":[{"bearer_auth":[]}],"tags":["OverrideShifts"],"description":"Delete a specific override shift by id","operationId":"deleteOverrideShift","responses":{"200":{"description":"override shift deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"ba627f61-7614-49fa-ad1c-f33c8d9e6f98","type":"shifts","attributes":{"schedule_id":"ba7d2865-540a-4da4-9700-19cba181b263","rotation_id":"1904527c-704a-4f60-8a96-7deb6a302ec4","starts_at":"2025-03-17T11:08:16.000-07:00","ends_at":"2025-03-17T19:08:16.000-07:00","is_override":true},"relationships":{"shift_override":{"data":null},"user":{"data":{"id":"368","type":"users"}}}}},"schema":{"$ref":"#/components/schemas/override_shift_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/override_shifts/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/override_shifts/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/override_shifts/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/override_shifts/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/playbooks/{playbook_id}/playbook_tasks":{"parameters":[{"name":"playbook_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates a playbook task","security":[{"bearer_auth":[]}],"tags":["PlaybookTasks"],"description":"Creates a new task from provided data","operationId":"createPlaybookTask","parameters":[],"responses":{"201":{"description":"playbook_task created","content":{"application/vnd.api+json":{"example":{"data":{"id":"9047f46b-5d1f-4c47-8135-55bc797dce2a","type":"playbook_tasks","attributes":{"playbook_id":"2dd266dc-f2ea-424c-9ce6-b153b220f451","task":"New task","description":"New task description","position":1,"created_at":"2025-03-17T17:08:21.766-07:00","updated_at":"2025-03-17T17:08:21.766-07:00"}}},"schema":{"$ref":"#/components/schemas/playbook_task_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Task can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_playbook_task"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/playbooks/%7Bplaybook_id%7D/playbook_tasks \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/playbooks/%7Bplaybook_id%7D/playbook_tasks\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/playbooks/%7Bplaybook_id%7D/playbook_tasks\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/playbooks/%7Bplaybook_id%7D/playbook_tasks\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List playbook tasks","security":[{"bearer_auth":[]}],"tags":["PlaybookTasks"],"description":"List playbook tasks","operationId":"listPlaybookTasks","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/playbook_task_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/playbooks/%7Bplaybook_id%7D/playbook_tasks?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/playbooks/%7Bplaybook_id%7D/playbook_tasks?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/playbooks/%7Bplaybook_id%7D/playbook_tasks?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/playbooks/%7Bplaybook_id%7D/playbook_tasks?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/playbook_tasks/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a playbook task","security":[{"bearer_auth":[]}],"tags":["PlaybookTasks"],"description":"Retrieves a specific playbook_task by id","operationId":"getPlaybookTask","responses":{"200":{"description":"playbook_task found","content":{"application/vnd.api+json":{"example":{"data":{"id":"154d8e6f-67eb-4b44-921a-7ef1e3f86ec6","type":"playbook_tasks","attributes":{"playbook_id":"2dd266dc-f2ea-424c-9ce6-b153b220f451","task":"Numquam ut reprehenderit minima.","description":"Reprehenderit ea sapiente ut.","position":3,"created_at":"2025-03-17T17:08:21.499-07:00","updated_at":"2025-03-17T17:08:21.508-07:00"}}},"schema":{"$ref":"#/components/schemas/playbook_task_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/playbook_tasks/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/playbook_tasks/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/playbook_tasks/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/playbook_tasks/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a playbook task","security":[{"bearer_auth":[]}],"tags":["PlaybookTasks"],"description":"Update a specific playbook task by id","operationId":"updatePlaybookTask","parameters":[],"responses":{"200":{"description":"playbook_task updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"154d8e6f-67eb-4b44-921a-7ef1e3f86ec6","type":"playbook_tasks","attributes":{"playbook_id":"2dd266dc-f2ea-424c-9ce6-b153b220f451","task":"Task updated","description":"Task description updated","position":2,"created_at":"2025-03-17T17:08:21.499-07:00","updated_at":"2025-03-17T17:08:23.495-07:00"}}},"schema":{"$ref":"#/components/schemas/playbook_task_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_playbook_task"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/playbook_tasks/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/playbook_tasks/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/playbook_tasks/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/playbook_tasks/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a playbook task","security":[{"bearer_auth":[]}],"tags":["PlaybookTasks"],"description":"Delete a specific playbook task by id","operationId":"deletePlaybookTask","responses":{"200":{"description":"playbook_task deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"154d8e6f-67eb-4b44-921a-7ef1e3f86ec6","type":"playbook_tasks","attributes":{"playbook_id":"2dd266dc-f2ea-424c-9ce6-b153b220f451","task":"Numquam ut reprehenderit minima.","description":"Reprehenderit ea sapiente ut.","position":3,"created_at":"2025-03-17T17:08:21.499-07:00","updated_at":"2025-03-17T17:08:24.275-07:00"}}},"schema":{"$ref":"#/components/schemas/playbook_task_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/playbook_tasks/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/playbook_tasks/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/playbook_tasks/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/playbook_tasks/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/playbooks":{"post":{"summary":"Creates a playbook","security":[{"bearer_auth":[]}],"tags":["Playbooks"],"description":"Creates a new playbook from provided data","operationId":"createPlaybook","parameters":[],"responses":{"201":{"description":"playbook created","content":{"application/vnd.api+json":{"example":{"data":{"id":"d8d58a28-a095-403e-bbb9-74cbed8e3168","type":"playbooks","attributes":{"title":"How to handle customer-facing incident?","summary":"This is a summary","external_url":null,"severity_ids":[],"environment_ids":["4ff13084-9b51-4dd5-b18b-d9955fe51222","54b23107-89fd-4302-a81f-e810c2020d17"],"service_ids":["95a43f7a-78ca-4c28-8660-192be2a1d494","60baaff3-3de0-40a9-afa7-8daa7f8b7788"],"functionality_ids":["cb55648b-3078-4acb-b921-afda381115dc","1529b60b-51b5-41d7-8a17-e78a7a365d74"],"group_ids":[],"incident_type_ids":[],"cause_ids":[],"created_at":"2025-03-17T17:08:28.497-07:00","updated_at":"2025-03-17T17:08:28.497-07:00"},"relationships":{"severities":{"data":[]},"environments":{"data":[{"id":"4ff13084-9b51-4dd5-b18b-d9955fe51222","type":"environments"},{"id":"54b23107-89fd-4302-a81f-e810c2020d17","type":"environments"}]},"services":{"data":[{"id":"95a43f7a-78ca-4c28-8660-192be2a1d494","type":"services"},{"id":"60baaff3-3de0-40a9-afa7-8daa7f8b7788","type":"services"}]},"functionalities":{"data":[{"id":"cb55648b-3078-4acb-b921-afda381115dc","type":"functionalities"},{"id":"1529b60b-51b5-41d7-8a17-e78a7a365d74","type":"functionalities"}]},"groups":{"data":[]},"causes":{"data":[]},"incident_types":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/playbook_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Title can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_playbook"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/playbooks \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/playbooks\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/playbooks\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/playbooks\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List playbooks","security":[{"bearer_auth":[]}],"tags":["Playbooks"],"description":"List playbooks","operationId":"listPlaybooks","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: severities,environments,services","schema":{"type":"string","enum":["severities","environments","services","functionalities","groups","causes","incident_types"]},"required":false},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/playbook_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/playbooks?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/playbooks?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/playbooks?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/playbooks?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/playbooks/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a playbook","security":[{"bearer_auth":[]}],"tags":["Playbooks"],"description":"Retrieves a specific playbook by id","operationId":"getPlaybook","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: severities,environments,services","schema":{"type":"string","enum":["severities","environments","services","functionalities","groups","causes","incident_types"]},"required":false}],"responses":{"200":{"description":"playbook found","content":{"application/vnd.api+json":{"example":{"data":{"id":"8b3e462a-b2cd-4d7a-b609-a67b3f3d5311","type":"playbooks","attributes":{"title":"Inventore fugiat sint ab.","summary":null,"external_url":null,"severity_ids":[],"environment_ids":[],"service_ids":[],"functionality_ids":[],"group_ids":[],"incident_type_ids":[],"cause_ids":[],"created_at":"2025-03-17T17:08:25.742-07:00","updated_at":"2025-03-17T17:08:25.742-07:00"},"relationships":{"severities":{"data":[]},"environments":{"data":[]},"services":{"data":[]},"functionalities":{"data":[]},"groups":{"data":[]},"causes":{"data":[]},"incident_types":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/playbook_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/playbooks/%7Bid%7D?include=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/playbooks/%7Bid%7D?include=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/playbooks/%7Bid%7D?include=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/playbooks/%7Bid%7D?include=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a playbook","security":[{"bearer_auth":[]}],"tags":["Playbooks"],"description":"Update a specific playbook by id","operationId":"updatePlaybook","parameters":[],"responses":{"200":{"description":"playbook updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"8b3e462a-b2cd-4d7a-b609-a67b3f3d5311","type":"playbooks","attributes":{"title":"How to handle security incident?","summary":"This is a summary","external_url":null,"severity_ids":[],"environment_ids":[],"service_ids":[],"functionality_ids":[],"group_ids":[],"incident_type_ids":[],"cause_ids":[],"created_at":"2025-03-17T17:08:25.742-07:00","updated_at":"2025-03-17T17:08:30.631-07:00"},"relationships":{"severities":{"data":[]},"environments":{"data":[]},"services":{"data":[]},"functionalities":{"data":[]},"groups":{"data":[]},"causes":{"data":[]},"incident_types":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/playbook_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_playbook"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/playbooks/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/playbooks/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/playbooks/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/playbooks/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a playbook","security":[{"bearer_auth":[]}],"tags":["Playbooks"],"description":"Delete a specific playbook by id","operationId":"deletePlaybook","responses":{"200":{"description":"playbook deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"8b3e462a-b2cd-4d7a-b609-a67b3f3d5311","type":"playbooks","attributes":{"title":"Inventore fugiat sint ab.","summary":null,"external_url":null,"severity_ids":[],"environment_ids":[],"service_ids":[],"functionality_ids":[],"group_ids":[],"incident_type_ids":[],"cause_ids":[],"created_at":"2025-03-17T17:08:25.742-07:00","updated_at":"2025-03-17T17:08:32.107-07:00"},"relationships":{"severities":{"data":[]},"environments":{"data":[]},"services":{"data":[]},"functionalities":{"data":[]},"groups":{"data":[]},"causes":{"data":[]},"incident_types":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/playbook_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/playbooks/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/playbooks/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/playbooks/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/playbooks/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/post_mortem_templates":{"post":{"summary":"Creates a retrospective template","security":[{"bearer_auth":[]}],"tags":["RetrospectiveTemplates"],"description":"Creates a new Retrospective Template from provided data","operationId":"createPostmortemTemplate","parameters":[],"responses":{"201":{"description":"post_mortem_template created","content":{"application/vnd.api+json":{"example":{"data":{"id":"d3c139f4-8431-4069-a7dc-8ffc254ef532","type":"post_mortem_templates","attributes":{"name":"My Retrospective Template","default":false,"format":"markdown","created_at":"2025-03-17T17:08:35.932-07:00","updated_at":"2025-03-17T17:08:35.936-07:00","content":"<div class=\"trix-content\">\n <h2>Test template</h2>\n\n<h3>Test new line</h3>\n</div>\n"}}},"schema":{"$ref":"#/components/schemas/post_mortem_template_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_post_mortem_template"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/post_mortem_templates \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/post_mortem_templates\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/post_mortem_templates\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/post_mortem_templates\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List Retrospective Templates","security":[{"bearer_auth":[]}],"tags":["RetrospectiveTemplates"],"description":"List Retrospective Templates","operationId":"listPostmortemTemplates","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/post_mortem_template_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/post_mortem_templates?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/post_mortem_templates?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/post_mortem_templates?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/post_mortem_templates?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/post_mortem_templates/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a Retrospective Template","security":[{"bearer_auth":[]}],"tags":["RetrospectiveTemplates"],"description":"Retrieves a specific Retrospective Template by id","operationId":"getPostmortemTemplate","responses":{"200":{"description":"Retrospective Template found","content":{"application/vnd.api+json":{"example":{"data":{"id":"6ded036a-94d7-41ed-8128-b54711bbd681","type":"post_mortem_templates","attributes":{"name":"Exercitationem est unde iste.","default":false,"format":"html","created_at":"2025-03-17T17:08:33.760-07:00","updated_at":"2025-03-17T17:08:33.765-07:00","content":""}}},"schema":{"$ref":"#/components/schemas/post_mortem_template_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/post_mortem_templates/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/post_mortem_templates/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/post_mortem_templates/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/post_mortem_templates/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a Retrospective Template","security":[{"bearer_auth":[]}],"tags":["RetrospectiveTemplates"],"description":"Update a specific Retrospective Template by id","operationId":"updatePostmortemTemplate","parameters":[],"responses":{"200":{"description":"Retrospective Template updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"6ded036a-94d7-41ed-8128-b54711bbd681","type":"post_mortem_templates","attributes":{"name":"My Retrospective Template Updated","default":false,"format":"markdown","created_at":"2025-03-17T17:08:33.760-07:00","updated_at":"2025-03-17T17:08:37.175-07:00","content":"<div class=\"trix-content\">\n <h2>Test update template</h2>\n\n<h3>Test new line</h3>\n</div>\n"}}},"schema":{"$ref":"#/components/schemas/post_mortem_template_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_post_mortem_template"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/post_mortem_templates/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/post_mortem_templates/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/post_mortem_templates/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/post_mortem_templates/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a Retrospective Template","security":[{"bearer_auth":[]}],"tags":["RetrospectiveTemplates"],"description":"Delete a specific Retrospective Template by id","operationId":"deletePostmortemTemplate","responses":{"200":{"description":"Retrospective Template deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"6ded036a-94d7-41ed-8128-b54711bbd681","type":"post_mortem_templates","attributes":{"name":"Exercitationem est unde iste.","default":false,"format":"html","created_at":"2025-03-17T17:08:33.760-07:00","updated_at":"2025-03-17T17:08:37.703-07:00","content":""}}},"schema":{"$ref":"#/components/schemas/post_mortem_template_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/post_mortem_templates/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/post_mortem_templates/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/post_mortem_templates/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/post_mortem_templates/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/pulses":{"post":{"summary":"Creates a pulse","security":[{"bearer_auth":[]}],"tags":["Pulses"],"description":"Creates a new pulse from provided data","operationId":"createPulse","parameters":[],"responses":{"201":{"description":"pulse created","content":{"application/vnd.api+json":{"example":{"data":{"id":"9cf8f124-e89a-4cb9-801f-0f0448b77abc","type":"pulses","attributes":{"short_id":null,"source":"k8s","summary":"Deploy k8s","labels":[{"key":"status","value":"succeeded"}],"refs":[{"key":"sha","value":"cd62148cbc5eb42168fe99fdb50a364e12b206ac"},{"key":"image","value":"registry.rootly.com/rootly/my-service:cd6214"}],"services":[{"id":"8a57fa52-859d-4350-b8e2-d3fc235976af","team_id":341,"name":"Et quis impedit dolorem.","slug":"et-quis-impedit-dolorem","description":"Corporis aut quam est.","deleted_at":null,"created_at":"2025-03-17T17:08:39.164-07:00","updated_at":"2025-03-17T17:08:39.164-07:00","opsgenie_id":null,"pagerduty_id":null,"public_description":null,"github_repository_branch":"master","github_repository_name":null,"color":"#F5D9C4","heroku_app_name":null,"gitlab_repository_name":null,"gitlab_repository_branch":"master","kubernetes_deployment_name":null,"incidents_count":0,"position":1,"slack_channels":[],"slack_aliases":[],"backstage_id":null,"show_uptime":true,"show_uptime_last_days":60,"status":"operational","external_id":null,"notify_emails":[],"cortex_id":null,"alerts_email_enabled":false,"alerts_email_address":"service-64750a3763ab6fd944538767be0a5a1c@email.rootly.com","opsgenie_team_id":null,"service_now_ci_sys_id":null,"alert_urgency_id":null,"opslevel_id":null}],"environments":[{"id":"3bbd2194-3ebf-489a-a958-1da8c7708912","team_id":341,"name":"Pariatur ex velit autem.","slug":"pariatur-ex-velit-autem","description":"Impedit aut in maiores.","color":"#e7fee7","deleted_at":null,"created_at":"2025-03-17T17:08:39.179-07:00","updated_at":"2025-03-17T17:08:39.179-07:00","incidents_count":0,"position":1,"slack_channels":[],"slack_aliases":[],"external_id":null,"notify_emails":[]}],"data":{"url":"https://additionaldata.com"},"external_url":"https://external-url.com","started_at":"2025-03-17T16:59:50.000-07:00","ended_at":"2025-03-17T17:01:50.000-07:00","created_at":"2025-03-17T17:08:41.659-07:00","updated_at":"2025-03-17T17:08:41.659-07:00"}}},"schema":{"$ref":"#/components/schemas/pulse_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Summary can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_pulse"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/pulses \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/pulses\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/pulses\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/pulses\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List pulses","security":[{"bearer_auth":[]}],"tags":["Pulses"],"description":"List pulses","operationId":"listPulses","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[source]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[services]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[environments]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[labels]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[refs]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[started_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[started_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[started_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[started_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[ended_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[ended_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[ended_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[ended_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/pulse_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/pulses?include=SOME_STRING_VALUE&filter%5Bsource%5D=SOME_STRING_VALUE&filter%5Bservices%5D=SOME_STRING_VALUE&filter%5Benvironments%5D=SOME_STRING_VALUE&filter%5Blabels%5D=SOME_STRING_VALUE&filter%5Brefs%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/pulses?include=SOME_STRING_VALUE&filter%5Bsource%5D=SOME_STRING_VALUE&filter%5Bservices%5D=SOME_STRING_VALUE&filter%5Benvironments%5D=SOME_STRING_VALUE&filter%5Blabels%5D=SOME_STRING_VALUE&filter%5Brefs%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/pulses?include=SOME_STRING_VALUE&filter%5Bsource%5D=SOME_STRING_VALUE&filter%5Bservices%5D=SOME_STRING_VALUE&filter%5Benvironments%5D=SOME_STRING_VALUE&filter%5Blabels%5D=SOME_STRING_VALUE&filter%5Brefs%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/pulses?include=SOME_STRING_VALUE&filter%5Bsource%5D=SOME_STRING_VALUE&filter%5Bservices%5D=SOME_STRING_VALUE&filter%5Benvironments%5D=SOME_STRING_VALUE&filter%5Blabels%5D=SOME_STRING_VALUE&filter%5Brefs%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bstarted_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bended_at%5D%5Blte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/pulses/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a pulse","security":[{"bearer_auth":[]}],"tags":["Pulses"],"description":"Retrieves a specific pulse by id","operationId":"getPulse","responses":{"200":{"description":"pulse found","content":{"application/vnd.api+json":{"example":{"data":{"id":"1362b8b8-ca6a-4601-b535-7d93952ab8a2","type":"pulses","attributes":{"short_id":null,"source":"unknown","summary":"Quia repudiandae est consequatur.","labels":[],"refs":[],"services":[],"environments":[],"data":{},"external_url":null,"started_at":"2025-03-17T17:08:39.148-07:00","ended_at":null,"created_at":"2025-03-17T17:08:39.148-07:00","updated_at":"2025-03-17T17:08:39.148-07:00"}}},"schema":{"$ref":"#/components/schemas/pulse_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/pulses/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/pulses/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/pulses/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/pulses/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a pulse","security":[{"bearer_auth":[]}],"tags":["Pulses"],"description":"Update a specific pulse by id","operationId":"updatePulse","parameters":[],"responses":{"200":{"description":"pulse updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"1362b8b8-ca6a-4601-b535-7d93952ab8a2","type":"pulses","attributes":{"short_id":null,"source":"unknown","summary":"Deploy k8s","labels":[],"refs":[],"services":[{"id":"dd9729d3-5572-4b4d-9791-a2ca82fad62c","team_id":341,"name":"Quis et autem voluptas.","slug":"quis-et-autem-voluptas","description":"Nobis laborum impedit quisquam.","deleted_at":null,"created_at":"2025-03-17T17:08:39.189-07:00","updated_at":"2025-03-17T17:08:39.189-07:00","opsgenie_id":null,"pagerduty_id":null,"public_description":null,"github_repository_branch":"master","github_repository_name":null,"color":"#D7F5E1","heroku_app_name":null,"gitlab_repository_name":null,"gitlab_repository_branch":"master","kubernetes_deployment_name":null,"incidents_count":0,"position":2,"slack_channels":[],"slack_aliases":[],"backstage_id":null,"show_uptime":true,"show_uptime_last_days":60,"status":"operational","external_id":null,"notify_emails":[],"cortex_id":null,"alerts_email_enabled":false,"alerts_email_address":"service-4f370f8d01d39eaffcfc8b2dde1c917b@email.rootly.com","opsgenie_team_id":null,"service_now_ci_sys_id":null,"alert_urgency_id":null,"opslevel_id":null}],"environments":[{"id":"671caa4a-e223-49d8-8a66-c0736902f002","team_id":341,"name":"Unde quaerat reiciendis provident.","slug":"unde-quaerat-reiciendis-provident","description":"Commodi dolore aut eos.","color":"#9f8e9f","deleted_at":null,"created_at":"2025-03-17T17:08:39.204-07:00","updated_at":"2025-03-17T17:08:39.204-07:00","incidents_count":0,"position":2,"slack_channels":[],"slack_aliases":[],"external_id":null,"notify_emails":[]}],"data":{},"external_url":null,"started_at":"2025-03-17T17:08:39.148-07:00","ended_at":null,"created_at":"2025-03-17T17:08:39.148-07:00","updated_at":"2025-03-17T17:08:42.912-07:00"}}},"schema":{"$ref":"#/components/schemas/pulse_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_pulse"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/pulses/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/pulses/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/pulses/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/pulses/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/retrospective_configurations":{"get":{"summary":"List retrospective configurations","security":[{"bearer_auth":[]}],"tags":["RetrospectiveConfigurations"],"description":"List retrospective configurations","operationId":"listRetrospectiveConfigurations","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: severities,groups","schema":{"type":"string","enum":["severities","groups","incident_types"]},"required":false},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[kind]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/retrospective_configuration_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/retrospective_configurations?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_configurations?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_configurations?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_configurations?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bkind%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/retrospective_configurations/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a Retrospective Configuration","security":[{"bearer_auth":[]}],"tags":["RetrospectiveConfigurations"],"description":"Retrieves a specific retrospective_configuration by id","operationId":"getRetrospectiveConfiguration","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: severities,groups","schema":{"type":"string","enum":["severities","groups","incident_types"]},"required":false}],"responses":{"200":{"description":"retrospective_configuration found","content":{"application/vnd.api+json":{"example":{"data":{"id":"7541eac3-01c7-45ac-a542-50e51d714c87","type":"retrospective_configurations","attributes":{"kind":"skip","severity_ids":["dab83736-af1f-4789-a877-dae7de94f924"],"incident_type_ids":[],"group_ids":[],"created_at":"2025-03-17T17:08:44.624-07:00","updated_at":"2025-03-17T17:08:44.624-07:00"},"relationships":{"severities":{"data":[{"id":"dab83736-af1f-4789-a877-dae7de94f924","type":"severities"}]},"groups":{"data":[]},"incident_types":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/retrospective_configuration_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/retrospective_configurations/%7Bid%7D?include=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_configurations/%7Bid%7D?include=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_configurations/%7Bid%7D?include=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_configurations/%7Bid%7D?include=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a retrospective configuration","security":[{"bearer_auth":[]}],"tags":["RetrospectiveConfigurations"],"description":"Update a specific retrospective configuration by id","operationId":"updateRetrospectiveConfiguration","parameters":[],"responses":{"200":{"description":"retrospective configuration updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"fd67da13-96ad-4b8e-b021-d009fe043901","type":"retrospective_configurations","attributes":{"kind":"skip","severity_ids":[],"incident_type_ids":[],"group_ids":["cce528bf-79dd-4b23-a1e5-9352dc0fa0c1"],"created_at":"2025-03-17T17:08:47.302-07:00","updated_at":"2025-03-17T17:08:47.302-07:00"},"relationships":{"severities":{"data":[]},"groups":{"data":[{"id":"cce528bf-79dd-4b23-a1e5-9352dc0fa0c1","type":"groups"}]},"incident_types":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/retrospective_configuration_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_retrospective_configuration"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/retrospective_configurations/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_configurations/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_configurations/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_configurations/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/retrospective_process_groups/{retrospective_process_group_id}/steps":{"parameters":[{"name":"retrospective_process_group_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates a retrospective process group step","security":[{"bearer_auth":[]}],"tags":["RetrospectiveProcessGroupSteps"],"description":"Creates a new retrospective process group step from provided data","operationId":"createRetrospectiveProcessGroupStep","parameters":[],"responses":{"201":{"description":"retrospective_process_group_step created","content":{"application/vnd.api+json":{"example":{"data":{"id":"002f015d-c4d3-41f3-8de7-0a4587511593","type":"retrospective_process_group_steps","attributes":{"retrospective_process_group_id":"4ef331c2-6d85-43fb-9db9-65c166d68a44","retrospective_step_id":"97fa4d7b-6c92-43fd-8a09-cb88103eb3f9","position":1,"updated_at":"2025-03-17T17:08:52.295-07:00","created_at":"2025-03-17T17:08:52.295-07:00"}}},"schema":{"$ref":"#/components/schemas/retrospective_process_group_step_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_retrospective_process_group_step"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/retrospective_process_groups/%7Bretrospective_process_group_id%7D/steps \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_process_groups/%7Bretrospective_process_group_id%7D/steps\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_process_groups/%7Bretrospective_process_group_id%7D/steps\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_process_groups/%7Bretrospective_process_group_id%7D/steps\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List retrospective_process_group_steps","security":[{"bearer_auth":[]}],"tags":["RetrospectiveProcessGroupSteps"],"description":"List retrospective_process_group_steps","operationId":"listRetrospectiveProcessGroupSteps","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[retrospective_step_id]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/retrospective_process_group_step_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/retrospective_process_groups/%7Bretrospective_process_group_id%7D/steps?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bretrospective_step_id%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_process_groups/%7Bretrospective_process_group_id%7D/steps?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bretrospective_step_id%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_process_groups/%7Bretrospective_process_group_id%7D/steps?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bretrospective_step_id%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_process_groups/%7Bretrospective_process_group_id%7D/steps?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bretrospective_step_id%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/retrospective_process_group_steps/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves retrospective_process_group_step","security":[{"bearer_auth":[]}],"tags":["RetrospectiveProcessGroupSteps"],"description":"Retrieves a specific retrospective_process_group_step by id","operationId":"getRetrospectiveProcessGroupStep","responses":{"200":{"description":"sub_status found","content":{"application/vnd.api+json":{"example":{"data":{"id":"07a6c1de-1c58-48cf-8da4-f5080a2c79ff","type":"retrospective_process_group_steps","attributes":{"retrospective_process_group_id":"4ef331c2-6d85-43fb-9db9-65c166d68a44","retrospective_step_id":"24fb307a-19ce-4d2c-b7f0-86de86e2315a","position":1,"updated_at":"2025-03-17T17:08:52.994-07:00","created_at":"2025-03-17T17:08:52.994-07:00"}}},"schema":{"$ref":"#/components/schemas/retrospective_process_group_step_response"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/retrospective_process_group_steps/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_process_group_steps/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_process_group_steps/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_process_group_steps/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update retrospective_process_group_step","security":[{"bearer_auth":[]}],"tags":["RetrospectiveProcessGroupSteps"],"description":"Update a specific retrospective_process_group_step by id","operationId":"updateRetrospectiveProcessGroupStep","parameters":[],"responses":{"200":{"description":"retrospective_process_group_step updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"f7f5dbf9-982e-4064-9e3d-8d20778f1639","type":"retrospective_process_group_steps","attributes":{"retrospective_process_group_id":"4ef331c2-6d85-43fb-9db9-65c166d68a44","retrospective_step_id":"a56797a3-943c-4b1b-86a7-b31be35993a0","position":2,"updated_at":"2025-03-17T17:08:53.764-07:00","created_at":"2025-03-17T17:08:53.603-07:00"}}},"schema":{"$ref":"#/components/schemas/retrospective_process_group_step_response"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_retrospective_process_group_step"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/retrospective_process_group_steps/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_process_group_steps/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_process_group_steps/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_process_group_steps/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a retrospective_process_group_step","security":[{"bearer_auth":[]}],"tags":["RetrospectiveProcessGroupSteps"],"description":"Delete a specific retrospective_process_group_step by id","operationId":"deleteRetrospectiveProcessGroupStep","responses":{"200":{"description":"retrospective_process_group_step deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"3f5f397b-91d2-49cd-8633-c0ccc1909354","type":"retrospective_process_group_steps","attributes":{"retrospective_process_group_id":"4ef331c2-6d85-43fb-9db9-65c166d68a44","retrospective_step_id":"849e9fe8-7d81-463f-9aa9-1489aeb7c012","position":1,"updated_at":"2025-03-17T17:08:54.308-07:00","created_at":"2025-03-17T17:08:54.161-07:00"}}},"schema":{"$ref":"#/components/schemas/retrospective_process_group_step_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/retrospective_process_group_steps/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_process_group_steps/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_process_group_steps/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_process_group_steps/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/retrospective_processes/{retrospective_process_id}/groups":{"parameters":[{"name":"retrospective_process_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates a retrospective process group","security":[{"bearer_auth":[]}],"tags":["RetrospectiveProcessGroups"],"description":"Creates a new retrospective process group from provided data","operationId":"createRetrospectiveProcessGroup","parameters":[],"responses":{"201":{"description":"retrospective_process_group created","content":{"application/vnd.api+json":{"example":{"data":{"id":"4bb69a67-0a0f-4b99-b5f7-d0329e9b50cc","type":"retrospective_process_groups","attributes":{"retrospective_process_id":"0e145f97-99e6-464b-bf4d-b14a6cfbb58b","sub_status_id":"9f674e90-a8af-464b-bccb-dc2761851006","position":3,"updated_at":"2025-03-17T17:08:56.833-07:00","created_at":"2025-03-17T17:08:56.833-07:00"},"relationships":{"retrospective_process_group_steps":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/retrospective_process_group_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_retrospective_process_group"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/retrospective_processes/%7Bretrospective_process_id%7D/groups \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_processes/%7Bretrospective_process_id%7D/groups\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_processes/%7Bretrospective_process_id%7D/groups\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_processes/%7Bretrospective_process_id%7D/groups\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List retrospective_process_groups","security":[{"bearer_auth":[]}],"tags":["RetrospectiveProcessGroups"],"description":"List retrospective_process_groups","operationId":"listRetrospectiveProcessGroups","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: retrospective_process_group_steps","schema":{"type":"string","enum":["retrospective_process_group_steps"]},"required":false},{"name":"sort","in":"query","description":"comma separated if needed. eg: created_at,updated_at","schema":{"type":"string","enum":["created_at","-created_at","updated_at","-updated_at","position","-position"]},"required":false},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[sub_status_id]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/retrospective_process_group_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/retrospective_processes/%7Bretrospective_process_id%7D/groups?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsub_status_id%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_processes/%7Bretrospective_process_id%7D/groups?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsub_status_id%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_processes/%7Bretrospective_process_id%7D/groups?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsub_status_id%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_processes/%7Bretrospective_process_id%7D/groups?include=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsub_status_id%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/retrospective_process_groups/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves retrospective_process_group","security":[{"bearer_auth":[]}],"tags":["RetrospectiveProcessGroups"],"description":"Retrieves a specific retrospective_process_group by id","operationId":"getRetrospectiveProcessGroup","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: retrospective_process_group_steps","schema":{"type":"string","enum":["retrospective_process_group_steps"]},"required":false}],"responses":{"200":{"description":"sub_status found","content":{"application/vnd.api+json":{"example":{"data":{"id":"925bad0f-bcd0-4b05-aad0-9e4dfaa37c2b","type":"retrospective_process_groups","attributes":{"retrospective_process_id":"0e145f97-99e6-464b-bf4d-b14a6cfbb58b","sub_status_id":"e1089ec9-9579-4e34-b5ae-5d2a6ef12670","position":1,"updated_at":"2025-03-17T17:08:56.271-07:00","created_at":"2025-03-17T17:08:56.271-07:00"},"relationships":{"retrospective_process_group_steps":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/retrospective_process_group_response"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/retrospective_process_groups/%7Bid%7D?include=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_process_groups/%7Bid%7D?include=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_process_groups/%7Bid%7D?include=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_process_groups/%7Bid%7D?include=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update retrospective_process_group","security":[{"bearer_auth":[]}],"tags":["RetrospectiveProcessGroups"],"description":"Update a specific retrospective_process_group by id","operationId":"updateRetrospectiveProcessGroup","parameters":[],"responses":{"200":{"description":"retrospective_process_group updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"925bad0f-bcd0-4b05-aad0-9e4dfaa37c2b","type":"retrospective_process_groups","attributes":{"retrospective_process_id":"0e145f97-99e6-464b-bf4d-b14a6cfbb58b","sub_status_id":"e1089ec9-9579-4e34-b5ae-5d2a6ef12670","position":1,"updated_at":"2025-03-17T17:08:56.271-07:00","created_at":"2025-03-17T17:08:56.271-07:00"},"relationships":{"retrospective_process_group_steps":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/retrospective_process_group_response"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_retrospective_process_group"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/retrospective_process_groups/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_process_groups/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_process_groups/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_process_groups/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a retrospective_process_group","security":[{"bearer_auth":[]}],"tags":["RetrospectiveProcessGroups"],"description":"Delete a specific retrospective_process_group by id","operationId":"deleteRetrospectiveProcessGroup","responses":{"200":{"description":"retrospective_process_group deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"925bad0f-bcd0-4b05-aad0-9e4dfaa37c2b","type":"retrospective_process_groups","attributes":{"retrospective_process_id":"0e145f97-99e6-464b-bf4d-b14a6cfbb58b","sub_status_id":"e1089ec9-9579-4e34-b5ae-5d2a6ef12670","position":1,"updated_at":"2025-03-17T17:08:57.658-07:00","created_at":"2025-03-17T17:08:56.271-07:00"},"relationships":{"retrospective_process_group_steps":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/retrospective_process_group_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/retrospective_process_groups/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_process_groups/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_process_groups/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_process_groups/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/retrospective_processes":{"post":{"summary":"Creates a retrospective process","security":[{"bearer_auth":[]}],"tags":["RetrospectiveProcesses"],"description":"Creates a new retrospective process from provided data","operationId":"createRetrospectiveProcess","parameters":[],"responses":{"201":{"description":"retrospective_process created","content":{"application/vnd.api+json":{"example":{"data":{"id":"85cd80e2-d675-460a-882c-11fad67292e2","type":"retrospective_processes","attributes":{"name":"Retrospective Process 1","description":"Retrospective Process 1 Description","is_default":false,"created_at":"2025-03-17T17:09:02.119-07:00","updated_at":"2025-03-17T17:09:02.119-07:00","retrospective_process_matching_criteria":{"severity_ids":["98818dff-928e-49e7-90ff-838356ca13ee"]}},"relationships":{"retrospective_steps":{"data":[{"id":"b7b2e25e-0a3f-49d9-a0fa-c74eb931da00","type":"retrospective_steps"},{"id":"84907872-228b-4d3c-a831-b8564551a32c","type":"retrospective_steps"}]},"severities":{"data":[{"id":"98818dff-928e-49e7-90ff-838356ca13ee","type":"severities"}]}}}},"schema":{"$ref":"#/components/schemas/retrospective_process_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"name":["can't be blank"]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_retrospective_process"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/retrospective_processes \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_processes\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_processes\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_processes\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List retrospective processes","security":[{"bearer_auth":[]}],"tags":["RetrospectiveProcesses"],"description":"List retrospective processes","operationId":"listRetrospectiveProcesses","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: retrospective_steps,severities","schema":{"type":"string","enum":["retrospective_steps","severities","incident_types","groups"]},"required":false},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/retrospective_process_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/retrospective_processes?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_processes?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_processes?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_processes?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/retrospective_processes/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a retrospective process","security":[{"bearer_auth":[]}],"tags":["RetrospectiveProcesses"],"description":"Retrieves a specific retrospective process by id","operationId":"getRetrospectiveProcess","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: retrospective_steps,severities","schema":{"type":"string","enum":["retrospective_steps","severities","incident_types","groups"]},"required":false}],"responses":{"200":{"description":"retrospective_process found","content":{"application/vnd.api+json":{"example":{"data":{"id":"6f072533-f154-4591-90de-4a3d34554769","type":"retrospective_processes","attributes":{"name":"Eos suscipit quia aliquam.","description":"Vero tenetur facere. Natus reprehenderit libero. Possimus incidunt voluptates.","is_default":false,"created_at":"2025-03-17T17:08:59.092-07:00","updated_at":"2025-03-17T17:08:59.092-07:00","retrospective_process_matching_criteria":{"incident_type_ids":["d167bb85-4c3a-46d9-9124-54e7ca9d4a9c"]}},"relationships":{"retrospective_steps":{"data":[{"id":"88a36153-11d6-4c04-b94e-e37572d1d788","type":"retrospective_steps"},{"id":"88771c95-1c17-4ad1-8b35-6f9ec57784a5","type":"retrospective_steps"}]},"incident_types":{"data":[{"id":"d167bb85-4c3a-46d9-9124-54e7ca9d4a9c","type":"incident_types"}]}}}},"schema":{"$ref":"#/components/schemas/retrospective_process_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/retrospective_processes/%7Bid%7D?include=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_processes/%7Bid%7D?include=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_processes/%7Bid%7D?include=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_processes/%7Bid%7D?include=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a retrospective process","security":[{"bearer_auth":[]}],"tags":["RetrospectiveProcesses"],"description":"Updates a specific retrospective process by id","operationId":"updateRetrospectiveProcess","parameters":[],"responses":{"200":{"description":"retrospective_process updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"6f072533-f154-4591-90de-4a3d34554769","type":"retrospective_processes","attributes":{"name":"Retrospective Process 2","description":"Retrospective Process 2 description","is_default":false,"created_at":"2025-03-17T17:08:59.092-07:00","updated_at":"2025-03-17T17:09:03.418-07:00","retrospective_process_matching_criteria":{"group_ids":["2ffdae49-ecb9-4113-8fa3-3b51909eeacc"]}},"relationships":{"retrospective_steps":{"data":[{"id":"88a36153-11d6-4c04-b94e-e37572d1d788","type":"retrospective_steps"},{"id":"88771c95-1c17-4ad1-8b35-6f9ec57784a5","type":"retrospective_steps"}]},"groups":{"data":[{"id":"2ffdae49-ecb9-4113-8fa3-3b51909eeacc","type":"groups"}]}}}},"schema":{"$ref":"#/components/schemas/retrospective_process_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_retrospective_process"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/retrospective_processes/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_processes/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_processes/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_processes/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a retrospective process","security":[{"bearer_auth":[]}],"tags":["RetrospectiveProcesses"],"description":"Delete a specific retrospective process by id","operationId":"deleteRetrospectiveProcess","responses":{"200":{"description":"retrospective_process deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"6f072533-f154-4591-90de-4a3d34554769","type":"retrospective_processes","attributes":{"name":"Eos suscipit quia aliquam.","description":"Vero tenetur facere. Natus reprehenderit libero. Possimus incidunt voluptates.","is_default":false,"created_at":"2025-03-17T17:08:59.092-07:00","updated_at":"2025-03-17T17:09:03.978-07:00","retrospective_process_matching_criteria":{"incident_type_ids":["d167bb85-4c3a-46d9-9124-54e7ca9d4a9c"]}},"relationships":{"retrospective_steps":{"data":[{"id":"88a36153-11d6-4c04-b94e-e37572d1d788","type":"retrospective_steps"},{"id":"88771c95-1c17-4ad1-8b35-6f9ec57784a5","type":"retrospective_steps"}]},"incident_types":{"data":[{"id":"d167bb85-4c3a-46d9-9124-54e7ca9d4a9c","type":"incident_types"}]}}}},"schema":{"$ref":"#/components/schemas/retrospective_process_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/retrospective_processes/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_processes/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_processes/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_processes/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/retrospective_processes/{retrospective_process_id}/retrospective_steps":{"parameters":[{"name":"retrospective_process_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates a retrospective step","security":[{"bearer_auth":[]}],"tags":["RetrospectiveSteps"],"description":"Creates a new retrospective step from provided data","operationId":"createRetrospectiveStep","parameters":[],"responses":{"201":{"description":"retrospective_step created","content":{"application/vnd.api+json":{"example":{"data":{"id":"6ad175b9-2542-4906-94dc-5cd0657ce377","type":"retrospective_steps","attributes":{"retrospective_process_id":"3a61ff21-d50b-48a3-a6ff-2000291fafca","title":"Step 1","description":"Step 1 description","incident_role_id":"ca4c5560-f8e7-4053-ab34-f650a0f50987","due_after_days":5,"position":1,"skippable":false,"created_at":"2025-03-17T17:09:05.671-07:00","updated_at":"2025-03-17T17:09:05.671-07:00"}}},"schema":{"$ref":"#/components/schemas/retrospective_step_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Title can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_retrospective_step"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/retrospective_processes/%7Bretrospective_process_id%7D/retrospective_steps \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_processes/%7Bretrospective_process_id%7D/retrospective_steps\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_processes/%7Bretrospective_process_id%7D/retrospective_steps\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_processes/%7Bretrospective_process_id%7D/retrospective_steps\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List retrospective steps","security":[{"bearer_auth":[]}],"tags":["RetrospectiveSteps"],"description":"List retrospective steps","operationId":"listRetrospectiveSteps","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/retrospective_step_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/retrospective_processes/%7Bretrospective_process_id%7D/retrospective_steps?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_processes/%7Bretrospective_process_id%7D/retrospective_steps?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_processes/%7Bretrospective_process_id%7D/retrospective_steps?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_processes/%7Bretrospective_process_id%7D/retrospective_steps?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/retrospective_steps/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a retrospective step","security":[{"bearer_auth":[]}],"tags":["RetrospectiveSteps"],"description":"Retrieves a specific retrospective step by id","operationId":"getRetrospectiveStep","responses":{"200":{"description":"retrospective_step found","content":{"application/vnd.api+json":{"example":{"data":{"id":"e373ffad-3238-42c2-bcc0-d02c4a1b3726","type":"retrospective_steps","attributes":{"retrospective_process_id":"3a61ff21-d50b-48a3-a6ff-2000291fafca","title":"Step 11","description":"Bar","incident_role_id":"ca4c5560-f8e7-4053-ab34-f650a0f50987","due_after_days":null,"position":1,"skippable":true,"created_at":"2025-03-17T17:09:05.493-07:00","updated_at":"2025-03-17T17:09:05.493-07:00"}}},"schema":{"$ref":"#/components/schemas/retrospective_step_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/retrospective_steps/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_steps/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_steps/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_steps/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a retrospective step","security":[{"bearer_auth":[]}],"tags":["RetrospectiveSteps"],"description":"Update a specific retrospective step by id","operationId":"updateRetrospectiveStep","parameters":[],"responses":{"200":{"description":"retrospective_step updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"e373ffad-3238-42c2-bcc0-d02c4a1b3726","type":"retrospective_steps","attributes":{"retrospective_process_id":"3a61ff21-d50b-48a3-a6ff-2000291fafca","title":"Step 2","description":"Step 2 description","incident_role_id":"338fe3f3-51f0-44d1-b91e-629e0333b21a","due_after_days":7,"position":2,"skippable":true,"created_at":"2025-03-17T17:09:05.493-07:00","updated_at":"2025-03-17T17:09:06.878-07:00"}}},"schema":{"$ref":"#/components/schemas/retrospective_step_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_retrospective_step"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/retrospective_steps/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_steps/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_steps/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_steps/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a retrospective step","security":[{"bearer_auth":[]}],"tags":["RetrospectiveSteps"],"description":"Delete a specific retrospective step by id","operationId":"deleteRetrospectiveStep","responses":{"200":{"description":"retrospective_step deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"e373ffad-3238-42c2-bcc0-d02c4a1b3726","type":"retrospective_steps","attributes":{"retrospective_process_id":"3a61ff21-d50b-48a3-a6ff-2000291fafca","title":"Step 11","description":"Bar","incident_role_id":"ca4c5560-f8e7-4053-ab34-f650a0f50987","due_after_days":null,"position":1,"skippable":true,"created_at":"2025-03-17T17:09:05.493-07:00","updated_at":"2025-03-17T17:09:07.447-07:00"}}},"schema":{"$ref":"#/components/schemas/retrospective_step_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/retrospective_steps/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/retrospective_steps/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/retrospective_steps/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/retrospective_steps/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/roles":{"post":{"summary":"Creates a role","security":[{"bearer_auth":[]}],"tags":["Roles"],"description":"Creates a new role from provided data","operationId":"createRole","parameters":[],"responses":{"201":{"description":"role created","content":{"application/vnd.api+json":{"example":{"data":{"id":"c4eb156e-0c93-4100-abfb-3525285557bc","type":"roles","attributes":{"team_id":376,"name":"Infrastructure","slug":"infrastructure","is_deletable":true,"is_editable":true,"alerts_permissions":["create","read"],"api_keys_permissions":["read"],"audits_permissions":[],"billing_permissions":["update"],"environments_permissions":["read"],"form_fields_permissions":["read"],"functionalities_permissions":["read"],"groups_permissions":["read"],"incident_causes_permissions":["read"],"incident_feedbacks_permissions":["read","create","update"],"incident_permission_set_id":"7ef1d637-6790-40b1-a174-74454a3f0580","incident_roles_permissions":["read"],"incident_types_permissions":["read"],"incidents_permissions":["read"],"integrations_permissions":[],"invitations_permissions":["read"],"playbooks_permissions":["read"],"private_incidents_permissions":[],"pulses_permissions":["create","update","read"],"retrospective_permissions":["read"],"roles_permissions":["read"],"secrets_permissions":["create"],"services_permissions":["read"],"severities_permissions":["read"],"status_pages_permissions":["read"],"webhooks_permissions":["read"],"workflows_permissions":["read"],"updated_at":"2025-03-17T17:09:10.570-07:00","created_at":"2025-03-17T17:09:10.570-07:00"}}},"schema":{"$ref":"#/components/schemas/role_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_role"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/roles \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/roles\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/roles\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/roles\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List roles","security":[{"bearer_auth":[]}],"tags":["Roles"],"description":"List roles","operationId":"listRoles","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/role_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/roles?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/roles?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/roles?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/roles?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/roles/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a role","security":[{"bearer_auth":[]}],"tags":["Roles"],"description":"Retrieves a specific role by id","operationId":"getRole","responses":{"200":{"description":"role found","content":{"application/vnd.api+json":{"example":{"data":{"id":"5a5be055-5ebf-4505-ad64-254da1a12bdd","type":"roles","attributes":{"team_id":379,"name":"Role 1","slug":"role-1","is_deletable":true,"is_editable":true,"alerts_permissions":["create","read"],"api_keys_permissions":["read"],"audits_permissions":[],"billing_permissions":["update"],"environments_permissions":["read"],"form_fields_permissions":["read"],"functionalities_permissions":["read"],"groups_permissions":["read"],"incident_causes_permissions":["read"],"incident_feedbacks_permissions":["read","create","update"],"incident_permission_set_id":"3086c90e-3e57-4146-bb6c-d75a488f9736","incident_roles_permissions":["read"],"incident_types_permissions":["read"],"incidents_permissions":["read"],"integrations_permissions":[],"invitations_permissions":["read"],"playbooks_permissions":["read"],"private_incidents_permissions":[],"pulses_permissions":["create","update","read"],"retrospective_permissions":["read"],"roles_permissions":["read"],"secrets_permissions":["create"],"services_permissions":["read"],"severities_permissions":["read"],"status_pages_permissions":["read"],"webhooks_permissions":["read"],"workflows_permissions":["read"],"updated_at":"2025-03-17T17:09:12.532-07:00","created_at":"2025-03-17T17:09:12.532-07:00"}}},"schema":{"$ref":"#/components/schemas/role_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/roles/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/roles/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/roles/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/roles/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a role","security":[{"bearer_auth":[]}],"tags":["Roles"],"description":"Update a specific role by id","operationId":"updateRole","parameters":[],"responses":{"200":{"description":"role updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"e661ab33-bf86-4f7a-a296-20f364fbfd94","type":"roles","attributes":{"team_id":383,"name":"Security","slug":"role-3","is_deletable":true,"is_editable":true,"alerts_permissions":["create","read"],"api_keys_permissions":["read"],"audits_permissions":[],"billing_permissions":["update"],"environments_permissions":["read"],"form_fields_permissions":["read"],"functionalities_permissions":["read"],"groups_permissions":["read"],"incident_causes_permissions":["read"],"incident_feedbacks_permissions":["read","create","update"],"incident_permission_set_id":"6504c0b4-f03a-4e9c-bb09-9c2286800044","incident_roles_permissions":["read"],"incident_types_permissions":["read"],"incidents_permissions":["read"],"integrations_permissions":[],"invitations_permissions":["read"],"playbooks_permissions":["read"],"private_incidents_permissions":[],"pulses_permissions":["create","update","read"],"retrospective_permissions":["read"],"roles_permissions":["read"],"secrets_permissions":["create"],"services_permissions":["read"],"severities_permissions":["read"],"status_pages_permissions":["read"],"webhooks_permissions":["read"],"workflows_permissions":["read"],"updated_at":"2025-03-17T17:09:15.977-07:00","created_at":"2025-03-17T17:09:15.795-07:00"}}},"schema":{"$ref":"#/components/schemas/role_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_role"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/roles/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/roles/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/roles/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/roles/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a role","security":[{"bearer_auth":[]}],"tags":["Roles"],"description":"Delete a specific role by id","operationId":"deleteRole","responses":{"200":{"description":"role deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"43a5ff0c-ff1e-43a3-949a-22ce1231b63c","type":"roles","attributes":{"team_id":387,"name":"Role 5","slug":"role-5","is_deletable":true,"is_editable":true,"alerts_permissions":["create","read"],"api_keys_permissions":["read"],"audits_permissions":[],"billing_permissions":["update"],"environments_permissions":["read"],"form_fields_permissions":["read"],"functionalities_permissions":["read"],"groups_permissions":["read"],"incident_causes_permissions":["read"],"incident_feedbacks_permissions":["read","create","update"],"incident_permission_set_id":"0333de42-dfab-4776-b486-383f19f154f8","incident_roles_permissions":["read"],"incident_types_permissions":["read"],"incidents_permissions":["read"],"integrations_permissions":[],"invitations_permissions":["read"],"playbooks_permissions":["read"],"private_incidents_permissions":[],"pulses_permissions":["create","update","read"],"retrospective_permissions":["read"],"roles_permissions":["read"],"secrets_permissions":["create"],"services_permissions":["read"],"severities_permissions":["read"],"status_pages_permissions":["read"],"webhooks_permissions":["read"],"workflows_permissions":["read"],"updated_at":"2025-03-17T17:09:18.487-07:00","created_at":"2025-03-17T17:09:18.324-07:00"}}},"schema":{"$ref":"#/components/schemas/role_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/roles/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/roles/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/roles/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/roles/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/schedule_rotations/{schedule_rotation_id}/schedule_rotation_active_days":{"parameters":[{"name":"schedule_rotation_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates a schedule rotation active day","security":[{"bearer_auth":[]}],"tags":["ScheduleRotationActiveDays"],"description":"Creates a new schedule rotation active day from provided data","operationId":"createScheduleRotationActiveDay","parameters":[],"responses":{"201":{"description":"schedule_rotation_active_day created","content":{"application/vnd.api+json":{"example":{"data":{"id":"e732494f-4eb9-46ab-98a5-4266b50f948d","type":"schedule_rotation_active_days","attributes":{"schedule_rotation_id":"5e646f5d-a6e8-4da6-a8bf-e0375aa8d3a1","day_name":"M","created_at":"2025-03-17T17:09:21.943-07:00","updated_at":"2025-03-17T17:09:21.943-07:00","active_time_attributes":[{"start_time":"07:30","end_time":"16:30"},{"start_time":"17:00","end_time":"20:00"}]}}},"schema":{"$ref":"#/components/schemas/schedule_rotation_active_day_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Day name can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_schedule_rotation_active_day"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/schedule_rotations/%7Bschedule_rotation_id%7D/schedule_rotation_active_days \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedule_rotations/%7Bschedule_rotation_id%7D/schedule_rotation_active_days\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedule_rotations/%7Bschedule_rotation_id%7D/schedule_rotation_active_days\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedule_rotations/%7Bschedule_rotation_id%7D/schedule_rotation_active_days\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List schedule rotation active days","security":[{"bearer_auth":[]}],"tags":["ScheduleRotationActiveDays"],"description":"List schedule rotation active days","operationId":"listScheduleRotationActiveDays","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/schedule_rotation_active_day_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/schedule_rotations/%7Bschedule_rotation_id%7D/schedule_rotation_active_days?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedule_rotations/%7Bschedule_rotation_id%7D/schedule_rotation_active_days?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedule_rotations/%7Bschedule_rotation_id%7D/schedule_rotation_active_days?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedule_rotations/%7Bschedule_rotation_id%7D/schedule_rotation_active_days?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/schedule_rotation_active_days/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a schedule rotation active day","security":[{"bearer_auth":[]}],"tags":["ScheduleRotationActiveDays"],"description":"Retrieves a specific schedule rotation active day by id","operationId":"getScheduleRotationActiveDay","responses":{"200":{"description":"schedule_rotation_active_day found","content":{"application/vnd.api+json":{"example":{"data":{"id":"fba3d067-bd82-4cc1-b6e1-605b7d73ea9b","type":"schedule_rotation_active_days","attributes":{"schedule_rotation_id":"5e646f5d-a6e8-4da6-a8bf-e0375aa8d3a1","day_name":"S","created_at":"2025-03-17T17:09:21.776-07:00","updated_at":"2025-03-17T17:09:21.776-07:00","active_time_attributes":[]}}},"schema":{"$ref":"#/components/schemas/schedule_rotation_active_day_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/schedule_rotation_active_days/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedule_rotation_active_days/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedule_rotation_active_days/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedule_rotation_active_days/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a schedule rotation active day","security":[{"bearer_auth":[]}],"tags":["ScheduleRotationActiveDays"],"description":"Update a specific schedule rotation active day by id","operationId":"updateScheduleRotationActiveDay","parameters":[],"responses":{"200":{"description":"schedule_rotation_active_day updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"fba3d067-bd82-4cc1-b6e1-605b7d73ea9b","type":"schedule_rotation_active_days","attributes":{"schedule_rotation_id":"5e646f5d-a6e8-4da6-a8bf-e0375aa8d3a1","day_name":"M","created_at":"2025-03-17T17:09:21.776-07:00","updated_at":"2025-03-17T17:09:23.243-07:00","active_time_attributes":[{"start_time":"10:30","end_time":"03:30"}]}}},"schema":{"$ref":"#/components/schemas/schedule_rotation_active_day_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_schedule_rotation_active_day"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/schedule_rotation_active_days/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedule_rotation_active_days/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedule_rotation_active_days/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedule_rotation_active_days/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a schedule rotation active day","security":[{"bearer_auth":[]}],"tags":["ScheduleRotationActiveDays"],"description":"Delete a specific schedule rotation active day","operationId":"deleteScheduleRotationActiveDay","responses":{"200":{"description":"schedule_rotation_active_day deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"fba3d067-bd82-4cc1-b6e1-605b7d73ea9b","type":"schedule_rotation_active_days","attributes":{"schedule_rotation_id":"5e646f5d-a6e8-4da6-a8bf-e0375aa8d3a1","day_name":"S","created_at":"2025-03-17T17:09:21.776-07:00","updated_at":"2025-03-17T17:09:23.832-07:00","active_time_attributes":[]}}},"schema":{"$ref":"#/components/schemas/schedule_rotation_active_day_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/schedule_rotation_active_days/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedule_rotation_active_days/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedule_rotation_active_days/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedule_rotation_active_days/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/schedule_rotations/{schedule_rotation_id}/schedule_rotation_users":{"parameters":[{"name":"schedule_rotation_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates a schedule rotation user","security":[{"bearer_auth":[]}],"tags":["ScheduleRotationUsers"],"description":"Creates a new schedule rotation user from provided data","operationId":"createScheduleRotationUser","parameters":[],"responses":{"201":{"description":"schedule_rotation_user created","content":{"application/vnd.api+json":{"example":{"data":{"id":"6d9b3229-59ac-4243-ae32-f673d67654e1","type":"schedule_rotation_users","attributes":{"schedule_rotation_id":"70f747d6-951d-4106-b1e1-43674bca5e8b","user_id":434,"position":2,"created_at":"2025-03-17T17:09:25.728-07:00","updated_at":"2025-03-17T17:09:25.728-07:00"}}},"schema":{"$ref":"#/components/schemas/schedule_rotation_user_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"User must exist","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_schedule_rotation_user"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/schedule_rotations/%7Bschedule_rotation_id%7D/schedule_rotation_users \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedule_rotations/%7Bschedule_rotation_id%7D/schedule_rotation_users\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedule_rotations/%7Bschedule_rotation_id%7D/schedule_rotation_users\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedule_rotations/%7Bschedule_rotation_id%7D/schedule_rotation_users\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List schedule rotation users","security":[{"bearer_auth":[]}],"tags":["ScheduleRotationUsers"],"operationId":"listScheduleRotationUsers","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/schedule_rotation_user_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/schedule_rotations/%7Bschedule_rotation_id%7D/schedule_rotation_users?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedule_rotations/%7Bschedule_rotation_id%7D/schedule_rotation_users?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedule_rotations/%7Bschedule_rotation_id%7D/schedule_rotation_users?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedule_rotations/%7Bschedule_rotation_id%7D/schedule_rotation_users?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/schedule_rotation_users/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a schedule rotation user","security":[{"bearer_auth":[]}],"tags":["ScheduleRotationUsers"],"description":"Retrieves a specific schedule rotation user by id","operationId":"getScheduleRotationUser","responses":{"200":{"description":"schedule_rotation_user found","content":{"application/vnd.api+json":{"example":{"data":{"id":"d7dab1c0-5406-460d-ae69-8f72d4ada396","type":"schedule_rotation_users","attributes":{"schedule_rotation_id":"70f747d6-951d-4106-b1e1-43674bca5e8b","user_id":434,"position":2,"created_at":"2025-03-17T17:09:25.560-07:00","updated_at":"2025-03-17T17:09:25.566-07:00"}}},"schema":{"$ref":"#/components/schemas/schedule_rotation_user_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/schedule_rotation_users/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedule_rotation_users/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedule_rotation_users/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedule_rotation_users/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update schedule rotation user","security":[{"bearer_auth":[]}],"tags":["ScheduleRotationUsers"],"description":"Update a specific schedule rotation user by id","operationId":"updateScheduleRotationUser","parameters":[],"responses":{"200":{"description":"schedule_rotation_user updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"d7dab1c0-5406-460d-ae69-8f72d4ada396","type":"schedule_rotation_users","attributes":{"schedule_rotation_id":"70f747d6-951d-4106-b1e1-43674bca5e8b","user_id":434,"position":2,"created_at":"2025-03-17T17:09:25.560-07:00","updated_at":"2025-03-17T17:09:25.566-07:00"}}},"schema":{"$ref":"#/components/schemas/schedule_rotation_user_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_schedule_rotation_user"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/schedule_rotation_users/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedule_rotation_users/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedule_rotation_users/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedule_rotation_users/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a schedule rotation user","security":[{"bearer_auth":[]}],"tags":["ScheduleRotationUsers"],"description":"Delete a specific schedule rotation user by id","operationId":"deleteScheduleRotationUser","responses":{"200":{"description":"schedule_rotation_user deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"d7dab1c0-5406-460d-ae69-8f72d4ada396","type":"schedule_rotation_users","attributes":{"schedule_rotation_id":"70f747d6-951d-4106-b1e1-43674bca5e8b","user_id":434,"position":2,"created_at":"2025-03-17T17:09:25.560-07:00","updated_at":"2025-03-17T17:09:27.745-07:00"}}},"schema":{"$ref":"#/components/schemas/schedule_rotation_user_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/schedule_rotation_users/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedule_rotation_users/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedule_rotation_users/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedule_rotation_users/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/schedules/{schedule_id}/schedule_rotations":{"parameters":[{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates a schedule rotation","security":[{"bearer_auth":[]}],"tags":["ScheduleRotations"],"description":"Creates a new schedule rotation from provided data","operationId":"createScheduleRotation","parameters":[],"responses":{"201":{"description":"schedule_rotation created with custom active times","content":{"application/vnd.api+json":{"example":{"data":{"id":"2b05a827-3692-4c6d-99e5-c577f3499ee3","type":"schedule_rotations","attributes":{"schedule_id":"ed7470ee-e5e2-4d65-bcce-6b8ef6aa482f","name":"Schedule Rotation Name","position":1,"schedule_rotationable_type":"ScheduleWeeklyRotation","active_all_week":false,"active_days":["M","T"],"active_time_type":"same_time","time_zone":"American Samoa","schedule_rotationable_attributes":{"handoff_time":"21:30","handoff_day":"T"},"active_time_attributes":[{"start_time":"07:30","end_time":"16:30"},{"start_time":"17:00","end_time":"21:00"}]}}},"schema":{"$ref":"#/components/schemas/schedule_rotation_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_schedule_rotation"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/schedules/%7Bschedule_id%7D/schedule_rotations \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedules/%7Bschedule_id%7D/schedule_rotations\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedules/%7Bschedule_id%7D/schedule_rotations\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedules/%7Bschedule_id%7D/schedule_rotations\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List schedule rotations","security":[{"bearer_auth":[]}],"tags":["ScheduleRotations"],"description":"List schedule rotations","operationId":"listScheduleRotations","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/schedule_rotation_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/schedules/%7Bschedule_id%7D/schedule_rotations?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedules/%7Bschedule_id%7D/schedule_rotations?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedules/%7Bschedule_id%7D/schedule_rotations?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedules/%7Bschedule_id%7D/schedule_rotations?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/schedule_rotations/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a schedule rotation","security":[{"bearer_auth":[]}],"tags":["ScheduleRotations"],"description":"Retrieves a specific schedule rotation by id","operationId":"getScheduleRotation","responses":{"200":{"description":"schedule_rotation found","content":{"application/vnd.api+json":{"example":{"data":{"id":"f1e08931-125f-4bed-afbb-c5c0ed8c568d","type":"schedule_rotations","attributes":{"schedule_id":"ed7470ee-e5e2-4d65-bcce-6b8ef6aa482f","name":"Schedule Rotation 12","position":1,"schedule_rotationable_type":"ScheduleDailyRotation","active_all_week":true,"active_days":[],"active_time_type":"all_day","time_zone":"UTC","schedule_rotationable_attributes":{"handoff_time":"17:00"},"active_time_attributes":[]}}},"schema":{"$ref":"#/components/schemas/schedule_rotation_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/schedule_rotations/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedule_rotations/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedule_rotations/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedule_rotations/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a schedule rotation","security":[{"bearer_auth":[]}],"tags":["ScheduleRotations"],"description":"Update a specific schedule rotation by id","operationId":"updateScheduleRotation","parameters":[],"responses":{"200":{"description":"schedule_rotation updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"f1e08931-125f-4bed-afbb-c5c0ed8c568d","type":"schedule_rotations","attributes":{"schedule_id":"ed7470ee-e5e2-4d65-bcce-6b8ef6aa482f","name":"Updated Schedule Rotation Name","position":1,"schedule_rotationable_type":"ScheduleWeeklyRotation","active_all_week":false,"active_days":["M","T"],"active_time_type":"same_time","time_zone":"American Samoa","schedule_rotationable_attributes":{"handoff_time":"22:30","handoff_day":"T"},"active_time_attributes":[{"start_time":"07:30","end_time":"20:30"}]}}},"schema":{"$ref":"#/components/schemas/schedule_rotation_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_schedule_rotation"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/schedule_rotations/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedule_rotations/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedule_rotations/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedule_rotations/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a schedule rotation","security":[{"bearer_auth":[]}],"tags":["ScheduleRotations"],"description":"Delete a specific schedule rotation by id","operationId":"deleteScheduleRotation","responses":{"200":{"description":"schedule_rotation deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"f1e08931-125f-4bed-afbb-c5c0ed8c568d","type":"schedule_rotations","attributes":{"schedule_id":"ed7470ee-e5e2-4d65-bcce-6b8ef6aa482f","name":"Schedule Rotation 12","position":1,"schedule_rotationable_type":"ScheduleDailyRotation","active_all_week":true,"active_days":[],"active_time_type":"all_day","time_zone":"UTC","schedule_rotationable_attributes":{"handoff_time":"17:00"},"active_time_attributes":[]}}},"schema":{"$ref":"#/components/schemas/schedule_rotation_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/schedule_rotations/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedule_rotations/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedule_rotations/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedule_rotations/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/schedules":{"post":{"summary":"Creates a schedule","security":[{"bearer_auth":[]}],"tags":["Schedules"],"description":"Creates a new schedule from provided data","operationId":"createSchedule","parameters":[],"responses":{"201":{"description":"schedule created","content":{"application/vnd.api+json":{"example":{"data":{"id":"aa9e8290-4ab8-4a49-9dec-a7244c5ae638","type":"schedules","attributes":{"name":"Schedule Name","description":"Schedule Description","all_time_coverage":true,"slack_user_group":{},"owner_user_id":449,"owner_group_ids":[],"created_at":"2025-03-17T17:09:41.610-07:00","updated_at":"2025-03-17T17:09:41.610-07:00"},"relationships":{"owner_user":{"data":{"id":"449","type":"users"}},"escalation_policies":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/schedule_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"name":["can't be blank"]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_schedule"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/schedules \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedules\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedules\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedules\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List schedules","security":[{"bearer_auth":[]}],"tags":["Schedules"],"description":"List schedules","operationId":"listSchedules","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/schedule_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/schedules?include=SOME_STRING_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedules?include=SOME_STRING_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedules?include=SOME_STRING_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedules?include=SOME_STRING_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/schedules/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a schedule","security":[{"bearer_auth":[]}],"tags":["Schedules"],"description":"Retrieves a specific schedule by id","operationId":"getSchedule","responses":{"200":{"description":"schedule found","content":{"application/vnd.api+json":{"example":{"data":{"id":"169cffb4-b9ec-4453-a709-26689146378b","type":"schedules","attributes":{"name":"Schedule 9","description":"Schedule description","all_time_coverage":false,"slack_user_group":{},"owner_user_id":449,"owner_group_ids":[],"created_at":"2025-03-17T17:09:37.667-07:00","updated_at":"2025-03-17T17:09:37.667-07:00"},"relationships":{"owner_user":{"data":{"id":"449","type":"users"}},"escalation_policies":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/schedule_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/schedules/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedules/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedules/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedules/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a schedule","security":[{"bearer_auth":[]}],"tags":["Schedules"],"description":"Updates a specific schedule by id","operationId":"updateSchedule","parameters":[],"responses":{"200":{"description":"schedule updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"169cffb4-b9ec-4453-a709-26689146378b","type":"schedules","attributes":{"name":"Updated schedule name","description":"Updated schedule description","all_time_coverage":true,"slack_user_group":{},"owner_user_id":449,"owner_group_ids":[],"created_at":"2025-03-17T17:09:37.667-07:00","updated_at":"2025-03-17T17:09:44.207-07:00"},"relationships":{"owner_user":{"data":{"id":"449","type":"users"}},"escalation_policies":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/schedule_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_schedule"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/schedules/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedules/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedules/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedules/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a schedule","security":[{"bearer_auth":[]}],"tags":["Schedules"],"description":"Delete a specific schedule by id","operationId":"deleteSchedule","responses":{"200":{"description":"schedule deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"169cffb4-b9ec-4453-a709-26689146378b","type":"schedules","attributes":{"name":"Schedule 9","description":"Schedule description","all_time_coverage":false,"slack_user_group":{},"owner_user_id":449,"owner_group_ids":[],"created_at":"2025-03-17T17:09:37.667-07:00","updated_at":"2025-03-17T17:09:44.793-07:00"},"relationships":{"owner_user":{"data":{"id":"449","type":"users"}},"escalation_policies":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/schedule_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/schedules/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedules/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedules/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedules/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/schedules/{id}/shifts":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a schedule shifts","security":[{"bearer_auth":[]}],"tags":["Shifts"],"description":"Retrieves schedule shifts","operationId":"getScheduleShifts","parameters":[{"name":"to","in":"query","schema":{"type":"string"}},{"name":"from","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"schedule shifts found","content":{"application/vnd.api+json":{"example":{"data":[{"id":"88ab8241-0068-4e68-adac-2050e8817b3f","type":"shifts","attributes":{"schedule_id":"169cffb4-b9ec-4453-a709-26689146378b","rotation_id":"4437e646-c176-47b5-86ba-5a541f929930","starts_at":"2025-03-17T15:09:37.000-07:00","ends_at":"2025-03-17T19:09:37.000-07:00","is_override":true},"relationships":{"shift_override":{"data":null},"user":{"data":{"id":"456","type":"users"}}}},{"id":"3b205613-3919-41b4-97db-c2a00524a2ea","type":"shifts","attributes":{"schedule_id":"169cffb4-b9ec-4453-a709-26689146378b","rotation_id":"61151022-80d7-4c2b-9f0f-d64d5dad8ec8","starts_at":"2025-03-17T20:09:38.000-07:00","ends_at":"2025-03-18T00:09:38.000-07:00","is_override":false},"relationships":{"shift_override":{"data":null},"user":{"data":{"id":"460","type":"users"}}}}]},"schema":{"$ref":"#/components/schemas/shift_list"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/schedules/%7Bid%7D/shifts?to=SOME_STRING_VALUE&from=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/schedules/%7Bid%7D/shifts?to=SOME_STRING_VALUE&from=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/schedules/%7Bid%7D/shifts?to=SOME_STRING_VALUE&from=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/schedules/%7Bid%7D/shifts?to=SOME_STRING_VALUE&from=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/secrets":{"post":{"summary":"Creates a secret","security":[{"bearer_auth":[]}],"tags":["Secrets"],"description":"Creates a new secret from provided data","operationId":"createSecret","parameters":[],"responses":{"201":{"description":"secret created","content":{"application/vnd.api+json":{"example":{"data":{"id":"933818cd-fa69-4fbb-952e-66b2e27ec6b9","type":"secrets","attributes":{"kind":"built_in","name":"senampkugi","secret":"[REDACTED]","hashicorp_vault_mount":"secret","hashicorp_vault_path":null,"hashicorp_vault_version":0,"created_at":"2025-03-17T17:09:48.982-07:00","updated_at":"2025-03-17T17:09:48.982-07:00"}}},"schema":{"$ref":"#/components/schemas/secret_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name only allows letters, numbers, and underscore","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_secret"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/secrets \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/secrets\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/secrets\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/secrets\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List secrets","security":[{"bearer_auth":[]}],"tags":["Secrets"],"description":"List secrets","operationId":"listSecrets","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/secret_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/secrets?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/secrets?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/secrets?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/secrets?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/secrets/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a secret","security":[{"bearer_auth":[]}],"tags":["Secrets"],"description":"Retrieve a specific secret by id","operationId":"getSecret","responses":{"200":{"description":"secret found","content":{"application/vnd.api+json":{"example":{"data":{"id":"c0c81962-13e6-4196-9ced-d41d4d8dc2ed","type":"secrets","attributes":{"kind":"built_in","name":"jouqxlkmbb","secret":"[REDACTED]","hashicorp_vault_mount":"secret","hashicorp_vault_path":null,"hashicorp_vault_version":0,"created_at":"2025-03-17T17:09:46.832-07:00","updated_at":"2025-03-17T17:09:46.832-07:00"}}},"schema":{"$ref":"#/components/schemas/secret_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/secrets/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/secrets/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/secrets/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/secrets/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a secret","security":[{"bearer_auth":[]}],"tags":["Secrets"],"description":"Update a specific secret by id","operationId":"updateSecret","parameters":[],"responses":{"200":{"description":"secret updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"c0c81962-13e6-4196-9ced-d41d4d8dc2ed","type":"secrets","attributes":{"kind":"built_in","name":"foo_bar","secret":"[REDACTED]","hashicorp_vault_mount":"secret","hashicorp_vault_path":null,"hashicorp_vault_version":0,"created_at":"2025-03-17T17:09:46.832-07:00","updated_at":"2025-03-17T17:09:50.182-07:00"}}},"schema":{"$ref":"#/components/schemas/secret_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_secret"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/secrets/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/secrets/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/secrets/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/secrets/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a secret","security":[{"bearer_auth":[]}],"tags":["Secrets"],"description":"Delete a specific secret by id","operationId":"deleteSecret","responses":{"200":{"description":"secret deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"c0c81962-13e6-4196-9ced-d41d4d8dc2ed","type":"secrets","attributes":{"kind":"built_in","name":"jouqxlkmbb","secret":"[REDACTED]","hashicorp_vault_mount":"secret","hashicorp_vault_path":null,"hashicorp_vault_version":0,"created_at":"2025-03-17T17:09:46.832-07:00","updated_at":"2025-03-17T17:09:50.717-07:00"}}},"schema":{"$ref":"#/components/schemas/secret_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/secrets/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/secrets/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/secrets/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/secrets/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/services":{"post":{"summary":"Creates a service","security":[{"bearer_auth":[]}],"tags":["Services"],"description":"Creates a new service from provided data","operationId":"createService","parameters":[],"responses":{"201":{"description":"service created","content":{"application/vnd.api+json":{"example":{"data":{"id":"04e37981-29fe-4841-a97f-a38701eab937","type":"services","attributes":{"name":"elasticsearch-prod","slug":"elasticsearch-prod","description":"Elastisearch","public_description":"Public description","notify_emails":["john@rootly.com","doe@rootly.com"],"color":"#FFF","status":"operational","position":1,"show_uptime":true,"show_uptime_last_days":60,"slack_channels":[{"id":"C03MKDSEJE8","name":"elastisearch"}],"slack_aliases":[{"id":"S03F7QUV7F1","name":"engineering"}],"github_repository_name":"rootlyhq/my-github-service","github_repository_branch":"main","gitlab_repository_name":"rootlyhq/my-gitlab-service","gitlab_repository_branch":"main","opsgenie_id":"8743a1b2-11da-480e-8493-744660987bef","pagerduty_id":"PQ9K7I8","backstage_id":null,"external_id":"d795fe69-acc2-4b30-92c9-3c25cbb92056","cortex_id":null,"service_now_ci_sys_id":null,"environment_ids":["a9ae9e21-2572-47c3-9421-1770c7947842"],"service_ids":["33e0a895-981f-4a50-9f10-7218df824a5d"],"owners_group_ids":["7eb8f771-9be8-4811-b725-56b1df76cda4"],"owners_user_ids":[469],"incidents_count":0,"alert_urgency_id":null,"alerts_email_enabled":true,"alerts_email_address":"service-90550b7abb9fddc221b4df7df7631ee7@test.email.rootly.io","created_at":"2025-03-17T17:09:58.491-07:00","updated_at":"2025-03-17T17:09:58.491-07:00"}}},"schema":{"$ref":"#/components/schemas/service_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_service"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/services \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/services\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/services\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/services\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List services","security":[{"bearer_auth":[]}],"tags":["Services"],"description":"List services","operationId":"listServices","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[backstage_id]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[cortex_id]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[opslevel_id]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[external_id]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/service_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/services?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bbackstage_id%5D=SOME_STRING_VALUE&filter%5Bcortex_id%5D=SOME_STRING_VALUE&filter%5Bopslevel_id%5D=SOME_STRING_VALUE&filter%5Bexternal_id%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/services?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bbackstage_id%5D=SOME_STRING_VALUE&filter%5Bcortex_id%5D=SOME_STRING_VALUE&filter%5Bopslevel_id%5D=SOME_STRING_VALUE&filter%5Bexternal_id%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/services?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bbackstage_id%5D=SOME_STRING_VALUE&filter%5Bcortex_id%5D=SOME_STRING_VALUE&filter%5Bopslevel_id%5D=SOME_STRING_VALUE&filter%5Bexternal_id%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/services?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bbackstage_id%5D=SOME_STRING_VALUE&filter%5Bcortex_id%5D=SOME_STRING_VALUE&filter%5Bopslevel_id%5D=SOME_STRING_VALUE&filter%5Bexternal_id%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/services/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a service","security":[{"bearer_auth":[]}],"tags":["Services"],"description":"Retrieves a specific service by id","operationId":"getService","responses":{"200":{"description":"service found","content":{"application/vnd.api+json":{"example":{"data":{"id":"33e0a895-981f-4a50-9f10-7218df824a5d","type":"services","attributes":{"name":"Qui ea quidem minus.","slug":"qui-ea-quidem-minus","description":"Molestiae iusto in sed.","public_description":null,"notify_emails":[],"color":"#F5D9C4","status":"partial_outage","position":1,"show_uptime":true,"show_uptime_last_days":60,"slack_channels":[],"slack_aliases":[],"github_repository_name":null,"github_repository_branch":"master","gitlab_repository_name":null,"gitlab_repository_branch":"master","opsgenie_id":null,"pagerduty_id":null,"backstage_id":null,"external_id":null,"cortex_id":null,"service_now_ci_sys_id":null,"environment_ids":[],"service_ids":[],"owners_group_ids":[],"owners_user_ids":[],"incidents_count":1,"alert_urgency_id":null,"alerts_email_enabled":false,"alerts_email_address":"service-05cf7ca9e3f706e08f1c33431db0bef2@email.rootly.com","created_at":"2025-03-17T17:09:52.079-07:00","updated_at":"2025-03-17T17:09:52.204-07:00"}}},"schema":{"$ref":"#/components/schemas/service_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/services/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/services/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/services/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/services/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a service","security":[{"bearer_auth":[]}],"tags":["Services"],"description":"Update a specific service by id","operationId":"updateService","parameters":[],"responses":{"200":{"description":"service updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"33e0a895-981f-4a50-9f10-7218df824a5d","type":"services","attributes":{"name":"elasticsearch-staging","slug":"qui-ea-quidem-minus","description":"Elastisearch","public_description":"Public description updated","notify_emails":["hello@rootly.com","world@rootly.com"],"color":"#FFF","status":"partial_outage","position":2,"show_uptime":true,"show_uptime_last_days":60,"slack_channels":[{"id":"C03MKDSEJE8","name":"elastisearch"}],"slack_aliases":[{"id":"S03F7QUV7F1","name":"leadership"}],"github_repository_name":"rootlyhq/my-another-github-service","github_repository_branch":"master","gitlab_repository_name":"rootlyhq/my-another-gitlab-service","gitlab_repository_branch":"master","opsgenie_id":"8743a1b2-11da-480e-8493-744660987bec","pagerduty_id":"PQ9K7I9","backstage_id":null,"external_id":"33bfcc62-cc35-46e6-a270-8c52a56fb358","cortex_id":null,"service_now_ci_sys_id":null,"environment_ids":["a9ae9e21-2572-47c3-9421-1770c7947842"],"service_ids":["33e0a895-981f-4a50-9f10-7218df824a5d"],"owners_group_ids":[],"owners_user_ids":[],"incidents_count":1,"alert_urgency_id":null,"alerts_email_enabled":false,"alerts_email_address":"service-05cf7ca9e3f706e08f1c33431db0bef2@email.rootly.com","created_at":"2025-03-17T17:09:52.079-07:00","updated_at":"2025-03-17T17:10:00.434-07:00"}}},"schema":{"$ref":"#/components/schemas/service_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_service"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/services/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/services/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/services/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/services/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a service","security":[{"bearer_auth":[]}],"tags":["Services"],"description":"Delete a specific service by id","operationId":"deleteService","responses":{"200":{"description":"service deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"33e0a895-981f-4a50-9f10-7218df824a5d","type":"services","attributes":{"name":"Qui ea quidem minus.","slug":"qui-ea-quidem-minus","description":"Molestiae iusto in sed.","public_description":null,"notify_emails":[],"color":"#F5D9C4","status":"partial_outage","position":1,"show_uptime":true,"show_uptime_last_days":60,"slack_channels":[],"slack_aliases":[],"github_repository_name":null,"github_repository_branch":"master","gitlab_repository_name":null,"gitlab_repository_branch":"master","opsgenie_id":null,"pagerduty_id":null,"backstage_id":null,"external_id":null,"cortex_id":null,"service_now_ci_sys_id":null,"environment_ids":[],"service_ids":[],"owners_group_ids":[],"owners_user_ids":[],"incidents_count":1,"alert_urgency_id":null,"alerts_email_enabled":false,"alerts_email_address":"service-05cf7ca9e3f706e08f1c33431db0bef2@email.rootly.com","created_at":"2025-03-17T17:09:52.079-07:00","updated_at":"2025-03-17T17:10:01.327-07:00"}}},"schema":{"$ref":"#/components/schemas/service_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/services/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/services/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/services/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/services/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/services/{id}/incidents_chart":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Get service incidents chart","security":[{"bearer_auth":[]}],"tags":["Services"],"description":"Get service incidents chart","operationId":"getServiceIncidentsChart","parameters":[{"name":"period","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"example":{"data":{"2025-01-17 00:00:00 UTC":0,"2025-01-24 00:00:00 UTC":0,"2025-01-31 00:00:00 UTC":0,"2025-02-07 00:00:00 UTC":0,"2025-02-14 00:00:00 UTC":0,"2025-02-21 00:00:00 UTC":0,"2025-02-28 00:00:00 UTC":0,"2025-03-07 00:00:00 UTC":0,"2025-03-14 00:00:00 UTC":1}},"schema":{"$ref":"#/components/schemas/incidents_chart_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/services/%7Bid%7D/incidents_chart?period=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/services/%7Bid%7D/incidents_chart?period=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/services/%7Bid%7D/incidents_chart?period=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/services/%7Bid%7D/incidents_chart?period=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/services/{id}/uptime_chart":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Get service uptime chart","security":[{"bearer_auth":[]}],"tags":["Services"],"description":"Get service uptime chart","operationId":"getServiceUptimeChart","parameters":[{"name":"period","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"example":{"data":{"2025-03-03":100,"2025-03-04":100,"2025-03-05":100,"2025-03-06":100,"2025-03-07":100,"2025-03-08":100,"2025-03-09":100,"2025-03-10":100,"2025-03-11":100,"2025-03-12":100,"2025-03-13":100,"2025-03-14":100,"2025-03-15":50,"2025-03-16":0,"2025-03-17":100,"2025-03-18":100}},"schema":{"$ref":"#/components/schemas/uptime_chart_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/services/%7Bid%7D/uptime_chart?period=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/services/%7Bid%7D/uptime_chart?period=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/services/%7Bid%7D/uptime_chart?period=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/services/%7Bid%7D/uptime_chart?period=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/severities":{"post":{"summary":"Creates a severity","security":[{"bearer_auth":[]}],"tags":["Severities"],"description":"Creates a new severity from provided data","operationId":"createSeverity","parameters":[],"responses":{"201":{"description":"severity created","content":{"application/vnd.api+json":{"example":{"data":{"id":"4e03f708-5308-484c-b978-8a728441f711","type":"severities","attributes":{"name":"P0","slug":"p0","description":"High Priority","severity":"medium","color":"#E58A1F","position":1,"notify_emails":["hello@rootly.com","world@rootly.com"],"slack_channels":[{"id":"C03MKDSEJE8","name":"elastisearch"}],"slack_aliases":[{"id":"S03F7QUV7F1","name":"leadership"}],"created_at":"2025-03-17T17:10:07.159-07:00","updated_at":"2025-03-17T17:10:07.159-07:00"}}},"schema":{"$ref":"#/components/schemas/severity_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_severity"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/severities \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/severities\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/severities\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/severities\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List severities","security":[{"bearer_auth":[]}],"tags":["Severities"],"description":"List severities","operationId":"listSeverities","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[severity]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[color]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/severity_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/severities?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bseverity%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/severities?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bseverity%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/severities?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bseverity%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/severities?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bseverity%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/severities/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a severity","security":[{"bearer_auth":[]}],"tags":["Severities"],"description":"Retrieves a specific severity by id","operationId":"getSeverity","responses":{"200":{"description":"severity found","content":{"application/vnd.api+json":{"example":{"data":{"id":"d5e07b3a-0d75-4883-beb1-7741b5ef9370","type":"severities","attributes":{"name":"9ay4x","slug":"9ay4x","description":"Animi laboriosam velit cum.","severity":"medium","color":"#E58A1F","position":1,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:10:04.789-07:00","updated_at":"2025-03-17T17:10:04.789-07:00"}}},"schema":{"$ref":"#/components/schemas/severity_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/severities/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/severities/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/severities/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/severities/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a severity","security":[{"bearer_auth":[]}],"tags":["Severities"],"description":"Update a specific severity by id","operationId":"updateSeverity","parameters":[],"responses":{"200":{"description":"severity updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"d5e07b3a-0d75-4883-beb1-7741b5ef9370","type":"severities","attributes":{"name":"P1","slug":"p1","description":"Medium Priority","severity":"medium","color":"#000","position":2,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:10:04.789-07:00","updated_at":"2025-03-17T17:10:08.379-07:00"}}},"schema":{"$ref":"#/components/schemas/severity_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_severity"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/severities/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/severities/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/severities/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/severities/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a severity","security":[{"bearer_auth":[]}],"tags":["Severities"],"description":"Delete a specific severity by id","operationId":"deleteSeverity","responses":{"200":{"description":"severity deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"d5e07b3a-0d75-4883-beb1-7741b5ef9370","type":"severities","attributes":{"name":"9ay4x","slug":"9ay4x","description":"Animi laboriosam velit cum.","severity":"medium","color":"#E58A1F","position":1,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"created_at":"2025-03-17T17:10:04.789-07:00","updated_at":"2025-03-17T17:10:08.919-07:00"}}},"schema":{"$ref":"#/components/schemas/severity_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/severities/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/severities/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/severities/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/severities/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/shifts":{"get":{"summary":"List shifts","security":[{"bearer_auth":[]}],"tags":["Shifts"],"description":"List shifts","operationId":"listShifts","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: shift_override,user","schema":{"type":"string","enum":["shift_override","user"]},"required":false},{"name":"to","in":"query","description":"Start range for shifts","required":false,"schema":{"type":"string"}},{"name":"from","in":"query","description":"End range for shifts","required":false,"schema":{"type":"string"}},{"name":"user_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}},"style":"form","explode":true,"required":false},{"name":"schedule_ids[]","in":"query","schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"required":false}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"example":{"data":[{"id":"ace19845-b96c-456b-9c61-359693f77dd5","type":"shifts","attributes":{"schedule_id":"69046930-e9b5-4afd-940b-d2c9f9941d26","rotation_id":"8e3243d5-8305-45dd-9a57-499a4ba01756","starts_at":"2024-07-02T21:00:00.000-07:00","ends_at":"2024-07-02T23:00:00.000-07:00","is_override":true},"relationships":{"shift_override":{"data":null},"user":{"data":{"id":"481","type":"users"}}}},{"id":"70731635-bab6-4fd6-8495-120cd37f3512","type":"shifts","attributes":{"schedule_id":"69046930-e9b5-4afd-940b-d2c9f9941d26","rotation_id":"704d816a-0d18-442d-801c-e94b49cd3c99","starts_at":"2024-07-02T19:00:00.000-07:00","ends_at":"2024-07-02T21:00:00.000-07:00","is_override":false},"relationships":{"shift_override":{"data":null},"user":{"data":{"id":"481","type":"users"}}}}]},"schema":{"$ref":"#/components/schemas/shift_list"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/shifts?include=SOME_STRING_VALUE&to=SOME_STRING_VALUE&from=SOME_STRING_VALUE&user_ids%5B%5D=SOME_ARRAY_VALUE&schedule_ids%5B%5D=SOME_ARRAY_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/shifts?include=SOME_STRING_VALUE&to=SOME_STRING_VALUE&from=SOME_STRING_VALUE&user_ids%5B%5D=SOME_ARRAY_VALUE&schedule_ids%5B%5D=SOME_ARRAY_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/shifts?include=SOME_STRING_VALUE&to=SOME_STRING_VALUE&from=SOME_STRING_VALUE&user_ids%5B%5D=SOME_ARRAY_VALUE&schedule_ids%5B%5D=SOME_ARRAY_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/shifts?include=SOME_STRING_VALUE&to=SOME_STRING_VALUE&from=SOME_STRING_VALUE&user_ids%5B%5D=SOME_ARRAY_VALUE&schedule_ids%5B%5D=SOME_ARRAY_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/status-pages/{status_page_id}/templates":{"parameters":[{"name":"status_page_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates a status page template","security":[{"bearer_auth":[]}],"tags":["StatusPageTemplates"],"description":"Creates a new template from provided data","operationId":"createStatusPageTemplate","parameters":[],"responses":{"201":{"description":"incident_event created","content":{"application/vnd.api+json":{"example":{"data":{"id":"5cf5b1a3-3171-4368-8705-38bf329dbbb5","type":"status_page_templates","attributes":{"status_page_id":"3f388fb2-53cc-415e-8f40-23df94914afb","title":"Created from API","body":"This was created from API.","update_status":null,"should_notify_subscribers":false,"position":4,"enabled":true,"created_at":"2025-03-17T17:10:14.278-07:00","updated_at":"2025-03-17T17:10:14.278-07:00","kind":"normal"}}},"schema":{"$ref":"#/components/schemas/status_page_template_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Title can't be blank","status":"422"},{"title":"Body can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/status_page_template"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/status-pages/%7Bstatus_page_id%7D/templates \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/status-pages/%7Bstatus_page_id%7D/templates\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/status-pages/%7Bstatus_page_id%7D/templates\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/status-pages/%7Bstatus_page_id%7D/templates\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List status page templates","security":[{"bearer_auth":[]}],"tags":["StatusPageTemplates"],"description":"List status page templates","operationId":"listStatusPageTemplates","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/status_page_template_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/status-pages/%7Bstatus_page_id%7D/templates?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/status-pages/%7Bstatus_page_id%7D/templates?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/status-pages/%7Bstatus_page_id%7D/templates?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/status-pages/%7Bstatus_page_id%7D/templates?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/templates/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a status page template","security":[{"bearer_auth":[]}],"tags":["StatusPageTemplates"],"description":"Retrieves a specific status_page_template by id","operationId":"getStatusPageTemplate","responses":{"200":{"description":"status page template found","content":{"application/vnd.api+json":{"example":{"data":{"id":"f04f3e08-10a2-42fe-bbcd-c51ba0107e6e","type":"status_page_templates","attributes":{"status_page_id":"3f388fb2-53cc-415e-8f40-23df94914afb","title":"Accusantium","body":"Dolorum sunt eaque tenetur.","update_status":null,"should_notify_subscribers":false,"position":1,"enabled":true,"created_at":"2025-03-17T17:10:14.016-07:00","updated_at":"2025-03-17T17:10:14.016-07:00","kind":"normal"}}},"schema":{"$ref":"#/components/schemas/status_page_template_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/templates/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/templates/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/templates/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/templates/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update status page template","security":[{"bearer_auth":[]}],"tags":["StatusPageTemplates"],"description":"Update a specific template event by id","operationId":"updateStatusPageTemplate","parameters":[],"responses":{"200":{"description":"incident_event updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"f04f3e08-10a2-42fe-bbcd-c51ba0107e6e","type":"status_page_templates","attributes":{"status_page_id":"3f388fb2-53cc-415e-8f40-23df94914afb","title":"Update template title","body":"Update template body","update_status":null,"should_notify_subscribers":false,"position":1,"enabled":true,"created_at":"2025-03-17T17:10:14.016-07:00","updated_at":"2025-03-17T17:10:16.737-07:00","kind":"normal"}}},"schema":{"$ref":"#/components/schemas/status_page_template_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/status_page_template"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/templates/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/templates/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/templates/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/templates/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a incident event","security":[{"bearer_auth":[]}],"tags":["StatusPageTemplates"],"description":"Delete a specific template event by id","operationId":"deleteStatusPageTemplate","responses":{"200":{"description":"incident_event deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"f04f3e08-10a2-42fe-bbcd-c51ba0107e6e","type":"status_page_templates","attributes":{"status_page_id":"3f388fb2-53cc-415e-8f40-23df94914afb","title":"Accusantium","body":"Dolorum sunt eaque tenetur.","update_status":null,"should_notify_subscribers":false,"position":1,"enabled":true,"created_at":"2025-03-17T17:10:14.016-07:00","updated_at":"2025-03-17T17:10:17.490-07:00","kind":"normal"}}},"schema":{"$ref":"#/components/schemas/status_page_template_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/templates/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/templates/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/templates/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/templates/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/status-pages":{"post":{"summary":"Creates a status page","security":[{"bearer_auth":[]}],"tags":["StatusPages"],"description":"Creates a new status page from provided data","operationId":"createStatusPage","parameters":[],"responses":{"201":{"description":"status_page created","content":{"application/vnd.api+json":{"example":{"data":{"id":"f1137fdd-70e3-4209-9cfc-317a72c23b3c","type":"status_pages","attributes":{"title":"My Status Page","public_title":null,"description":"My Status Page description","public_description":null,"header_color":"#0061F2","footer_color":"#1F2F41","allow_search_engine_index":true,"public":false,"website_url":null,"website_privacy_url":null,"website_support_url":null,"ga_tracking_id":null,"time_zone":"Etc/UTC","success_message":"All Systems Operational","failure_message":"Something's not quite right","authentication_enabled":false,"authentication_password":"[REDACTED]","enabled":true,"functionality_ids":["a5815797-3c69-44f4-8c0b-42b40032cd44"],"service_ids":["70fe9642-354b-49b2-9780-916f94fb01bf"],"allow_email_subscribers":true,"allow_sms_subscribers":true,"allow_rss_atom_feeds":true,"show_uptime":true,"show_uptime_last_days":30,"created_at":"2025-03-17T17:10:21.784-07:00","updated_at":"2025-03-17T17:10:21.784-07:00"}}},"schema":{"$ref":"#/components/schemas/status_page_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Title can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_status_page"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/status-pages \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/status-pages\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/status-pages\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/status-pages\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List status pages","security":[{"bearer_auth":[]}],"tags":["StatusPages"],"description":"List status pages","operationId":"listStatusPages","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/status_page_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/status-pages?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/status-pages?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/status-pages?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/status-pages?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/status-pages/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a status page","security":[{"bearer_auth":[]}],"tags":["StatusPages"],"description":"Retrieves a specific status page by id","operationId":"getStatusPage","responses":{"200":{"description":"status_page found","content":{"application/vnd.api+json":{"example":{"data":{"id":"0c1d98e3-a704-4748-82d9-5f31e0670375","type":"status_pages","attributes":{"title":"Quia ipsa autem dolores.","public_title":null,"description":null,"public_description":null,"header_color":"#0061F2","footer_color":"#1F2F41","allow_search_engine_index":true,"public":false,"website_url":null,"website_privacy_url":null,"website_support_url":null,"ga_tracking_id":null,"time_zone":"Etc/UTC","success_message":"All Systems Operational","failure_message":"Something's not quite right","authentication_enabled":false,"authentication_password":"[REDACTED]","enabled":true,"functionality_ids":[],"service_ids":[],"allow_email_subscribers":true,"allow_sms_subscribers":true,"allow_rss_atom_feeds":true,"show_uptime":true,"show_uptime_last_days":90,"created_at":"2025-03-17T17:10:18.979-07:00","updated_at":"2025-03-17T17:10:18.979-07:00"}}},"schema":{"$ref":"#/components/schemas/status_page_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/status-pages/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/status-pages/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/status-pages/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/status-pages/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a status page","security":[{"bearer_auth":[]}],"tags":["StatusPages"],"description":"Update a specific status page by id","operationId":"updateStatusPage","parameters":[],"responses":{"200":{"description":"status_page updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"0c1d98e3-a704-4748-82d9-5f31e0670375","type":"status_pages","attributes":{"title":"My Status Page Updated","public_title":null,"description":"My Status Page Description Updated","public_description":null,"header_color":"#0061F2","footer_color":"#1F2F41","allow_search_engine_index":true,"public":false,"website_url":null,"website_privacy_url":null,"website_support_url":null,"ga_tracking_id":null,"time_zone":"Etc/UTC","success_message":"All Systems Operational","failure_message":"Something's not quite right","authentication_enabled":false,"authentication_password":"[REDACTED]","enabled":true,"functionality_ids":[],"service_ids":[],"allow_email_subscribers":true,"allow_sms_subscribers":true,"allow_rss_atom_feeds":true,"show_uptime":true,"show_uptime_last_days":60,"created_at":"2025-03-17T17:10:18.979-07:00","updated_at":"2025-03-17T17:10:23.682-07:00"}}},"schema":{"$ref":"#/components/schemas/status_page_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_status_page"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/status-pages/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/status-pages/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/status-pages/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/status-pages/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a status page","security":[{"bearer_auth":[]}],"tags":["StatusPages"],"description":"Delete a specific status page by id","operationId":"deleteStatusPage","responses":{"200":{"description":"status_page deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"0c1d98e3-a704-4748-82d9-5f31e0670375","type":"status_pages","attributes":{"title":"Quia ipsa autem dolores.","public_title":null,"description":null,"public_description":null,"header_color":"#0061F2","footer_color":"#1F2F41","allow_search_engine_index":true,"public":false,"website_url":null,"website_privacy_url":null,"website_support_url":null,"ga_tracking_id":null,"time_zone":"Etc/UTC","success_message":"All Systems Operational","failure_message":"Something's not quite right","authentication_enabled":false,"authentication_password":"[REDACTED]","enabled":true,"functionality_ids":[],"service_ids":[],"allow_email_subscribers":true,"allow_sms_subscribers":true,"allow_rss_atom_feeds":true,"show_uptime":true,"show_uptime_last_days":90,"created_at":"2025-03-17T17:10:18.979-07:00","updated_at":"2025-03-17T17:10:24.575-07:00"}}},"schema":{"$ref":"#/components/schemas/status_page_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/status-pages/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/status-pages/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/status-pages/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/status-pages/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/sub_statuses":{"post":{"summary":"Creates a sub_status","security":[{"bearer_auth":[]}],"tags":["SubStatuses"],"description":"Creates a new sub_status from provided data","operationId":"createSubStatus","parameters":[],"responses":{"201":{"description":"sub_status created","content":{"application/vnd.api+json":{"example":{"data":{"id":"cc571c0a-7ff3-4d93-8f3d-1132a7e86570","type":"sub_statuses","attributes":{"name":"Test","description":"This is a description","slug":"test","parent_status":"started","position":4,"deleted_at":null,"updated_at":"2025-03-17T17:10:28.368-07:00","created_at":"2025-03-17T17:10:28.368-07:00"}}},"schema":{"$ref":"#/components/schemas/sub_status_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"},{"title":"Name is too short (minimum is 1 character)","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_sub_status"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/sub_statuses \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/sub_statuses\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/sub_statuses\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/sub_statuses\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List sub_statuses","security":[{"bearer_auth":[]}],"tags":["SubStatuses"],"description":"List sub_statuses","operationId":"listSubStatuses","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[parent_status]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/sub_status_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/sub_statuses?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bparent_status%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/sub_statuses?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bparent_status%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/sub_statuses?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bparent_status%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/sub_statuses?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bparent_status%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/sub_statuses/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a sub_status","security":[{"bearer_auth":[]}],"tags":["SubStatuses"],"description":"Retrieves a specific sub_status by id","operationId":"getSubStatus","responses":{"200":{"description":"sub_status found","content":{"application/vnd.api+json":{"example":{"data":{"id":"af52ecf1-a482-42df-a69d-8d8291db100b","type":"sub_statuses","attributes":{"name":"ggji1","description":"Excepturi ut libero corporis.","slug":"ggji1","parent_status":"started","position":3,"deleted_at":null,"updated_at":"2025-03-17T17:10:26.160-07:00","created_at":"2025-03-17T17:10:26.160-07:00"}}},"schema":{"$ref":"#/components/schemas/sub_status_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/sub_statuses/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/sub_statuses/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/sub_statuses/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/sub_statuses/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a sub_status","security":[{"bearer_auth":[]}],"tags":["SubStatuses"],"description":"Update a specific sub_status by id","operationId":"updateSubStatus","parameters":[],"responses":{"200":{"description":"sub_status updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"af52ecf1-a482-42df-a69d-8d8291db100b","type":"sub_statuses","attributes":{"name":"ggji1","description":"Updated description","slug":"ggji1","parent_status":"started","position":3,"deleted_at":null,"updated_at":"2025-03-17T17:10:30.268-07:00","created_at":"2025-03-17T17:10:26.160-07:00"}}},"schema":{"$ref":"#/components/schemas/sub_status_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_sub_status"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/sub_statuses/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/sub_statuses/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/sub_statuses/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/sub_statuses/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a sub_status","security":[{"bearer_auth":[]}],"tags":["SubStatuses"],"description":"Delete a specific sub_status by id","operationId":"deleteSubStatus","responses":{"200":{"description":"sub_status deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"af52ecf1-a482-42df-a69d-8d8291db100b","type":"sub_statuses","attributes":{"name":"ggji1","description":"Excepturi ut libero corporis.","slug":"ggji1","parent_status":"started","position":3,"deleted_at":"2025-03-17T17:10:30.794-07:00","updated_at":"2025-03-17T17:10:30.794-07:00","created_at":"2025-03-17T17:10:26.160-07:00"}}},"schema":{"$ref":"#/components/schemas/sub_status_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/sub_statuses/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/sub_statuses/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/sub_statuses/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/sub_statuses/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/teams":{"post":{"summary":"Creates a team","security":[{"bearer_auth":[]}],"tags":["Teams"],"description":"Creates a new team from provided data","operationId":"createTeam","parameters":[],"responses":{"201":{"description":"team created","content":{"application/vnd.api+json":{"example":{"data":{"id":"d2110690-ac88-4b9a-960b-129349e5dd4b","type":"groups","attributes":{"slug":"infrastructure","name":"Infrastructure","description":"Everything infrastructure related","color":"#FFF","position":1,"notify_emails":["john@rootly.com","doe@rootly.com"],"slack_channels":[{"id":"C03MKDSEJE8","name":"infrastructure"}],"slack_aliases":[{"id":"S03F7QUV7F1","name":"infrastructure"}],"pagerduty_id":"PQ9K7I8","pagerduty_service_id":null,"backstage_id":null,"external_id":"d795fe69-acc2-4b30-92c9-3c25cbb92056","opsgenie_id":"8743a1b2-11da-480e-8493-744660987bef","victor_ops_id":"e877c558-12e2-44d2-8723-5c86f7473c54","pagertree_id":"daa8bcd6-bf4a-4716-976c-812832ae115e","cortex_id":null,"service_now_ci_sys_id":null,"user_ids":[508,509],"admin_ids":[],"incidents_count":0,"alert_urgency_id":null,"alerts_email_enabled":true,"alerts_email_address":"group-5ea41d5ec52ba5cdbfd90ee1759626d3@test.email.rootly.io","created_at":"2025-03-17T17:10:37.754-07:00","updated_at":"2025-03-17T17:10:37.754-07:00"},"relationships":{"users":{"data":[{"id":"508","type":"users"},{"id":"509","type":"users"}]}}}},"schema":{"$ref":"#/components/schemas/team_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid association","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_team"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/teams \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/teams\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/teams\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/teams\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List teams","security":[{"bearer_auth":[]}],"tags":["Teams"],"description":"List teams","operationId":"listTeams","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[backstage_id]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[cortex_id]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[opslevel_id]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[external_id]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[color]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/team_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/teams?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bbackstage_id%5D=SOME_STRING_VALUE&filter%5Bcortex_id%5D=SOME_STRING_VALUE&filter%5Bopslevel_id%5D=SOME_STRING_VALUE&filter%5Bexternal_id%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/teams?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bbackstage_id%5D=SOME_STRING_VALUE&filter%5Bcortex_id%5D=SOME_STRING_VALUE&filter%5Bopslevel_id%5D=SOME_STRING_VALUE&filter%5Bexternal_id%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/teams?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bbackstage_id%5D=SOME_STRING_VALUE&filter%5Bcortex_id%5D=SOME_STRING_VALUE&filter%5Bopslevel_id%5D=SOME_STRING_VALUE&filter%5Bexternal_id%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/teams?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE&filter%5Bbackstage_id%5D=SOME_STRING_VALUE&filter%5Bcortex_id%5D=SOME_STRING_VALUE&filter%5Bopslevel_id%5D=SOME_STRING_VALUE&filter%5Bexternal_id%5D=SOME_STRING_VALUE&filter%5Bcolor%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/teams/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a team","security":[{"bearer_auth":[]}],"tags":["Teams"],"description":"Retrieves a specific team by id","operationId":"getTeam","responses":{"200":{"description":"team found","content":{"application/vnd.api+json":{"example":{"data":{"id":"9467edce-fc89-442a-8263-91c83d0cc2b1","type":"groups","attributes":{"slug":"sunt-voluptatem-fuga-non","name":"Sunt voluptatem fuga non.","description":null,"color":"#F5D9C4","position":1,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"pagerduty_id":null,"pagerduty_service_id":null,"backstage_id":null,"external_id":null,"opsgenie_id":null,"victor_ops_id":null,"pagertree_id":null,"cortex_id":null,"service_now_ci_sys_id":null,"user_ids":[],"admin_ids":[],"incidents_count":1,"alert_urgency_id":null,"alerts_email_enabled":false,"alerts_email_address":"group-9cf20afb08a83889cacec7d849b92053@email.rootly.com","created_at":"2025-03-17T17:10:32.356-07:00","updated_at":"2025-03-17T17:10:32.356-07:00"},"relationships":{"users":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/team_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/teams/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/teams/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/teams/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/teams/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a team","security":[{"bearer_auth":[]}],"tags":["Teams"],"description":"Update a specific team by id","operationId":"updateTeam","parameters":[],"responses":{"200":{"description":"team updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"9467edce-fc89-442a-8263-91c83d0cc2b1","type":"groups","attributes":{"slug":"security","name":"Security","description":"Everything security related","color":"#000","position":2,"notify_emails":["hello@rootly.com","world@rootly.com"],"slack_channels":[{"id":"C03MKDSEJE8","name":"infrastructure"}],"slack_aliases":[{"id":"S03F7QUV7F1","name":"infrastructure"}],"pagerduty_id":"PQ9K7I9","pagerduty_service_id":null,"backstage_id":null,"external_id":"95ee00ee-4b35-40f7-bd0f-a919f9b8008d","opsgenie_id":"a6edf90f-1a61-4592-99a7-bcf101c81bca","victor_ops_id":"0ae4de13-145a-4214-9cd5-c982ef95a740","pagertree_id":"c4378a92-505c-49e4-a46e-c44c830bbc99","cortex_id":null,"service_now_ci_sys_id":null,"user_ids":[508],"admin_ids":[],"incidents_count":1,"alert_urgency_id":null,"alerts_email_enabled":false,"alerts_email_address":"group-9cf20afb08a83889cacec7d849b92053@email.rootly.com","created_at":"2025-03-17T17:10:32.356-07:00","updated_at":"2025-03-17T17:10:40.703-07:00"},"relationships":{"users":{"data":[{"id":"508","type":"users"}]}}}},"schema":{"$ref":"#/components/schemas/team_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_team"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/teams/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/teams/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/teams/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/teams/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a team","security":[{"bearer_auth":[]}],"tags":["Teams"],"description":"Delete a specific team by id","operationId":"deleteTeam","responses":{"200":{"description":"team deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"9467edce-fc89-442a-8263-91c83d0cc2b1","type":"groups","attributes":{"slug":"sunt-voluptatem-fuga-non","name":"Sunt voluptatem fuga non.","description":null,"color":"#F5D9C4","position":1,"notify_emails":[],"slack_channels":[],"slack_aliases":[],"pagerduty_id":null,"pagerduty_service_id":null,"backstage_id":null,"external_id":null,"opsgenie_id":null,"victor_ops_id":null,"pagertree_id":null,"cortex_id":null,"service_now_ci_sys_id":null,"user_ids":[],"admin_ids":[],"incidents_count":1,"alert_urgency_id":null,"alerts_email_enabled":false,"alerts_email_address":"group-9cf20afb08a83889cacec7d849b92053@email.rootly.com","created_at":"2025-03-17T17:10:32.356-07:00","updated_at":"2025-03-17T17:10:41.610-07:00"},"relationships":{"users":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/team_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/teams/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/teams/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/teams/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/teams/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/teams/{id}/incidents_chart":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Get team incidents chart","security":[{"bearer_auth":[]}],"tags":["Teams"],"description":"Get team incidents chart","operationId":"getTeamIncidentsChart","parameters":[{"name":"period","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"example":{"data":{"2025-02-15":0,"2025-02-16":0,"2025-02-17":0,"2025-02-18":0,"2025-02-19":0,"2025-02-20":0,"2025-02-21":0,"2025-02-22":0,"2025-02-23":0,"2025-02-24":0,"2025-02-25":0,"2025-02-26":0,"2025-02-27":0,"2025-02-28":0,"2025-03-01":0,"2025-03-02":0,"2025-03-03":0,"2025-03-04":0,"2025-03-05":0,"2025-03-06":0,"2025-03-07":0,"2025-03-08":0,"2025-03-09":0,"2025-03-10":0,"2025-03-11":0,"2025-03-12":0,"2025-03-13":0,"2025-03-14":0,"2025-03-15":1,"2025-03-16":0,"2025-03-17":0,"2025-03-18":0}},"schema":{"$ref":"#/components/schemas/incidents_chart_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/teams/%7Bid%7D/incidents_chart?period=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/teams/%7Bid%7D/incidents_chart?period=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/teams/%7Bid%7D/incidents_chart?period=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/teams/%7Bid%7D/incidents_chart?period=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/users/{user_id}/notification_rules":{"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Creates an user notification rule","security":[{"bearer_auth":[]}],"tags":["UserNotificationRules"],"description":"Creates a new user notification rule from provided data","operationId":"createUserNotificationRule","parameters":[],"responses":{"201":{"description":"user_notification_rule created","content":{"application/vnd.api+json":{"example":{"data":{"id":"e6f8de1b-3a27-4c79-b23a-e1c814abaf80","type":"user_notification_rules","attributes":{"user_id":516,"delay":2,"position":1,"user_email_address_id":"05725e8e-e0c7-484c-bb75-f05d7f2a580d","user_call_number_id":"e8a9dc69-aa4e-42e5-b7a7-a2ebd82e5047","user_sms_number_id":"e8a9dc69-aa4e-42e5-b7a7-a2ebd82e5047","user_device_id":"8247fff4-eaeb-4a3a-b058-e5d5b4f96b7c","enabled_contact_types":["email"],"created_at":"2025-03-17T17:10:44.373-07:00","updated_at":"2025-03-17T17:10:44.373-07:00"}}},"schema":{"$ref":"#/components/schemas/user_notification_rule_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Enabled contact types You must select at least 1 contact type","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_user_notification_rule"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/users/%7Buser_id%7D/notification_rules \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/users/%7Buser_id%7D/notification_rules\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/users/%7Buser_id%7D/notification_rules\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/users/%7Buser_id%7D/notification_rules\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List user notification rules","security":[{"bearer_auth":[]}],"tags":["UserNotificationRules"],"description":"List user notification rules","operationId":"listUserNotificationRules","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/user_notification_rule_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/users/%7Buser_id%7D/notification_rules?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/users/%7Buser_id%7D/notification_rules?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/users/%7Buser_id%7D/notification_rules?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/users/%7Buser_id%7D/notification_rules?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&sort=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/notification_rules/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an user notification rule","security":[{"bearer_auth":[]}],"tags":["UserNotificationRules"],"description":"Retrieves a specific user notification rule by id","operationId":"getUserNotificationRule","responses":{"200":{"description":"user_notification_rule found","content":{"application/vnd.api+json":{"example":{"data":{"id":"337e6e13-959e-4241-9bf6-bc65960e52db","type":"user_notification_rules","attributes":{"user_id":516,"delay":1,"position":2,"user_email_address_id":null,"user_call_number_id":null,"user_sms_number_id":null,"user_device_id":null,"enabled_contact_types":["email"],"created_at":"2025-03-17T17:10:44.192-07:00","updated_at":"2025-03-17T17:10:44.205-07:00"}}},"schema":{"$ref":"#/components/schemas/user_notification_rule_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/notification_rules/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/notification_rules/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/notification_rules/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/notification_rules/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update an user notification rule","security":[{"bearer_auth":[]}],"tags":["UserNotificationRules"],"description":"Update a specific user notification rule by id","operationId":"updateUserNotificationRule","parameters":[],"responses":{"200":{"description":"user_notification_rule updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"337e6e13-959e-4241-9bf6-bc65960e52db","type":"user_notification_rules","attributes":{"user_id":516,"delay":2,"position":1,"user_email_address_id":"05725e8e-e0c7-484c-bb75-f05d7f2a580d","user_call_number_id":"e8a9dc69-aa4e-42e5-b7a7-a2ebd82e5047","user_sms_number_id":null,"user_device_id":"8247fff4-eaeb-4a3a-b058-e5d5b4f96b7c","enabled_contact_types":["device"],"created_at":"2025-03-17T17:10:44.192-07:00","updated_at":"2025-03-17T17:10:45.574-07:00"}}},"schema":{"$ref":"#/components/schemas/user_notification_rule_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_user_notification_rule"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/notification_rules/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/notification_rules/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/notification_rules/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/notification_rules/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an user notification rule","security":[{"bearer_auth":[]}],"tags":["UserNotificationRules"],"description":"Delete a specific user notification rule by id","operationId":"deleteUserNotificationRule","responses":{"200":{"description":"user_notification_rule deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"337e6e13-959e-4241-9bf6-bc65960e52db","type":"user_notification_rules","attributes":{"user_id":516,"delay":1,"position":2,"user_email_address_id":null,"user_call_number_id":null,"user_sms_number_id":null,"user_device_id":null,"enabled_contact_types":["email"],"created_at":"2025-03-17T17:10:44.192-07:00","updated_at":"2025-03-17T17:10:44.205-07:00"}}},"schema":{"$ref":"#/components/schemas/user_notification_rule_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/notification_rules/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/notification_rules/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/notification_rules/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/notification_rules/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/users":{"get":{"summary":"List users","security":[{"bearer_auth":[]}],"tags":["Users"],"description":"List users","operationId":"listUsers","parameters":[{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[search]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[email]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][gte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lt]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[created_at][lte]","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","description":"comma separated if needed. eg: created_at,updated_at","schema":{"type":"string","enum":["created_at","-created_at","updated_at","-updated_at"]},"required":false},{"name":"include","in":"query","description":"comma separated if needed. eg: email_addresses,phone_numbers","schema":{"type":"string","enum":["email_addresses","phone_numbers","devices"]},"required":false}],"responses":{"200":{"description":"user found","content":{"application/vnd.api+json":{"example":{"data":[{"id":"519","type":"users","attributes":{"name":"Brittanie Murazik","email":"marisol@wisoky-bogan.test","phone":null,"phone_2":null,"full_name":"Brittanie Murazik","full_name_with_team":"[Stiedemann, Bins and Homenick] Brittanie Murazik","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:10:47.053-07:00","created_at":"2025-03-17T17:10:47.053-07:00"},"relationships":{"email_addresses":{"data":[{"id":"a5a3c42f-1fce-4256-af99-457f8b0b1e56","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}},{"id":"518","type":"users","attributes":{"name":"Rufus Kris","email":"emile@ziemann.test","phone":null,"phone_2":null,"full_name":"Rufus Kris","full_name_with_team":"[Stiedemann, Bins and Homenick] Rufus Kris","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:10:50.597-07:00","created_at":"2025-03-17T17:10:46.574-07:00"},"relationships":{"email_addresses":{"data":[{"id":"37fb159a-260f-4035-a511-00d10eda3c00","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}],"links":{"self":"http://www.example.com/v1/users?page%5Bnumber%5D=1&page%5Bsize%5D=50","first":"http://www.example.com/v1/users?page%5Bnumber%5D=1&page%5Bsize%5D=50","prev":null,"last":"http://www.example.com/v1/users?page%5Bnumber%5D=1&page%5Bsize%5D=50","next":null},"meta":{"current_page":1,"next_page":null,"prev_page":null,"total_pages":1,"total_count":2}},"schema":{"$ref":"#/components/schemas/user_list"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/users?page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bemail%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&include=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/users?page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bemail%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&include=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/users?page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bemail%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&include=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/users?page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bsearch%5D=SOME_STRING_VALUE&filter%5Bemail%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Bgte%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blt%5D=SOME_STRING_VALUE&filter%5Bcreated_at%5D%5Blte%5D=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&include=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/users/me":{"get":{"summary":"Get current user","security":[{"bearer_auth":[]}],"tags":["Users"],"description":"Get current user","operationId":"getCurrentUser","responses":{"200":{"description":"user found","content":{"application/vnd.api+json":{"example":{"data":{"id":"518","type":"users","attributes":{"name":"Rufus Kris","email":"emile@ziemann.test","phone":null,"phone_2":null,"full_name":"Rufus Kris","full_name_with_team":"[Stiedemann, Bins and Homenick] Rufus Kris","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:10:50.918-07:00","created_at":"2025-03-17T17:10:46.574-07:00"},"relationships":{"email_addresses":{"data":[{"id":"37fb159a-260f-4035-a511-00d10eda3c00","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/user_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/users/me \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/users/me\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/users/me\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/users/me\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/users/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves an user","security":[{"bearer_auth":[]}],"tags":["Users"],"description":"Retrieves a specific user by id","operationId":"getUser","parameters":[{"name":"include","in":"query","description":"comma separated if needed. eg: email_addresses,phone_numbers","schema":{"type":"string","enum":["email_addresses","phone_numbers","devices"]},"required":false}],"responses":{"200":{"description":"user found","content":{"application/vnd.api+json":{"example":{"data":{"id":"518","type":"users","attributes":{"name":"Rufus Kris","email":"emile@ziemann.test","phone":null,"phone_2":null,"full_name":"Rufus Kris","full_name_with_team":"[Stiedemann, Bins and Homenick] Rufus Kris","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:10:51.195-07:00","created_at":"2025-03-17T17:10:46.574-07:00"},"relationships":{"email_addresses":{"data":[{"id":"37fb159a-260f-4035-a511-00d10eda3c00","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/user_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/users/%7Bid%7D?include=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/users/%7Bid%7D?include=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/users/%7Bid%7D?include=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/users/%7Bid%7D?include=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete an user","security":[{"bearer_auth":[]}],"tags":["Users"],"description":"Delete a specific user by id","operationId":"deleteUser","responses":{"200":{"description":"user deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"519","type":"users","attributes":{"name":"Brittanie Murazik","email":"marisol@wisoky-bogan.test","phone":null,"phone_2":null,"full_name":"Brittanie Murazik","full_name_with_team":"[Stiedemann, Bins and Homenick] Brittanie Murazik","slack_id":null,"time_zone":"UTC","updated_at":"2025-03-17T17:10:47.053-07:00","created_at":"2025-03-17T17:10:47.053-07:00"},"relationships":{"email_addresses":{"data":[{"id":"a5a3c42f-1fce-4256-af99-457f8b0b1e56","type":"user_email_addresses"}]},"phone_numbers":{"data":[]},"devices":{"data":[]}}}},"schema":{"$ref":"#/components/schemas/user_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/users/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/users/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/users/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/users/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/webhooks/endpoints/{endpoint_id}/deliveries":{"get":{"summary":"List webhook deliveries","security":[{"bearer_auth":[]}],"tags":["WebhooksDeliveries"],"description":"List webhook deliveries for given endpoint","operationId":"listWebhooksDeliveries","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"endpoint_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/webhooks_delivery_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/webhooks/endpoints/%7Bendpoint_id%7D/deliveries?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/webhooks/endpoints/%7Bendpoint_id%7D/deliveries?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/webhooks/endpoints/%7Bendpoint_id%7D/deliveries?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/webhooks/endpoints/%7Bendpoint_id%7D/deliveries?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/webhooks/deliveries/{id}/deliver":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"post":{"summary":"Retries a webhook delivery","security":[{"bearer_auth":[]}],"tags":["WebhooksDeliveries"],"description":"Retries a webhook delivery","operationId":"deliverWebhooksDelivery","responses":{"200":{"description":"webhooks_delivery delivered","content":{"application/vnd.api+json":{"example":{"data":{"id":"aeefb899-0640-4f49-85ec-4a190ba35417","type":"webhooks_deliveries","attributes":{"endpoint_id":"0013f7bb-3767-4430-9ec9-66f1df4f3328","payload":"{\"event\":{\"id\":\"219de6d9-f8d4-4a19-9b82-6cc80508eee0\",\"type\":\"incident.created\",\"issued_at\":\"2025-03-17T17:10:53.298-07:00\"},\"data\":{\"id\":null,\"sequential_id\":null,\"title\":\"Lively Excitement\",\"slug\":\"lively-excitement\",\"kind\":\"normal\",\"private\":false,\"summary\":null,\"status\":\"started\",\"url\":\"http://localhost:3001/account/incidents\",\"short_url\":null,\"mitigation_message\":null,\"resolution_message\":null,\"cancellation_message\":null,\"public_title\":null,\"zoom_meeting_id\":null,\"zoom_meeting_start_url\":null,\"zoom_meeting_join_url\":null,\"zoom_meeting_password\":null,\"zoom_meeting_pstn_password\":null,\"zoom_meeting_h323_password\":null,\"zoom_meeting_global_dial_in_numbers\":[],\"shortcut_story_id\":null,\"shortcut_story_url\":null,\"shortcut_task_id\":null,\"shortcut_task_url\":null,\"asana_task_id\":null,\"asana_task_url\":null,\"github_issue_id\":null,\"github_issue_url\":null,\"gitlab_issue_id\":null,\"gitlab_issue_url\":null,\"jira_issue_id\":null,\"jira_issue_url\":null,\"google_meeting_id\":null,\"google_meeting_url\":null,\"trello_card_id\":null,\"trello_card_url\":null,\"linear_issue_id\":null,\"linear_issue_url\":null,\"zendesk_ticket_id\":null,\"zendesk_ticket_url\":null,\"motion_task_id\":null,\"motion_task_url\":null,\"clickup_task_id\":null,\"clickup_task_url\":null,\"slack_channel_name\":null,\"slack_channel_id\":null,\"slack_channel_url\":null,\"slack_channel_short_url\":null,\"slack_channel_deep_link\":null,\"slack_channel_archived\":false,\"service_now_incident_id\":null,\"service_now_incident_key\":null,\"service_now_incident_url\":null,\"opsgenie_incident_id\":null,\"opsgenie_incident_url\":null,\"opsgenie_alert_id\":null,\"opsgenie_alert_url\":null,\"victor_ops_incident_id\":null,\"victor_ops_incident_url\":null,\"pagerduty_incident_id\":null,\"pagerduty_incident_number\":null,\"pagerduty_incident_url\":null,\"mattermost_channel_id\":null,\"mattermost_channel_name\":null,\"mattermost_channel_url\":null,\"confluence_page_id\":null,\"confluence_page_url\":null,\"quip_page_id\":null,\"quip_page_url\":null,\"airtable_base_key\":null,\"airtable_table_name\":null,\"airtable_record_id\":null,\"airtable_record_url\":null,\"google_drive_id\":null,\"google_drive_parent_id\":null,\"google_drive_url\":null,\"sharepoint_page_id\":null,\"sharepoint_page_url\":null,\"datadog_notebook_id\":null,\"datadog_notebook_url\":null,\"freshservice_ticket_id\":null,\"freshservice_ticket_url\":null,\"freshservice_task_id\":null,\"freshservice_task_url\":null,\"started_at\":\"2025-03-17T17:10:53.273-07:00\",\"detected_at\":null,\"acknowledged_at\":null,\"mitigated_at\":null,\"resolved_at\":null,\"cancelled_at\":null,\"created_at\":null,\"updated_at\":null,\"labels\":{},\"severity\":null,\"user\":null,\"started_by\":null,\"mitigated_by\":null,\"resolved_by\":null,\"cancelled_by\":null,\"causes\":[],\"roles\":[],\"environments\":[],\"incident_types\":[],\"services\":[],\"functionalities\":[],\"groups\":[],\"events\":[],\"action_items\":[],\"form_field_selections\":[],\"feedbacks\":[]}}","delivered_at":"2025-03-17T17:10:53.709-07:00","created_at":"2025-03-17T17:10:53.322-07:00","updated_at":"2025-03-17T17:10:53.710-07:00"}}},"schema":{"$ref":"#/components/schemas/webhooks_delivery_response"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/webhooks/deliveries/%7Bid%7D/deliver \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/webhooks/deliveries/%7Bid%7D/deliver\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/webhooks/deliveries/%7Bid%7D/deliver\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/webhooks/deliveries/%7Bid%7D/deliver\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/webhooks/deliveries/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a webhook delivery","security":[{"bearer_auth":[]}],"tags":["WebhooksDeliveries"],"description":"Retrieves a specific webhook delivery by id","operationId":"getWebhooksDelivery","responses":{"200":{"description":"webhooks_delivery found","content":{"application/vnd.api+json":{"example":{"data":{"id":"aeefb899-0640-4f49-85ec-4a190ba35417","type":"webhooks_deliveries","attributes":{"endpoint_id":"0013f7bb-3767-4430-9ec9-66f1df4f3328","payload":"{\"event\":{\"id\":\"219de6d9-f8d4-4a19-9b82-6cc80508eee0\",\"type\":\"incident.created\",\"issued_at\":\"2025-03-17T17:10:53.298-07:00\"},\"data\":{\"id\":null,\"sequential_id\":null,\"title\":\"Lively Excitement\",\"slug\":\"lively-excitement\",\"kind\":\"normal\",\"private\":false,\"summary\":null,\"status\":\"started\",\"url\":\"http://localhost:3001/account/incidents\",\"short_url\":null,\"mitigation_message\":null,\"resolution_message\":null,\"cancellation_message\":null,\"public_title\":null,\"zoom_meeting_id\":null,\"zoom_meeting_start_url\":null,\"zoom_meeting_join_url\":null,\"zoom_meeting_password\":null,\"zoom_meeting_pstn_password\":null,\"zoom_meeting_h323_password\":null,\"zoom_meeting_global_dial_in_numbers\":[],\"shortcut_story_id\":null,\"shortcut_story_url\":null,\"shortcut_task_id\":null,\"shortcut_task_url\":null,\"asana_task_id\":null,\"asana_task_url\":null,\"github_issue_id\":null,\"github_issue_url\":null,\"gitlab_issue_id\":null,\"gitlab_issue_url\":null,\"jira_issue_id\":null,\"jira_issue_url\":null,\"google_meeting_id\":null,\"google_meeting_url\":null,\"trello_card_id\":null,\"trello_card_url\":null,\"linear_issue_id\":null,\"linear_issue_url\":null,\"zendesk_ticket_id\":null,\"zendesk_ticket_url\":null,\"motion_task_id\":null,\"motion_task_url\":null,\"clickup_task_id\":null,\"clickup_task_url\":null,\"slack_channel_name\":null,\"slack_channel_id\":null,\"slack_channel_url\":null,\"slack_channel_short_url\":null,\"slack_channel_deep_link\":null,\"slack_channel_archived\":false,\"service_now_incident_id\":null,\"service_now_incident_key\":null,\"service_now_incident_url\":null,\"opsgenie_incident_id\":null,\"opsgenie_incident_url\":null,\"opsgenie_alert_id\":null,\"opsgenie_alert_url\":null,\"victor_ops_incident_id\":null,\"victor_ops_incident_url\":null,\"pagerduty_incident_id\":null,\"pagerduty_incident_number\":null,\"pagerduty_incident_url\":null,\"mattermost_channel_id\":null,\"mattermost_channel_name\":null,\"mattermost_channel_url\":null,\"confluence_page_id\":null,\"confluence_page_url\":null,\"quip_page_id\":null,\"quip_page_url\":null,\"airtable_base_key\":null,\"airtable_table_name\":null,\"airtable_record_id\":null,\"airtable_record_url\":null,\"google_drive_id\":null,\"google_drive_parent_id\":null,\"google_drive_url\":null,\"sharepoint_page_id\":null,\"sharepoint_page_url\":null,\"datadog_notebook_id\":null,\"datadog_notebook_url\":null,\"freshservice_ticket_id\":null,\"freshservice_ticket_url\":null,\"freshservice_task_id\":null,\"freshservice_task_url\":null,\"started_at\":\"2025-03-17T17:10:53.273-07:00\",\"detected_at\":null,\"acknowledged_at\":null,\"mitigated_at\":null,\"resolved_at\":null,\"cancelled_at\":null,\"created_at\":null,\"updated_at\":null,\"labels\":{},\"severity\":null,\"user\":null,\"started_by\":null,\"mitigated_by\":null,\"resolved_by\":null,\"cancelled_by\":null,\"causes\":[],\"roles\":[],\"environments\":[],\"incident_types\":[],\"services\":[],\"functionalities\":[],\"groups\":[],\"events\":[],\"action_items\":[],\"form_field_selections\":[],\"feedbacks\":[]}}","delivered_at":null,"created_at":"2025-03-17T17:10:53.322-07:00","updated_at":"2025-03-17T17:10:53.322-07:00"}}},"schema":{"$ref":"#/components/schemas/webhooks_delivery_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/webhooks/deliveries/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/webhooks/deliveries/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/webhooks/deliveries/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/webhooks/deliveries/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/webhooks/endpoints":{"post":{"summary":"Creates a webhook endpoint","security":[{"bearer_auth":[]}],"tags":["WebhooksEndpoints"],"description":"Creates a new webhook endpoint from provided data","operationId":"createWebhooksEndpoint","parameters":[],"responses":{"201":{"description":"webhooks_endpoint created","content":{"application/vnd.api+json":{"example":{"data":{"id":"c0220f3d-b65c-498b-bb7a-37056dd317b3","type":"webhooks_endpoints","attributes":{"team_id":455,"slug":"test-be66fb61-e95c-456b-b279-a7b5fc78a0b2","name":"Test","url":"https://test.com/test","secret":"mf4ZfVHcFbCaY7q2","event_types":["incident.created"],"enabled":true,"created_at":"2025-03-17T17:10:55.431-07:00","updated_at":"2025-03-17T17:10:55.431-07:00"}}},"schema":{"$ref":"#/components/schemas/webhooks_endpoint_response"}}}},"401":{"description":"responds with unauthorized for invalid token","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Invalid token","status":"401"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}},"422":{"description":"invalid request","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Name can't be blank","status":"422"},{"title":"URL is not a valid URL","status":"422"},{"title":"URL can't be blank","status":"422"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/new_webhooks_endpoint"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n --url https://api.rootly.com/v1/webhooks/endpoints \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/webhooks/endpoints\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"POST\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/webhooks/endpoints\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/webhooks/endpoints\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"get":{"summary":"List webhook endpoints","security":[{"bearer_auth":[]}],"tags":["WebhooksEndpoints"],"description":"List webhook endpoints","operationId":"listWebhooksEndpoints","parameters":[{"name":"include","in":"query","required":false,"schema":{"type":"string"}},{"name":"page[number]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"page[size]","in":"query","required":false,"schema":{"type":"integer"}},{"name":"filter[slug]","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter[name]","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/webhooks_endpoint_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url 'https://api.rootly.com/v1/webhooks/endpoints?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE' \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/webhooks/endpoints?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/webhooks/endpoints?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/webhooks/endpoints?include=SOME_STRING_VALUE&page%5Bnumber%5D=SOME_INTEGER_VALUE&page%5Bsize%5D=SOME_INTEGER_VALUE&filter%5Bslug%5D=SOME_STRING_VALUE&filter%5Bname%5D=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}},"/v1/webhooks/endpoints/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieves a webhook endpoint","security":[{"bearer_auth":[]}],"tags":["WebhooksEndpoints"],"description":"Retrieves a specific webhook endpoint by id","operationId":"getWebhooksEndpoint","responses":{"200":{"description":"webhooks_endpoint found","content":{"application/vnd.api+json":{"example":{"data":{"id":"e42c3470-9cc3-48b5-ae60-30969444927e","type":"webhooks_endpoints","attributes":{"team_id":455,"slug":"test","name":"test","url":"https://test.com","secret":"zVwt98Qmvj9HYdcQ","event_types":[],"enabled":true,"created_at":"2025-03-17T17:10:55.268-07:00","updated_at":"2025-03-17T17:10:55.268-07:00"}}},"schema":{"$ref":"#/components/schemas/webhooks_endpoint_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n --url https://api.rootly.com/v1/webhooks/endpoints/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/webhooks/endpoints/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"GET\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/webhooks/endpoints/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/webhooks/endpoints/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"put":{"summary":"Update a webhook endpoint","security":[{"bearer_auth":[]}],"tags":["WebhooksEndpoints"],"description":"Update a specific webhook endpoint by id","operationId":"updateWebhooksEndpoint","parameters":[],"responses":{"200":{"description":"webhooks_endpoint updated","content":{"application/vnd.api+json":{"example":{"data":{"id":"e42c3470-9cc3-48b5-ae60-30969444927e","type":"webhooks_endpoints","attributes":{"team_id":455,"slug":"test","name":"Updated","url":"https://test.com","secret":"zVwt98Qmvj9HYdcQ","event_types":[],"enabled":true,"created_at":"2025-03-17T17:10:55.268-07:00","updated_at":"2025-03-17T17:10:56.687-07:00"}}},"schema":{"$ref":"#/components/schemas/webhooks_endpoint_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"requestBody":{"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_webhooks_endpoint"}}},"required":true},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n --url https://api.rootly.com/v1/webhooks/endpoints/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/vnd.api+json'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/webhooks/endpoints/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"content-type\"] = 'application/vnd.api+json'\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"PUT\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/webhooks/endpoints/%7Bid%7D\",\n \"headers\": {\n \"content-type\": \"application/vnd.api+json\",\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/webhooks/endpoints/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/vnd.api+json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]},"delete":{"summary":"Delete a webhook endpoint","security":[{"bearer_auth":[]}],"tags":["WebhooksEndpoints"],"description":"Delete a specific webhook endpoint by id","operationId":"deleteWebhooksEndpoint","responses":{"200":{"description":"webhooks_endpoint deleted","content":{"application/vnd.api+json":{"example":{"data":{"id":"e42c3470-9cc3-48b5-ae60-30969444927e","type":"webhooks_endpoints","attributes":{"team_id":455,"slug":"test","name":"test","url":"https://test.com","secret":"zVwt98Qmvj9HYdcQ","event_types":[],"enabled":true,"created_at":"2025-03-17T17:10:55.268-07:00","updated_at":"2025-03-17T17:10:57.205-07:00"}}},"schema":{"$ref":"#/components/schemas/webhooks_endpoint_response"}}}},"404":{"description":"resource not found","content":{"application/vnd.api+json":{"example":{"errors":[{"title":"Not found or unauthorized","status":"404"}]},"schema":{"$ref":"#/components/schemas/errors_list"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n --url https://api.rootly.com/v1/webhooks/endpoints/%7Bid%7D \\\n --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Ruby + Native","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.rootly.com/v1/webhooks/endpoints/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n \"method\": \"DELETE\",\n \"hostname\": \"api.rootly.com\",\n \"port\": null,\n \"path\": \"/v1/webhooks/endpoints/%7Bid%7D\",\n \"headers\": {\n \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n }\n};\n\nconst req = http.request(options, function (res) {\n const chunks = [];\n\n res.on(\"data\", function (chunk) {\n chunks.push(chunk);\n });\n\n res.on(\"end\", function () {\n const body = Buffer.concat(chunks);\n console.log(body.toString());\n });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.rootly.com/v1/webhooks/endpoints/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"}]}}},"servers":[{"url":"https://api.rootly.com"}],"components":{"securitySchemes":{"bearer_auth":{"type":"http","scheme":"bearer"}},"schemas":{"attach_alert":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["alerts"]},"attributes":{"type":"object","properties":{"alert_ids":{"type":"array","description":"Alert Id to attach to the incident","items":{"type":"string"},"nullable":true}},"additionalProperties":false,"required":["alert_ids"]}},"required":["type","attributes"]}},"required":["data"]},"new_alert":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["alerts"]},"attributes":{"type":"object","properties":{"noise":{"type":"string","description":"Whether the alert is marked as noise","enum":["noise","not_noise"],"nullable":true},"source":{"type":"string","description":"The source of the alert","enum":["rootly","manual","web","slack","email","workflow","live_call_routing","email","pagerduty","opsgenie","victorops","pagertree","datadog","nobl9","zendesk","asana","clickup","sentry","rollbar","jira","honeycomb","service_now","linear","grafana","alertmanager","google_cloud","generic_webhook","cloud_watch","azure","splunk","chronosphere","app_optics","bug_snag","monte_carlo","nagios","prtg","catchpoint","app_dynamics"]},"status":{"type":"string","enum":["open","triggered"],"description":"Only available for organizations with Rootly On-Call enabled. Can be one of open, triggered, acknowledged or resolved."},"summary":{"type":"string","description":"The summary of the alert"},"description":{"type":"string","description":"The description of the alert","nullable":true},"service_ids":{"type":"array","description":"The Service ID's to attach to the alert. If your organization has On-Call enabled and your notification target is a Service. This field will be automatically set for you.","items":{"type":"string"},"nullable":true},"group_ids":{"type":"array","description":"The Group ID's to attach to the alert. If your organization has On-Call enabled and your notification target is a Group. This field will be automatically set for you.","items":{"type":"string"},"nullable":true},"environment_ids":{"type":"array","description":"The Environment ID's to attach to the alert","items":{"type":"string"},"nullable":true},"started_at":{"type":"string","description":"Alert start datetime","format":"date-time","nullable":true},"ended_at":{"type":"string","description":"Alert end datetime","format":"date-time","nullable":true},"external_id":{"type":"string","description":"External ID","nullable":true},"external_url":{"type":"string","description":"External Url","nullable":true},"alert_urgency_id":{"type":"string","description":"The ID of the alert urgency","nullable":true},"notification_target_type":{"type":"string","enum":["User","Group","EscalationPolicy","Service"],"description":"Only available for organizations with Rootly On-Call enabled. Can be one of Group, Service, EscalationPolicy, User.","nullable":true},"notification_target_id":{"type":"string","description":"Only available for organizations with Rootly On-Call enabled. The _identifier_ of the notification target object.","nullable":true},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Key of the tag"},"value":{"type":"string","description":"Value of the tag"}},"required":["key","value"],"nullable":true}},"data":{"type":"object","description":"Additional data","nullable":true}},"additionalProperties":false,"required":["source","summary"]}},"required":["type","attributes"]}},"required":["data"]},"update_alert":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["alerts"]},"attributes":{"type":"object","properties":{"noise":{"type":"string","description":"Whether the alert is marked as noise","enum":["noise","not_noise"],"nullable":true},"source":{"type":"string","description":"The source of the alert","enum":["rootly","manual","web","slack","email","workflow","live_call_routing","email","pagerduty","opsgenie","victorops","pagertree","datadog","nobl9","zendesk","asana","clickup","sentry","rollbar","jira","honeycomb","service_now","linear","grafana","alertmanager","google_cloud","generic_webhook","cloud_watch","azure","splunk","chronosphere","app_optics","bug_snag","monte_carlo","nagios","prtg","catchpoint","app_dynamics"]},"summary":{"type":"string","description":"The summary of the alert"},"description":{"type":"string","description":"The description of the alert","nullable":true},"service_ids":{"type":"array","description":"The Service ID's to attach to the alert","items":{"type":"string"},"nullable":true},"group_ids":{"type":"array","description":"The Group ID's to attach to the alert","items":{"type":"string"},"nullable":true},"environment_ids":{"type":"array","description":"The Environment ID's to attach to the alert","items":{"type":"string"},"nullable":true},"started_at":{"type":"string","description":"Alert start datetime","format":"date-time","nullable":true},"ended_at":{"type":"string","description":"Alert end datetime","format":"date-time","nullable":true},"external_id":{"type":"string","description":"External ID","nullable":true},"external_url":{"type":"string","description":"External Url","nullable":true},"alert_urgency_id":{"type":"string","description":"The ID of the alert urgency","nullable":true},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Key of the tag"},"value":{"type":"string","description":"Value of the tag"}},"required":["key","value"],"nullable":true}},"data":{"type":"object","description":"Additional data","nullable":true}},"additionalProperties":false}},"required":["source","summary","attributes"]}},"required":["data"]},"alert":{"type":"object","properties":{"noise":{"type":"string","description":"Whether the alert is marked as noise","enum":["noise","not_noise"],"nullable":true},"source":{"type":"string","description":"The source of the alert","enum":["rootly","manual","web","slack","email","workflow","live_call_routing","email","pagerduty","opsgenie","victorops","pagertree","datadog","nobl9","zendesk","asana","clickup","sentry","rollbar","jira","honeycomb","service_now","linear","grafana","alertmanager","google_cloud","generic_webhook","cloud_watch","azure","splunk","chronosphere","app_optics","bug_snag","monte_carlo","nagios","prtg","catchpoint","app_dynamics"]},"status":{"type":"string","enum":["open","triggered","acknowledged","resolved"],"description":"The status of the alert"},"summary":{"type":"string","description":"The summary of the alert"},"description":{"type":"string","description":"The description of the alert","nullable":true},"services":{"type":"array","description":"Services attached to the alert","items":{"type":"object","allOf":[{"$ref":"#/components/schemas/service"}]}},"groups":{"type":"array","description":"Groups attached to the alert","items":{"type":"object","allOf":[{"$ref":"#/components/schemas/team"}]}},"environments":{"type":"array","description":"Environments attached to the alert","items":{"type":"object","allOf":[{"$ref":"#/components/schemas/environment"}]}},"external_id":{"type":"string","description":"External ID","nullable":true},"external_url":{"type":"string","description":"External Url","nullable":true},"alert_urgency_id":{"type":"string","description":"The ID of the alert urgency","nullable":true},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Key of the tag"},"value":{"type":"string","description":"Value of the tag"}},"required":["key","value"],"nullable":true}},"data":{"type":"object","description":"Additional data","nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["source","summary","created_at","updated_at"]},"alert_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the alert"},"source":{"type":"string","description":"The source of the alert","enum":["rootly","manual","web","slack","email","workflow","live_call_routing","email","pagerduty","opsgenie","victorops","pagertree","datadog","nobl9","zendesk","asana","clickup","sentry","rollbar","jira","honeycomb","service_now","linear","grafana","alertmanager","google_cloud","generic_webhook","cloud_watch","azure","splunk","chronosphere","app_optics","bug_snag","monte_carlo","nagios","prtg","catchpoint","app_dynamics"]},"type":{"type":"string","enum":["alerts"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/alert"}]}},"required":["id","type","attributes"]}},"required":["data"]},"alert_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the alert"},"source":{"type":"string","description":"The source of the alert","enum":["rootly","manual","web","slack","email","workflow","live_call_routing","email","pagerduty","opsgenie","victorops","pagertree","datadog","nobl9","zendesk","asana","clickup","sentry","rollbar","jira","honeycomb","service_now","linear","grafana","alertmanager","google_cloud","generic_webhook","cloud_watch","azure","splunk","chronosphere","app_optics","bug_snag","monte_carlo","nagios","prtg","catchpoint","app_dynamics"]},"type":{"type":"string","enum":["alerts"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/alert"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"resolve_alert":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["alerts"]},"attributes":{"type":"object","properties":{"resolution_message":{"type":"string","description":"How was the alert resolved?","nullable":true},"resolve_related_incidents":{"type":"boolean","description":"Resolve all associated incidents","nullable":true}},"additionalProperties":false}}}}},"alert_event":{"type":"object","properties":{"kind":{"type":"string","enum":["informational","notification","action","status_update","recording","alert_grouping","alert_urgency","alert_routing","note","noise","maintenance"]},"action":{"type":"string","enum":["created","emailed","slacked","called","texted","notified","opened","retriggered","answered","acknowledged","escalated","paged","resolved","created","attached","snoozed","triggered","acknowledged","resolved","created","updated","added","removed","updated","created","marked","not_marked","muted"]},"source":{"type":"string"},"details":{"type":"string","nullable":true},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["source","kind","action","created_at","updated_at"]},"alert_event_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the alert event"},"type":{"type":"string","enum":["alert_events"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/alert_event"}]}},"required":["id","type","attributes"]}},"required":["data"]},"alert_event_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the alert event"},"type":{"type":"string","enum":["alert_events"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/alert_event"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_alerts_source":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["alert_sources"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the alert source"},"source_type":{"type":"string","description":"The alert source type","enum":["email","app_dynamics","catchpoint","datadog","alertmanager","google_cloud","grafana","sentry","generic_webhook","cloud_watch","checkly","azure","new_relic","splunk","chronosphere","app_optics","bug_snag","honeycomb","monte_carlo","nagios","prtg"]},"alert_urgency_id":{"type":"string","description":"ID for the default alert urgency assigned to this alert source"},"alert_template_attributes":{"type":"object","properties":{"title":{"type":"string","description":"The alert title.","nullable":true},"description":{"type":"string","description":"The alert description.","nullable":true},"external_url":{"type":"string","description":"The alert URL.","nullable":true}}},"alert_source_urgency_rules_attributes":{"type":"array","description":"List of rules that define the conditions under which the alert urgency will be set automatically based on the alert payload","items":{"type":"object","properties":{"json_path":{"type":"string","description":"JSON path expression to extract a specific value from the alert's payload for evaluation"},"operator":{"type":"string","description":"Comparison operator used to evaluate the extracted value against the specified condition","enum":["is","is_not","contains","does_not_contain"]},"value":{"type":"string","description":"Value that the extracted payload data is compared to using the specified operator to determine a match"}}}},"sourceable_attributes":{"type":"object","description":"Provide additional attributes for generic_webhook alerts source","properties":{"auto_resolve":{"type":"boolean","description":"Set this to true to auto-resolve alerts based on field_mappings_attributes conditions"},"resolve_state":{"type":"string","description":"This value is matched with the value extracted from alerts payload using JSON path in field_mappings_attributes"},"field_mappings_attributes":{"type":"array","description":"Specify rules to auto resolve alerts","items":{"type":"object","properties":{"field":{"type":"string","description":"Select the field on which the condition to be evaluated","enum":["external_id","state","alert_title","alert_external_url","notification_target_type","notification_target_id"]},"json_path":{"type":"string","description":"JSON path expression to extract a specific value from the alert's payload for evaluation"}}}}}}},"additionalProperties":false,"required":["name"]}},"required":["type","attributes"]}},"required":["data"]},"update_alerts_source":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["alert_sources"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the alert source"},"source_type":{"type":"string","description":"The alert source type","enum":["email","app_dynamics","catchpoint","datadog","alertmanager","google_cloud","grafana","sentry","generic_webhook","cloud_watch","checkly","azure","new_relic","splunk","chronosphere","app_optics","bug_snag","honeycomb","monte_carlo","nagios","prtg"]},"alert_urgency_id":{"type":"string","description":"ID for the default alert urgency assigned to this alert source"},"alert_template_attributes":{"type":"object","properties":{"title":{"type":"string","description":"The alert title.","nullable":true},"description":{"type":"string","description":"The alert description.","nullable":true},"external_url":{"type":"string","description":"The alert URL.","nullable":true}}},"alert_source_urgency_rules_attributes":{"type":"array","description":"List of rules that define the conditions under which the alert urgency will be set automatically based on the alert payload","items":{"type":"object","properties":{"json_path":{"type":"string","description":"JSON path expression to extract a specific value from the alert's payload for evaluation"},"operator":{"type":"string","description":"Comparison operator used to evaluate the extracted value against the specified condition","enum":["is","is_not","contains","does_not_contain"]},"value":{"type":"string","description":"Value that the extracted payload data is compared to using the specified operator to determine a match"}}}},"sourceable_attributes":{"type":"object","description":"Provide additional attributes for generic_webhook alerts source","properties":{"auto_resolve":{"type":"boolean","description":"Set this to true to auto-resolve alerts based on field_mappings_attributes conditions"},"resolve_state":{"type":"string","description":"This value is matched with the value extracted from alerts payload using JSON path in field_mappings_attributes"},"field_mappings_attributes":{"type":"array","description":"Specify rules to auto resolve alerts","items":{"type":"object","properties":{"field":{"type":"string","description":"Select the field on which the condition to be evaluated","enum":["external_id","state","alert_title","alert_external_url","notification_target_type","notification_target_id"]},"json_path":{"type":"string","description":"JSON path expression to extract a specific value from the alert's payload for evaluation"}}}}}}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"alerts_source":{"type":"object","properties":{"alert_urgency_id":{"type":"string","description":"ID for the default alert urgency assigned to this alert source"},"name":{"type":"string","description":"The name of the alert source"},"source_type":{"type":"string","description":"The alert source type"},"status":{"type":"string","description":"The current status of the alert source"},"secret":{"type":"string","description":"A secret key used to authenticate incoming requests to this alerts source"},"webhook_endpoint":{"type":"string","description":"The URL endpoint of the alert source"},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"},"sourceable_attributes":{"type":"object","description":"Additional attributes specific to certain alert sources (e.g., generic_webhook), encapsulating source-specific configurations or details"}},"required":["name","status","secret","webhook_endpoint","created_at","updated_at"]},"alerts_source_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the alert source"},"type":{"type":"string","enum":["alert_sources"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/alerts_source"}]}},"required":["id","type","attributes"]}},"required":["data"]},"alerts_source_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the alert source"},"type":{"type":"string","enum":["alert_sources"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/alerts_source"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_alert_routing_rule":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["alert_routing_rules"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the alert routing rule"},"enabled":{"type":"boolean","description":"Whether the alert routing rule is enabled"},"owner_team_ids":{"type":"array","description":"The IDs of the teams which own the alert routing rule. If the user don't have Alert Routing Create Permission in On Call Roles, then this field is required and can contain Team IDs the user is an admin of.","items":{"type":"string","format":"uuid"}},"alerts_source_id":{"type":"string","format":"uuid","description":"The ID of the alerts source"},"condition_type":{"type":"string","description":"The type of condition for the alert routing rule","enum":["all","any"]},"conditions":{"type":"array","items":{"type":"object","properties":{"property_field_type":{"type":"string","description":"The type of the property field","enum":["attribute","payload"]},"property_field_name":{"type":"string","description":"The name of the property field"},"property_field_condition_type":{"type":"string","description":"The condition type of the property field","enum":["is","is_not","contains","does_not_contain","starts_with","ends_with","matches_regex"]},"property_field_value":{"type":"string","description":"The value of the property field"}},"required":["property_field_type","property_field_name","property_field_condition_type","property_field_value"]}},"destination":{"type":"object","properties":{"target_type":{"type":"string","description":"The type of the target","enum":["Group","Service","EscalationPolicy"]},"target_id":{"type":"string","format":"uuid","description":"The ID of the target"}},"required":["target_type","target_id"]}},"additionalProperties":false,"required":["name","alerts_source_id","destination"]}},"required":["type","attributes"]}},"required":["data"]},"update_alert_routing_rule":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["alert_routing_rules"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the alert routing rule"},"enabled":{"type":"boolean","description":"Whether the alert routing rule is enabled"},"alerts_source_id":{"type":"string","format":"uuid","description":"The ID of the alerts source"},"owner_team_ids":{"type":"array","description":"The IDs of the teams that own the alert routing rule","items":{"type":"string","format":"uuid"}},"condition_type":{"type":"string","description":"The type of condition for the alert routing rule","enum":["all","any"]},"conditions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The ID of the alert routing rule condition"},"property_field_type":{"type":"string","description":"The type of the property field","enum":["attribute","payload"]},"property_field_name":{"type":"string","description":"The name of the property field"},"property_field_condition_type":{"type":"string","description":"The condition type of the property field","enum":["is","is_not","contains","does_not_contain","starts_with","ends_with","matches_regex"]},"property_field_value":{"type":"string","description":"The value of the property field"}}}},"destination":{"type":"object","properties":{"target_type":{"type":"string","description":"The type of the target","enum":["Group","Service","EscalationPolicy"]},"target_id":{"type":"string","format":"uuid","description":"The ID of the target"}}}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"alert_routing_rule":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the alert routing rule"},"type":{"type":"string","enum":["alert_routing_rules"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the alert routing rule"},"enabled":{"type":"boolean","description":"Whether the alert routing rule is enabled"},"alerts_source_id":{"type":"string","format":"uuid","description":"The ID of the alerts source"},"condition_type":{"type":"string","description":"The type of condition for the alert routing rule","enum":["all","any"]},"conditions":{"type":"array","description":"The conditions for the alert routing rule","items":{"type":"object","properties":{"property_field_type":{"type":"string","description":"The type of the property field","enum":["attribute","payload"]},"property_field_name":{"type":"string","description":"The name of the property field"},"property_field_condition_type":{"type":"string","description":"The condition type of the property field","enum":["is","is_not","contains","does_not_contain","starts_with","ends_with","matches_regex"]},"property_field_value":{"type":"string","description":"The value of the property field"}}}},"destination":{"type":"object","description":"The destinations for the alert routing rule","properties":{"target_type":{"type":"string","description":"The type of the target","enum":["Group","Service","EscalationPolicy"]},"target_id":{"type":"string","format":"uuid","description":"The ID of the target"}}},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["name","enabled","alerts_source_id","condition_type","destination","created_at","updated_at"]},"relationships":{"type":"object","properties":{"owning_teams":{"type":"object","properties":{"data":{"type":"array","items":{"type":"string","format":"uuid"}}}}}}},"required":["id","type","attributes","relationships"]},"alert_routing_rule_response":{"type":"object","properties":{"data":{"type":"object","allOf":[{"$ref":"#/components/schemas/alert_routing_rule"}]}},"required":["data"]},"alert_routing_rule_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","allOf":[{"$ref":"#/components/schemas/alert_routing_rule"}]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_alert_urgency":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["alert_urgencies"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the alert urgency"},"description":{"type":"string","description":"The description of the alert urgency"},"position":{"type":"integer","description":"Position of the alert urgency","nullable":true}},"additionalProperties":false,"required":["name","description"]}},"required":["type","attributes"]}},"required":["data"]},"update_alert_urgency":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["alert_urgencies"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the alert urgency"},"description":{"type":"string","description":"The description of the alert urgency"},"position":{"type":"integer","description":"Position of the alert urgency","nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"alert_urgency":{"type":"object","properties":{"name":{"type":"string","description":"The name of the alert urgency"},"description":{"type":"string","description":"The description of the alert urgency"},"position":{"type":"integer","description":"Position of the alert urgency"},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["name","description","position","created_at","updated_at"]},"alert_urgency_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the alert urgency"},"type":{"type":"string","enum":["alert_urgencies"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/alert_urgency"}]}},"required":["id","type","attributes"]}},"required":["data"]},"alert_urgency_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the alert urgency"},"type":{"type":"string","enum":["alert_urgencies"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/alert_urgency"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_alert_group":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["alert_groups"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the alert group"},"description":{"type":"string","description":"The description of the alert urgency","nullable":true},"time_window":{"type":"integer","description":"The length of time an Alert Group should stay open and accept new alerts"},"targets":{"type":"array","items":{"type":"object","properties":{"target_type":{"type":"string","description":"The type of the target.","enum":["Group","Service","EscalationPolicy"]},"target_id":{"type":"string","format":"uuid","description":"id for the Group, Service or EscalationPolicy"}}}},"attributes":{"type":"array","items":{"type":"object","properties":{"json_path":{"type":"string","description":"The JSON path to the value to group by."}}}},"group_by_alert_title":{"type":"integer","enum":[1,0],"description":"Whether the alerts should be grouped by titles."},"group_by_alert_urgency":{"type":"integer","enum":[1,0],"description":"Whether the alerts should be grouped by urgencies."},"condition_type":{"type":"string","enum":["all","any"],"description":"Group alerts when ANY or ALL of the fields are matching."}},"additionalProperties":false,"required":["name","targets"]}},"required":["type","attributes"]}},"required":["data"]},"update_alert_group":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["alert_groups"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the alert group"},"description":{"type":"string","description":"The description of the alert group","nullable":true},"time_window":{"type":"integer","description":"The length of time an Alert Group should stay open and accept new alerts"},"targets":{"type":"array","items":{"type":"object","properties":{"target_type":{"type":"string","description":"The type of the target.","enum":["Group","Service","EscalationPolicy"]},"target_id":{"type":"string","format":"uuid","description":"id for the Group, Service or EscalationPolicy"}}}},"attributes":{"type":"array","items":{"type":"object","properties":{"json_path":{"type":"string","description":"The JSON path to the value to group by."}}}},"group_by_alert_title":{"type":"integer","enum":[1,0],"description":"Whether the alerts should be grouped by titles."},"group_by_alert_urgency":{"type":"integer","enum":[1,0],"description":"Whether the alerts should be grouped by urgencies."},"condition_type":{"type":"string","enum":["all","any"],"description":"Group alerts when ANY or ALL of the fields are matching."}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"alert_group":{"type":"object","properties":{"name":{"type":"string","description":"The name of the alert group"},"description":{"type":"string","description":"The description of the alert group","nullable":true},"slug":{"type":"string","description":"The slug of the alert group"},"condition_type":{"type":"string","description":"Grouping condition for the alert group"},"time_window":{"type":"integer","description":"Time window for the alert grouping"},"group_by_alert_title":{"type":"boolean","description":"Whether the alerts are grouped by title or not"},"group_by_alert_urgency":{"type":"boolean","description":"Whether the alerts are grouped by urgency or not"},"targets":{"type":"array","items":{"type":"object","properties":{"target_type":{"type":"string","description":"The type of the target.","enum":["Group","Service","EscalationPolicy"]},"target_id":{"type":"string","format":"uuid","description":"id for the Group, Service or EscalationPolicy"}}}},"attributes":{"type":"array","items":{"type":"object","properties":{"json_path":{"type":"string","description":"The JSON path to the value to group by."}}}},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"},"deleted_at":{"type":"string","nullable":true,"description":"Date or deletion"}},"required":["name","description","slug","created_at","updated_at","deleted_at","condition_type","time_window","group_by_alert_title","group_by_alert_urgency"]},"alert_group_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the alert group"},"type":{"type":"string","enum":["alert_groups"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/alert_group"}]}},"required":["id","type","attributes"]}},"required":["data"]},"alert_group_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the alert group"},"type":{"type":"string","enum":["alert_groups"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/alert_group"}]}},"required":["id","type","attributes"]}}},"required":["data"]},"audit":{"type":"object","properties":{"event":{"type":"string","description":"Describes the action that was taken."},"item_type":{"type":"string","description":"Describes the object in which the action was taken on","enum":["Cause","CustomField","CustomFieldOption","CustomForm","Dashboard","Environment","EscalationPolicy","EscalationPolicyPath","ExportJob","FormField","Functionality","GeniusWorkflow","GeniusWorkflowGroup","GeniusWorkflowRun","Group","Heartbeat","Incident","IncidentActionItem","IncidentEvent","IncidentFormFieldSelection","IncidentFormFieldSelectionUser","IncidentPostMortem","IncidentRoleAssignment","IncidentRoleTask","IncidentStatusPageEvent","IncidentTask","IncidentType","LiveCallRouter","OnCallRole","Playbook","PlaybookTask","Role","Schedule","Service","Severity","StatusPage"],"nullable":true},"object":{"type":"object","description":"The object in which the action was taken on","nullable":true},"object_changes":{"type":"object","description":"The changes that occurred on the object","nullable":true},"user_id":{"type":"integer","description":"The ID of who took action on the object. Together with whodunnit_type can be used to find the user","nullable":true},"created_at":{"type":"string","description":"Date of creation"},"item_id":{"type":"string","description":"ID of the affected object","nullable":true},"id":{"type":"integer","description":"ID of audit","nullable":true}},"required":["event","created_at"]},"audits_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the audit log item"},"type":{"type":"string","enum":["audits"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/audit"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_authorization":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["authorizations"]},"attributes":{"type":"object","properties":{"authorizable_id":{"type":"string","description":"The id of the resource being accessed."},"authorizable_type":{"type":"string","description":"The type of resource being accessed.","enum":["Dashboard"]},"grantee_id":{"type":"string","description":"The resource id granted access."},"grantee_type":{"type":"string","description":"The type of resource granted access.","enum":["User","Team"]},"permissions":{"type":"array","items":{"type":"string","enum":["read","update","authorize","destroy"]}}},"additionalProperties":false,"required":["authorizable_id","authorizable_type","grantee_id","grantee_type","permissions"]}},"required":["type","attributes"]}},"required":["data"]},"update_authorization":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["authorizations"]},"attributes":{"type":"object","properties":{"permissions":{"type":"array","items":{"type":"string","enum":["read","update","authorize","destroy"]}}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"authorization":{"type":"object","properties":{"authorizable_id":{"type":"string","description":"The id of the resource being accessed."},"authorizable_type":{"type":"string","description":"The type of resource being accessed.","enum":["Dashboard"]},"grantee_id":{"type":"string","description":"The resource id granted access."},"grantee_type":{"type":"string","description":"The type of resource granted access.","enum":["User","Team"]},"permissions":{"type":"array","items":{"type":"string","enum":["read","update","authorize","destroy"]}},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["authorizable_id","authorizable_type","grantee_id","grantee_type","permissions","created_at","updated_at"]},"authorization_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the authorization"},"type":{"type":"string","enum":["authorizations"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/authorization"}]}},"required":["id","type","attributes"]}},"required":["data"]},"authorization_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the authorization"},"type":{"type":"string","enum":["authorizations"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/authorization"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_catalog":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["catalogs"]},"attributes":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string","nullable":true},"icon":{"type":"string","enum":["globe-alt","server-stack","users","user-group","chart-bar","shapes","light-bulb","cursor-arrow-ripple"]},"position":{"type":"integer","description":"Default position of the catalog when displayed in a list.","nullable":true}},"additionalProperties":false,"required":["name"]}},"required":["type","attributes"]}},"required":["data"]},"update_catalog":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["catalogs"]},"attributes":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string","nullable":true},"icon":{"type":"string","enum":["globe-alt","server-stack","users","user-group","chart-bar","shapes","light-bulb","cursor-arrow-ripple"]},"position":{"type":"integer","description":"Default position of the catalog when displayed in a list.","nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"catalog":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string","nullable":true},"icon":{"type":"string","enum":["globe-alt","server-stack","users","user-group","chart-bar","shapes","light-bulb","cursor-arrow-ripple"]},"position":{"type":"integer","description":"Default position of the catalog when displayed in a list.","nullable":true},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["name","icon","position","created_at","updated_at"]},"catalog_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the catalog"},"type":{"type":"string","enum":["catalogs"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/catalog"}]}},"required":["id","type","attributes"]}},"required":["data"]},"catalog_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the catalog"},"type":{"type":"string","enum":["catalogs"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/catalog"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_catalog_field":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["catalog_fields"]},"attributes":{"type":"object","properties":{"name":{"type":"string"},"kind":{"type":"string","enum":["text","reference"]},"kind_catalog_id":{"type":"string","description":"Restricts values to items of specified catalog.","nullable":true},"multiple":{"type":"boolean","description":"Whether the attribute accepts multiple values."},"position":{"type":"integer","description":"Default position of the item when displayed in a list.","nullable":true}},"additionalProperties":false,"required":["name","kind"]}},"required":["type","attributes"]}},"required":["data"]},"update_catalog_field":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["catalog_fields"]},"attributes":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"kind":{"type":"string","enum":["text","reference"]},"kind_catalog_id":{"type":"string","description":"Restricts values to items of specified catalog.","nullable":true},"position":{"type":"integer","description":"Default position of the item when displayed in a list.","nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"catalog_field":{"type":"object","properties":{"catalog_id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"kind":{"type":"string","enum":["text","reference"]},"kind_catalog_id":{"type":"string","description":"Restricts values to items of specified catalog.","nullable":true},"multiple":{"type":"boolean","description":"Whether the attribute accepts multiple values."},"position":{"type":"integer","description":"Default position of the item when displayed in a list.","nullable":true},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["catalog_id","name","slug","kind","multiple","position","created_at","updated_at"]},"catalog_field_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the catalog_field"},"type":{"type":"string","enum":["catalog_fields"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/catalog_field"}]}},"required":["id","type","attributes"]}},"required":["data"]},"catalog_field_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the catalog_field"},"type":{"type":"string","enum":["catalog_fields"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/catalog_field"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_catalog_entity":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["catalog_entities"]},"attributes":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string","nullable":true},"position":{"type":"integer","description":"Default position of the item when displayed in a list.","nullable":true}},"additionalProperties":false,"required":["name"]}},"required":["type","attributes"]}},"required":["data"]},"update_catalog_entity":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["catalog_entities"]},"attributes":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string","nullable":true},"position":{"type":"integer","description":"Default position of the item when displayed in a list.","nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"catalog_entity":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string","nullable":true},"position":{"type":"integer","description":"Default position of the item when displayed in a list.","nullable":true},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["name","position","created_at","updated_at"]},"catalog_entity_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the catalog_entity"},"type":{"type":"string","enum":["catalog_entities"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/catalog_entity"}]}},"required":["id","type","attributes"]}},"required":["data"]},"catalog_entity_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the catalog_entity"},"type":{"type":"string","enum":["catalog_entities"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/catalog_entity"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_catalog_entity_property":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["catalog_entity_properties"]},"attributes":{"type":"object","properties":{"catalog_entity_id":{"type":"string"},"catalog_field_id":{"type":"string"},"key":{"type":"string","enum":["text","catalog_entity"]},"value":{"type":"string"}},"additionalProperties":false,"required":["catalog_field_id","key","value"]}},"required":["type","attributes"]}},"required":["data"]},"update_catalog_entity_property":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["catalog_entity_properties"]},"attributes":{"type":"object","properties":{"key":{"type":"string","enum":["text","catalog_entity"]},"value":{"type":"string"}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"catalog_entity_property":{"type":"object","properties":{"catalog_entity_id":{"type":"string"},"catalog_field_id":{"type":"string"},"key":{"type":"string","enum":["text","catalog_entity"]},"value":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["catalog_entity_id","catalog_field_id","key","value","created_at","updated_at"]},"catalog_entity_property_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the catalog_entity_property"},"type":{"type":"string","enum":["catalog_entity_properties"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/catalog_entity_property"}]}},"required":["id","type","attributes"]}},"required":["data"]},"catalog_entity_property_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the catalog_entity_property"},"type":{"type":"string","enum":["catalog_entity_properties"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/catalog_entity_property"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_cause":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["causes"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the cause"},"description":{"type":"string","description":"The description of the cause","nullable":true},"position":{"type":"integer","description":"Position of the cause","nullable":true}},"additionalProperties":false,"required":["name"]}},"required":["type","attributes"]}},"required":["data"]},"update_cause":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["causes"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the cause"},"description":{"type":"string","description":"The description of the cause","nullable":true},"position":{"type":"integer","description":"Position of the cause","nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"cause":{"type":"object","properties":{"name":{"type":"string","description":"The name of the cause"},"slug":{"type":"string","description":"The slug of the cause"},"description":{"type":"string","description":"The description of the cause","nullable":true},"position":{"type":"integer","description":"Position of the cause","nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["name","created_at","updated_at"]},"cause_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the cause"},"type":{"type":"string","enum":["causes"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/cause"}]}},"required":["id","type","attributes"]}},"required":["data"]},"cause_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the cause"},"type":{"type":"string","enum":["causes"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/cause"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_custom_field_option":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["custom_field_options"]},"attributes":{"type":"object","properties":{"value":{"type":"string","description":"The value of the custom_field_option"},"color":{"type":"string","description":"The hex color of the custom_field_option"},"default":{"type":"boolean"},"position":{"type":"integer","description":"The position of the custom_field_option"}},"additionalProperties":false,"required":["value"]}},"required":["type","attributes"]}},"required":["data"]},"update_custom_field_option":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["custom_field_options"]},"attributes":{"type":"object","properties":{"value":{"type":"string","description":"The value of the custom_field_option"},"color":{"type":"string","description":"The hex color of the custom_field_option"},"default":{"type":"boolean"},"position":{"type":"integer","description":"The position of the custom_field_option"}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"custom_field_option":{"type":"object","properties":{"custom_field_id":{"type":"integer","description":"The ID of the parent custom field"},"value":{"type":"string","description":"The value of the custom_field_option"},"color":{"type":"string","description":"The hex color of the custom_field_option"},"default":{"type":"boolean"},"position":{"type":"integer","description":"The position of the custom_field_option"},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["value","color","position","created_at","updated_at"]},"custom_field_option_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the custom_field_option"},"type":{"type":"string","enum":["custom_field_options"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/custom_field_option"}]}},"required":["id","type","attributes"]}},"required":["data"]},"custom_field_option_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the custom_field_option"},"type":{"type":"string","enum":["custom_field_options"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/custom_field_option"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_custom_field":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["custom_fields"]},"attributes":{"type":"object","properties":{"label":{"type":"string","description":"The name of the custom_field"},"description":{"type":"string","description":"The description of the custom_field","nullable":true},"shown":{"type":"array","items":{"type":"string","description":"Where the custom_field is shown","enum":["incident_form","incident_mitigation_form","incident_resolution_form","incident_post_mortem_form","incident_slack_form","incident_mitigation_slack_form","incident_resolution_slack_form","incident_post_mortem"]}},"required":{"type":"array","items":{"type":"string","description":"Where the custom_field is required","enum":["incident_form","incident_mitigation_form","incident_resolution_form","incident_post_mortem_form","incident_slack_form","incident_mitigation_slack_form","incident_resolution_slack_form"]},"nullable":true},"default":{"type":"string","description":"The default value for text field kinds","nullable":true},"position":{"type":"integer","description":"The position of the custom_field"}},"additionalProperties":false,"required":["label"]}},"required":["type","attributes"]}},"required":["data"]},"update_custom_field":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["custom_fields"]},"attributes":{"type":"object","properties":{"label":{"type":"string","description":"The name of the custom_field"},"slug":{"type":"string","description":"The slug of the custom_field"},"description":{"type":"string","description":"The description of the custom_field","nullable":true},"shown":{"type":"array","items":{"type":"string","description":"Where the custom_field is shown","enum":["incident_form","incident_mitigation_form","incident_resolution_form","incident_post_mortem_form","incident_slack_form","incident_mitigation_slack_form","incident_resolution_slack_form","incident_post_mortem"]}},"required":{"type":"array","items":{"type":"string","description":"Where the custom_field is required","enum":["incident_form","incident_mitigation_form","incident_resolution_form","incident_post_mortem_form","incident_slack_form","incident_mitigation_slack_form","incident_resolution_slack_form"]},"nullable":true},"default":{"type":"string","description":"The default value for text field kinds","nullable":true},"position":{"type":"integer","description":"The position of the custom_field"}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"custom_field":{"type":"object","properties":{"label":{"type":"string","description":"The name of the custom_field"},"kind":{"type":"string","description":"The kind of the custom_field"},"enabled":{"type":"boolean","description":"Whether the custom_field is enabled"},"slug":{"type":"string","description":"The slug of the custom_field"},"description":{"type":"string","description":"The description of the custom_field","nullable":true},"shown":{"type":"array","items":{"type":"string","description":"Where the custom_field is shown","enum":["incident_form","incident_mitigation_form","incident_resolution_form","incident_post_mortem_form","incident_slack_form","incident_mitigation_slack_form","incident_resolution_slack_form","incident_post_mortem"]}},"required":{"type":"array","items":{"type":"string","description":"Where the custom_field is required","enum":["incident_form","incident_mitigation_form","incident_resolution_form","incident_post_mortem_form","incident_slack_form","incident_mitigation_slack_form","incident_resolution_slack_form"]},"nullable":true},"default":{"type":"string","description":"The default value for text field kinds","nullable":true},"position":{"type":"integer","description":"The position of the custom_field"},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["label","slug","shown","required","position","created_at","updated_at"]},"custom_field_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the custom_field"},"type":{"type":"string","enum":["custom_fields"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/custom_field"}]}},"required":["id","type","attributes"]}},"required":["data"]},"custom_field_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the custom_field"},"type":{"type":"string","enum":["custom_fields"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/custom_field"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_custom_form":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["custom_forms"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom form."},"slug":{"type":"string","description":"The custom form slug. Add this to form_field.shown or form_field.required to associate form fields with custom forms."},"description":{"type":"string","nullable":true},"enabled":{"type":"boolean"},"command":{"type":"string","description":"The Slack command used to trigger this form."}},"additionalProperties":false,"required":["name","command"]}},"required":["type","attributes"]}},"required":["data"]},"update_custom_form":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["custom_forms"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom form."},"slug":{"type":"string","description":"The custom form slug. Add this to form_field.shown or form_field.required to associate form fields with custom forms."},"description":{"type":"string","nullable":true},"enabled":{"type":"boolean"},"command":{"type":"string","description":"The Slack command used to trigger this form."}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"custom_form":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom form."},"slug":{"type":"string","description":"The custom form slug. Add this to form_field.shown or form_field.required to associate form fields with custom forms."},"description":{"type":"string","nullable":true},"enabled":{"type":"boolean"},"command":{"type":"string","description":"The Slack command used to trigger this form."},"created_at":{"type":"string","description":"Date of creation."},"updated_at":{"type":"string","description":"Date of last update."}},"required":["name","slug","command","enabled","created_at","updated_at"]},"custom_form_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique id of the custom form."},"type":{"type":"string","enum":["custom_forms"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/custom_form"}]}},"required":["id","type","attributes"]}},"required":["data"]},"custom_form_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique id of the custom form."},"type":{"type":"string","enum":["custom_forms"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/custom_form"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_dashboard_panel":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["dashboard_panels"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the dashboard_panel","nullable":true},"params":{"type":"object","properties":{"display":{"type":"string","enum":["line_chart","line_stepped_chart","column_chart","stacked_column_chart","monitoring_chart","pie_chart","table","aggregate_value"]},"description":{"type":"string"},"table_fields":{"type":"array","items":{"type":"string"}},"legend":{"type":"object","properties":{"groups":{"type":"string","enum":["all","charted"],"default":"all"}}},"datalabels":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"datasets":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","nullable":true},"collection":{"type":"string","enum":["alerts","incidents","incident_post_mortems","incident_action_items","users"]},"filter":{"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","enum":["and","or"]},"rules":{"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","enum":["and","or"]},"condition":{"type":"string","enum":["=","!=",">=","<=","exists","not_exists","contains","not_contains"]},"key":{"type":"string"},"value":{"type":"string"}}}}}}},"group_by":{"type":"string","nullable":true},"aggregate":{"type":"object","properties":{"operation":{"type":"string","enum":["count","sum","average"]},"key":{"type":"string","nullable":true},"cumulative":{"type":"boolean","nullable":true}},"nullable":true}}}}}},"position":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"},"w":{"type":"number"},"h":{"type":"number"}},"required":["x","y","w","h"],"nullable":true}},"additionalProperties":false,"required":["params"]}},"required":["type","attributes"]}},"required":["data"]},"update_dashboard_panel":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["dashboard_panels"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the dashboard_panel","nullable":true},"params":{"type":"object","properties":{"display":{"type":"string","enum":["line_chart","line_stepped_chart","column_chart","stacked_column_chart","monitoring_chart","pie_chart","table","aggregate_value"]},"description":{"type":"string"},"table_fields":{"type":"array","items":{"type":"string"}},"legend":{"type":"object","properties":{"groups":{"type":"string","enum":["all","charted"],"default":"all"}}},"datalabels":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"datasets":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","nullable":true},"collection":{"type":"string","enum":["alerts","incidents","incident_post_mortems","incident_action_items","users"]},"filter":{"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","enum":["and","or"]},"rules":{"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","enum":["and","or"]},"condition":{"type":"string","enum":["=","!=",">=","<=","exists","not_exists","contains","not_contains"]},"key":{"type":"string"},"value":{"type":"string"}}}}}}},"group_by":{"type":"string","nullable":true},"aggregate":{"type":"object","properties":{"operation":{"type":"string","enum":["count","sum","average"]},"key":{"type":"string","nullable":true},"cumulative":{"type":"boolean","nullable":true}},"nullable":true}}}}}},"position":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"},"w":{"type":"number"},"h":{"type":"number"}},"required":["x","y","w","h"],"nullable":true}},"additionalProperties":false}}}},"required":["data"]},"dashboard_panel":{"type":"object","properties":{"dashboard_id":{"type":"string","description":"The panel dashboard"},"name":{"type":"string","description":"The name of the dashboard_panel","nullable":true},"params":{"type":"object","properties":{"display":{"type":"string","enum":["line_chart","line_stepped_chart","column_chart","stacked_column_chart","monitoring_chart","pie_chart","table","aggregate_value"]},"description":{"type":"string"},"table_fields":{"type":"array","items":{"type":"string"}},"legend":{"type":"object","properties":{"groups":{"type":"string","enum":["all","charted"],"default":"all"}}},"datalabels":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"datasets":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","nullable":true},"collection":{"type":"string","enum":["alerts","incidents","incident_post_mortems","incident_action_items","users"]},"filter":{"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","enum":["and","or"]},"rules":{"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","enum":["and","or"]},"condition":{"type":"string","enum":["=","!=",">=","<=","exists","not_exists","contains","not_contains"]},"key":{"type":"string"},"value":{"type":"string"}}}}}}},"group_by":{"type":"string","nullable":true},"aggregate":{"type":"object","properties":{"operation":{"type":"string","enum":["count","sum","average"]},"key":{"type":"string","nullable":true},"cumulative":{"type":"boolean","nullable":true}},"nullable":true}}}}}},"position":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"},"w":{"type":"number"},"h":{"type":"number"}},"required":["x","y","w","h"],"nullable":true},"data":{"type":"array","items":{"type":"object"}}},"required":["params"]},"dashboard_panel_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the dashboard_panel"},"type":{"type":"string","enum":["dashboard_panels"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/dashboard_panel"}]}},"required":["id","type","attributes"]}},"required":["data"]},"dashboard_panel_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the dashboard_panel"},"type":{"type":"string","enum":["dashboard_panels"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/dashboard_panel"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_dashboard":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["dashboards"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the dashboard"},"description":{"type":"string","description":"The description of the dashboard","nullable":true},"owner":{"type":"string","description":"The owner type of the dashboard","enum":["user","team"]},"public":{"type":"boolean","description":"Whether the dashboard is public"},"range":{"type":"string","description":"The date range for dashboard panel data","nullable":true},"auto_refresh":{"type":"boolean","description":"Whether the dashboard auto-updates the UI with new data."},"color":{"type":"string","description":"The hex color of the dashboard","enum":["#FCF2CF","#D7F5E1","#E9E2FF","#FAE6E8","#FAEEE6"],"nullable":true},"icon":{"type":"string","description":"The emoji icon of the dashboard"},"period":{"type":"string","description":"The grouping period for dashboard panel data","enum":["day","week","month"],"nullable":true}},"additionalProperties":false,"required":["name","owner"]}},"required":["type","attributes"]}},"required":["data"]},"update_dashboard":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["dashboards"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the dashboard"},"description":{"type":"string","description":"The description of the dashboard","nullable":true},"owner":{"type":"string","description":"The owner type of the dashboard","enum":["user","team"]},"public":{"type":"boolean","description":"Whether the dashboard is public"},"range":{"type":"string","description":"The date range for dashboard panel data","nullable":true},"auto_refresh":{"type":"boolean","description":"Whether the dashboard auto-updates the UI with new data."},"color":{"type":"string","description":"The hex color of the dashboard","enum":["#FCF2CF","#D7F5E1","#E9E2FF","#FAE6E8","#FAEEE6"],"nullable":true},"icon":{"type":"string","description":"The emoji icon of the dashboard"},"period":{"type":"string","description":"The grouping period for dashboard panel data","enum":["day","week","month"],"nullable":true}},"additionalProperties":false}}}},"required":["data"]},"dashboard":{"type":"object","properties":{"team_id":{"type":"integer","description":"The dashboard team"},"user_id":{"type":"integer","description":"The dashboard user owner if owner is of type user","nullable":true},"name":{"type":"string","description":"The name of the dashboard"},"description":{"type":"string","description":"The description of the dashboard","nullable":true},"owner":{"type":"string","description":"The owner type of the dashboard","enum":["user","team"]},"public":{"type":"boolean","description":"Whether the dashboard is public"},"range":{"type":"string","description":"The date range for dashboard panel data","nullable":true},"period":{"type":"string","description":"The grouping period for dashboard panel data","nullable":true},"auto_refresh":{"type":"boolean","description":"Whether the dashboard auto-updates the UI with new data."},"color":{"type":"string","description":"The hex color of the dashboard","enum":["#FCF2CF","#D7F5E1","#E9E2FF","#FAE6E8","#FAEEE6"],"nullable":true},"icon":{"type":"string","description":"The emoji icon of the dashboard"},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["name","owner","public"]},"dashboard_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the dashboard"},"type":{"type":"string","enum":["dashboards"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/dashboard"}]}},"required":["id","type","attributes"]}},"required":["data"]},"dashboard_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the dashboard"},"type":{"type":"string","enum":["dashboards"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/dashboard"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_environment":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["environments"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the environment"},"description":{"type":"string","description":"The description of the environment","nullable":true},"color":{"type":"string","description":"The hex color of the environment","nullable":true},"position":{"type":"integer","description":"Position of the environment","nullable":true},"notify_emails":{"type":"array","description":"Emails to attach to the environment","items":{"type":"string"},"nullable":true},"slack_channels":{"type":"array","description":"Slack Channels associated with this environment","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack channel ID"},"name":{"type":"string","description":"Slack channel name"}},"required":["id","name"]},"nullable":true},"slack_aliases":{"type":"array","description":"Slack Aliases associated with this environment","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack alias ID"},"name":{"type":"string","description":"Slack alias name"}},"required":["id","name"]},"nullable":true}},"additionalProperties":false,"required":["name"]}},"required":["type","attributes"]}},"required":["data"]},"update_environment":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["environments"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the environment"},"description":{"type":"string","description":"The description of the environment","nullable":true},"color":{"type":"string","description":"The hex color of the environment","nullable":true},"position":{"type":"integer","description":"Position of the environment","nullable":true},"notify_emails":{"type":"array","description":"Emails to attach to the environment","items":{"type":"string"},"nullable":true},"slack_channels":{"type":"array","description":"Slack Channels associated with this environment","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack channel ID"},"name":{"type":"string","description":"Slack channel name"}},"required":["id","name"]},"nullable":true},"slack_aliases":{"type":"array","description":"Slack Aliases associated with this environment","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack alias ID"},"name":{"type":"string","description":"Slack alias name"}},"required":["id","name"]},"nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"environment":{"type":"object","properties":{"name":{"type":"string","description":"The name of the environment"},"slug":{"type":"string","description":"The slug of the environment"},"description":{"type":"string","description":"The description of the environment","nullable":true},"notify_emails":{"type":"array","description":"Emails attached to the environment","items":{"type":"string"},"nullable":true},"color":{"type":"string","description":"The hex color of the environment","nullable":true},"position":{"type":"integer","description":"Position of the environment","nullable":true},"slack_channels":{"type":"array","description":"Slack Channels associated with this environment","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack channel ID"},"name":{"type":"string","description":"Slack channel name"}},"required":["id","name"]},"nullable":true},"slack_aliases":{"type":"array","description":"Slack Aliases associated with this environment","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack alias ID"},"name":{"type":"string","description":"Slack alias name"}},"required":["id","name"]},"nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["name","created_at","updated_at"]},"environment_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the environment"},"type":{"type":"string","enum":["environments"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/environment"}]}},"required":["id","type","attributes"]}},"required":["data"]},"environment_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the environment"},"type":{"type":"string","enum":["environments"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/environment"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"errors_list":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"status":{"type":"string"},"code":{"type":"string","nullable":true},"detail":{"type":"string","nullable":true}},"required":["title","status"]}}}},"new_escalation_policy":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["escalation_policies"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the escalation policy"},"description":{"type":"string","description":"The description of the escalation policy","nullable":true},"repeat_count":{"type":"integer","description":"The number of times this policy will be executed until someone acknowledges the alert"},"group_ids":{"type":"array","items":{"type":"string"},"description":"Associated groups (alerting the group will trigger escalation policy)"},"service_ids":{"type":"array","items":{"type":"string"},"description":"Associated services (alerting the service will trigger escalation policy)"},"business_hours":{"type":"object","properties":{"time_zone":{"type":"string","description":"Time zone for business hours","nullable":true},"days":{"type":"array","items":{"type":"string","enum":["M","T","W","R","F","U","S"]},"description":"Business days","nullable":true},"start_time":{"type":"string","description":"Start time for business hours (HH:MM)","nullable":true},"end_time":{"type":"string","description":"End time for business hours (HH:MM)","nullable":true}},"nullable":true}},"additionalProperties":false,"required":["name"]}},"required":["type","attributes"]}},"required":["data"]},"update_escalation_policy":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["escalation_policies"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the escalation policy"},"description":{"type":"string","description":"The description of the escalation policy","nullable":true},"repeat_count":{"type":"integer","description":"The number of times this policy will be executed until someone acknowledges the alert"},"group_ids":{"type":"array","items":{"type":"string"},"description":"Associated groups (alerting the group will trigger escalation policy)"},"service_ids":{"type":"array","items":{"type":"string"},"description":"Associated services (alerting the service will trigger escalation policy)"},"business_hours":{"type":"object","properties":{"time_zone":{"type":"string","description":"Time zone for business hours","nullable":true},"days":{"type":"array","items":{"type":"string","enum":["M","T","W","R","F","U","S"]},"description":"Business days","nullable":true},"start_time":{"type":"string","description":"Start time for business hours (HH:MM)","nullable":true},"end_time":{"type":"string","description":"End time for business hours (HH:MM)","nullable":true}},"nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"escalation_policy":{"type":"object","properties":{"name":{"type":"string","description":"The name of the escalation policy"},"description":{"type":"string","description":"The description of the escalation policy","nullable":true},"repeat_count":{"type":"integer","description":"The number of times this policy will be executed until someone acknowledges the alert"},"created_by_user_id":{"type":"integer","description":"User who created the escalation policy"},"last_updated_by_user_id":{"type":"integer","description":"User who updated the escalation policy"},"group_ids":{"type":"array","items":{"type":"string"},"description":"Associated groups (alerting the group will trigger escalation policy)"},"service_ids":{"type":"array","items":{"type":"string"},"description":"Associated services (alerting the service will trigger escalation policy)"},"business_hours":{"type":"object","properties":{"time_zone":{"type":"string","description":"Time zone for business hours","nullable":true},"days":{"type":"array","items":{"type":"string","enum":["M","T","W","R","F","U","S"]},"description":"Business days","nullable":true},"start_time":{"type":"string","description":"Start time for business hours (HH:MM)","nullable":true},"end_time":{"type":"string","description":"End time for business hours (HH:MM)","nullable":true}},"nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["name","repeat_count","created_by_user_id"]},"escalation_policy_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the escalation policy"},"type":{"type":"string","enum":["escalation_policies"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/escalation_policy"}]}},"required":["id","type","attributes"]}},"required":["data"]},"escalation_policy_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the escalation policy"},"type":{"type":"string","enum":["escalation_policies"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/escalation_policy"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_escalation_policy_path":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["escalation_paths"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the escalation path"},"notification_type":{"type":"string","description":"Notification rule type to be used","enum":["audible","quiet"],"default":"audible"},"default":{"type":"boolean","description":"Whether this escalation path is the default path","nullable":true},"match_mode":{"type":"string","description":"How path rules are matched.","enum":["match-all-rules","match-any-rule"],"default":"match-all-rules"},"position":{"type":"integer","description":"The position of this path in the paths for this EP."},"repeat":{"type":"boolean","description":"Whether this path should be repeated until someone acknowledges the alert","nullable":true},"repeat_count":{"type":"integer","description":"The number of times this path will be executed until someone acknowledges the alert","nullable":true},"rules":{"type":"array","description":"Escalation path conditions","items":{"type":"object","anyOf":[{"properties":{"rule_type":{"type":"string","description":"The type of the escalation path rule","enum":["alert_urgency"]},"urgency_ids":{"type":"array","description":"Alert urgency ids for which this escalation path should be used"}},"required":["rule_type","urgency_ids"]},{"properties":{"rule_type":{"type":"string","description":"The type of the escalation path rule","enum":["working_hour"]},"within_working_hour":{"type":"boolean","description":"Whether the escalation path should be used within working hours"}},"required":["rule_type","within_working_hour"]},{"properties":{"rule_type":{"type":"string","description":"The type of the escalation path rule","enum":["json_path"]},"json_path":{"type":"string","description":"JSON path to extract value from payload"},"operator":{"type":"string","description":"How JSON path value should be matched","enum":["is","is_not","contains","does_not_contain"]},"value":{"type":"string","description":"Value with which JSON path value should be matched"}},"required":["rule_type","json_path","operator","value"]}]}}},"required":["name"],"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"update_escalation_policy_path":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["escalation_paths"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the escalation path"},"notification_type":{"type":"string","description":"Position of the escalation policy level","enum":["audible","quiet"],"default":"audible"},"default":{"type":"boolean","description":"Whether this escalation path is the default path","nullable":true},"match_mode":{"type":"string","description":"How path rules are matched.","enum":["match-all-rules","match-any-rule"],"default":"match-all-rules"},"position":{"type":"integer","description":"The position of this path in the paths for this EP."},"repeat":{"type":"boolean","description":"Whether this path should be repeated until someone acknowledges the alert","nullable":true},"repeat_count":{"type":"integer","description":"The number of times this path will be executed until someone acknowledges the alert","nullable":true},"rules":{"type":"array","description":"Escalation path conditions","items":{"type":"object","anyOf":[{"properties":{"rule_type":{"type":"string","description":"The type of the escalation path rule","enum":["alert_urgency"]},"urgency_ids":{"type":"array","description":"Alert urgency ids for which this escalation path should be used"}},"required":["rule_type","urgency_ids"]},{"properties":{"rule_type":{"type":"string","description":"The type of the escalation path rule","enum":["working_hour"]},"within_working_hour":{"type":"boolean","description":"Whether the escalation path should be used within working hours"}},"required":["rule_type","within_working_hour"]},{"properties":{"rule_type":{"type":"string","description":"The type of the escalation path rule","enum":["json_path"]},"json_path":{"type":"string","description":"JSON path to extract value from payload"},"operator":{"type":"string","description":"How JSON path value should be matched","enum":["is","is_not","contains","does_not_contain"]},"value":{"type":"string","description":"Value with which JSON path value should be matched"}},"required":["rule_type","json_path","operator","value"]}],"nullable":true}}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"escalation_policy_path":{"type":"object","properties":{"name":{"type":"string","description":"The name of the escalation path"},"default":{"type":"boolean","description":"Whether this escalation path is the default path"},"notification_type":{"type":"string","description":"Notification rule type"},"escalation_policy_id":{"type":"string","description":"The ID of the escalation policy"},"match_mode":{"type":"string","description":"How path rules are matched.","enum":["match-all-rules","match-any-rule"]},"position":{"type":"integer","description":"The position of this path in the paths for this EP."},"repeat":{"type":"boolean","description":"Whether this path should be repeated until someone acknowledges the alert","nullable":true},"repeat_count":{"type":"integer","description":"The number of times this path will be executed until someone acknowledges the alert","nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"},"rules":{"type":"array","description":"Escalation path rules","items":{"type":"object","anyOf":[{"properties":{"rule_type":{"type":"string","description":"The type of the escalation path rule","enum":["alert_urgency"]},"urgency_ids":{"type":"array","description":"Alert urgency ids for which this escalation path should be used","items":{"type":"string"}}},"required":["rule_type","urgency_ids"]},{"properties":{"rule_type":{"type":"string","description":"The type of the escalation path rule","enum":["working_hour"]},"within_working_hour":{"type":"boolean","description":"Whether the escalation path should be used within working hours"}},"required":["rule_type","within_working_hour"]},{"properties":{"rule_type":{"type":"string","description":"The type of the escalation path rule","enum":["json_path"]},"json_path":{"type":"string","description":"JSON path to extract value from payload"},"operator":{"type":"string","description":"How JSON path value should be matched","enum":["is","is_not","contains","does_not_contain"]},"value":{"type":"string","description":"Value with which JSON path value should be matched"}},"required":["rule_type","json_path","operator","value"]}],"nullable":true}}},"required":["name","default","notification_type","escalation_policy_id","repeat","repeat_count"]},"escalation_policy_path_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the escalation policy path"},"type":{"type":"string","enum":["escalation_paths"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/escalation_policy_path"}]}},"required":["id","attributes"]}},"required":["data"]},"escalation_policy_path_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the escalation policy path"},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/escalation_policy_path"}]}},"required":["id","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_escalation_policy_level":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["escalation_levels"]},"attributes":{"type":"object","properties":{"delay":{"type":"integer","description":"Delay before notification targets will be alerted."},"position":{"type":"integer","description":"Position of the escalation policy level"},"paging_strategy_configuration_strategy":{"type":"string","enum":["default","random","cycle","alert"],"nullable":true},"paging_strategy_configuration_schedule_strategy":{"type":"string","enum":["on_call_only","everyone"],"nullable":true},"escalation_policy_path_id":{"type":"string","description":"The ID of the dynamic escalation policy path the level will belong to. If nothing is specified it will add the level to your default path.","nullable":true},"notification_target_params":{"type":"array","description":"Escalation level's notification targets","items":{"type":"object","properties":{"id":{"type":"string","description":"The ID of notification target. If Slack channel, then id of the slack channel (eg. C06Q2JK7RQW)"},"type":{"type":"string","description":"The type of the notification target","enum":["team","user","schedule","slack_channel"]},"team_members":{"type":"string","enum":["all","admins"],"nullable":true,"description":"For targets with type=team, controls whether to notify admins or all team members."}},"required":["id","type"],"nullable":true}}},"required":["position","notification_target_params"],"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"update_escalation_policy_level":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["escalation_levels"]},"attributes":{"type":"object","properties":{"delay":{"type":"integer","description":"Delay before notification targets will be alerted."},"position":{"type":"integer","description":"Position of the escalation policy level"},"escalation_policy_path_id":{"type":"string","description":"The ID of the dynamic escalation policy path the level will belong to. If nothing is specified it will add the level to your default path.","nullable":true},"paging_strategy_configuration_strategy":{"type":"string","enum":["default","random","cycle","alert"],"nullable":true},"paging_strategy_configuration_schedule_strategy":{"type":"string","enum":["on_call_only","everyone"],"nullable":true},"notification_target_params":{"type":"array","description":"Escalation level's notification targets","items":{"type":"object","properties":{"id":{"type":"string","description":"The ID of notification target"},"type":{"type":"string","description":"The type of the notification target","enum":["team","user","schedule","slack_channel"]},"team_members":{"type":"string","enum":["all","admins"],"nullable":true,"description":"For targets with type=team, controls whether to notify admins or all team members."}},"required":["id","type"],"nullable":true}}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"escalation_policy_level":{"type":"object","properties":{"escalation_policy_id":{"type":"string","description":"The ID of the escalation policy"},"escalation_policy_path_id":{"type":"string","description":"The ID of the dynamic escalation policy path the level will belong to. If nothing is specified it will add the level to your default path.","nullable":true},"paging_strategy_configuration_strategy":{"type":"string","enum":["default","random","cycle","alert"],"nullable":true},"paging_strategy_configuration_schedule_strategy":{"type":"string","enum":["on_call_only","everyone"],"nullable":true},"delay":{"type":"integer","description":"Delay before notification targets will be alerted."},"position":{"type":"integer","description":"Position of the escalation policy level"},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"},"notification_target_params":{"type":"array","description":"Escalation level's notification targets","items":{"type":"object","properties":{"id":{"type":"string","description":"The ID of notification target"},"type":{"type":"string","description":"The type of the notification target","enum":["team","user","schedule","slack_channel"]},"team_members":{"type":"string","enum":["all","admins"],"nullable":true,"description":"For targets with type=team, controls whether to notify admins or all team members."}},"required":["id","type"],"nullable":true}}},"required":["escalation_policy_id","position","delay","notification_target_params"]},"escalation_policy_level_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the escalation policy level"},"type":{"type":"string","enum":["escalation_levels"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/escalation_policy_level"}]}},"required":["id","attributes"]}},"required":["data"]},"escalation_policy_level_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the escalation policy level"},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/escalation_policy_level"}]}},"required":["id","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_form_field_option":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["form_field_options"]},"attributes":{"type":"object","properties":{"form_field_id":{"type":"string","description":"The ID of the form field"},"value":{"type":"string","description":"The value of the form_field_option"},"color":{"type":"string","description":"The hex color of the form_field_option"},"default":{"type":"boolean"},"position":{"type":"integer","description":"The position of the form_field_option"}},"additionalProperties":false,"required":["form_field_id","value"]}},"required":["type","attributes"]}},"required":["data"]},"update_form_field_option":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["form_field_options"]},"attributes":{"type":"object","properties":{"value":{"type":"string","description":"The value of the form_field_option"},"color":{"type":"string","description":"The hex color of the form_field_option"},"default":{"type":"boolean"},"position":{"type":"integer","description":"The position of the form_field_option"}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"form_field_option":{"type":"object","properties":{"form_field_id":{"type":"string","description":"The ID of the parent custom field"},"value":{"type":"string","description":"The value of the form_field_option"},"color":{"type":"string","description":"The hex color of the form_field_option"},"default":{"type":"boolean"},"position":{"type":"integer","description":"The position of the form_field_option"},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["value","color","position","created_at","updated_at"]},"form_field_option_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the form_field_option"},"type":{"type":"string","enum":["form_field_options"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/form_field_option"}]}},"required":["id","type","attributes"]}},"required":["data"]},"form_field_option_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the form_field_option"},"type":{"type":"string","enum":["form_field_options"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/form_field_option"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_form_field_placement_condition":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["form_field_placement_conditions"]},"attributes":{"type":"object","properties":{"conditioned":{"type":"string","description":"The resource or attribute the condition applies.","enum":["placement","required"]},"position":{"type":"integer","description":"The condition position."},"form_field_id":{"type":"string","description":"The condition field."},"comparison":{"type":"string","description":"The condition comparison.","enum":["equal","is_set","is_not_set"]},"values":{"type":"array","description":"The values for comparison.","items":{"type":"string","description":"The value for comparison."}}},"required":["conditioned","form_field_id","comparison","values"]}},"required":["type","attributes"]}},"required":["data"]},"update_form_field_placement_condition":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["form_field_placement_conditions"]},"attributes":{"type":"object","properties":{"conditioned":{"type":"string","description":"The resource or attribute the condition applies.","enum":["placement","required"]},"position":{"type":"integer","description":"The condition position."},"form_field_id":{"type":"string","description":"The condition field."},"comparison":{"type":"string","description":"The condition comparison.","enum":["equal","is_set","is_not_set"]},"values":{"type":"array","description":"The values for comparison.","items":{"type":"string","description":"The value for comparison."}}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"form_field_placement_condition":{"type":"object","properties":{"form_field_placement_id":{"type":"string","description":"The form field placement this condition applies."},"conditioned":{"type":"string","description":"The resource or attribute the condition applies.","enum":["placement","required"]},"position":{"type":"integer","description":"The condition position."},"form_field_id":{"type":"string","description":"The condition field."},"comparison":{"type":"string","description":"The condition comparison.","enum":["equal","is_set","is_not_set"]},"values":{"type":"array","description":"The values for comparison.","items":{"type":"string","description":"The value for comparison."}}},"required":["form_field_placement_id","conditioned","position","form_field_id","comparison","values"]},"form_field_placement_condition_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the form set condition"},"type":{"type":"string","enum":["form_field_placement_conditions"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/form_field_placement_condition"}]}},"required":["id","type","attributes"]}},"required":["data"]},"form_field_placement_condition_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the form set condition"},"type":{"type":"string","enum":["form_field_placement_conditions"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/form_field_placement_condition"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_form_field_placement":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["form_field_placements"]},"attributes":{"type":"object","properties":{"form_set_id":{"type":"string","description":"The form set this field is placed in."},"form":{"type":"string","description":"The form this field is placed on."},"position":{"type":"integer","description":"The position of the field placement."},"required":{"type":"boolean","description":"Whether the field is unconditionally required on this form."},"required_operator":{"type":"string","description":"Logical operator when evaluating multiple form_field_placement_conditions with conditioned=required","enum":["and","or"]},"placement_operator":{"type":"string","description":"Logical operator when evaluating multiple form_field_placement_conditions with conditioned=placement","enum":["and","or"]}},"required":["form_set_id","form"]}},"required":["type","attributes"]}},"required":["data"]},"update_form_field_placement":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["form_field_placements"]},"attributes":{"type":"object","properties":{"form_set_id":{"type":"string","description":"The form set this field is placed in."},"form":{"type":"string","description":"The form this field is placed on."},"position":{"type":"integer","description":"The position of the field placement."},"required":{"type":"boolean","description":"Whether the field is unconditionally required on this form."},"required_operator":{"type":"string","description":"Logical operator when evaluating multiple form_field_placement_conditions with conditioned=required","enum":["and","or"]},"placement_operator":{"type":"string","description":"Logical operator when evaluating multiple form_field_placement_conditions with conditioned=placement","enum":["and","or"]}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"form_field_placement":{"type":"object","properties":{"form_field_id":{"type":"string","description":"The form field that is placed."},"form_set_id":{"type":"string","description":"The form set this field is placed in."},"form":{"type":"string","description":"The form this field is placed on."},"position":{"type":"integer","description":"The position of the field placement."},"required":{"type":"boolean","description":"Whether the field is unconditionally required on this form."},"required_operator":{"type":"string","description":"Logical operator when evaluating multiple form_field_placement_conditions with conditioned=required","enum":["and","or"]},"placement_operator":{"type":"string","description":"Logical operator when evaluating multiple form_field_placement_conditions with conditioned=placement","enum":["and","or"]}},"required":["form_field_id","form_set_id","form","position","required"]},"form_field_placement_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the form field placement"},"type":{"type":"string","enum":["form_field_placements"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/form_field_placement"}]}},"required":["id","type","attributes"]}},"required":["data"]},"form_field_placement_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the form field placement"},"type":{"type":"string","enum":["form_field_placements"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/form_field_placement"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_form_field_position":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["form_field_positions"]},"attributes":{"type":"object","properties":{"form_field_id":{"type":"string","description":"The ID of the form field."},"form":{"type":"string","description":"The form for the position","enum":["web_new_incident_form","web_update_incident_form","web_incident_post_mortem_form","web_incident_mitigation_form","web_incident_resolution_form","web_incident_cancellation_form","web_scheduled_incident_form","web_update_scheduled_incident_form","incident_post_mortem","slack_new_incident_form","slack_update_incident_form","slack_update_incident_status_form","slack_incident_mitigation_form","slack_incident_resolution_form","slack_incident_cancellation_form","slack_scheduled_incident_form","slack_update_scheduled_incident_form"]},"position":{"type":"integer","description":"The position of the form_field_position"}},"additionalProperties":false,"required":["form_field_id","position","form"]}},"required":["type","attributes"]}},"required":["data"]},"update_form_field_position":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["form_field_positions"]},"attributes":{"type":"object","properties":{"form_field_id":{"type":"string","description":"The ID of the form field."},"form":{"type":"string","description":"The form for the position","enum":["web_new_incident_form","web_update_incident_form","web_incident_post_mortem_form","web_incident_mitigation_form","web_incident_resolution_form","web_incident_cancellation_form","web_scheduled_incident_form","web_update_scheduled_incident_form","incident_post_mortem","slack_new_incident_form","slack_update_incident_form","slack_update_incident_status_form","slack_incident_mitigation_form","slack_incident_resolution_form","slack_incident_cancellation_form","slack_scheduled_incident_form","slack_update_scheduled_incident_form"]},"position":{"type":"integer","description":"The position of the form_field_position"}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"form_field_position":{"type":"object","properties":{"form_field_id":{"type":"string","description":"The ID of the form field."},"form":{"type":"string","description":"The form for the position","enum":["web_new_incident_form","web_update_incident_form","web_incident_post_mortem_form","web_incident_mitigation_form","web_incident_resolution_form","web_incident_cancellation_form","web_scheduled_incident_form","web_update_scheduled_incident_form","incident_post_mortem","slack_new_incident_form","slack_update_incident_form","slack_update_incident_status_form","slack_incident_mitigation_form","slack_incident_resolution_form","slack_incident_cancellation_form","slack_scheduled_incident_form","slack_update_scheduled_incident_form"]},"position":{"type":"integer","description":"The position of the form_field_position"}},"required":["form_field_id","position","form"]},"form_field_position_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the form_field_position"},"type":{"type":"string","enum":["form_field_positions"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/form_field_position"}]}},"required":["id","type","attributes"]}},"required":["data"]},"form_field_position_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the form_field_position"},"type":{"type":"string","enum":["form_field_positions"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/form_field_position"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_form_field":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["form_fields"]},"attributes":{"type":"object","properties":{"kind":{"type":"string","description":"The kind of the form field","enum":["custom","title","summary","mitigation_message","resolution_message","severity","environments","types","services","causes","functionalities","teams","visibility","mark_as_test","mark_as_backfilled","labels","notify_emails","trigger_manual_workflows","show_ongoing_incidents","attach_alerts","mark_as_in_triage","in_triage_at","started_at","detected_at","acknowledged_at","mitigated_at","resolved_at","closed_at","manual_starting_datetime_field"]},"input_kind":{"type":"string","description":"The input kind of the form field","enum":["text","textarea","select","multi_select","date","datetime","number","checkbox","tags","rich_text"]},"value_kind":{"type":"string","description":"The value kind of the form field","enum":["inherit","group","service","functionality","user","catalog_entity"]},"value_kind_catalog_id":{"type":"string","description":"The ID of the catalog used when value_kind is `catalog_entity`","nullable":true},"name":{"type":"string","description":"The name of the form field"},"description":{"type":"string","description":"The description of the form field","nullable":true},"shown":{"type":"array","items":{"type":"string","description":"Where the form field is shown. Add custom forms using the custom form's `slug` field. Or choose a built-in form: `web_new_incident_form`, `web_update_incident_form`, `web_incident_post_mortem_form`, `web_incident_mitigation_form`, `web_incident_resolution_form`, `web_incident_cancellation_form`, `web_scheduled_incident_form`, `web_update_scheduled_incident_form`, `incident_post_mortem`, `slack_new_incident_form`, `slack_update_incident_form`, `slack_update_incident_status_form`, `slack_incident_mitigation_form`, `slack_incident_resolution_form`, `slack_incident_cancellation_form`, `slack_scheduled_incident_form`, `slack_update_scheduled_incident_form`"}},"required":{"type":"array","items":{"type":"string","description":"Where the form field is required. Add custom forms using the custom form's `slug` field. Or choose a built-in form: `web_new_incident_form`, `web_update_incident_form`, `web_incident_post_mortem_form`, `web_incident_mitigation_form`, `web_incident_resolution_form`, `web_incident_cancellation_form`, `web_scheduled_incident_form`, `web_update_scheduled_incident_form`, `slack_new_incident_form`, `slack_update_incident_form`, `slack_update_incident_status_form`, `slack_incident_mitigation_form`, `slack_incident_resolution_form`, `slack_incident_cancellation_form`, `slack_scheduled_incident_form`, `slack_update_scheduled_incident_form`"}},"show_on_incident_details":{"type":"boolean","description":"Whether the form field is shown on the incident details panel"},"enabled":{"type":"boolean","description":"Whether the form field is enabled"},"default_values":{"type":"array","items":{"type":"string","description":"The default values."}}},"additionalProperties":false,"required":["kind","name"]}},"required":["type","attributes"]}},"required":["data"]},"update_form_field":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["form_fields"]},"attributes":{"type":"object","properties":{"kind":{"type":"string","description":"The kind of the form field","enum":["custom","title","summary","mitigation_message","resolution_message","severity","environments","types","services","causes","functionalities","teams","visibility","mark_as_test","mark_as_backfilled","labels","notify_emails","trigger_manual_workflows","show_ongoing_incidents","attach_alerts","mark_as_in_triage","in_triage_at","started_at","detected_at","acknowledged_at","mitigated_at","resolved_at","closed_at","manual_starting_datetime_field"]},"input_kind":{"type":"string","description":"The input kind of the form field","enum":["text","textarea","select","multi_select","date","datetime","number","checkbox","tags","rich_text"]},"value_kind":{"type":"string","description":"The value kind of the form field","enum":["inherit","group","service","functionality","user","catalog_entity"]},"value_kind_catalog_id":{"type":"string","description":"The ID of the catalog used when value_kind is `catalog_entity`","nullable":true},"name":{"type":"string","description":"The name of the form field"},"description":{"type":"string","description":"The description of the form field","nullable":true},"shown":{"type":"array","items":{"type":"string","description":"Where the form field is shown. Add custom forms using the custom form's `slug` field. Or choose a built-in form: `web_new_incident_form`, `web_update_incident_form`, `web_incident_post_mortem_form`, `web_incident_mitigation_form`, `web_incident_resolution_form`, `web_incident_cancellation_form`, `web_scheduled_incident_form`, `web_update_scheduled_incident_form`, `incident_post_mortem`, `slack_new_incident_form`, `slack_update_incident_form`, `slack_update_incident_status_form`, `slack_incident_mitigation_form`, `slack_incident_resolution_form`, `slack_incident_cancellation_form`, `slack_scheduled_incident_form`, `slack_update_scheduled_incident_form`"}},"required":{"type":"array","items":{"type":"string","description":"Where the form field is required. Add custom forms using the custom form's `slug` field. Or choose a built-in form: `web_new_incident_form`, `web_update_incident_form`, `web_incident_post_mortem_form`, `web_incident_mitigation_form`, `web_incident_resolution_form`, `web_incident_cancellation_form`, `web_scheduled_incident_form`, `web_update_scheduled_incident_form`, `slack_new_incident_form`, `slack_update_incident_form`, `slack_update_incident_status_form`, `slack_incident_mitigation_form`, `slack_incident_resolution_form`, `slack_incident_cancellation_form`, `slack_scheduled_incident_form`, `slack_update_scheduled_incident_form`"}},"show_on_incident_details":{"type":"boolean","description":"Whether the form field is shown on the incident details panel"},"enabled":{"type":"boolean","description":"Whether the form field is enabled"},"default_values":{"type":"array","items":{"type":"string","description":"The default values."}}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"form_field":{"type":"object","properties":{"kind":{"type":"string","description":"The kind of the form field","enum":["custom","title","summary","mitigation_message","resolution_message","severity","environments","types","services","causes","functionalities","teams","visibility","mark_as_test","mark_as_backfilled","labels","notify_emails","trigger_manual_workflows","show_ongoing_incidents","attach_alerts","mark_as_in_triage","in_triage_at","started_at","detected_at","acknowledged_at","mitigated_at","resolved_at","closed_at","manual_starting_datetime_field"]},"input_kind":{"type":"string","description":"The input kind of the form field","enum":["text","textarea","select","multi_select","date","datetime","number","checkbox","tags","rich_text"]},"value_kind":{"type":"string","description":"The value kind of the form field","enum":["inherit","group","service","functionality","user","catalog_entity"]},"value_kind_catalog_id":{"type":"string","description":"The ID of the catalog used when value_kind is `catalog_entity`","nullable":true},"name":{"type":"string","description":"The name of the form field"},"slug":{"type":"string","description":"The slug of the form field"},"description":{"type":"string","description":"The description of the form field","nullable":true},"shown":{"type":"array","items":{"type":"string","description":"Where the form field is shown. Add custom forms using the custom form's `slug` field. Or choose a built-in form: `web_new_incident_form`, `web_update_incident_form`, `web_incident_post_mortem_form`, `web_incident_mitigation_form`, `web_incident_resolution_form`, `web_incident_cancellation_form`, `web_scheduled_incident_form`, `web_update_scheduled_incident_form`, `incident_post_mortem`, `slack_new_incident_form`, `slack_update_incident_form`, `slack_update_incident_status_form`, `slack_incident_mitigation_form`, `slack_incident_resolution_form`, `slack_incident_cancellation_form`, `slack_scheduled_incident_form`, `slack_update_scheduled_incident_form`"}},"required":{"type":"array","items":{"type":"string","description":"Where the form field is required. Add custom forms using the custom form's `slug` field. Or choose a built-in form: `web_new_incident_form`, `web_update_incident_form`, `web_incident_post_mortem_form`, `web_incident_mitigation_form`, `web_incident_resolution_form`, `web_incident_cancellation_form`, `web_scheduled_incident_form`, `web_update_scheduled_incident_form`, `slack_new_incident_form`, `slack_update_incident_form`, `slack_update_incident_status_form`, `slack_incident_mitigation_form`, `slack_incident_resolution_form`, `slack_incident_cancellation_form`, `slack_scheduled_incident_form`, `slack_update_scheduled_incident_form`"}},"show_on_incident_details":{"type":"boolean","description":"Whether the form field is shown on the incident details panel"},"enabled":{"type":"boolean","description":"Whether the form field is enabled"},"default_values":{"type":"array","items":{"type":"string","description":"The default values."}},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["kind","input_kind","value_kind","slug","name","shown","required","default_values","created_at","updated_at"]},"form_field_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the form field"},"type":{"type":"string","enum":["form_fields"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/form_field"}]}},"required":["id","type","attributes"]}},"required":["data"]},"form_field_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the form field"},"type":{"type":"string","enum":["form_fields"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/form_field"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_form_set_condition":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["form_set_conditions"]},"attributes":{"type":"object","properties":{"form_field_id":{"type":"string","description":"The form field this condition applies."},"comparison":{"type":"string","description":"The condition comparison.","enum":["equal"]},"values":{"type":"array","description":"The values for comparison.","items":{"type":"string","description":"The value for comparison."}}},"required":["form_field_id","comparison","values"]}},"required":["type","attributes"]}},"required":["data"]},"update_form_set_condition":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["form_set_conditions"]},"attributes":{"type":"object","properties":{"form_field_id":{"type":"string","description":"The form field this condition applies."},"comparison":{"type":"string","description":"The condition comparison.","enum":["equal"]},"values":{"type":"array","description":"The values for comparison.","items":{"type":"string","description":"The value for comparison."}}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"form_set_condition":{"type":"object","properties":{"form_set_id":{"type":"string","description":"The form set this condition applies."},"form_field_id":{"type":"string","description":"The form field this condition applies."},"comparison":{"type":"string","description":"The condition comparison.","enum":["equal"]},"values":{"type":"array","description":"The values for comparison.","items":{"type":"string","description":"The value for comparison."}}},"required":["form_set_id","form_field_id","comparison","values"]},"form_set_condition_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the form set condition"},"type":{"type":"string","enum":["form_set_conditions"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/form_set_condition"}]}},"required":["id","type","attributes"]}},"required":["data"]},"form_set_condition_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the form set condition"},"type":{"type":"string","enum":["form_set_conditions"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/form_set_condition"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_form_set":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["form_sets"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the form set"},"forms":{"type":"array","description":"The forms included in the form set. Add custom forms using the custom form's `slug` field. Or choose a built-in form: `web_new_incident_form`, `web_update_incident_form`, `web_incident_post_mortem_form`, `web_incident_mitigation_form`, `web_incident_resolution_form`, `web_incident_cancellation_form`, `web_scheduled_incident_form`, `web_update_scheduled_incident_form`, `slack_new_incident_form`, `slack_update_incident_form`, `slack_update_incident_status_form`, `slack_incident_mitigation_form`, `slack_incident_resolution_form`, `slack_incident_cancellation_form`, `slack_scheduled_incident_form`, `slack_update_scheduled_incident_form`","items":{"type":"string","description":"The form included in the form set. Add custom forms using the custom form's `slug` field. Or choose a built-in form: `web_new_incident_form`, `web_update_incident_form`, `web_incident_post_mortem_form`, `web_incident_mitigation_form`, `web_incident_resolution_form`, `web_incident_cancellation_form`, `web_scheduled_incident_form`, `web_update_scheduled_incident_form`, `slack_new_incident_form`, `slack_update_incident_form`, `slack_update_incident_status_form`, `slack_incident_mitigation_form`, `slack_incident_resolution_form`, `slack_incident_cancellation_form`, `slack_scheduled_incident_form`, `slack_update_scheduled_incident_form`"}}},"additionalProperties":false,"required":["name","forms"]}},"required":["type","attributes"]}},"required":["data"]},"update_form_set":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["form_sets"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the form set"},"forms":{"type":"array","description":"The forms included in the form set. Add custom forms using the custom form's `slug` field. Or choose a built-in form: `web_new_incident_form`, `web_update_incident_form`, `web_incident_post_mortem_form`, `web_incident_mitigation_form`, `web_incident_resolution_form`, `web_incident_cancellation_form`, `web_scheduled_incident_form`, `web_update_scheduled_incident_form`, `slack_new_incident_form`, `slack_update_incident_form`, `slack_update_incident_status_form`, `slack_incident_mitigation_form`, `slack_incident_resolution_form`, `slack_incident_cancellation_form`, `slack_scheduled_incident_form`, `slack_update_scheduled_incident_form`","items":{"type":"string","description":"The form included in the form set. Add custom forms using the custom form's `slug` field. Or choose a built-in form: `web_new_incident_form`, `web_update_incident_form`, `web_incident_post_mortem_form`, `web_incident_mitigation_form`, `web_incident_resolution_form`, `web_incident_cancellation_form`, `web_scheduled_incident_form`, `web_update_scheduled_incident_form`, `slack_new_incident_form`, `slack_update_incident_form`, `slack_update_incident_status_form`, `slack_incident_mitigation_form`, `slack_incident_resolution_form`, `slack_incident_cancellation_form`, `slack_scheduled_incident_form`, `slack_update_scheduled_incident_form`"}}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"form_set":{"type":"object","properties":{"name":{"type":"string","description":"The name of the form set"},"slug":{"type":"string","description":"The slug of the form set"},"is_default":{"type":"boolean","description":"Whether the form set is default"},"forms":{"type":"array","description":"The forms included in the form set. Add custom forms using the custom form's `slug` field. Or choose a built-in form: `web_new_incident_form`, `web_update_incident_form`, `web_incident_post_mortem_form`, `web_incident_mitigation_form`, `web_incident_resolution_form`, `web_incident_cancellation_form`, `web_scheduled_incident_form`, `web_update_scheduled_incident_form`, `slack_new_incident_form`, `slack_update_incident_form`, `slack_update_incident_status_form`, `slack_incident_mitigation_form`, `slack_incident_resolution_form`, `slack_incident_cancellation_form`, `slack_scheduled_incident_form`, `slack_update_scheduled_incident_form`","items":{"type":"string","description":"The form included in the form set. Add custom forms using the custom form's `slug` field. Or choose a built-in form: `web_new_incident_form`, `web_update_incident_form`, `web_incident_post_mortem_form`, `web_incident_mitigation_form`, `web_incident_resolution_form`, `web_incident_cancellation_form`, `web_scheduled_incident_form`, `web_update_scheduled_incident_form`, `slack_new_incident_form`, `slack_update_incident_form`, `slack_update_incident_status_form`, `slack_incident_mitigation_form`, `slack_incident_resolution_form`, `slack_incident_cancellation_form`, `slack_scheduled_incident_form`, `slack_update_scheduled_incident_form`"}},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["name","slug","is_default","forms","created_at","updated_at"]},"form_set_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the form set"},"type":{"type":"string","enum":["form_sets"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/form_set"}]}},"required":["id","type","attributes"]}},"required":["data"]},"form_set_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the form set"},"type":{"type":"string","enum":["form_sets"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/form_set"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_functionality":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["functionalities"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the functionality"},"description":{"type":"string","description":"The description of the functionality","nullable":true},"public_description":{"type":"string","description":"The public description of the functionality","nullable":true},"notify_emails":{"type":"array","description":"Emails to attach to the functionality","items":{"type":"string"},"nullable":true},"color":{"type":"string","description":"The hex color of the functionality","nullable":true},"position":{"type":"integer","description":"Position of the functionality","nullable":true},"backstage_id":{"type":"string","description":"The Backstage entity id associated to this functionality. eg: :namespace/:kind/:entity_name","nullable":true},"external_id":{"type":"string","description":"The external id associated to this functionality","nullable":true},"pagerduty_id":{"type":"string","description":"The PagerDuty service id associated to this functionality","nullable":true},"opsgenie_id":{"type":"string","description":"The Opsgenie service id associated to this functionality","nullable":true},"opsgenie_team_id":{"type":"string","description":"The Opsgenie team id associated to this functionality","nullable":true},"cortex_id":{"type":"string","description":"The Cortex group id associated to this functionality","nullable":true},"service_now_ci_sys_id":{"type":"string","description":"The Service Now CI sys id associated to this functionality","nullable":true},"show_uptime":{"type":"boolean","description":"Show uptime","nullable":true},"show_uptime_last_days":{"type":"integer","description":"Show uptime over x days","enum":[30,60,90],"nullable":true,"default":60},"environment_ids":{"type":"array","description":"Environments associated with this functionality","items":{"type":"string"},"nullable":true},"service_ids":{"type":"array","description":"Services associated with this functionality","items":{"type":"string"},"nullable":true},"owners_group_ids":{"type":"array","description":"Owner Teams associated with this functionality","items":{"type":"string"},"nullable":true},"owners_user_ids":{"type":"array","description":"Owner Users associated with this functionality","items":{"type":"integer"},"nullable":true},"slack_channels":{"type":"array","description":"Slack Channels associated with this functionality","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack channel ID"},"name":{"type":"string","description":"Slack channel name"}},"required":["id","name"]},"nullable":true},"slack_aliases":{"type":"array","description":"Slack Aliases associated with this functionality","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack alias ID"},"name":{"type":"string","description":"Slack alias name"}},"required":["id","name"]},"nullable":true}},"additionalProperties":false,"required":["name"]}},"required":["type","attributes"]}},"required":["data"]},"update_functionality":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["functionalities"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the functionality"},"description":{"type":"string","description":"The description of the functionality","nullable":true},"public_description":{"type":"string","description":"The public description of the functionality","nullable":true},"notify_emails":{"type":"array","description":"Emails to attach to the functionality","items":{"type":"string"},"nullable":true},"color":{"type":"string","description":"The hex color of the functionality","nullable":true},"position":{"type":"integer","description":"Position of the functionality","nullable":true},"backstage_id":{"type":"string","description":"The Backstage entity id associated to this functionality. eg: :namespace/:kind/:entity_name","nullable":true},"external_id":{"type":"string","description":"The external id associated to this functionality","nullable":true},"pagerduty_id":{"type":"string","description":"The PagerDuty service id associated to this functionality","nullable":true},"opsgenie_id":{"type":"string","description":"The Opsgenie service id associated to this functionality","nullable":true},"opsgenie_team_id":{"type":"string","description":"The Opsgenie team id associated to this functionality","nullable":true},"cortex_id":{"type":"string","description":"The Cortex group id associated to this functionality","nullable":true},"service_now_ci_sys_id":{"type":"string","description":"The Service Now CI sys id associated to this functionality","nullable":true},"environment_ids":{"type":"array","description":"Environments associated with this functionality","items":{"type":"string"},"nullable":true},"service_ids":{"type":"array","description":"Services associated with this functionality","items":{"type":"string"},"nullable":true},"owners_group_ids":{"type":"array","description":"Owner Teams associated with this functionality","items":{"type":"string"},"nullable":true},"owners_user_ids":{"type":"array","description":"Owner Users associated with this functionality","items":{"type":"integer"},"nullable":true},"slack_channels":{"type":"array","description":"Slack Channels associated with this functionality","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack channel ID"},"name":{"type":"string","description":"Slack channel name"}},"required":["id","name"]},"nullable":true},"slack_aliases":{"type":"array","description":"Slack Aliases associated with this functionality","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack alias ID"},"name":{"type":"string","description":"Slack alias name"}},"required":["id","name"]},"nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"functionality":{"type":"object","properties":{"name":{"type":"string","description":"The name of the functionality"},"slug":{"type":"string","description":"The slug of the functionality"},"description":{"type":"string","description":"The description of the functionality","nullable":true},"public_description":{"type":"string","description":"The public description of the functionality","nullable":true},"notify_emails":{"type":"array","description":"Emails attached to the functionality","items":{"type":"string"},"nullable":true},"color":{"type":"string","description":"The hex color of the functionality","nullable":true},"backstage_id":{"type":"string","description":"The Backstage entity id associated to this functionality. eg: :namespace/:kind/:entity_name","nullable":true},"external_id":{"type":"string","description":"The external id associated to this functionality","nullable":true},"pagerduty_id":{"type":"string","description":"The PagerDuty service id associated to this functionality","nullable":true},"opsgenie_id":{"type":"string","description":"The Opsgenie service id associated to this functionality","nullable":true},"opsgenie_team_id":{"type":"string","description":"The Opsgenie team id associated to this functionality","nullable":true},"cortex_id":{"type":"string","description":"The Cortex group id associated to this functionality","nullable":true},"service_now_ci_sys_id":{"type":"string","description":"The Service Now CI sys id associated to this functionality","nullable":true},"position":{"type":"integer","description":"Position of the functionality","nullable":true},"environment_ids":{"type":"array","description":"Environments associated with this functionality","items":{"type":"string"},"nullable":true},"service_ids":{"type":"array","description":"Services associated with this functionality","items":{"type":"string"},"nullable":true},"owners_group_ids":{"type":"array","description":"Owner Teams associated with this functionality","items":{"type":"string"},"nullable":true},"owners_user_ids":{"type":"array","description":"Owner Users associated with this functionality","items":{"type":"integer"},"nullable":true},"slack_channels":{"type":"array","description":"Slack Channels associated with this functionality","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack channel ID"},"name":{"type":"string","description":"Slack channel name"}},"required":["id","name"]},"nullable":true},"slack_aliases":{"type":"array","description":"Slack Aliases associated with this functionality","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack alias ID"},"name":{"type":"string","description":"Slack alias name"}},"required":["id","name"]},"nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["name","created_at","updated_at"]},"incidents_chart_response":{"type":"object","required":["data"]},"uptime_chart_response":{"type":"object","required":["data"]},"functionality_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the functionality"},"type":{"type":"string","enum":["functionalities"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/functionality"}]}},"required":["id","type","attributes"]}},"required":["data"]},"functionality_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the functionality"},"type":{"type":"string","enum":["functionalities"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/functionality"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"add_action_item_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["add_action_item"]},"attribute_to_query_by":{"type":"string","description":"Attribute of the Incident to match against","enum":["jira_issue_id"],"nullable":true},"query_value":{"type":"string","description":"Value that attribute_to_query_by to uses to match against","nullable":true},"incident_role_id":{"type":"string","description":"The role id this action item is associated with"},"assigned_to_user_id":{"type":"string","description":"[DEPRECATED] Use assigned_to_user attribute instead. The user id this action item is assigned to"},"assigned_to_user":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":" The user this action item is assigned to"},"priority":{"type":"string","description":"The action item priority","enum":["high","medium","low"]},"kind":{"type":"string","description":"The action item kind"},"summary":{"type":"string","description":"The action item summary"},"description":{"type":"string","description":"The action item description"},"status":{"type":"string","description":"The action item status","enum":["open","in_progress","cancelled","done"]},"post_to_incident_timeline":{"type":"boolean"},"custom_fields_mapping":{"type":"string","description":"Custom field mappings. Can contain liquid markup and need to be valid JSON","nullable":true},"post_to_slack_channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["summary","status","priority"]},"update_action_item_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_action_item"]},"query_value":{"type":"string","description":"Value that attribute_to_query_by to uses to match against"},"attribute_to_query_by":{"type":"string","description":"Attribute of the action item to match against","enum":["id","jira_issue_id","asana_task_id","shortcut_task_id","linear_issue_id","zendesk_ticket_id","motion_task_id","trello_card_id","airtable_record_id","shortcut_story_id","github_issue_id","gitlab_issue_id","freshservice_ticket_id","freshservice_task_id","clickup_task_id"],"default":"id"},"summary":{"type":"string","description":"Brief description of the action item"},"assigned_to_user_id":{"type":"string","description":"[DEPRECATED] Use assigned_to_user attribute instead. The user id this action item is assigned to"},"assigned_to_user":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":" The user this action item is assigned to"},"group_ids":{"type":"array","items":{"type":"string"},"nullable":true},"description":{"type":"string","description":"The action item description"},"priority":{"type":"string","description":"The action item priority","enum":["high","medium","low"]},"status":{"type":"string","description":"The action item status","enum":["open","in_progress","cancelled","done"]},"custom_fields_mapping":{"type":"string","description":"Custom field mappings. Can contain liquid markup and need to be valid JSON","nullable":true},"post_to_incident_timeline":{"type":"boolean"}},"required":["query_value","attribute_to_query_by"]},"add_role_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["add_role"]},"incident_role_id":{"type":"string","description":"The role id to add to the incident"},"assigned_to_user_id":{"type":"string","description":"[DEPRECATED] Use assigned_to_user attribute instead. The user id this role is assigned to"},"assigned_to_user":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":" The user this role is assigned to"}},"required":["incident_role_id"]},"add_slack_bookmark_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["add_slack_bookmark"]},"playbook_id":{"type":"string","description":"The playbook id if bookmark is of an incident playbook"},"channel":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"title":{"type":"string","description":"The bookmark title. Required if not a playbook bookmark","nullable":true},"link":{"type":"string","description":"The bookmark link. Required if not a playbook bookmark","nullable":true},"emoji":{"type":"string","description":"The bookmark emoji"}},"required":["channel"],"anyOf":[{"required":["title","link"]},{"required":["playbook_id"]}]},"add_team_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["add_team"]},"group_id":{"type":"string","description":"The team id"}},"required":["group_id"]},"add_to_timeline_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["add_to_timeline"]},"event":{"type":"string","description":"The timeline event description"},"url":{"type":"string","description":"A URL for the timeline event"},"post_to_slack_channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["event"]},"archive_slack_channels_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["archive_slack_channels"]},"channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["channels"]},"attach_datadog_dashboards_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["attach_datadog_dashboards"]},"dashboards":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"post_to_incident_timeline":{"type":"boolean"},"post_to_slack_channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["dashboards"]},"auto_assign_role_opsgenie_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["auto_assign_role_opsgenie"]},"incident_role_id":{"type":"string","description":"The role id"},"schedule":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"required":["incident_role_id","schedule"]},"auto_assign_role_rootly_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["auto_assign_role_rootly"]},"incident_role_id":{"type":"string","description":"The role id"},"escalation_policy_target":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"service_target":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"user_target":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"group_target":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"schedule_target":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"required":["incident_role_id"]},"auto_assign_role_pagerduty_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["auto_assign_role_pagerduty"]},"incident_role_id":{"type":"string","description":"The role id"},"service":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"schedule":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"escalation_policy":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"required":["incident_role_id"],"anyOf":[{"required":["schedule"]},{"required":["escalation_policy"]}]},"update_pagerduty_incident_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_pagerduty_incident"]},"pagerduty_incident_id":{"type":"string","description":"Pagerduty incident id"},"title":{"type":"string","description":"Title to update to"},"status":{"type":"string","enum":["resolved","acknowledged","auto"]},"resolution":{"type":"string","description":"A message outlining the incident's resolution in PagerDuty"},"escalation_level":{"type":"integer","description":"Escalation level of policy attached to incident","minimum":1,"maximum":20,"example":1},"urgency":{"type":"string","description":"PagerDuty incident urgency, selecting auto will let Rootly auto map our incident severity","enum":["high","low","auto"]},"priority":{"type":"string","description":"PagerDuty incident priority, selecting auto will let Rootly auto map our incident severity"}},"required":["pagerduty_incident_id"]},"create_pagerduty_status_update_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_pagerduty_status_update"]},"pagerduty_incident_id":{"type":"string","description":"PagerDuty incident id"},"message":{"type":"string","description":"A message outlining the incident's resolution in PagerDuty"}},"required":["pagerduty_incident_id","message"]},"create_pagertree_alert_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_pagertree_alert"]},"title":{"type":"string","description":"Title of alert as text"},"description":{"type":"string","description":"Description of alert as text"},"urgency":{"type":"string","enum":["auto","critical","high","medium","low"]},"severity":{"type":"string","enum":["auto","SEV-1","SEV-2","SEV-3","SEV-4"]},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"incident":{"type":"boolean","description":"Setting to true makes an alert a Pagertree incident"}}},"update_pagertree_alert_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_pagertree_alert"]},"pagertree_alert_id":{"type":"string","description":"The prefix ID of the Pagertree alert"},"title":{"type":"string","description":"Title of alert as text"},"description":{"type":"string","description":"Description of alert as text"},"urgency":{"type":"string","enum":["auto","critical","high","medium","low"]},"severity":{"type":"string","enum":["auto","SEV-1","SEV-2","SEV-3","SEV-4"]},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"incident":{"type":"boolean","description":"Setting to true makes an alert a Pagertree incident"}}},"auto_assign_role_victor_ops_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["auto_assign_role_victor_ops"]},"incident_role_id":{"type":"string","description":"The role id"},"team":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"required":["incident_role_id","team"]},"call_people_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["call_people"]},"phone_numbers":{"type":"array","items":{"type":"string","description":"A recipient phone number","example":["14150001111"]}},"name":{"type":"string","description":"The name"},"content":{"type":"string","description":"The message to be read by text-to-voice"}},"required":["phone_numbers","name","content"]},"create_airtable_table_record_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_airtable_table_record"]},"base":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"table":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"custom_fields_mapping":{"type":"string","description":"Custom field mappings. Can contain liquid markup and need to be valid JSON","nullable":true}},"required":["base","table"]},"create_asana_subtask_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_asana_subtask"]},"parent_task_id":{"type":"string","description":"The parent task id"},"title":{"type":"string","description":"The subtask title"},"notes":{"type":"string"},"assign_user_email":{"type":"string","description":"The assigned user's email"},"completion":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"due_date":{"type":"string","description":"The due date"},"custom_fields_mapping":{"type":"string","description":"Custom field mappings. Can contain liquid markup and need to be valid JSON","nullable":true},"dependency_direction":{"type":"string","enum":["blocking","blocked_by"],"default":"blocking"},"dependent_task_ids":{"type":"array","description":"Dependent task ids. Supports liquid syntax","items":{"type":"string"},"nullable":true}},"required":["parent_task_id","title","completion"]},"create_asana_task_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_asana_task"]},"workspace":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"projects":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"title":{"type":"string","description":"The task title"},"notes":{"type":"string"},"assign_user_email":{"type":"string","description":"The assigned user's email"},"completion":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"due_date":{"type":"string","description":"The due date"},"custom_fields_mapping":{"type":"string","description":"Custom field mappings. Can contain liquid markup and need to be valid JSON","nullable":true},"dependency_direction":{"type":"string","enum":["blocking","blocked_by"],"default":"blocking"},"dependent_task_ids":{"type":"array","description":"Dependent task ids. Supports liquid syntax","items":{"type":"string"},"nullable":true}},"required":["workspace","projects","title","completion"]},"create_confluence_page_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_confluence_page"]},"integration":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"Specify integration id if you have more than one Confluence instance"},"space":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"ancestor":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"template":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"title":{"type":"string","description":"The page title"},"content":{"type":"string","description":"The page content"},"post_mortem_template_id":{"type":"string","description":"The Retrospective template to use"},"mark_post_mortem_as_published":{"type":"boolean","default":true}},"required":["space","title"]},"create_datadog_notebook_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_datadog_notebook"]},"post_mortem_template_id":{"type":"string","description":"Retrospective template to use when creating notebook, if desired"},"mark_post_mortem_as_published":{"type":"boolean","default":true},"template":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"title":{"type":"string","description":"The notebook title"},"kind":{"type":"string","description":"The notebook kind","enum":["postmortem","runbook","investigation","documentation","report"]},"content":{"type":"string","description":"The notebook content"}},"required":["title","kind"]},"create_dropbox_paper_page_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_dropbox_paper_page"]},"post_mortem_template_id":{"type":"string","description":"Retrospective template to use when creating page task, if desired"},"mark_post_mortem_as_published":{"type":"boolean","default":true},"title":{"type":"string","description":"The page task title"},"content":{"type":"string","description":"The page content"},"namespace":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"parent_folder":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"required":["title"]},"create_github_issue_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_github_issue"]},"title":{"type":"string","description":"The issue title"},"body":{"type":"string","description":"The issue body"},"repository":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"required":["repository","title"]},"create_gitlab_issue_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_gitlab_issue"]},"issue_type":{"type":"string","description":"The issue type","enum":["issue","incident","test_case","task"]},"title":{"type":"string","description":"The issue title"},"description":{"type":"string","description":"The issue description"},"repository":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"labels":{"type":"string","description":"The issue labels"},"due_date":{"type":"string","description":"The due date"}},"required":["repository","title"]},"create_outlook_event_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_outlook_event"]},"calendar":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"attendees":{"type":"array","description":"Emails of attendees","items":{"type":"string"}},"time_zone":{"type":"string","description":"A valid IANA time zone name.","nullable":true},"days_until_meeting":{"type":"integer","description":"The days until meeting","minimum":0,"maximum":31},"time_of_meeting":{"type":"string","description":"Time of meeting in format HH:MM","example":"14:30"},"meeting_duration":{"type":"string","description":"Meeting duration in format like '1 hour', '30 minutes'","example":"1 hour"},"summary":{"type":"string","description":"The event summary"},"description":{"type":"string","description":"The event description"},"exclude_weekends":{"type":"boolean"},"post_to_incident_timeline":{"type":"boolean"},"post_to_slack_channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["calendar","days_until_meeting","time_of_meeting","meeting_duration","summary","description"]},"create_google_calendar_event_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_google_calendar_event"]},"attendees":{"type":"array","description":"Emails of attendees","items":{"type":"string"}},"time_zone":{"type":"string","description":"A valid IANA time zone name.","nullable":true},"calendar_id":{"type":"string","nullable":true,"default":"primary"},"days_until_meeting":{"type":"integer","description":"The days until meeting","minimum":0,"maximum":31},"time_of_meeting":{"type":"string","description":"Time of meeting in format HH:MM","example":"14:30"},"meeting_duration":{"type":"string","description":"Meeting duration in format like '1 hour', '30 minutes'","example":"1 hour"},"send_updates":{"type":"boolean","description":"Send an email to the attendees notifying them of the event"},"can_guests_modify_event":{"type":"boolean"},"can_guests_see_other_guests":{"type":"boolean"},"can_guests_invite_others":{"type":"boolean"},"summary":{"type":"string","description":"The event summary"},"description":{"type":"string","description":"The event description"},"exclude_weekends":{"type":"boolean"},"conference_solution_key":{"type":"string","enum":["eventHangout","eventNamedHangout","hangoutsMeet","addOn"],"description":"Sets the video conference type attached to the meeting","nullable":true},"post_to_incident_timeline":{"type":"boolean"},"post_to_slack_channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["days_until_meeting","time_of_meeting","meeting_duration","summary","description"]},"update_google_docs_page_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_google_docs_page"]},"file_id":{"type":"string","description":"The Google Doc file ID"},"title":{"type":"string","description":"The Google Doc title"},"content":{"type":"string","description":"The Google Doc content"},"post_mortem_template_id":{"type":"string","description":"Retrospective template to use when updating page, if desired"},"template_id":{"type":"string","description":"The Google Doc file ID to use as a template."}},"required":["file_id"]},"update_google_calendar_event_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_google_calendar_event"]},"calendar_id":{"type":"string","nullable":true,"default":"primary"},"event_id":{"type":"string","description":"The event ID"},"summary":{"type":"string","description":"The event summary"},"description":{"type":"string","description":"The event description"},"adjustment_days":{"type":"integer","description":"Days to adjust meeting by","minimum":0,"maximum":31},"time_of_meeting":{"type":"string","description":"Time of meeting in format HH:MM"},"meeting_duration":{"type":"string","description":"Meeting duration in format like '1 hour', '30 minutes'","example":"1 hour"},"send_updates":{"type":"boolean","description":"Send an email to the attendees notifying them of the event"},"can_guests_modify_event":{"type":"boolean"},"can_guests_see_other_guests":{"type":"boolean"},"can_guests_invite_others":{"type":"boolean"},"attendees":{"type":"array","description":"Emails of attendees","items":{"type":"string"}},"replace_attendees":{"type":"boolean"},"conference_solution_key":{"type":"string","enum":["eventHangout","eventNamedHangout","hangoutsMeet","addOn"],"description":"Sets the video conference type attached to the meeting","nullable":true},"post_to_incident_timeline":{"type":"boolean"},"post_to_slack_channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["event_id"]},"create_sharepoint_page_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_sharepoint_page"]},"post_mortem_template_id":{"type":"string","description":"Retrospective template to use when creating page, if desired"},"mark_post_mortem_as_published":{"type":"boolean","default":true},"title":{"type":"string","description":"The page title"},"site":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"drive":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"parent_folder":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"content":{"type":"string","description":"The page content"},"template_id":{"type":"string","description":"The SharePoint file ID to use as a template"}},"required":["title","site","drive"]},"create_google_docs_page_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_google_docs_page"]},"post_mortem_template_id":{"type":"string","description":"Retrospective template to use when creating page, if desired"},"mark_post_mortem_as_published":{"type":"boolean","default":true},"title":{"type":"string","description":"The page title"},"drive":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"parent_folder":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"content":{"type":"string","description":"The page content"},"template_id":{"type":"string","description":"The Google Doc file ID to use as a template"},"permissions":{"type":"string","description":"Page permissions JSON"}},"required":["title"]},"create_google_docs_permissions_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_google_docs_permissions"]},"file_id":{"type":"string","description":"The Google Doc file ID"},"permissions":{"type":"string","description":"Page permissions JSON"},"send_notification_email":{"type":"boolean"},"email_message":{"type":"string","description":"Email message notification","nullable":true}},"required":["file_id","permissions"]},"remove_google_docs_permissions_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["remove_google_docs_permissions"]},"file_id":{"type":"string","description":"The Google Doc file ID"},"attribute_to_query_by":{"type":"string","enum":["type","role","email_address"],"default":"email_address"},"value":{"type":"string"}},"required":["file_id","attribute_to_query_by","value"]},"create_quip_page_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_google_docs_page"]},"post_mortem_template_id":{"type":"string","description":"Retrospective template to use when creating page, if desired"},"title":{"type":"string","description":"The page title"},"parent_folder_id":{"type":"string","description":"The parent folder id"},"content":{"type":"string","description":"The page content"},"template_id":{"type":"string","description":"The Quip file ID to use as a template"},"mark_post_mortem_as_published":{"type":"boolean","default":true}},"required":["title"]},"create_google_meeting_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_google_meeting"]},"summary":{"type":"string","description":"[DEPRECATED] The meeting summary","nullable":true},"description":{"type":"string","description":"[DEPRECATED] The meeting description","nullable":true},"conference_solution_key":{"type":"string","enum":["eventHangout","eventNamedHangout","hangoutsMeet","addOn"],"description":"[DEPRECATED] Sets the video conference type attached to the meeting","nullable":true},"record_meeting":{"type":"boolean","description":"Rootly AI will record the meeting and automatically generate a transcript and summary from your meeting"},"post_to_incident_timeline":{"type":"boolean"},"post_to_slack_channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["summary","description"]},"create_go_to_meeting_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_go_to_meeting_task"]},"subject":{"type":"string","description":"The meeting subject"},"conference_call_info":{"type":"string","enum":["ptsn","free","hyrid","voip"],"default":"voip","example":"voip","nullable":true},"password_required":{"type":"boolean","nullable":true},"post_to_incident_timeline":{"type":"boolean"},"post_to_slack_channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["subject"]},"create_incident_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_incident"]},"title":{"type":"string","description":"The incident title"},"summary":{"type":"string","description":"The incident summary"},"severity_id":{"type":"string"},"incident_type_ids":{"type":"array","items":{"type":"string"}},"service_ids":{"type":"array","items":{"type":"string"}},"functionality_ids":{"type":"array","items":{"type":"string"}},"environment_ids":{"type":"array","items":{"type":"string"}},"group_ids":{"type":"array","items":{"type":"string"}},"private":{"type":"boolean"},"custom_fields_mapping":{"type":"string","description":"Custom field mappings. Can contain liquid markup and need to be valid JSON","nullable":true}},"required":["title"]},"create_incident_postmortem_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_incident_postmortem"]},"incident_id":{"type":"string","description":"UUID of the incident that needs a retrospective"},"title":{"type":"string","description":"The retrospective title"},"status":{"type":"string","nullable":true},"template":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"Retrospective template to use","nullable":true}},"required":["incident_id","title"]},"create_jira_issue_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_jira_issue"]},"integration":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"Specify integration id if you have more than one Jira instance"},"title":{"type":"string","description":"The issue title"},"description":{"type":"string","description":"The issue description"},"labels":{"type":"string","description":"The issue labels"},"assign_user_email":{"type":"string","description":"The assigned user's email"},"reporter_user_email":{"type":"string","description":"The reporter user's email"},"project_key":{"type":"string","description":"The project key"},"due_date":{"type":"string","description":"The due date"},"issue_type":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The issue type id and display name"},"priority":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The priority id and display name"},"status":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The status id and display name"},"custom_fields_mapping":{"type":"string","description":"Custom field mappings. Can contain liquid markup and need to be valid JSON","nullable":true},"update_payload":{"type":"string","description":"Update payload. Can contain liquid markup and need to be valid JSON","nullable":true}},"required":["project_key","title","issue_type"]},"create_jira_subtask_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_jira_subtask"]},"integration":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"Specify integration id if you have more than one Jira instance"},"project_key":{"type":"string","description":"The project key"},"parent_issue_id":{"type":"string","description":"The parent issue"},"title":{"type":"string","description":"The issue title"},"description":{"type":"string","description":"The issue description"},"subtask_issue_type":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The issue type id and display name"},"labels":{"type":"string","description":"The issue labels"},"due_date":{"type":"string","description":"The due date"},"assign_user_email":{"type":"string","description":"The assigned user's email"},"reporter_user_email":{"type":"string","description":"The reporter user's email"},"priority":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The priority id and display name"},"status":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The status id and display name"},"custom_fields_mapping":{"type":"string","description":"Custom field mappings. Can contain liquid markup and need to be valid JSON","nullable":true},"update_payload":{"type":"string","description":"Update payload. Can contain liquid markup and need to be valid JSON","nullable":true}},"required":["project_key","parent_issue_id","title","subtask_issue_type"]},"create_linear_issue_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_linear_issue"]},"title":{"type":"string","description":"The issue title"},"description":{"type":"string","description":"The issue description"},"team":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The team id and display name"},"state":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The state id and display name"},"project":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The project id and display name"},"labels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"priority":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The priority id and display name"},"assign_user_email":{"type":"string","description":"The assigned user's email"}},"required":["title","team","state"]},"create_linear_subtask_issue_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_linear_subtask_issue"]},"parent_issue_id":{"type":"string","description":"The parent issue"},"title":{"type":"string","description":"The issue title"},"description":{"type":"string","description":"The issue description"},"state":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The state id and display name"},"priority":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The priority id and display name"},"labels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"assign_user_email":{"type":"string","description":"The assigned user's email"}},"required":["parent_issue_id","title","state"]},"create_linear_issue_comment_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_linear_issue_comment"]},"issue_id":{"type":"string","description":"The issue id"},"body":{"type":"string","description":"The issue description"}},"required":["issue_id","body"]},"create_microsoft_teams_meeting_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_microsoft_teams_meeting"]},"name":{"type":"string","description":"The meeting name"},"subject":{"type":"string","description":"The meeting subject"},"record_meeting":{"type":"boolean","description":"Rootly AI will record the meeting and automatically generate a transcript and summary from your meeting"},"post_to_incident_timeline":{"type":"boolean"},"post_to_slack_channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["name","subject"]},"create_microsoft_teams_channel_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_microsoft_teams_channel"]},"team":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"title":{"type":"string","description":"Microsoft Team channel title"},"description":{"type":"string","description":"Microsoft Team channel description"},"private":{"type":"string","enum":["auto","true","false"],"default":"auto"}},"required":["workspace","title"]},"add_microsoft_teams_tab_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["add_microsoft_teams_tab"]},"playbook_id":{"type":"string","description":"The playbook id if tab is of an incident playbook"},"team":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"channel":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"title":{"type":"string","description":"The tab title. Required if not a playbook tab","nullable":true},"link":{"type":"string","description":"The tab link. Required if not a playbook tab","nullable":true}},"required":["team","channel"],"anyOf":[{"required":["title","link"]},{"required":["playbook_id"]}]},"archive_microsoft_teams_channels_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["archive_microsoft_teams_channels"]},"team":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["team","channels"]},"rename_microsoft_teams_channel_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["rename_microsoft_teams_channel"]},"team":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"channel":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"title":{"type":"string"}},"required":["title","team","channel"]},"invite_to_microsoft_teams_channel_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["invite_to_microsoft_teams_channel"]},"team":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"channel":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"emails":{"type":"string","description":"Comma separated list of emails to invite"}},"required":["channel","emails"]},"create_notion_page_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_notion_page"]},"title":{"type":"string","description":"The Notion page title"},"parent_page":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The parent page id and display name"},"post_mortem_template_id":{"type":"string","description":"Retrospective template to use when creating page task, if desired"},"mark_post_mortem_as_published":{"type":"boolean","default":true},"show_timeline_as_table":{"type":"boolean"},"show_action_items_as_table":{"type":"boolean"}},"required":["parent_page","title"]},"send_microsoft_teams_message_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["send_microsoft_teams_message"]},"channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"text":{"type":"string","description":"The message text"}},"required":["text"],"anyOf":[{"required":["channels"]}]},"send_microsoft_teams_blocks_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["send_microsoft_teams_blocks"]},"attachments":{"type":"string","description":"Support liquid markup. Needs to be a valid JSON string after liquid is parsed"}},"required":["attachments"],"anyOf":[{"required":["channels"]}]},"update_notion_page_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_notion_page"]},"file_id":{"type":"string","description":"The Notion page ID"},"title":{"type":"string","description":"The Notion page title"},"post_mortem_template_id":{"type":"string","description":"Retrospective template to use when creating page task, if desired"},"show_timeline_as_table":{"type":"boolean"},"show_action_items_as_table":{"type":"boolean"}},"required":["file_id"]},"create_service_now_incident_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_service_now_incident"]},"title":{"type":"string","description":"The incident title"},"description":{"type":"string","description":"The incident description"},"priority":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The priority id and display name"},"completion":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The completion id and display name"},"custom_fields_mapping":{"type":"string","description":"Custom field mappings. Can contain liquid markup and need to be valid JSON","nullable":true}},"required":["title"]},"create_shortcut_story_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_shortcut_story"]},"title":{"type":"string","description":"The incident title"},"kind":{"type":"string","enum":["bug","chore","feature"]},"description":{"type":"string","description":"The incident description"},"labels":{"type":"string","description":"The story labels"},"due_date":{"type":"string","description":"The due date"},"archivation":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The archivation id and display name"},"group":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The group id and display name"},"project":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The project id and display name"}},"required":["title","project","archivation","kind"]},"create_shortcut_task_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_shortcut_task"]},"parent_story_id":{"type":"string","description":"The parent story"},"description":{"type":"string","description":"The task description"},"completion":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The completion id and display name"}},"required":["parent_story_id","description","completion"]},"create_trello_card_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_trello_card"]},"title":{"type":"string","description":"The card title"},"description":{"type":"string","description":"The card description"},"due_date":{"type":"string","description":"The due date"},"board":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The board id and display name"},"list":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The list id and display name"},"labels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"archivation":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The archivation id and display name"}},"required":["title","board","list"]},"create_webex_meeting_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_webex_meeting"]},"topic":{"type":"string","description":"The meeting topic"},"password":{"type":"string","description":"The meeting password"},"record_meeting":{"type":"boolean","description":"Rootly AI will record the meeting and automatically generate a transcript and summary from your meeting"},"post_to_incident_timeline":{"type":"boolean"},"post_to_slack_channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["topic"]},"create_zendesk_ticket_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_zendesk_ticket"]},"kind":{"type":"string","enum":["problem","incident","question","task"]},"subject":{"type":"string","description":"The ticket subject"},"comment":{"type":"string","description":"The ticket comment"},"tags":{"type":"string","description":"The ticket tags"},"priority":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The priority id and display name"},"completion":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The completion id and display name"},"custom_fields_mapping":{"type":"string","description":"Custom field mappings. Can contain liquid markup and need to be valid JSON","nullable":true},"ticket_payload":{"type":"string","description":"Additional Zendesk ticket attributes. Will be merged into whatever was specified in this tasks current parameters. Can contain liquid markup and need to be valid JSON","nullable":true}},"required":["kind","subject"]},"create_zendesk_jira_link_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_zendesk_jira_link"]},"jira_issue_id":{"type":"string","description":"Jira Issue Id."},"jira_issue_key":{"type":"string","description":"Jira Issue Key."},"zendesk_ticket_id":{"type":"string","description":"Zendesk Ticket Id."}},"required":["jira_issue_id","jira_issue_key","zendesk_ticket_id"]},"create_clickup_task_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_clickup_task"]},"title":{"type":"string","description":"The task title"},"description":{"type":"string","description":"The task description"},"tags":{"type":"string","description":"The task tags"},"priority":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The priority id and display name"},"due_date":{"type":"string","description":"The due date"},"custom_fields_mapping":{"type":"string","description":"Custom field mappings. Can contain liquid markup and need to be valid JSON","nullable":true},"task_payload":{"type":"string","description":"Additional ClickUp task attributes. Will be merged into whatever was specified in this tasks current parameters. Can contain liquid markup and need to be valid JSON","nullable":true}},"required":["title"]},"create_motion_task_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_motion_task"]},"workspace":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"project":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"status":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"title":{"type":"string","description":"The task title"},"description":{"type":"string","description":"The task description"},"labels":{"type":"array","items":{"type":"string"}},"priority":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The priority id and display name"},"duration":{"type":"string","description":"The duration. Eg. \"NONE\", \"REMINDER\", or a integer greater than 0."},"due_date":{"type":"string","description":"The due date"}},"required":["workspace","title"]},"create_zoom_meeting_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_zoom_meeting"]},"topic":{"type":"string","description":"The meeting topic"},"password":{"type":"string","description":"The meeting password"},"create_as_email":{"type":"string","description":"The email to use if creating as email"},"alternative_hosts":{"type":"array","items":{"type":"string","description":"Alternative host email"}},"auto_recording":{"type":"string","enum":["none","local","cloud"],"default":"none"},"record_meeting":{"type":"boolean","description":"Rootly AI will record the meeting and automatically generate a transcript and summary from your meeting"},"post_to_incident_timeline":{"type":"boolean"},"post_to_slack_channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["topic"]},"get_github_commits_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["get_github_commits"]},"service_ids":{"type":"array","items":{"type":"string","description":"ID of service impacted by incident"}},"github_repository_names":{"type":"array","items":{"type":"string"}},"branch":{"type":"string","description":"The branch"},"past_duration":{"type":"string","description":"How far back to fetch commits (in format '1 minute', '30 days', '3 months', etc.)","example":"1 hour"},"services_impacted_by_incident":{"type":"boolean"},"post_to_incident_timeline":{"type":"boolean"},"post_to_slack_channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["branch","past_duration"],"anyOf":[{"required":["service_ids"]},{"required":["github_repository_names"]}]},"get_gitlab_commits_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["get_gitlab_commits"]},"service_ids":{"type":"array","items":{"type":"string","description":"ID of service impacted by incident"}},"gitlab_repository_names":{"type":"array","items":{"type":"string"}},"branch":{"type":"string","description":"The branch"},"past_duration":{"type":"string","description":"How far back to fetch commits (in format '1 minute', '30 days', '3 months', etc.)","example":"1 hour"},"services_impacted_by_incident":{"type":"boolean"},"post_to_incident_timeline":{"type":"boolean"},"post_to_slack_channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["branch","past_duration"],"anyOf":[{"required":["service_ids"]},{"required":["gitlab_repository_names"]}]},"get_pulses_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["get_pulses"]},"service_ids":{"type":"array","items":{"type":"string","description":"ID of service impacted by incident"}},"environment_ids":{"type":"array","items":{"type":"string","description":"ID of environment impacted by incident"}},"labels":{"type":"array","items":{"type":"string"}},"refs":{"type":"array","items":{"type":"string"}},"sources":{"type":"array","items":{"type":"string"}},"past_duration":{"type":"string","description":"How far back to fetch commits (in format '1 minute', '30 days', '3 months', etc.)","example":"1 hour"},"services_impacted_by_incident":{"type":"boolean"},"environments_impacted_by_incident":{"type":"boolean"},"post_to_incident_timeline":{"type":"boolean"},"post_to_slack_channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"parent_message_thread_task":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"A hash where [id] is the task id of the parent task that sent a message, and [name] is the name of the parent task"}},"required":["past_duration"]},"get_alerts_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["get_alerts"]},"service_ids":{"type":"array","items":{"type":"string","description":"ID of service impacted by incident"}},"environment_ids":{"type":"array","items":{"type":"string","description":"ID of environment impacted by incident"}},"labels":{"type":"array","items":{"type":"string"}},"sources":{"type":"array","items":{"type":"string"}},"past_duration":{"type":"string","description":"How far back to fetch commits (in format '1 minute', '30 days', '3 months', etc.)","example":"1 hour"},"services_impacted_by_incident":{"type":"boolean"},"environments_impacted_by_incident":{"type":"boolean"},"post_to_incident_timeline":{"type":"boolean"},"post_to_slack_channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"parent_message_thread_task":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"A hash where [id] is the task id of the parent task that sent a message, and [name] is the name of the parent task"}},"required":["past_duration"]},"http_client_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["http_client"]},"headers":{"type":"string","description":"JSON map of HTTP headers"},"params":{"type":"string","description":"JSON map of HTTP query parameters"},"body":{"type":"string","description":"HTTP body"},"url":{"type":"string","description":"URL endpoint","example":"https://example.com/foo.json"},"event_url":{"type":"string"},"event_message":{"type":"string"},"method":{"type":"string","description":"HTTP method","enum":["GET","POST","PATCH","PUT","DELETE","OPTIONS"],"default":"GET"},"succeed_on_status":{"type":"string","description":"HTTP status code expected. Can be a regular expression. Eg: 200, 200|203, 20[0-3]","example":200},"post_to_incident_timeline":{"type":"boolean"},"post_to_slack_channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["url","succeed_on_status"]},"invite_to_slack_channel_opsgenie_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["invite_to_slack_channel_opsgenie"]},"channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"schedule":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"required":["schedule","channels"]},"invite_to_slack_channel_rootly_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["invite_to_slack_channel_rootly"]},"channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"escalation_policy_target":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"service_target":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"user_target":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"group_target":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"schedule_target":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"required":["channels"]},"invite_to_slack_channel_pagerduty_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["invite_to_slack_channel_pagerduty"]},"channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"escalation_policy":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"schedule":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"service":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"required":["channels"],"anyOf":[{"required":["escalation_policy"]},{"required":["schedule"]}]},"invite_to_slack_channel_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["invite_to_slack_channel"]},"channel":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"slack_users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"slack_user_groups":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["channel"],"anyOf":[{"required":["slack_users"]},{"required":["slack_user_groups"]}]},"invite_to_slack_channel_victor_ops_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["invite_to_slack_channel_victor_ops"]},"channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"team":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"required":["team","channels"]},"page_opsgenie_on_call_responders_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["page_opsgenie_on_call_responders"]},"title":{"type":"string","description":"Incident title.","nullable":true},"message":{"type":"string","description":"Message of the incident"},"description":{"type":"string","description":"Description field of the incident that is generally used to provide a detailed information about the incident"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"priority":{"type":"string","enum":["P1","P2","P3","P4","P5","auto"],"default":"P1"}}},"create_opsgenie_alert_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_opsgenie_alert"]},"message":{"type":"string","description":"Message of the alert"},"description":{"type":"string","description":"Description field of the alert that is generally used to provide a detailed information about the alert"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"schedules":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"escalations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"priority":{"type":"string","enum":["P1","P2","P3","P4","P5","auto"],"default":"P1"},"details":{"type":"string","description":"Details payload. Can contain liquid markup and need to be valid JSON","nullable":true}},"required":["message"]},"update_opsgenie_alert_task_params":{"type":"object","properties":{"alert_id":{"type":"string","description":"Opsgenie Alert ID"},"task_type":{"type":"string","enum":["update_opsgenie_alert"]},"message":{"type":"string","description":"Message of the alert"},"description":{"type":"string","description":"Description field of the alert that is generally used to provide a detailed information about the alert"},"priority":{"type":"string","enum":["P1","P2","P3","P4","P5","auto"]},"completion":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"required":["alert_id","priority","completion"]},"update_opsgenie_incident_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_opsgenie_incident"]},"opsgenie_incident_id":{"type":"string","description":"The Opsgenie incident ID, this can also be a Rootly incident variable ex. {{ incident.opsgenie_incident_id }}"},"message":{"type":"string","description":"Message of the alert"},"description":{"type":"string","description":"Description field of the alert that is generally used to provide a detailed information about the alert"},"status":{"type":"string","enum":["resolve","open","close","auto"]},"priority":{"type":"string","enum":["P1","P2","P3","P4","P5","auto"]}},"required":["opsgenie_incident_id"]},"page_rootly_on_call_responders_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["page_rootly_on_call_responders"]},"escalation_policy_target":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"service_target":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"user_target":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"group_target":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"alert_urgency_id":{"type":"string","description":"Alert urgency ID"},"summary":{"type":"string","description":"Alert title"},"description":{"type":"string","description":"Alert description"},"escalation_note":{"type":"string"}},"required":["summary"]},"page_pagerduty_on_call_responders_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["page_pagerduty_on_call_responders"]},"service":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"escalation_policies":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"title":{"type":"string","description":"Incident title.","nullable":true},"message":{"type":"string"},"urgency":{"type":"string","enum":["high","low","auto"],"default":"high"},"priority":{"type":"string","description":"PagerDuty incident priority, selecting auto will let Rootly auto map our incident severity"},"create_new_incident_on_conflict":{"type":"boolean","description":"Rootly only supports linking to a single PagerDuty incident. If this feature is disabled Rootly will add responders from any additional pages to the existing PagerDuty incident that is linked to the Rootly incident. If enabled, Rootly will create a new PagerDuty incident that is not linked to any Rootly incidents","default":false}},"required":["service"]},"page_victor_ops_on_call_responders_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["page_victor_ops_on_call_responders"]},"escalation_policies":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"title":{"type":"string","description":"Alert title.","nullable":true}},"anyOf":[{"required":["users"]},{"required":["escalation_policies"]}]},"update_victor_ops_incident_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_victor_ops_incident"]},"victor_ops_incident_id":{"type":"string","description":"The victor_ops incident ID, this can also be a Rootly incident variable ex. {{ incident.victor_ops_incident_id }}"},"status":{"type":"string","enum":["resolve","ack","auto"]},"resolution_message":{"type":"string","description":"Resolution message"}},"required":["victor_ops_incident_id","status"]},"print_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["print"]},"message":{"type":"string","description":"The message to print"}},"required":["message"]},"publish_incident_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["publish_incident"]},"incident":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"public_title":{"type":"string"},"event":{"type":"string","description":"Incident event description"},"status":{"type":"string","enum":["investigating","identified","monitoring","resolved","scheduled","in_progress","verifying","completed"],"default":"resolved"},"notify_subscribers":{"type":"boolean","description":"When true notifies subscribers of the status page by email/text","default":false},"should_tweet":{"type":"boolean","description":"For Statuspage.io integrated pages auto publishes a tweet for your update","default":false},"status_page_template":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"status_page_id":{"type":"string"},"integration_payload":{"type":"string","description":"Additional API Payload you can pass to statuspage.io for example. Can contain liquid markup and need to be valid JSON","nullable":true}},"required":["incident","public_title","status","status_page_id"]},"redis_client_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["redis_client"]},"url":{"type":"string","example":"redis://redis-12345.c1.us-east-1-2.ec2.cloud.redislabs.com:12345"},"commands":{"type":"string"},"event_url":{"type":"string"},"event_message":{"type":"string"},"post_to_incident_timeline":{"type":"boolean"},"post_to_slack_channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["url","commands"]},"rename_slack_channel_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["rename_slack_channel"]},"channel":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"title":{"type":"string"}},"required":["title","channel"]},"change_slack_channel_privacy_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["rename_slack_channel"]},"channel":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"privacy":{"type":"string","enum":["private","public"]}},"required":["title","privacy"]},"run_command_heroku_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["run_command_heroku"]},"command":{"type":"string"},"app_name":{"type":"string"},"size":{"type":"string","enum":["standard-1X","standard-2X"]},"post_to_incident_timeline":{"type":"boolean"},"post_to_slack_channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["command","app_name","size"]},"send_email_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["send_email"]},"from":{"type":"string","description":"The from email address. Need to use SMTP integration if different than rootly.com","default":"Rootly <no-reply@rootly.com>"},"to":{"type":"array","items":{"type":"string","description":"To address email"}},"cc":{"type":"array","items":{"type":"string","description":"Cc address email"}},"bcc":{"type":"array","items":{"type":"string","description":"Bcc address email"}},"subject":{"type":"string","description":"The subject"},"preheader":{"type":"string","description":"The preheader","nullable":true},"body":{"type":"string","description":"The email body","nullable":true},"include_header":{"type":"boolean"},"include_footer":{"type":"boolean"},"custom_logo_url":{"type":"string","description":"URL to your custom email logo","nullable":true}},"required":["to","subject","body"]},"send_dashboard_report_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["send_dashboard_report"]},"dashboard_ids":{"type":"array","items":{"type":"string"}},"from":{"type":"string","description":"The from email address. Need to use SMTP integration if different than rootly.com","default":"Rootly <no-reply@rootly.com>"},"to":{"type":"array","items":{"type":"string","description":"The recipient"}},"subject":{"type":"string","description":"The subject"},"preheader":{"type":"string","description":"The preheader","nullable":true},"body":{"type":"string","description":"The email body","nullable":true}},"required":["dashboard_ids","to","subject","body"]},"create_slack_channel_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["create_slack_channel"]},"workspace":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"title":{"type":"string","description":"Slack channel title"},"private":{"type":"string","enum":["auto","true","false"],"default":"auto"}},"required":["workspace","title"]},"send_slack_message_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["send_slack_message"]},"channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"slack_users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"slack_user_groups":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"actionables":{"type":"array","items":{"type":"string","enum":["update_summary","update_status","archive_channel","manage_incident_roles","update_incident","all_commands","leave_feedback","manage_form_fields","manage_action_items","view_tasks","add_pagerduty_responders","add_opsgenie_responders","add_victor_ops_responders","update_status_page","pause_reminder","snooze_reminder","restart_reminder","cancel_incident","delete_message"]}},"broadcast_thread_reply_to_channel":{"type":"boolean"},"send_as_ephemeral":{"type":"boolean"},"color":{"type":"string","description":"A hex color ex. #FFFFFF"},"pin_to_channel":{"type":"boolean"},"update_parent_message":{"type":"boolean"},"thread_ts":{"type":"string","description":"The thread to send the message into"},"parent_message_thread_task":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"A hash where [id] is the task id of the parent task that sent a message, and [name] is the name of the parent task"},"text":{"type":"string","description":"The message text"},"send_only_as_threaded_message":{"type":"boolean","description":"When set to true, if the parent for this threaded message cannot be found the message will be skipped."}},"required":["text"],"anyOf":[{"required":["channels"]},{"required":["slack_users"]},{"required":["slack_user_groups"]}]},"send_sms_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["send_sms"]},"phone_numbers":{"type":"array","items":{"type":"string","description":"A recipient phone number","example":["14150001111"]}},"name":{"type":"string","description":"The name"},"content":{"type":"string","description":"The SMS message"}},"required":["phone_numbers","name","content"]},"send_whatsapp_message_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["send_whatsapp_message"]},"phone_numbers":{"type":"array","items":{"type":"string","description":"A recipient phone number","example":["14150001111"]}},"name":{"type":"string","description":"The name"},"content":{"type":"string","description":"The WhatsApp message"}},"required":["phone_numbers","name","content"]},"snapshot_datadog_graph_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["snapshot_datadog_graph"]},"dashboards":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"past_duration":{"type":"string","description":"in format '1 minute', '30 days', '3 months', etc","example":"1 hour"},"metric_queries":{"type":"array","items":{"type":"string"}},"post_to_incident_timeline":{"type":"boolean"},"post_to_slack_channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["past_duration"]},"snapshot_grafana_dashboard_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["snapshot_grafana_dashboard"]},"dashboards":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"post_to_incident_timeline":{"type":"boolean"},"post_to_slack_channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["dashboards"]},"snapshot_looker_look_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["snapshot_looker_look"]},"dashboards":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"post_to_incident_timeline":{"type":"boolean"},"post_to_slack_channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["dashboards"]},"snapshot_new_relic_graph_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["snapshot_looker_graph"]},"metric_query":{"type":"string"},"metric_type":{"type":"string","enum":["APDEX","AREA","BAR","BASELINE","BILLBOARD","BULLET","EVENT_FEED","FUNNEL","HEATMAP","HISTOGRAM","LINE","PIE","SCATTER","STACKED_HORIZONTAL_BAR","TABLE","VERTICAL_BAR"]},"post_to_incident_timeline":{"type":"boolean"},"post_to_slack_channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}},"required":["metric_query","metric_type"]},"tweet_twitter_message_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["tweet_twitter_message"]},"message":{"type":"string"}},"required":["message"]},"update_airtable_table_record_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_airtable_table_record"]},"base_key":{"type":"string","description":"The base key"},"table_name":{"type":"string","description":"The table name"},"record_id":{"type":"string","description":"The record id"},"custom_fields_mapping":{"type":"string","description":"Custom field mappings. Can contain liquid markup and need to be valid JSON","nullable":true}},"required":["base_key","table_name","record_id"]},"update_asana_task_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_asana_task"]},"task_id":{"type":"string","description":"The task id"},"title":{"type":"string","description":"The task title"},"notes":{"type":"string"},"assign_user_email":{"type":"string","description":"The assigned user's email"},"completion":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"due_date":{"type":"string","description":"The due date"},"custom_fields_mapping":{"type":"string","description":"Custom field mappings. Can contain liquid markup and need to be valid JSON","nullable":true},"dependency_direction":{"type":"string","enum":["blocking","blocked_by"],"default":"blocking"},"dependent_task_ids":{"type":"array","description":"Dependent task ids. Supports liquid syntax","items":{"type":"string"},"nullable":true}},"required":["task_id","completion"]},"update_github_issue_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_github_issue"]},"issue_id":{"type":"string","description":"The issue id"},"title":{"type":"string","description":"The issue title"},"body":{"type":"string","description":"The issue body"},"completion":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"required":["issue_id","completion"]},"update_gitlab_issue_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_gitlab_issue"]},"issue_id":{"type":"string","description":"The issue id"},"issue_type":{"type":"string","description":"The issue type","enum":["issue","incident","test_case","task"]},"title":{"type":"string","description":"The issue title"},"description":{"type":"string","description":"The issue description"},"labels":{"type":"string","description":"The issue labels"},"due_date":{"type":"string","description":"The due date"},"completion":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"required":["issue_id","completion"]},"update_incident_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_incident"]},"attribute_to_query_by":{"type":"string","enum":["id","slug","sequential_id","pagerduty_incident_id","opsgenie_incident_id","victor_ops_incident_id","jira_issue_id","asana_task_id","shortcut_task_id","linear_issue_id","zendesk_ticket_id","motion_task_id","trello_card_id","airtable_record_id","shortcut_story_id","github_issue_id","gitlab_issue_id","freshservice_ticket_id","freshservice_task_id","clickup_task_id"],"default":"id"},"incident_id":{"type":"string","description":"The incident id to update or id of any attribute on the incident"},"title":{"type":"string","description":"The incident title","nullable":true},"summary":{"type":"string","description":"The incident summary","nullable":true},"status":{"type":"string","nullable":true},"severity_id":{"type":"string","nullable":true},"incident_type_ids":{"type":"array","items":{"type":"string"},"nullable":true},"service_ids":{"type":"array","items":{"type":"string"},"nullable":true},"functionality_ids":{"type":"array","items":{"type":"string"},"nullable":true},"environment_ids":{"type":"array","items":{"type":"string"},"nullable":true},"group_ids":{"type":"array","items":{"type":"string"},"nullable":true},"started_at":{"type":"string","nullable":true},"detected_at":{"type":"string","nullable":true},"acknowledged_at":{"type":"string","nullable":true},"mitigated_at":{"type":"string","nullable":true},"resolved_at":{"type":"string","nullable":true},"private":{"type":"boolean"},"custom_fields_mapping":{"type":"string","description":"Custom field mappings. Can contain liquid markup and need to be valid JSON","nullable":true}},"required":["incident_id"]},"update_incident_postmortem_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_incident_postmortem"]},"postmortem_id":{"type":"string","description":"UUID of the retrospective that needs to be updated"},"title":{"type":"string","description":"The incident title","nullable":true},"status":{"type":"string","nullable":true}},"required":["postmortem_id"]},"update_jira_issue_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_jira_issue"]},"issue_id":{"type":"string","description":"The issue id"},"title":{"type":"string","description":"The issue title"},"description":{"type":"string","description":"The issue description"},"labels":{"type":"string","description":"The issue labels"},"assign_user_email":{"type":"string","description":"The assigned user's email"},"reporter_user_email":{"type":"string","description":"The reporter user's email"},"project_key":{"type":"string","description":"The project key"},"due_date":{"type":"string","description":"The due date"},"priority":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The priority id and display name"},"status":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The status id and display name"},"custom_fields_mapping":{"type":"string","description":"Custom field mappings. Can contain liquid markup and need to be valid JSON","nullable":true},"update_payload":{"type":"string","description":"Update payload. Can contain liquid markup and need to be valid JSON","nullable":true}},"required":["issue_id","project_key"]},"update_linear_issue_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_linear_issue"]},"issue_id":{"type":"string","description":"The issue id"},"title":{"type":"string","description":"The issue title"},"description":{"type":"string","description":"The issue description"},"state":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The state id and display name"},"project":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The project id and display name"},"labels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"priority":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The priority id and display name"},"assign_user_email":{"type":"string","description":"The assigned user's email"}},"required":["issue_id"]},"update_service_now_incident_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_service_now_incident"]},"incident_id":{"type":"string","description":"The incident id"},"title":{"type":"string","description":"The incident title"},"description":{"type":"string","description":"The incident description"},"priority":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The priority id and display name"},"completion":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The completion id and display name"},"custom_fields_mapping":{"type":"string","description":"Custom field mappings. Can contain liquid markup and need to be valid JSON","nullable":true}},"required":["incident_id"]},"update_shortcut_story_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_shortcut_story"]},"story_id":{"type":"string","description":"The story id"},"title":{"type":"string","description":"The incident title"},"description":{"type":"string","description":"The incident description"},"labels":{"type":"string","description":"The story labels"},"due_date":{"type":"string","description":"The due date"},"archivation":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The archivation id and display name"}},"required":["story_id","archivation"]},"update_shortcut_task_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_shortcut_task"]},"task_id":{"type":"string","description":"The task id"},"parent_story_id":{"type":"string","description":"The parent story"},"description":{"type":"string","description":"The task description"},"completion":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The completion id and display name"}},"required":["task_id","parent_story_id","completion"]},"update_slack_channel_topic_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_slack_channel_topic"]},"channel":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"topic":{"type":"string"}},"required":["channel","topic"]},"update_status_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_status"]},"status":{"type":"string","enum":["in_triage","started","mitigated","resolved","closed","cancelled"]},"inactivity_timeout":{"type":"string","description":"In format '1 hour', '1 day', etc","example":"1 hour"}},"required":["status"]},"update_incident_status_timestamp_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_status"]},"sub_status_id":{"type":"string","description":"Sub-status to update timestamp for"},"assigned_at":{"type":"string","description":"Timestamp of when the sub-status was assigned"}},"required":["sub_status_id","assigned_at"]},"update_trello_card_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_trello_card"]},"card_id":{"type":"string","description":"The card id"},"title":{"type":"string","description":"The card title"},"description":{"type":"string","description":"The card description"},"due_date":{"type":"string","description":"The due date"},"board":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The board id and display name"},"list":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The list id and display name"},"labels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"archivation":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The archivation id and display name"}},"required":["card_id","archivation"]},"update_clickup_task_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_clickup_task"]},"task_id":{"type":"string","description":"The task id"},"title":{"type":"string","description":"The task title"},"description":{"type":"string","description":"The task description"},"tags":{"type":"string","description":"The task tags"},"priority":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The priority id and display name"},"due_date":{"type":"string","description":"The due date"},"custom_fields_mapping":{"type":"string","description":"Custom field mappings. Can contain liquid markup and need to be valid JSON","nullable":true},"task_payload":{"type":"string","description":"Additional ClickUp task attributes. Will be merged into whatever was specified in this tasks current parameters. Can contain liquid markup and need to be valid JSON","nullable":true}},"required":["task_id"]},"update_motion_task_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_motion_task"]},"task_id":{"type":"string","description":"The task id"},"title":{"type":"string","description":"The task title"},"description":{"type":"string","description":"The task description"},"labels":{"type":"array","items":{"type":"string"}},"priority":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The priority id and display name"},"duration":{"type":"string","description":"The duration. Eg. \"NONE\", \"REMINDER\", or a integer greater than 0."},"due_date":{"type":"string","description":"The due date"}},"required":["task_id"]},"update_zendesk_ticket_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_zendesk_ticket"]},"ticket_id":{"type":"string","description":"The ticket id"},"subject":{"type":"string","description":"The ticket subject"},"tags":{"type":"string","description":"The ticket tags"},"priority":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The priority id and display name"},"completion":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"The completion id and display name"},"custom_fields_mapping":{"type":"string","description":"Custom field mappings. Can contain liquid markup and need to be valid JSON","nullable":true},"ticket_payload":{"type":"string","description":"Additional Zendesk ticket attributes. Will be merged into whatever was specified in this tasks current parameters. Can contain liquid markup and need to be valid JSON","nullable":true}},"required":["ticket_id"]},"update_attached_alerts_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["update_attached_alerts"]},"status":{"type":"string","enum":["acknowledged","resolved"]}},"required":["status"]},"trigger_workflow_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["trigger_workflow"]},"kind":{"type":"string","enum":["incident","post_mortem","action_item","pulse","alert"],"default":"incident"},"attribute_to_query_by":{"type":"string","enum":["id","slug","sequential_id","pagerduty_incident_id","opsgenie_incident_id","victor_ops_incident_id","jira_issue_id","asana_task_id","shortcut_task_id","linear_issue_id","zendesk_ticket_id","motion_task_id","trello_card_id","airtable_record_id","shortcut_story_id","github_issue_id","freshservice_ticket_id","freshservice_task_id","clickup_task_id"],"default":"id","description":"[\"(incident) kind can only match [:id, :slug, :sequential_id, :pagerduty_incident_id, :opsgenie_incident_id, :victor_ops_incident_id, :jira_issue_id, :asana_task_id, :shortcut_task_id, :linear_issue_id, :zendesk_ticket_id, :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id, :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\", \"(post_mortem) kind can only match [:id]\", \"(action_item) kind can only match [:id, :jira_issue_id, :asana_task_id, :shortcut_task_id, :linear_issue_id, :zendesk_ticket_id, :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id, :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\", \"(pulse) kind can only match [:id]\", \"(alert) kind can only match [:id]\"]"},"resource":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"workflow":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"check_workflow_conditions":{"type":"boolean"}},"required":["kind","workflow","resource","attribute_to_query_by"]},"send_slack_blocks_task_params":{"type":"object","properties":{"task_type":{"type":"string","enum":["send_slack_blocks"]},"message":{"type":"string"},"blocks":{"type":"string","description":"Support liquid markup. Needs to be a valid JSON string after liquid is parsed"},"attachments":{"type":"string","description":"Support liquid markup. Needs to be a valid JSON string after liquid is parsed"},"channels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"slack_users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"slack_user_groups":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"broadcast_thread_reply_to_channel":{"type":"boolean"},"send_as_ephemeral":{"type":"boolean"},"pin_to_channel":{"type":"boolean"},"thread_ts":{"type":"string","description":"The thread to send the message into"},"update_parent_message":{"type":"boolean"},"parent_message_thread_task":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"A hash where [id] is the task id of the parent task that sent a message, and [name] is the name of the parent task"},"send_only_as_threaded_message":{"type":"boolean","description":"When set to true, if the parent for this threaded message cannot be found the message will be skipped."}},"required":["blocks"],"anyOf":[{"required":["channels"]},{"required":["slack_users"]},{"required":["slack_user_groups"]}]},"new_workflow_task":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["workflow_tasks"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Name of the workflow task"},"position":{"type":"integer","description":"The position of the workflow task"},"skip_on_failure":{"type":"boolean","description":"Skip workflow task if any failures"},"enabled":{"type":"boolean","description":"Enable/disable workflow task","default":true},"task_params":{"oneOf":[{"$ref":"#/components/schemas/add_action_item_task_params"},{"$ref":"#/components/schemas/update_action_item_task_params"},{"$ref":"#/components/schemas/add_role_task_params"},{"$ref":"#/components/schemas/add_slack_bookmark_task_params"},{"$ref":"#/components/schemas/add_team_task_params"},{"$ref":"#/components/schemas/add_to_timeline_task_params"},{"$ref":"#/components/schemas/archive_slack_channels_task_params"},{"$ref":"#/components/schemas/attach_datadog_dashboards_task_params"},{"$ref":"#/components/schemas/auto_assign_role_opsgenie_task_params"},{"$ref":"#/components/schemas/auto_assign_role_rootly_task_params"},{"$ref":"#/components/schemas/auto_assign_role_pagerduty_task_params"},{"$ref":"#/components/schemas/update_pagerduty_incident_task_params"},{"$ref":"#/components/schemas/create_pagerduty_status_update_task_params"},{"$ref":"#/components/schemas/create_pagertree_alert_task_params"},{"$ref":"#/components/schemas/update_pagertree_alert_task_params"},{"$ref":"#/components/schemas/auto_assign_role_victor_ops_task_params"},{"$ref":"#/components/schemas/call_people_task_params"},{"$ref":"#/components/schemas/create_airtable_table_record_task_params"},{"$ref":"#/components/schemas/create_asana_subtask_task_params"},{"$ref":"#/components/schemas/create_asana_task_task_params"},{"$ref":"#/components/schemas/create_confluence_page_task_params"},{"$ref":"#/components/schemas/create_datadog_notebook_task_params"},{"$ref":"#/components/schemas/create_dropbox_paper_page_task_params"},{"$ref":"#/components/schemas/create_github_issue_task_params"},{"$ref":"#/components/schemas/create_gitlab_issue_task_params"},{"$ref":"#/components/schemas/create_outlook_event_task_params"},{"$ref":"#/components/schemas/create_google_calendar_event_task_params"},{"$ref":"#/components/schemas/update_google_docs_page_task_params"},{"$ref":"#/components/schemas/update_google_calendar_event_task_params"},{"$ref":"#/components/schemas/create_sharepoint_page_task_params"},{"$ref":"#/components/schemas/create_google_docs_page_task_params"},{"$ref":"#/components/schemas/create_google_docs_permissions_task_params"},{"$ref":"#/components/schemas/remove_google_docs_permissions_task_params"},{"$ref":"#/components/schemas/create_quip_page_task_params"},{"$ref":"#/components/schemas/create_google_meeting_task_params"},{"$ref":"#/components/schemas/create_go_to_meeting_task_params"},{"$ref":"#/components/schemas/create_incident_task_params"},{"$ref":"#/components/schemas/create_incident_postmortem_task_params"},{"$ref":"#/components/schemas/create_jira_issue_task_params"},{"$ref":"#/components/schemas/create_jira_subtask_task_params"},{"$ref":"#/components/schemas/create_linear_issue_task_params"},{"$ref":"#/components/schemas/create_linear_subtask_issue_task_params"},{"$ref":"#/components/schemas/create_linear_issue_comment_task_params"},{"$ref":"#/components/schemas/create_microsoft_teams_meeting_task_params"},{"$ref":"#/components/schemas/create_microsoft_teams_channel_task_params"},{"$ref":"#/components/schemas/add_microsoft_teams_tab_task_params"},{"$ref":"#/components/schemas/archive_microsoft_teams_channels_task_params"},{"$ref":"#/components/schemas/rename_microsoft_teams_channel_task_params"},{"$ref":"#/components/schemas/invite_to_microsoft_teams_channel_task_params"},{"$ref":"#/components/schemas/create_notion_page_task_params"},{"$ref":"#/components/schemas/send_microsoft_teams_message_task_params"},{"$ref":"#/components/schemas/send_microsoft_teams_blocks_task_params"},{"$ref":"#/components/schemas/update_notion_page_task_params"},{"$ref":"#/components/schemas/create_service_now_incident_task_params"},{"$ref":"#/components/schemas/create_shortcut_story_task_params"},{"$ref":"#/components/schemas/create_shortcut_task_task_params"},{"$ref":"#/components/schemas/create_trello_card_task_params"},{"$ref":"#/components/schemas/create_webex_meeting_task_params"},{"$ref":"#/components/schemas/create_zendesk_ticket_task_params"},{"$ref":"#/components/schemas/create_zendesk_jira_link_task_params"},{"$ref":"#/components/schemas/create_clickup_task_task_params"},{"$ref":"#/components/schemas/create_motion_task_task_params"},{"$ref":"#/components/schemas/create_zoom_meeting_task_params"},{"$ref":"#/components/schemas/get_github_commits_task_params"},{"$ref":"#/components/schemas/get_gitlab_commits_task_params"},{"$ref":"#/components/schemas/get_pulses_task_params"},{"$ref":"#/components/schemas/get_alerts_task_params"},{"$ref":"#/components/schemas/http_client_task_params"},{"$ref":"#/components/schemas/invite_to_slack_channel_opsgenie_task_params"},{"$ref":"#/components/schemas/invite_to_slack_channel_rootly_task_params"},{"$ref":"#/components/schemas/invite_to_slack_channel_pagerduty_task_params"},{"$ref":"#/components/schemas/invite_to_slack_channel_task_params"},{"$ref":"#/components/schemas/invite_to_slack_channel_victor_ops_task_params"},{"$ref":"#/components/schemas/page_opsgenie_on_call_responders_task_params"},{"$ref":"#/components/schemas/create_opsgenie_alert_task_params"},{"$ref":"#/components/schemas/update_opsgenie_alert_task_params"},{"$ref":"#/components/schemas/update_opsgenie_incident_task_params"},{"$ref":"#/components/schemas/page_rootly_on_call_responders_task_params"},{"$ref":"#/components/schemas/page_pagerduty_on_call_responders_task_params"},{"$ref":"#/components/schemas/page_victor_ops_on_call_responders_task_params"},{"$ref":"#/components/schemas/update_victor_ops_incident_task_params"},{"$ref":"#/components/schemas/print_task_params"},{"$ref":"#/components/schemas/publish_incident_task_params"},{"$ref":"#/components/schemas/redis_client_task_params"},{"$ref":"#/components/schemas/rename_slack_channel_task_params"},{"$ref":"#/components/schemas/change_slack_channel_privacy_task_params"},{"$ref":"#/components/schemas/run_command_heroku_task_params"},{"$ref":"#/components/schemas/send_email_task_params"},{"$ref":"#/components/schemas/send_dashboard_report_task_params"},{"$ref":"#/components/schemas/create_slack_channel_task_params"},{"$ref":"#/components/schemas/send_slack_message_task_params"},{"$ref":"#/components/schemas/send_sms_task_params"},{"$ref":"#/components/schemas/send_whatsapp_message_task_params"},{"$ref":"#/components/schemas/snapshot_datadog_graph_task_params"},{"$ref":"#/components/schemas/snapshot_grafana_dashboard_task_params"},{"$ref":"#/components/schemas/snapshot_looker_look_task_params"},{"$ref":"#/components/schemas/snapshot_new_relic_graph_task_params"},{"$ref":"#/components/schemas/tweet_twitter_message_task_params"},{"$ref":"#/components/schemas/update_airtable_table_record_task_params"},{"$ref":"#/components/schemas/update_asana_task_task_params"},{"$ref":"#/components/schemas/update_github_issue_task_params"},{"$ref":"#/components/schemas/update_gitlab_issue_task_params"},{"$ref":"#/components/schemas/update_incident_task_params"},{"$ref":"#/components/schemas/update_incident_postmortem_task_params"},{"$ref":"#/components/schemas/update_jira_issue_task_params"},{"$ref":"#/components/schemas/update_linear_issue_task_params"},{"$ref":"#/components/schemas/update_service_now_incident_task_params"},{"$ref":"#/components/schemas/update_shortcut_story_task_params"},{"$ref":"#/components/schemas/update_shortcut_task_task_params"},{"$ref":"#/components/schemas/update_slack_channel_topic_task_params"},{"$ref":"#/components/schemas/update_status_task_params"},{"$ref":"#/components/schemas/update_incident_status_timestamp_task_params"},{"$ref":"#/components/schemas/update_trello_card_task_params"},{"$ref":"#/components/schemas/update_clickup_task_task_params"},{"$ref":"#/components/schemas/update_motion_task_task_params"},{"$ref":"#/components/schemas/update_zendesk_ticket_task_params"},{"$ref":"#/components/schemas/update_attached_alerts_task_params"},{"$ref":"#/components/schemas/trigger_workflow_task_params"},{"$ref":"#/components/schemas/send_slack_blocks_task_params"}]}},"required":["task_params"],"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"update_workflow_task":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["workflow_tasks"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Name of the workflow task"},"position":{"type":"integer","description":"The position of the workflow task"},"skip_on_failure":{"type":"boolean","description":"Skip workflow task if any failures"},"enabled":{"type":"boolean","description":"Enable/disable workflow task","default":true},"task_params":{"anyOf":[{"$ref":"#/components/schemas/add_action_item_task_params"},{"$ref":"#/components/schemas/update_action_item_task_params"},{"$ref":"#/components/schemas/add_role_task_params"},{"$ref":"#/components/schemas/add_slack_bookmark_task_params"},{"$ref":"#/components/schemas/add_team_task_params"},{"$ref":"#/components/schemas/add_to_timeline_task_params"},{"$ref":"#/components/schemas/archive_slack_channels_task_params"},{"$ref":"#/components/schemas/attach_datadog_dashboards_task_params"},{"$ref":"#/components/schemas/auto_assign_role_opsgenie_task_params"},{"$ref":"#/components/schemas/auto_assign_role_rootly_task_params"},{"$ref":"#/components/schemas/auto_assign_role_pagerduty_task_params"},{"$ref":"#/components/schemas/update_pagerduty_incident_task_params"},{"$ref":"#/components/schemas/create_pagerduty_status_update_task_params"},{"$ref":"#/components/schemas/create_pagertree_alert_task_params"},{"$ref":"#/components/schemas/update_pagertree_alert_task_params"},{"$ref":"#/components/schemas/auto_assign_role_victor_ops_task_params"},{"$ref":"#/components/schemas/call_people_task_params"},{"$ref":"#/components/schemas/create_airtable_table_record_task_params"},{"$ref":"#/components/schemas/create_asana_subtask_task_params"},{"$ref":"#/components/schemas/create_asana_task_task_params"},{"$ref":"#/components/schemas/create_confluence_page_task_params"},{"$ref":"#/components/schemas/create_datadog_notebook_task_params"},{"$ref":"#/components/schemas/create_dropbox_paper_page_task_params"},{"$ref":"#/components/schemas/create_github_issue_task_params"},{"$ref":"#/components/schemas/create_gitlab_issue_task_params"},{"$ref":"#/components/schemas/create_outlook_event_task_params"},{"$ref":"#/components/schemas/create_google_calendar_event_task_params"},{"$ref":"#/components/schemas/update_google_docs_page_task_params"},{"$ref":"#/components/schemas/update_google_calendar_event_task_params"},{"$ref":"#/components/schemas/create_sharepoint_page_task_params"},{"$ref":"#/components/schemas/create_google_docs_page_task_params"},{"$ref":"#/components/schemas/create_google_docs_permissions_task_params"},{"$ref":"#/components/schemas/remove_google_docs_permissions_task_params"},{"$ref":"#/components/schemas/create_quip_page_task_params"},{"$ref":"#/components/schemas/create_google_meeting_task_params"},{"$ref":"#/components/schemas/create_go_to_meeting_task_params"},{"$ref":"#/components/schemas/create_incident_task_params"},{"$ref":"#/components/schemas/create_incident_postmortem_task_params"},{"$ref":"#/components/schemas/create_jira_issue_task_params"},{"$ref":"#/components/schemas/create_jira_subtask_task_params"},{"$ref":"#/components/schemas/create_linear_issue_task_params"},{"$ref":"#/components/schemas/create_linear_subtask_issue_task_params"},{"$ref":"#/components/schemas/create_linear_issue_comment_task_params"},{"$ref":"#/components/schemas/create_microsoft_teams_meeting_task_params"},{"$ref":"#/components/schemas/create_microsoft_teams_channel_task_params"},{"$ref":"#/components/schemas/add_microsoft_teams_tab_task_params"},{"$ref":"#/components/schemas/archive_microsoft_teams_channels_task_params"},{"$ref":"#/components/schemas/rename_microsoft_teams_channel_task_params"},{"$ref":"#/components/schemas/invite_to_microsoft_teams_channel_task_params"},{"$ref":"#/components/schemas/create_notion_page_task_params"},{"$ref":"#/components/schemas/send_microsoft_teams_message_task_params"},{"$ref":"#/components/schemas/send_microsoft_teams_blocks_task_params"},{"$ref":"#/components/schemas/update_notion_page_task_params"},{"$ref":"#/components/schemas/create_service_now_incident_task_params"},{"$ref":"#/components/schemas/create_shortcut_story_task_params"},{"$ref":"#/components/schemas/create_shortcut_task_task_params"},{"$ref":"#/components/schemas/create_trello_card_task_params"},{"$ref":"#/components/schemas/create_webex_meeting_task_params"},{"$ref":"#/components/schemas/create_zendesk_ticket_task_params"},{"$ref":"#/components/schemas/create_zendesk_jira_link_task_params"},{"$ref":"#/components/schemas/create_clickup_task_task_params"},{"$ref":"#/components/schemas/create_motion_task_task_params"},{"$ref":"#/components/schemas/create_zoom_meeting_task_params"},{"$ref":"#/components/schemas/get_github_commits_task_params"},{"$ref":"#/components/schemas/get_gitlab_commits_task_params"},{"$ref":"#/components/schemas/get_pulses_task_params"},{"$ref":"#/components/schemas/get_alerts_task_params"},{"$ref":"#/components/schemas/http_client_task_params"},{"$ref":"#/components/schemas/invite_to_slack_channel_opsgenie_task_params"},{"$ref":"#/components/schemas/invite_to_slack_channel_rootly_task_params"},{"$ref":"#/components/schemas/invite_to_slack_channel_pagerduty_task_params"},{"$ref":"#/components/schemas/invite_to_slack_channel_task_params"},{"$ref":"#/components/schemas/invite_to_slack_channel_victor_ops_task_params"},{"$ref":"#/components/schemas/page_opsgenie_on_call_responders_task_params"},{"$ref":"#/components/schemas/create_opsgenie_alert_task_params"},{"$ref":"#/components/schemas/update_opsgenie_alert_task_params"},{"$ref":"#/components/schemas/update_opsgenie_incident_task_params"},{"$ref":"#/components/schemas/page_rootly_on_call_responders_task_params"},{"$ref":"#/components/schemas/page_pagerduty_on_call_responders_task_params"},{"$ref":"#/components/schemas/page_victor_ops_on_call_responders_task_params"},{"$ref":"#/components/schemas/update_victor_ops_incident_task_params"},{"$ref":"#/components/schemas/print_task_params"},{"$ref":"#/components/schemas/publish_incident_task_params"},{"$ref":"#/components/schemas/redis_client_task_params"},{"$ref":"#/components/schemas/rename_slack_channel_task_params"},{"$ref":"#/components/schemas/change_slack_channel_privacy_task_params"},{"$ref":"#/components/schemas/run_command_heroku_task_params"},{"$ref":"#/components/schemas/send_email_task_params"},{"$ref":"#/components/schemas/send_dashboard_report_task_params"},{"$ref":"#/components/schemas/create_slack_channel_task_params"},{"$ref":"#/components/schemas/send_slack_message_task_params"},{"$ref":"#/components/schemas/send_sms_task_params"},{"$ref":"#/components/schemas/send_whatsapp_message_task_params"},{"$ref":"#/components/schemas/snapshot_datadog_graph_task_params"},{"$ref":"#/components/schemas/snapshot_grafana_dashboard_task_params"},{"$ref":"#/components/schemas/snapshot_looker_look_task_params"},{"$ref":"#/components/schemas/snapshot_new_relic_graph_task_params"},{"$ref":"#/components/schemas/tweet_twitter_message_task_params"},{"$ref":"#/components/schemas/update_airtable_table_record_task_params"},{"$ref":"#/components/schemas/update_asana_task_task_params"},{"$ref":"#/components/schemas/update_github_issue_task_params"},{"$ref":"#/components/schemas/update_gitlab_issue_task_params"},{"$ref":"#/components/schemas/update_incident_task_params"},{"$ref":"#/components/schemas/update_incident_postmortem_task_params"},{"$ref":"#/components/schemas/update_jira_issue_task_params"},{"$ref":"#/components/schemas/update_linear_issue_task_params"},{"$ref":"#/components/schemas/update_service_now_incident_task_params"},{"$ref":"#/components/schemas/update_shortcut_story_task_params"},{"$ref":"#/components/schemas/update_shortcut_task_task_params"},{"$ref":"#/components/schemas/update_slack_channel_topic_task_params"},{"$ref":"#/components/schemas/update_status_task_params"},{"$ref":"#/components/schemas/update_incident_status_timestamp_task_params"},{"$ref":"#/components/schemas/update_trello_card_task_params"},{"$ref":"#/components/schemas/update_clickup_task_task_params"},{"$ref":"#/components/schemas/update_motion_task_task_params"},{"$ref":"#/components/schemas/update_zendesk_ticket_task_params"},{"$ref":"#/components/schemas/update_attached_alerts_task_params"},{"$ref":"#/components/schemas/trigger_workflow_task_params"},{"$ref":"#/components/schemas/send_slack_blocks_task_params"}]}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"workflow_task":{"type":"object","properties":{"workflow_id":{"type":"string","description":"The ID of the parent workflow"},"task_params":{"oneOf":[{"$ref":"#/components/schemas/add_action_item_task_params"},{"$ref":"#/components/schemas/update_action_item_task_params"},{"$ref":"#/components/schemas/add_role_task_params"},{"$ref":"#/components/schemas/add_slack_bookmark_task_params"},{"$ref":"#/components/schemas/add_team_task_params"},{"$ref":"#/components/schemas/add_to_timeline_task_params"},{"$ref":"#/components/schemas/archive_slack_channels_task_params"},{"$ref":"#/components/schemas/attach_datadog_dashboards_task_params"},{"$ref":"#/components/schemas/auto_assign_role_opsgenie_task_params"},{"$ref":"#/components/schemas/auto_assign_role_rootly_task_params"},{"$ref":"#/components/schemas/auto_assign_role_pagerduty_task_params"},{"$ref":"#/components/schemas/update_pagerduty_incident_task_params"},{"$ref":"#/components/schemas/create_pagerduty_status_update_task_params"},{"$ref":"#/components/schemas/create_pagertree_alert_task_params"},{"$ref":"#/components/schemas/update_pagertree_alert_task_params"},{"$ref":"#/components/schemas/auto_assign_role_victor_ops_task_params"},{"$ref":"#/components/schemas/call_people_task_params"},{"$ref":"#/components/schemas/create_airtable_table_record_task_params"},{"$ref":"#/components/schemas/create_asana_subtask_task_params"},{"$ref":"#/components/schemas/create_asana_task_task_params"},{"$ref":"#/components/schemas/create_confluence_page_task_params"},{"$ref":"#/components/schemas/create_datadog_notebook_task_params"},{"$ref":"#/components/schemas/create_dropbox_paper_page_task_params"},{"$ref":"#/components/schemas/create_github_issue_task_params"},{"$ref":"#/components/schemas/create_gitlab_issue_task_params"},{"$ref":"#/components/schemas/create_outlook_event_task_params"},{"$ref":"#/components/schemas/create_google_calendar_event_task_params"},{"$ref":"#/components/schemas/update_google_docs_page_task_params"},{"$ref":"#/components/schemas/update_google_calendar_event_task_params"},{"$ref":"#/components/schemas/create_sharepoint_page_task_params"},{"$ref":"#/components/schemas/create_google_docs_page_task_params"},{"$ref":"#/components/schemas/create_google_docs_permissions_task_params"},{"$ref":"#/components/schemas/remove_google_docs_permissions_task_params"},{"$ref":"#/components/schemas/create_quip_page_task_params"},{"$ref":"#/components/schemas/create_google_meeting_task_params"},{"$ref":"#/components/schemas/create_go_to_meeting_task_params"},{"$ref":"#/components/schemas/create_incident_task_params"},{"$ref":"#/components/schemas/create_incident_postmortem_task_params"},{"$ref":"#/components/schemas/create_jira_issue_task_params"},{"$ref":"#/components/schemas/create_jira_subtask_task_params"},{"$ref":"#/components/schemas/create_linear_issue_task_params"},{"$ref":"#/components/schemas/create_linear_subtask_issue_task_params"},{"$ref":"#/components/schemas/create_linear_issue_comment_task_params"},{"$ref":"#/components/schemas/create_microsoft_teams_meeting_task_params"},{"$ref":"#/components/schemas/create_microsoft_teams_channel_task_params"},{"$ref":"#/components/schemas/add_microsoft_teams_tab_task_params"},{"$ref":"#/components/schemas/archive_microsoft_teams_channels_task_params"},{"$ref":"#/components/schemas/rename_microsoft_teams_channel_task_params"},{"$ref":"#/components/schemas/invite_to_microsoft_teams_channel_task_params"},{"$ref":"#/components/schemas/create_notion_page_task_params"},{"$ref":"#/components/schemas/send_microsoft_teams_message_task_params"},{"$ref":"#/components/schemas/send_microsoft_teams_blocks_task_params"},{"$ref":"#/components/schemas/update_notion_page_task_params"},{"$ref":"#/components/schemas/create_service_now_incident_task_params"},{"$ref":"#/components/schemas/create_shortcut_story_task_params"},{"$ref":"#/components/schemas/create_shortcut_task_task_params"},{"$ref":"#/components/schemas/create_trello_card_task_params"},{"$ref":"#/components/schemas/create_webex_meeting_task_params"},{"$ref":"#/components/schemas/create_zendesk_ticket_task_params"},{"$ref":"#/components/schemas/create_zendesk_jira_link_task_params"},{"$ref":"#/components/schemas/create_clickup_task_task_params"},{"$ref":"#/components/schemas/create_motion_task_task_params"},{"$ref":"#/components/schemas/create_zoom_meeting_task_params"},{"$ref":"#/components/schemas/get_github_commits_task_params"},{"$ref":"#/components/schemas/get_gitlab_commits_task_params"},{"$ref":"#/components/schemas/get_pulses_task_params"},{"$ref":"#/components/schemas/get_alerts_task_params"},{"$ref":"#/components/schemas/http_client_task_params"},{"$ref":"#/components/schemas/invite_to_slack_channel_opsgenie_task_params"},{"$ref":"#/components/schemas/invite_to_slack_channel_rootly_task_params"},{"$ref":"#/components/schemas/invite_to_slack_channel_pagerduty_task_params"},{"$ref":"#/components/schemas/invite_to_slack_channel_task_params"},{"$ref":"#/components/schemas/invite_to_slack_channel_victor_ops_task_params"},{"$ref":"#/components/schemas/page_opsgenie_on_call_responders_task_params"},{"$ref":"#/components/schemas/create_opsgenie_alert_task_params"},{"$ref":"#/components/schemas/update_opsgenie_alert_task_params"},{"$ref":"#/components/schemas/update_opsgenie_incident_task_params"},{"$ref":"#/components/schemas/page_rootly_on_call_responders_task_params"},{"$ref":"#/components/schemas/page_pagerduty_on_call_responders_task_params"},{"$ref":"#/components/schemas/page_victor_ops_on_call_responders_task_params"},{"$ref":"#/components/schemas/update_victor_ops_incident_task_params"},{"$ref":"#/components/schemas/print_task_params"},{"$ref":"#/components/schemas/publish_incident_task_params"},{"$ref":"#/components/schemas/redis_client_task_params"},{"$ref":"#/components/schemas/rename_slack_channel_task_params"},{"$ref":"#/components/schemas/change_slack_channel_privacy_task_params"},{"$ref":"#/components/schemas/run_command_heroku_task_params"},{"$ref":"#/components/schemas/send_email_task_params"},{"$ref":"#/components/schemas/send_dashboard_report_task_params"},{"$ref":"#/components/schemas/create_slack_channel_task_params"},{"$ref":"#/components/schemas/send_slack_message_task_params"},{"$ref":"#/components/schemas/send_sms_task_params"},{"$ref":"#/components/schemas/send_whatsapp_message_task_params"},{"$ref":"#/components/schemas/snapshot_datadog_graph_task_params"},{"$ref":"#/components/schemas/snapshot_grafana_dashboard_task_params"},{"$ref":"#/components/schemas/snapshot_looker_look_task_params"},{"$ref":"#/components/schemas/snapshot_new_relic_graph_task_params"},{"$ref":"#/components/schemas/tweet_twitter_message_task_params"},{"$ref":"#/components/schemas/update_airtable_table_record_task_params"},{"$ref":"#/components/schemas/update_asana_task_task_params"},{"$ref":"#/components/schemas/update_github_issue_task_params"},{"$ref":"#/components/schemas/update_gitlab_issue_task_params"},{"$ref":"#/components/schemas/update_incident_task_params"},{"$ref":"#/components/schemas/update_incident_postmortem_task_params"},{"$ref":"#/components/schemas/update_jira_issue_task_params"},{"$ref":"#/components/schemas/update_linear_issue_task_params"},{"$ref":"#/components/schemas/update_service_now_incident_task_params"},{"$ref":"#/components/schemas/update_shortcut_story_task_params"},{"$ref":"#/components/schemas/update_shortcut_task_task_params"},{"$ref":"#/components/schemas/update_slack_channel_topic_task_params"},{"$ref":"#/components/schemas/update_status_task_params"},{"$ref":"#/components/schemas/update_incident_status_timestamp_task_params"},{"$ref":"#/components/schemas/update_trello_card_task_params"},{"$ref":"#/components/schemas/update_clickup_task_task_params"},{"$ref":"#/components/schemas/update_motion_task_task_params"},{"$ref":"#/components/schemas/update_zendesk_ticket_task_params"},{"$ref":"#/components/schemas/update_attached_alerts_task_params"},{"$ref":"#/components/schemas/trigger_workflow_task_params"},{"$ref":"#/components/schemas/send_slack_blocks_task_params"}]},"name":{"type":"string","description":"Name of the workflow task"},"position":{"type":"integer","description":"The position of the workflow task"},"skip_on_failure":{"type":"boolean","description":"Skip workflow task if any failures"},"enabled":{"type":"boolean","description":"Enable/disable workflow task","default":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["workflow_id","task_params","position","skip_on_failure","enabled","created_at","updated_at"]},"workflow_task_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the workflow task"},"type":{"type":"string","enum":["workflow_tasks"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/workflow_task"}]}},"required":["id","type","attributes"]}},"required":["data"]},"workflow_task_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the workflow task"},"type":{"type":"string","enum":["workflow_tasks"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/workflow_task"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_workflow_custom_field_selection":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["workflow_custom_field_selections"]},"attributes":{"type":"object","properties":{"workflow_id":{"type":"string","description":"The workflow for this selection"},"custom_field_id":{"type":"integer","description":"The custom field for this selection"},"incident_condition":{"type":"string","description":"The trigger condition","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"values":{"type":"array","items":{"type":"string","description":"The value to associate with the custom field trigger"}},"selected_option_ids":{"type":"array","items":{"type":"integer","description":"The selected option id for select and multi_select kinds"}}},"additionalProperties":false,"required":["incident_condition","custom_field_id"]}},"required":["type","attributes"]}},"required":["data"]},"update_workflow_custom_field_selection":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["workflow_custom_field_selections"]},"attributes":{"type":"object","properties":{"incident_condition":{"type":"string","description":"The trigger condition","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"values":{"type":"array","items":{"type":"string","description":"The value to associate with the custom field trigger"}},"selected_option_ids":{"type":"array","items":{"type":"integer","description":"The selected option id for select and multi_select kinds"}}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"workflow_custom_field_selection":{"type":"object","properties":{"workflow_id":{"type":"string","description":"The workflow for this selection"},"custom_field_id":{"type":"integer","description":"The custom field for this selection"},"incident_condition":{"type":"string","description":"The trigger condition","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"values":{"type":"array","items":{"type":"string","description":"The value to associate with the custom field trigger"}},"selected_option_ids":{"type":"array","items":{"type":"integer","description":"The selected option id for select and multi_select kinds"}}},"required":["workflow_id","custom_field_id","incident_condition","selected_option_ids"]},"workflow_custom_field_selection_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the workflow_custom_field_selection"},"type":{"type":"string","enum":["workflow_custom_field_selections"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/workflow_custom_field_selection"}]}},"required":["id","type","attributes"]}},"required":["data"]},"workflow_custom_field_selection_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the workflow_custom_field_selection"},"type":{"type":"string","enum":["workflow_custom_field_selections"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/workflow_custom_field_selection"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_workflow_form_field_condition":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["workflow_form_field_conditions"]},"attributes":{"type":"object","properties":{"workflow_id":{"type":"string","description":"The workflow for this condition"},"form_field_id":{"type":"string","description":"The custom field for this condition"},"incident_condition":{"type":"string","description":"The trigger condition","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"values":{"type":"array","items":{"type":"string","description":"The value to associate with the custom field trigger"}},"selected_catalog_entity_ids":{"type":"array","items":{"type":"string","description":"The selected catalog entities for select and multi_select kinds"}},"selected_functionality_ids":{"type":"array","items":{"type":"string","description":"The selected functionalities for select and multi_select kinds"}},"selected_group_ids":{"type":"array","items":{"type":"string","description":"The selected groups (teams) for select and multi_select kinds"}},"selected_option_ids":{"type":"array","items":{"type":"string","description":"The selected option id for select and multi_select kinds"}},"selected_service_ids":{"type":"array","items":{"type":"string","description":"The selected services for select and multi_select kinds"}},"selected_user_ids":{"type":"array","items":{"type":"integer","description":"The selected user id for select and multi_select kinds"}}},"additionalProperties":false,"required":["incident_condition","form_field_id"]}},"required":["type","attributes"]}},"required":["data"]},"update_workflow_form_field_condition":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["workflow_form_field_conditions"]},"attributes":{"type":"object","properties":{"incident_condition":{"type":"string","description":"The trigger condition","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"values":{"type":"array","items":{"type":"string","description":"The value to associate with the custom field trigger"}},"selected_catalog_entity_ids":{"type":"array","items":{"type":"string","description":"The selected catalog entities for select and multi_select kinds"}},"selected_functionality_ids":{"type":"array","items":{"type":"string","description":"The selected functionalities for select and multi_select kinds"}},"selected_group_ids":{"type":"array","items":{"type":"string","description":"The selected groups (teams) for select and multi_select kinds"}},"selected_option_ids":{"type":"array","items":{"type":"string","description":"The selected option id for select and multi_select kinds"}},"selected_service_ids":{"type":"array","items":{"type":"string","description":"The selected services for select and multi_select kinds"}},"selected_user_ids":{"type":"array","items":{"type":"integer","description":"The selected user id for select and multi_select kinds"}}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"workflow_form_field_condition":{"type":"object","properties":{"workflow_id":{"type":"string","description":"The workflow for this condition"},"form_field_id":{"type":"string","description":"The custom field for this condition"},"incident_condition":{"type":"string","description":"The trigger condition","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"values":{"type":"array","items":{"type":"string","description":"The value to associate with the custom field trigger"}},"selected_catalog_entity_ids":{"type":"array","items":{"type":"string","description":"The selected catalog entities for select and multi_select kinds"}},"selected_functionality_ids":{"type":"array","items":{"type":"string","description":"The selected functionalities for select and multi_select kinds"}},"selected_group_ids":{"type":"array","items":{"type":"string","description":"The selected groups (teams) for select and multi_select kinds"}},"selected_option_ids":{"type":"array","items":{"type":"string","description":"The selected option id for select and multi_select kinds"}},"selected_service_ids":{"type":"array","items":{"type":"string","description":"The selected services for select and multi_select kinds"}},"selected_user_ids":{"type":"array","items":{"type":"integer","description":"The selected user id for select and multi_select kinds"}}},"required":["workflow_id","form_field_id","incident_condition","selected_catalog_entity_ids","selected_option_ids","selected_user_ids"]},"workflow_form_field_condition_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the workflow_form_field_condition"},"type":{"type":"string","enum":["workflow_form_field_conditions"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/workflow_form_field_condition"}]}},"required":["id","type","attributes"]}},"required":["data"]},"workflow_form_field_condition_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the workflow_form_field_condition"},"type":{"type":"string","enum":["workflow_form_field_conditions"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/workflow_form_field_condition"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_workflow_group":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["workflow_groups"]},"attributes":{"type":"object","properties":{"kind":{"type":"string","description":"The kind of the workflow group","enum":["simple","incident","post_mortem","action_item","pulse","alert"],"nullable":true},"name":{"type":"string","description":"The name of the workflow group."},"description":{"type":"string","description":"A description of the workflow group.","nullable":true},"icon":{"type":"string","description":"An emoji icon displayed next to the workflow group."},"expanded":{"type":"boolean","description":"Whether the group is expanded or collapsed."},"position":{"type":"integer","description":"The position of the workflow group"}},"required":["name"]}},"required":["type","attributes"]}},"required":["data"]},"update_workflow_group":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["workflow_groups"]},"attributes":{"type":"object","properties":{"kind":{"type":"string","description":"The kind of the workflow group","enum":["simple","incident","post_mortem","action_item","pulse","alert"],"nullable":true},"name":{"type":"string","description":"The name of the workflow group."},"description":{"type":"string","description":"A description of the workflow group.","nullable":true},"icon":{"type":"string","description":"An emoji icon displayed next to the workflow group."},"expanded":{"type":"boolean","description":"Whether the group is expanded or collapsed."},"position":{"type":"integer","description":"The position of the workflow group"}}}},"required":["type","attributes"]}},"required":["data"]},"workflow_group":{"type":"object","properties":{"kind":{"type":"string","description":"The kind of the workflow group","enum":["simple","incident","post_mortem","action_item","pulse","alert"],"nullable":true},"name":{"type":"string","description":"The name of the workflow group."},"slug":{"type":"string","description":"The slug of the workflow group."},"description":{"type":"string","description":"A description of the workflow group.","nullable":true},"icon":{"type":"string","description":"An emoji icon displayed next to the workflow group."},"expanded":{"type":"boolean","description":"Whether the group is expanded or collapsed."},"position":{"type":"integer","description":"The position of the workflow group"}},"required":["name","position"]},"workflow_group_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the workflow group"},"type":{"type":"string","enum":["workflow_groups"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/workflow_group"}]}},"required":["id","type","attributes"]}},"required":["data"]},"workflow_group_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the workflow group"},"type":{"type":"string","enum":["workflow_groups"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/workflow_group"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_workflow_run":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["workflow_runs"]},"attributes":{"type":"object","anyOf":[{"properties":{"immediate":{"type":"boolean","nullable":true,"default":true,"description":"If false, this will respect wait time configured on the workflow."},"check_conditions":{"type":"boolean","nullable":true,"default":false,"description":"If true, this will check conditions. If conditions are not satisfied the run will not be created."},"context":{"type":"object","additionalProperties":true}}},{"properties":{"incident_id":{"type":"string"},"immediate":{"type":"boolean","nullable":true,"default":true,"description":"If false, this will respect wait time configured on the workflow"},"check_conditions":{"type":"boolean","nullable":true,"default":false,"description":"If true, this will check conditions. If conditions are not satisfied the run will not be created"},"context":{"type":"object","additionalProperties":true}},"required":["incident_id"]},{"properties":{"post_mortem_id":{"type":"string"},"immediate":{"type":"boolean","nullable":true,"default":true,"description":"If false, this will respect wait time configured on the workflow"},"check_conditions":{"type":"boolean","nullable":true,"default":false,"description":"If true, this will check conditions. If conditions are not satisfied the run will not be created"},"context":{"type":"object","additionalProperties":true}},"required":["post_mortem_id"]},{"properties":{"action_item_id":{"type":"string"},"immediate":{"type":"boolean","nullable":true,"default":true,"description":"If false, this will respect wait time configured on the workflow"},"check_conditions":{"type":"boolean","nullable":true,"default":false,"description":"If true, this will check conditions. If conditions are not satisfied the run will not be created"},"context":{"type":"object","additionalProperties":true}},"required":["action_item_id"]},{"properties":{"alert_id":{"type":"string"},"immediate":{"type":"boolean","nullable":true,"default":true,"description":"If false, this will respect wait time configured on the workflow"},"check_conditions":{"type":"boolean","nullable":true,"default":false,"description":"If true, this will check conditions. If conditions are not satisfied the run will not be created"},"context":{"type":"object","additionalProperties":true}},"required":["alert_id"]},{"properties":{"pulse_id":{"type":"string"},"immediate":{"type":"boolean","nullable":true,"default":true,"description":"If false, this will respect wait time configured on the workflow"},"check_conditions":{"type":"boolean","nullable":true,"default":false,"description":"If true, this will check conditions. If conditions are not satisfied the run will not be created"},"context":{"type":"object","additionalProperties":true}},"required":["pulse_id"]}]}},"required":["type","attributes"]}},"required":["data"]},"workflow_run":{"type":"object","properties":{"workflow_id":{"type":"string"},"status":{"type":"string","enum":["queued","started","completed","completed_with_errors","failed","canceled"]},"status_message":{"type":"string","nullable":true},"triggered_by":{"type":"string","enum":["system","user","workflow"]},"started_at":{"type":"string","nullable":true},"completed_at":{"type":"string","nullable":true},"failed_at":{"type":"string","nullable":true},"canceled_at":{"type":"string","nullable":true},"incident_id":{"type":"string","nullable":true},"post_mortem_id":{"type":"string","nullable":true},"action_item_id":{"type":"string","nullable":true},"alert_id":{"type":"string","nullable":true},"pulse_id":{"type":"string","nullable":true},"context":{"type":"object","additionalProperties":true}},"required":["status","triggered_by","workflow_id"]},"workflow_run_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the workflow run"},"type":{"type":"string","enum":["workflow_runs"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/workflow_run"}]}},"required":["id","type","attributes"]}},"required":["data"]},"workflow_runs_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the workflow run"},"type":{"type":"string","enum":["workflow_runs"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/workflow_run"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_workflow":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["workflows"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The title of the workflow"},"slug":{"type":"string","description":"The slug of the workflow"},"description":{"type":"string","description":"The description of the workflow","nullable":true},"command":{"type":"string","description":"Workflow command","nullable":true},"command_feedback_enabled":{"type":"boolean","description":"This will notify you back when the workflow is starting","nullable":true},"wait":{"type":"string","description":"Wait this duration before executing","nullable":true},"priority":{"type":"string","description":"Priority","enum":["low","normal","high"],"nullable":true},"repeat_every_duration":{"type":"string","description":"Repeat workflow every duration","nullable":true},"repeat_condition_duration_since_first_run":{"type":"string","description":"The workflow will stop repeating if its runtime since it's first workflow run exceeds the duration set in this field","nullable":true},"repeat_condition_number_of_repeats":{"type":"integer","description":"The workflow will stop repeating if the number of repeats exceeds the value set in this field"},"continuously_repeat":{"type":"boolean","description":"When continuously repeat is true, repeat workflows aren't automatically stopped when conditions aren't met. This setting won't override your conditions set by repeat_condition_duration_since_first_run and repeat_condition_number_of_repeats parameters."},"repeat_on":{"type":"array","items":{"type":"string","description":"Repeat on weekdays","enum":["S","M","T","W","R","F","U"]}},"enabled":{"type":"boolean"},"locked":{"type":"boolean","description":"Restricts workflow edits to admins when turned on. Only admins can set this field."},"position":{"type":"integer","description":"The order which the workflow should run with other workflows."},"workflow_group_id":{"type":"string","description":"The group this workflow belongs to.","nullable":true},"trigger_params":{"oneOf":[{"$ref":"#/components/schemas/incident_trigger_params"},{"$ref":"#/components/schemas/action_item_trigger_params"},{"$ref":"#/components/schemas/alert_trigger_params"},{"$ref":"#/components/schemas/pulse_trigger_params"},{"$ref":"#/components/schemas/simple_trigger_params"}]},"environment_ids":{"type":"array","items":{"type":"string"}},"severity_ids":{"type":"array","items":{"type":"string"}},"incident_type_ids":{"type":"array","items":{"type":"string"}},"incident_role_ids":{"type":"array","items":{"type":"string"}},"service_ids":{"type":"array","items":{"type":"string"}},"functionality_ids":{"type":"array","items":{"type":"string"}},"group_ids":{"type":"array","items":{"type":"string"}},"cause_ids":{"type":"array","items":{"type":"string"}},"sub_status_ids":{"type":"array","items":{"type":"string"}}},"additionalProperties":false,"required":["name"]}},"required":["type","attributes"]}},"required":["data"]},"incident_trigger_params":{"type":"object","properties":{"trigger_type":{"type":"string","enum":["incident"]},"triggers":{"type":"array","items":{"type":"string","description":"Actions that trigger the workflow. One of custom_fields.<slug>.updated, incident_in_triage, incident_created, incident_started, incident_updated, title_updated, summary_updated, status_updated, severity_updated, environments_added, environments_removed, environments_updated, incident_types_added, incident_types_removed, incident_types_updated, services_added, services_removed, services_updated, visibility_updated, functionalities_added, functionalities_removed, functionalities_updated, teams_added, teams_removed, teams_updated, causes_added, causes_removed, causes_updated, timeline_updated, status_page_timeline_updated, role_assignments_updated, role_assignments_added, role_assignments_removed, slack_command, slack_channel_created, slack_channel_converted, microsoft_teams_channel_created, subscribers_updated, subscribers_added, subscribers_removed, user_joined_slack_channel, user_left_slack_channel"}},"incident_visibilities":{"type":"array","items":{"type":"boolean"}},"incident_kinds":{"type":"array","items":{"type":"string","enum":["test","test_sub","example","example_sub","normal","normal_sub","backfilled","scheduled"]}},"incident_statuses":{"type":"array","items":{"type":"string","enum":["in_triage","started","detected","acknowledged","mitigated","resolved","closed","cancelled","scheduled","in_progress","completed"]}},"incident_inactivity_duration":{"anyOf":[{"enum":[null]},{"type":"string","description":"ex. 10 min, 1h, 3 days, 2 weeks"}]},"incident_condition":{"type":"string","enum":["ALL","ANY","NONE"],"default":"ALL"},"incident_condition_visibility":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_kind":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"IS"},"incident_condition_status":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_sub_status":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_environment":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_severity":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_incident_type":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_incident_roles":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_service":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_functionality":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_group":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_cause":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_post_mortem_condition_cause":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY","description":"[DEPRECATED] Use incident_condition_cause instead"},"incident_condition_summary":{"anyOf":[{"enum":[null]},{"type":"string","enum":["SET","UNSET"]}]},"incident_condition_started_at":{"anyOf":[{"enum":[null]},{"type":"string","enum":["SET","UNSET"]}]},"incident_condition_detected_at":{"anyOf":[{"enum":[null]},{"type":"string","enum":["SET","UNSET"]}]},"incident_condition_acknowledged_at":{"anyOf":[{"enum":[null]},{"type":"string","enum":["SET","UNSET"]}]},"incident_condition_mitigated_at":{"anyOf":[{"enum":[null]},{"type":"string","enum":["SET","UNSET"]}]},"incident_condition_resolved_at":{"anyOf":[{"enum":[null]},{"type":"string","enum":["SET","UNSET"]}]},"incident_conditional_inactivity":{"anyOf":[{"enum":[null]},{"type":"string","enum":["IS"]}]}},"required":["trigger_type"]},"post_mortem_trigger_params":{"type":"object","properties":{"trigger_type":{"type":"string","enum":["post_mortem"]},"triggers":{"type":"array","items":{"type":"string","description":"Actions that trigger the workflow. One of custom_fields.<slug>.updated, post_mortem_created, post_mortem_updated, status_updated, slack_command"}},"incident_visibilities":{"type":"array","items":{"type":"boolean"}},"incident_kinds":{"type":"array","items":{"type":"string","enum":["test","test_sub","example","example_sub","normal","normal_sub","backfilled","scheduled"]}},"incident_statuses":{"type":"array","items":{"type":"string","enum":["in_triage","started","detected","acknowledged","mitigated","resolved","closed","cancelled","scheduled","in_progress","completed"]}},"incident_inactivity_duration":{"anyOf":[{"enum":[null]},{"type":"string","description":"ex. 10 min, 1h, 3 days, 2 weeks"}]},"incident_condition":{"type":"string","enum":["ALL","ANY","NONE"],"default":"ALL"},"incident_condition_visibility":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_kind":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"IS"},"incident_condition_status":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_sub_status":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_environment":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_severity":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_incident_type":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_incident_roles":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_service":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_functionality":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_group":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_cause":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_post_mortem_condition_cause":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY","description":"[DEPRECATED] Use incident_condition_cause instead"},"incident_condition_summary":{"anyOf":[{"enum":[null]},{"type":"string","enum":["SET","UNSET"]}]},"incident_condition_started_at":{"anyOf":[{"enum":[null]},{"type":"string","enum":["SET","UNSET"]}]},"incident_condition_detected_at":{"anyOf":[{"enum":[null]},{"type":"string","enum":["SET","UNSET"]}]},"incident_condition_acknowledged_at":{"anyOf":[{"enum":[null]},{"type":"string","enum":["SET","UNSET"]}]},"incident_condition_mitigated_at":{"anyOf":[{"enum":[null]},{"type":"string","enum":["SET","UNSET"]}]},"incident_condition_resolved_at":{"anyOf":[{"enum":[null]},{"type":"string","enum":["SET","UNSET"]}]},"incident_conditional_inactivity":{"anyOf":[{"enum":[null]},{"type":"string","enum":["IS"]}]},"incident_post_mortem_condition":{"type":"string","enum":["ALL","ANY","NONE"]},"incident_post_mortem_condition_status":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_post_mortem_statuses":{"type":"array","items":{"type":"string","enum":["draft","published"]}}},"required":["trigger_type"]},"action_item_trigger_params":{"type":"object","properties":{"trigger_type":{"type":"string","enum":["action_item"]},"triggers":{"type":"array","items":{"type":"string","description":"Actions that trigger the workflow. One of custom_fields.<slug>.updated, incident_updated, action_item_created, action_item_updated, assigned_user_updated, summary_updated, description_updated, status_updated, priority_updated, due_date_updated, teams_updated, slack_command"}},"incident_visibilities":{"type":"array","items":{"type":"boolean"}},"incident_kinds":{"type":"array","items":{"type":"string","enum":["test","test_sub","example","example_sub","normal","normal_sub","backfilled","scheduled"]}},"incident_statuses":{"type":"array","items":{"type":"string","enum":["in_triage","started","detected","acknowledged","mitigated","resolved","closed","cancelled","scheduled","in_progress","completed"]}},"incident_inactivity_duration":{"anyOf":[{"enum":[null]},{"type":"string","description":"ex. 10 min, 1h, 3 days, 2 weeks"}]},"incident_condition":{"type":"string","enum":["ALL","ANY","NONE"],"default":"ALL"},"incident_condition_visibility":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_kind":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"IS"},"incident_condition_status":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_sub_status":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_environment":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_severity":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_incident_type":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_incident_roles":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_service":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_functionality":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_group":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_condition_summary":{"anyOf":[{"enum":[null]},{"type":"string","enum":["SET","UNSET"]}]},"incident_condition_started_at":{"anyOf":[{"enum":[null]},{"type":"string","enum":["SET","UNSET"]}]},"incident_condition_detected_at":{"anyOf":[{"enum":[null]},{"type":"string","enum":["SET","UNSET"]}]},"incident_condition_acknowledged_at":{"anyOf":[{"enum":[null]},{"type":"string","enum":["SET","UNSET"]}]},"incident_condition_mitigated_at":{"anyOf":[{"enum":[null]},{"type":"string","enum":["SET","UNSET"]}]},"incident_condition_resolved_at":{"anyOf":[{"enum":[null]},{"type":"string","enum":["SET","UNSET"]}]},"incident_conditional_inactivity":{"anyOf":[{"enum":[null]},{"type":"string","enum":["IS"]}]},"incident_action_item_condition":{"type":"string","enum":["ALL","ANY","NONE"]},"incident_action_item_condition_kind":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_action_item_kinds":{"type":"array","items":{"type":"string","enum":["task","follow_up"]}},"incident_action_item_condition_status":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_action_item_statuses":{"type":"array","items":{"type":"string","enum":["open","in_progress","cancelled","done"]}},"incident_action_item_condition_priority":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_action_item_priorities":{"type":"array","items":{"type":"string","enum":["high","medium","low"]}},"incident_action_item_condition_group":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"incident_action_item_group_ids":{"type":"array","items":{"type":"string"}}},"required":["trigger_type"]},"alert_trigger_params":{"type":"object","properties":{"trigger_type":{"type":"string","enum":["alert"]},"triggers":{"type":"array","items":{"type":"string","description":"Actions that trigger the workflow","enum":["alert_created","alert_status_updated"]}},"alert_condition":{"type":"string","enum":["ALL","ANY","NONE"]},"alert_condition_source":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"alert_condition_source_use_regexp":{"type":"boolean","default":false},"alert_sources":{"type":"array","items":{"type":"string"}},"alert_condition_label":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"alert_condition_label_use_regexp":{"type":"boolean","default":false},"alert_condition_status":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"alert_condition_status_use_regexp":{"type":"boolean","default":false},"alert_statuses":{"type":"array","items":{"type":"string"}},"alert_labels":{"type":"array","items":{"type":"string"}},"alert_condition_payload":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"alert_condition_payload_use_regexp":{"type":"boolean","default":false},"alert_payload":{"type":"array","items":{"type":"string"}},"alert_query_payload":{"type":"string","description":"You can use jsonpath syntax. eg: $.incident.teams[*]","nullable":true}},"required":["trigger_type"]},"pulse_trigger_params":{"type":"object","properties":{"trigger_type":{"type":"string","enum":["pulse"]},"triggers":{"type":"array","items":{"type":"string","description":"Actions that trigger the workflow","enum":["pulse_created"]}},"pulse_condition":{"type":"string","enum":["ALL","ANY","NONE"]},"pulse_condition_source":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"pulse_condition_source_use_regexp":{"type":"boolean","default":false},"pulse_sources":{"type":"array","items":{"type":"string"}},"pulse_condition_label":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"pulse_condition_label_use_regexp":{"type":"boolean","default":false},"pulse_labels":{"type":"array","items":{"type":"string"}},"pulse_condition_payload":{"type":"string","enum":["IS","ANY","CONTAINS","CONTAINS_ALL","CONTAINS_NONE","NONE","SET","UNSET"],"default":"ANY"},"pulse_condition_payload_use_regexp":{"type":"boolean","default":false},"pulse_payload":{"type":"array","items":{"type":"string"}},"pulse_query_payload":{"type":"string","description":"You can use jsonpath syntax. eg: $.incident.teams[*]","nullable":true}},"required":["trigger_type"]},"simple_trigger_params":{"type":"object","properties":{"trigger_type":{"type":"string","enum":["simple"]},"triggers":{"type":"array","items":{"type":"string","description":"Actions that trigger the workflow","enum":["slack_command"]}}},"required":["trigger_type"]},"update_workflow":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["workflows"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The title of the workflow"},"slug":{"type":"string","description":"The slug of the workflow"},"description":{"type":"string","description":"The description of the workflow","nullable":true},"command":{"type":"string","description":"Workflow command","nullable":true},"command_feedback_enabled":{"type":"boolean","description":"This will notify you back when the workflow is starting","nullable":true},"wait":{"type":"string","description":"Wait this duration before executing","nullable":true},"repeat_every_duration":{"type":"string","description":"Repeat workflow every duration","nullable":true},"repeat_condition_duration_since_first_run":{"type":"string","description":"The workflow will stop repeating if its runtime since it's first workflow run exceeds the duration set in this field","nullable":true},"repeat_condition_number_of_repeats":{"type":"integer","description":"The workflow will stop repeating if the number of repeats exceeds the value set in this field"},"continuously_repeat":{"type":"boolean","description":"When continuously repeat is true, repeat workflows aren't automatically stopped when conditions aren't met. This setting won't override your conditions set by repeat_condition_duration_since_first_run and repeat_condition_number_of_repeats parameters."},"enabled":{"type":"boolean"},"locked":{"type":"boolean","description":"Restricts workflow edits to admins when turned on. Only admins can set this field."},"position":{"type":"integer","description":"The order which the workflow should run with other workflows."},"workflow_group_id":{"type":"string","description":"The group this workflow belongs to.","nullable":true},"trigger_params":{"oneOf":[{"$ref":"#/components/schemas/incident_trigger_params"},{"$ref":"#/components/schemas/action_item_trigger_params"},{"$ref":"#/components/schemas/alert_trigger_params"},{"$ref":"#/components/schemas/pulse_trigger_params"},{"$ref":"#/components/schemas/simple_trigger_params"}]},"environment_ids":{"type":"array","items":{"type":"string"}},"severity_ids":{"type":"array","items":{"type":"string"}},"incident_type_ids":{"type":"array","items":{"type":"string"}},"incident_role_ids":{"type":"array","items":{"type":"string"}},"service_ids":{"type":"array","items":{"type":"string"}},"functionality_ids":{"type":"array","items":{"type":"string"}},"group_ids":{"type":"array","items":{"type":"string"}},"cause_ids":{"type":"array","items":{"type":"string"}},"sub_status_ids":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"workflow":{"type":"object","properties":{"name":{"type":"string","description":"The title of the workflow"},"slug":{"type":"string","description":"The slug of the workflow"},"description":{"type":"string","description":"The description of the workflow","nullable":true},"command":{"type":"string","description":"Workflow command","nullable":true},"command_feedback_enabled":{"type":"boolean","description":"This will notify you back when the workflow is starting","nullable":true},"wait":{"type":"string","description":"Wait this duration before executing","nullable":true},"repeat_every_duration":{"type":"string","description":"Repeat workflow every duration","nullable":true},"repeat_condition_duration_since_first_run":{"type":"string","description":"The workflow will stop repeating if its runtime since it's first workflow run exceeds the duration set in this field","nullable":true},"repeat_condition_number_of_repeats":{"type":"integer","description":"The workflow will stop repeating if the number of repeats exceeds the value set in this field"},"continuously_repeat":{"type":"boolean","description":"When continuously repeat is true, repeat workflows aren't automatically stopped when conditions aren't met. This setting won't override your conditions set by repeat_condition_duration_since_first_run and repeat_condition_number_of_repeats parameters."},"repeat_on":{"type":"array","items":{"type":"string","description":"Repeat on weekdays","enum":["S","M","T","W","R","F","U"]},"nullable":true},"enabled":{"type":"boolean"},"locked":{"type":"boolean","description":"Restricts workflow edits to admins when turned on. Only admins can set this field."},"position":{"type":"integer","description":"The order which the workflow should run with other workflows."},"workflow_group_id":{"type":"string","description":"The group this workflow belongs to.","nullable":true},"trigger_params":{"oneOf":[{"$ref":"#/components/schemas/incident_trigger_params"},{"$ref":"#/components/schemas/action_item_trigger_params"},{"$ref":"#/components/schemas/alert_trigger_params"},{"$ref":"#/components/schemas/pulse_trigger_params"},{"$ref":"#/components/schemas/simple_trigger_params"}]},"environment_ids":{"type":"array","items":{"type":"string"}},"severity_ids":{"type":"array","items":{"type":"string"}},"incident_type_ids":{"type":"array","items":{"type":"string"}},"incident_role_ids":{"type":"array","items":{"type":"string"}},"service_ids":{"type":"array","items":{"type":"string"}},"functionality_ids":{"type":"array","items":{"type":"string"}},"group_ids":{"type":"array","items":{"type":"string"}},"cause_ids":{"type":"array","items":{"type":"string"}},"sub_status_ids":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["name","created_at","updated_at"]},"workflow_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the workflow"},"type":{"type":"string","enum":["workflows"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/workflow"}]}},"required":["id","type","attributes"]}},"required":["data"]},"workflow_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the workflow"},"type":{"type":"string","enum":["workflows"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/workflow"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_live_call_router":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["live_call_routers"]},"attributes":{"type":"object","properties":{"kind":{"type":"string","description":"The kind of the live_call_router","enum":["voicemail","live"]},"enabled":{"type":"boolean","description":"Whether the live_call_router is enabled"},"name":{"type":"string","description":"The name of the live_call_router"},"country_code":{"type":"string","description":"The country code of the live_call_router","enum":["US","GB","NZ","CA","AU"]},"phone_type":{"type":"string","description":"The phone type of the live_call_router","enum":["local","toll_free"]},"phone_number":{"type":"string","description":"You can select a phone number using [generate_phone_number](#//api/v1/live_call_routers/generate_phone_number) API and pass that phone number here to register"},"voicemail_greeting":{"type":"string","description":"The voicemail greeting of the live_call_router"},"caller_greeting":{"type":"string","description":"The caller greeting message of the live_call_router"},"waiting_music_url":{"type":"string","description":"The waiting music URL of the live_call_router"},"sent_to_voicemail_delay":{"type":"integer","description":"The delay (seconds) after which the caller in redirected to voicemail"},"should_redirect_to_voicemail_on_no_answer":{"type":"boolean","description":"This prompts the caller to choose voicemail or connect live"},"escalation_level_delay_in_seconds":{"type":"integer","description":"This overrides the delay (seconds) in escalation levels"},"should_auto_resolve_alert_on_call_end":{"type":"boolean","description":"This overrides the delay (seconds) in escalation levels"},"alert_urgency_id":{"type":"string","description":"This is used in escalation paths to determine who to page"},"escalation_policy_trigger_params":{"type":"object","properties":{"id":{"type":"string","description":"The ID of notification target"},"type":{"type":"string","description":"The type of the notification target","enum":["service","group","escalation_policy"]}},"required":["id","type"],"nullable":false}},"additionalProperties":false,"required":["kind","name","country_code","phone_type","phone_number","escalation_policy_trigger_params"]}},"required":["type","attributes"]}},"required":["data"]},"update_live_call_router":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["live_call_routers"]},"attributes":{"type":"object","properties":{"kind":{"type":"string","description":"The kind of the live_call_router","enum":["voicemail","live"]},"enabled":{"type":"boolean","description":"Whether the live_call_router is enabled"},"name":{"type":"string","description":"The name of the live_call_router"},"country_code":{"type":"string","description":"The country code of the live_call_router","enum":["US","GB","NZ","CA","AU"]},"phone_type":{"type":"string","description":"The phone type of the live_call_router","enum":["local","toll_free"]},"voicemail_greeting":{"type":"string","description":"The voicemail greeting of the live_call_router"},"caller_greeting":{"type":"string","description":"The caller greeting message of the live_call_router"},"waiting_music_url":{"type":"string","description":"The waiting music URL of the live_call_router"},"sent_to_voicemail_delay":{"type":"integer","description":"The delay (seconds) after which the caller in redirected to voicemail"},"should_redirect_to_voicemail_on_no_answer":{"type":"boolean","description":"This prompts the caller to choose voicemail or connect live"},"escalation_level_delay_in_seconds":{"type":"integer","description":"This overrides the delay (seconds) in escalation levels"},"should_auto_resolve_alert_on_call_end":{"type":"boolean","description":"This overrides the delay (seconds) in escalation levels"},"alert_urgency_id":{"type":"string","description":"This is used in escalation paths to determine who to page"},"escalation_policy_trigger_params":{"type":"object","properties":{"id":{"type":"string","description":"The ID of notification target"},"type":{"type":"string","description":"The type of the notification target","enum":["Service","Group","EscalationPolicy"]}},"required":["id","type"],"nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"live_call_router":{"type":"object","properties":{"kind":{"type":"string","description":"The kind of the live_call_router","enum":["voicemail","live"]},"enabled":{"type":"boolean","description":"Whether the live_call_router is enabled"},"name":{"type":"string","description":"The name of the live_call_router"},"country_code":{"type":"string","description":"The country code of the live_call_router","enum":["US","GB","NZ","CA","AU"]},"phone_type":{"type":"string","description":"The phone type of the live_call_router","enum":["local","toll_free"]},"phone_number":{"type":"string","description":"You can select a phone number using [generate_phone_number](#//api/v1/live_call_routers/generate_phone_number) API and pass that phone number here to register"},"voicemail_greeting":{"type":"string","description":"The voicemail greeting of the live_call_router"},"caller_greeting":{"type":"string","description":"The caller greeting message of the live_call_router"},"waiting_music_url":{"type":"string","description":"The waiting music URL of the live_call_router"},"sent_to_voicemail_delay":{"type":"integer","description":"The delay (seconds) after which the caller in redirected to voicemail"},"should_redirect_to_voicemail_on_no_answer":{"type":"boolean","description":"This prompts the caller to choose voicemail or connect live"},"escalation_level_delay_in_seconds":{"type":"integer","description":"This overrides the delay (seconds) in escalation levels"},"should_auto_resolve_alert_on_call_end":{"type":"boolean","description":"This overrides the delay (seconds) in escalation levels"},"alert_urgency_id":{"type":"string","description":"This is used in escalation paths to determine who to page"},"escalation_policy_trigger_params":{"type":"object","properties":{"id":{"type":"string","description":"The ID of notification target"},"type":{"type":"string","description":"The type of the notification target","enum":["Service","Group","EscalationPolicy"]}},"required":["id","type"],"nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["name","created_at","updated_at"]},"live_call_router_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the live_call_router"},"type":{"type":"string","enum":["live_call_routers"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/live_call_router"}]}},"required":["id","type","attributes"]}},"required":["data"]},"live_call_router_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the live_call_router"},"type":{"type":"string","enum":["live_call_routers"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/live_call_router"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_heartbeat":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["heartbeats"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the heartbeat"},"description":{"type":"string","description":"The description of the heartbeat","nullable":true},"alert_summary":{"type":"string","description":"Summary of alerts triggered when heartbeat expires."},"alert_urgency_id":{"type":"string","description":"Urgency of alerts triggered when heartbeat expires.","nullable":true},"interval":{"type":"integer"},"interval_unit":{"type":"string","enum":["seconds","minutes","hours"]},"notification_target_id":{"type":"string"},"notification_target_type":{"type":"string","enum":["User","Group","Service","EscalationPolicy"]},"enabled":{"type":"boolean","description":"Whether to trigger alerts when heartbeat is expired."}},"additionalProperties":false,"required":["name","alert_summary","interval","interval_unit","notification_target_id","notification_target_type"]}},"required":["type","attributes"]}},"required":["data"]},"update_heartbeat":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["heartbeats"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the heartbeat"},"description":{"type":"string","description":"The description of the heartbeat","nullable":true},"alert_summary":{"type":"string","description":"Summary of alerts triggered when heartbeat expires."},"alert_urgency_id":{"type":"string","description":"Urgency of alerts triggered when heartbeat expires.","nullable":true},"interval":{"type":"integer"},"interval_unit":{"type":"string","enum":["seconds","minutes","hours"]},"notification_target_id":{"type":"string"},"notification_target_type":{"type":"string","enum":["User","Group","Service","EscalationPolicy"]},"enabled":{"type":"boolean","description":"Whether to trigger alerts when heartbeat is expired."}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"heartbeat":{"type":"object","properties":{"name":{"type":"string","description":"The name of the heartbeat"},"description":{"type":"string","description":"The description of the heartbeat","nullable":true},"alert_summary":{"type":"string","description":"Summary of alerts triggered when heartbeat expires."},"alert_urgency_id":{"type":"string","description":"Urgency of alerts triggered when heartbeat expires.","nullable":true},"interval":{"type":"integer"},"interval_unit":{"type":"string","enum":["seconds","minutes","hours"]},"notification_target_id":{"type":"string"},"notification_target_type":{"type":"string","enum":["User","Group","Service","EscalationPolicy"]},"enabled":{"type":"boolean","description":"Whether to trigger alerts when heartbeat is expired."},"status":{"type":"string","enum":["waiting","active","expired"]},"last_pinged_at":{"type":"string","description":"When the heartbeat was last pinged.","nullable":true},"expires_at":{"type":"string","description":"When heartbeat expires","nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["name","alert_summary","interval","interval_unit","notification_target_id","notification_target_type","enabled","status","created_at","updated_at"]},"heartbeat_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the heartbeat"},"type":{"type":"string","enum":["heartbeats"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/heartbeat"}]}},"required":["id","type","attributes"]}},"required":["data"]},"heartbeat_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the heartbeat"},"type":{"type":"string","enum":["heartbeats"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/heartbeat"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_incident_action_item":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_action_items"]},"attributes":{"type":"object","properties":{"summary":{"type":"string","description":"The summary of the action item"},"description":{"type":"string","description":"The description of the action item","nullable":true},"kind":{"type":"string","description":"The kind of the action item","enum":["task","follow_up"]},"assigned_to_user_id":{"type":"integer","description":"ID of user you wish to assign this action item","nullable":true},"assigned_to_group_ids":{"type":"array","description":"IDs of groups you wish to assign this action item","items":{"type":"string"}},"priority":{"type":"string","description":"The priority of the action item","enum":["high","medium","low"]},"status":{"type":"string","description":"The status of the action item","enum":["open","in_progress","cancelled","done"]},"due_date":{"type":"string","description":"The due date of the action item","nullable":true},"jira_issue_id":{"type":"string","description":"The Jira issue ID.","nullable":true},"jira_issue_url":{"type":"string","description":"The Jira issue URL.","nullable":true}},"additionalProperties":false,"required":["summary"]}},"required":["type","attributes"]}},"required":["data"]},"update_incident_action_item":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_action_items"]},"attributes":{"type":"object","properties":{"summary":{"type":"string","description":"The summary of the action item"},"description":{"type":"string","description":"The description of the action item","nullable":true},"kind":{"type":"string","description":"The kind of the action item","enum":["task","follow_up"]},"assigned_to_user_id":{"type":"integer","description":"ID of user you wish to assign this action item","nullable":true},"assigned_to_group_ids":{"type":"array","description":"IDs of groups you wish to assign this action item","items":{"type":"string"},"nullable":true},"priority":{"type":"string","description":"The priority of the action item","enum":["high","medium","low"]},"status":{"type":"string","description":"The status of the action item","enum":["open","in_progress","cancelled","done"]},"due_date":{"type":"string","description":"The due date of the action item","nullable":true},"jira_issue_id":{"type":"string","description":"The Jira issue ID.","nullable":true},"jira_issue_url":{"type":"string","description":"The Jira issue URL.","nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"incident_action_item":{"type":"object","properties":{"summary":{"type":"string","description":"The summary of the action item"},"description":{"type":"string","description":"The description of incident action item","nullable":true},"kind":{"type":"string","description":"The kind of the action item","enum":["task","follow_up"]},"assigned_to_user_id":{"type":"integer","description":"ID of user you wish to assign this action item","nullable":true},"assigned_to_group_ids":{"type":"array","description":"IDs of groups you wish to assign this action item","items":{"type":"string"},"nullable":true},"priority":{"type":"string","description":"The priority of the action item","enum":["high","medium","low"]},"status":{"type":"string","description":"The status of the action item","enum":["open","in_progress","cancelled","done"]},"due_date":{"type":"string","description":"The due date of the action item","nullable":true},"jira_issue_id":{"type":"string","description":"The Jira issue ID.","nullable":true},"jira_issue_url":{"type":"string","description":"The Jira issue URL.","nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["summary","created_at","updated_at"]},"incident_action_item_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the action item"},"type":{"type":"string","enum":["incident_action_items"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_action_item"}]}},"required":["id","type","attributes"]}},"required":["data"]},"incident_action_item_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the action item"},"type":{"type":"string","enum":["incident_action_items"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_action_item"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_incident_custom_field_selection":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_custom_field_selections"]},"attributes":{"type":"object","properties":{"custom_field_id":{"type":"integer","description":"The custom field for this selection"},"value":{"type":"string","description":"The selected value for text kind custom fields","nullable":true},"selected_option_ids":{"type":"array","items":{"type":"integer","description":"The selected option id for select and multi_select kinds"}}},"additionalProperties":false,"required":["value","custom_field_id"]}},"required":["type","attributes"]}},"required":["data"]},"update_incident_custom_field_selection":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_custom_field_selections"]},"attributes":{"type":"object","properties":{"value":{"type":"string","description":"The selected value for text kind custom fields","nullable":true},"selected_option_ids":{"type":"array","items":{"type":"integer","description":"The selected option id for select and multi_select kinds"}}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"incident_custom_field_selection":{"type":"object","properties":{"incident_id":{"type":"string"},"custom_field_id":{"type":"integer"},"value":{"type":"string","description":"The value of the incident_custom_field_selection","nullable":true},"selected_option_ids":{"type":"array","items":{"type":"integer","description":"The selected option id for select and multi_select kinds"}}},"required":["value","selected_option_ids"]},"incident_custom_field_selection_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident_custom_field_selection"},"type":{"type":"string","enum":["incident_custom_field_selections"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_custom_field_selection"}]}},"required":["id","type","attributes"]}},"required":["data"]},"incident_custom_field_selection_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident_custom_field_selection"},"type":{"type":"string","enum":["incident_custom_field_selections"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_custom_field_selection"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_incident_event_functionality":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_event_functionalities"]},"attributes":{"type":"object","properties":{"incident_event_id":{"type":"string","description":"The ID of the incident event."},"functionality_id":{"type":"string","description":"The ID of the functionality."},"status":{"type":"string","description":"The status of the affected functionality","enum":["operational","partial_outage","major_outage"]}},"additionalProperties":false,"required":["incident_event_id","functionality_id","status"]}},"required":["type","attributes"]}},"required":["data"]},"update_incident_event_functionality":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_event_functionalities"]},"attributes":{"type":"object","properties":{"status":{"type":"string","description":"The status of the affected functionality","enum":["operational","partial_outage","major_outage"]}},"additionalProperties":false,"required":["status"]}},"required":["type","attributes"]}},"required":["data"]},"incident_event_functionality":{"type":"object","properties":{"incident_event_id":{"type":"string","description":"The ID of the incident event."},"functionality_id":{"type":"string","description":"The ID of the functionality."},"status":{"type":"string","description":"The status of the affected functionality","enum":["operational","partial_outage","major_outage"]}},"additionalProperties":false,"required":["incident_event_id","functionality_id","status"]},"incident_event_functionality_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident event functionality"},"type":{"type":"string","enum":["incident_event_functionalities"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_event_functionality"}]}},"required":["id","type","attributes"]}},"required":["data"]},"incident_event_functionality_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident event functionality"},"type":{"type":"string","enum":["incident_event_functionalities"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_event_functionality"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_incident_event_service":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_event_services"]},"attributes":{"type":"object","properties":{"incident_event_id":{"type":"string","description":"The ID of the incident event."},"service_id":{"type":"string","description":"The ID of the service."},"status":{"type":"string","description":"The status of the affected service","enum":["operational","partial_outage","major_outage"]}},"additionalProperties":false,"required":["incident_event_id","service_id","status"]}},"required":["type","attributes"]}},"required":["data"]},"update_incident_event_service":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_event_services"]},"attributes":{"type":"object","properties":{"status":{"type":"string","description":"The status of the affected service","enum":["operational","partial_outage","major_outage"]}},"additionalProperties":false,"required":["status"]}},"required":["type","attributes"]}},"required":["data"]},"incident_event_service":{"type":"object","properties":{"incident_event_id":{"type":"string","description":"The ID of the incident event."},"service_id":{"type":"string","description":"The ID of the service."},"status":{"type":"string","description":"The status of the affected service","enum":["operational","partial_outage","major_outage"]}},"additionalProperties":false,"required":["incident_event_id","service_id","status"]},"incident_event_service_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident event service"},"type":{"type":"string","enum":["incident_event_services"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_event_service"}]}},"required":["id","type","attributes"]}},"required":["data"]},"incident_event_service_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident event service"},"type":{"type":"string","enum":["incident_event_services"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_event_service"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_incident_event":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_events"]},"attributes":{"type":"object","properties":{"event":{"type":"string","description":"The summary of the incident event"},"visibility":{"type":"string","description":"The visibility of the incident action item","enum":["internal","external"]}},"additionalProperties":false,"required":["event"]}},"required":["type","attributes"]}},"required":["data"]},"update_incident_event":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_events"]},"attributes":{"type":"object","properties":{"event":{"type":"string","description":"The summary of the incident event"},"visibility":{"type":"string","description":"The visibility of the incident action item","enum":["internal","external"]}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"incident_event":{"type":"object","properties":{"event":{"type":"string","description":"The summary of the incident event"},"visibility":{"type":"string","description":"The visibility of the incident action item","enum":["internal","external"]},"occurred_at":{"type":"string","description":"Date of occurence"},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["event","occurred_at","created_at","updated_at"]},"incident_event_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident event"},"type":{"type":"string","enum":["incident_events"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_event"}]}},"required":["id","type","attributes"]}},"required":["data"]},"incident_event_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident event"},"type":{"type":"string","enum":["incident_events"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_event"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_incident_feedback":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_feedbacks"]},"attributes":{"type":"object","properties":{"feedback":{"type":"string","description":"The feedback of the incident feedback"},"rating":{"type":"integer","description":"The rating of the incident feedback","enum":[4,3,2,1,0]},"anonymous":{"type":"boolean","description":"Is the feedback anonymous?"}},"additionalProperties":false,"required":["rating","feedback"]}},"required":["type","attributes"]}},"required":["data"]},"update_incident_feedback":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_feedbacks"]},"attributes":{"type":"object","properties":{"feedback":{"type":"string","description":"The feedback of the incident feedback"},"rating":{"type":"integer","description":"The rating of the incident feedback","enum":[4,3,2,1,0]},"anonymous":{"type":"boolean","description":"Is the feedback anonymous?"}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"incident_feedback":{"type":"object","properties":{"feedback":{"type":"string","description":"The feedback of the incident feedback"},"rating":{"type":"integer","description":"The rating of the incident feedback","enum":[4,3,2,1,0]},"anonymous":{"type":"boolean","description":"Is the feedback anonymous?"},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["rating","feedback","anonymous","created_at","updated_at"]},"incident_feedback_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident feedback"},"type":{"type":"string","enum":["incident_feedbacks"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_feedback"}]}},"required":["id","type","attributes"]}},"required":["data"]},"incident_feedback_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident feedback"},"type":{"type":"string","enum":["incident_feedbacks"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_feedback"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_incident_form_field_selection":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_form_field_selections"]},"attributes":{"type":"object","properties":{"incident_id":{"type":"string"},"form_field_id":{"type":"string","description":"The custom field for this selection"},"value":{"type":"string","description":"The selected value for text kind custom fields","nullable":true},"selected_catalog_entity_ids":{"type":"array","items":{"type":"string","description":"The selected catalog entities for select and multi_select kinds"}},"selected_group_ids":{"type":"array","items":{"type":"string","description":"The selected groups (teams) for select and multi_select kinds"}},"selected_option_ids":{"type":"array","items":{"type":"string","description":"The selected options for select and multi_select kinds"}},"selected_service_ids":{"type":"array","items":{"type":"string","description":"The selected services for select and multi_select kinds"}},"selected_functionality_ids":{"type":"array","items":{"type":"string","description":"The selected functionalities for select and multi_select kinds"}},"selected_user_ids":{"type":"array","items":{"type":"integer","description":"The selected users for select and multi_select kinds"}}},"additionalProperties":false,"required":["form_field_id","incident_id"]}},"required":["type","attributes"]}},"required":["data"]},"update_incident_form_field_selection":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_form_field_selections"]},"attributes":{"type":"object","properties":{"value":{"type":"string","description":"The selected value for text kind custom fields","nullable":true},"selected_catalog_entity_ids":{"type":"array","items":{"type":"string","description":"The selected catalog entities for select and multi_select kinds"}},"selected_group_ids":{"type":"array","items":{"type":"string","description":"The selected groups (teams) for select and multi_select kinds"}},"selected_option_ids":{"type":"array","items":{"type":"string","description":"The selected options for select and multi_select kinds"}},"selected_service_ids":{"type":"array","items":{"type":"string","description":"The selected services for select and multi_select kinds"}},"selected_functionality_ids":{"type":"array","items":{"type":"string","description":"The selected functionalities for select and multi_select kinds"}},"selected_user_ids":{"type":"array","items":{"type":"integer","description":"The selected users for select and multi_select kinds"}}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"incident_form_field_selection":{"type":"object","properties":{"incident_id":{"type":"string"},"form_field_id":{"type":"string","description":"The custom field for this selection"},"value":{"type":"string","description":"The selected value for text kind custom fields","nullable":true},"selected_catalog_entity_ids":{"type":"array","items":{"type":"string","description":"The selected catalog entities for select and multi_select kinds"}},"selected_group_ids":{"type":"array","items":{"type":"string","description":"The selected groups (teams) for select and multi_select kinds"}},"selected_option_ids":{"type":"array","items":{"type":"string","description":"The selected options for select and multi_select kinds"}},"selected_service_ids":{"type":"array","items":{"type":"string","description":"The selected services for select and multi_select kinds"}},"selected_functionality_ids":{"type":"array","items":{"type":"string","description":"The selected functionalities for select and multi_select kinds"}},"selected_user_ids":{"type":"array","items":{"type":"integer","description":"The selected users for select and multi_select kinds"}}},"required":["incident_id","form_field_id"]},"incident_form_field_selection_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident_form_field_selection"},"type":{"type":"string","enum":["incident_form_field_selections"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_form_field_selection"}]}},"required":["id","type","attributes"]}},"required":["data"]},"incident_form_field_selection_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident_form_field_selection"},"type":{"type":"string","enum":["incident_form_field_selections"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_form_field_selection"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_incident_permission_set_boolean":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_permission_set_booleans"]},"attributes":{"type":"object","properties":{"incident_permission_set_id":{"type":"string"},"kind":{"type":"string","enum":["publish_to_status_page","assign_incident_roles","invite_subscribers","update_summary","update_timeline","trigger_workflows","create_communications","read_communications","update_communications","delete_communications","send_communications","modify_custom_fields"]},"private":{"type":"boolean"},"enabled":{"type":"boolean"},"severity_params":{"type":"object","properties":{"fully_enabled":{"type":"boolean","description":"Whether permissions are enabled for any severity incident","default":true},"create_enabled":{"type":"boolean","description":"Whether permissions are enabled when creating incident","default":false},"applies_to_unassigned":{"type":"boolean","description":"Whether permissions are enabled for incident without severity","default":true},"severity_ids":{"type":"array","description":"Severity ids that determine if an incident is permitted based on matching severity","items":{"type":"string"},"nullable":true}}}},"additionalProperties":false,"required":["kind","incident_permission_set_id"]}},"required":["type","attributes"]}},"required":["data"]},"update_incident_permission_set_boolean":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_permission_set_booleans"]},"attributes":{"type":"object","properties":{"kind":{"type":"string","enum":["publish_to_status_page","assign_incident_roles","invite_subscribers","update_summary","update_timeline","trigger_workflows","create_communications","read_communications","update_communications","delete_communications","send_communications","modify_custom_fields"]},"private":{"type":"boolean"},"enabled":{"type":"boolean"},"severity_params":{"type":"object","properties":{"fully_enabled":{"type":"boolean","description":"Whether permissions are enabled for any severity incident","default":true},"applies_to_unassigned":{"type":"boolean","description":"Whether permissions are enabled for incident without severity","default":true},"create_enabled":{"type":"boolean","description":"Whether permissions are enabled when creating incident","default":false},"severity_ids":{"type":"array","description":"Severity ids that determine if an incident is permitted based on matching severity","items":{"type":"string"},"nullable":true}}}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"incident_permission_set_boolean":{"type":"object","properties":{"incident_permission_set_id":{"type":"string"},"kind":{"type":"string","enum":["publish_to_status_page","assign_incident_roles","invite_subscribers","update_summary","update_timeline","trigger_workflows","create_communications","read_communications","update_communications","delete_communications","send_communications","modify_custom_fields"]},"private":{"type":"boolean"},"enabled":{"type":"boolean"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["kind","created_at","updated_at"]},"incident_permission_set_boolean_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident permission set boolean"},"type":{"type":"string","enum":["incident_permission_set_booleans"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_permission_set_boolean"}]}},"required":["id","type","attributes"]}},"required":["data"]},"incident_permission_set_boolean_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident permission set boolean"},"type":{"type":"string","enum":["incident_permission_set_booleans"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_permission_set_boolean"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_incident_permission_set_resource":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_permission_set_resources"]},"attributes":{"type":"object","properties":{"incident_permission_set_id":{"type":"string"},"kind":{"type":"string","enum":["severities","incident_types","statuses","sub_statuses"]},"private":{"type":"boolean"},"resource_id":{"type":"string"},"resource_type":{"type":"string"},"severity_params":{"type":"object","properties":{"fully_enabled":{"type":"boolean","description":"Whether permissions are enabled for any severity incident","default":true},"create_enabled":{"type":"boolean","description":"Whether permissions are enabled when creating incident","default":false},"applies_to_unassigned":{"type":"boolean","description":"Whether permissions are enabled for incident without severity","default":true},"severity_ids":{"type":"array","description":"Severity ids that determine if an incident is permitted based on matching severity","items":{"type":"string"},"nullable":true}}}},"additionalProperties":false,"required":["incident_permission_set_id","kind"]}},"required":["type","attributes"]}},"required":["data"]},"update_incident_permission_set_resource":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_permission_set_resources"]},"attributes":{"type":"object","properties":{"kind":{"type":"string","enum":["severities","incident_types","statuses","sub_statuses"]},"private":{"type":"boolean"},"resource_id":{"type":"string"},"resource_type":{"type":"string"},"severity_params":{"type":"object","properties":{"fully_enabled":{"type":"boolean","description":"Whether permissions are enabled for any severity incident","default":true},"create_enabled":{"type":"boolean","description":"Whether permissions are enabled when creating incident","default":false},"applies_to_unassigned":{"type":"boolean","description":"Whether permissions are enabled for incident without severity","default":true},"severity_ids":{"type":"array","description":"Severity ids that determine if an incident is permitted based on matching severity","items":{"type":"string"},"nullable":true}}}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"incident_permission_set_resource":{"type":"object","properties":{"incident_permission_set_id":{"type":"string"},"kind":{"type":"string","enum":["severities","incident_types","statuses","sub_statuses"]},"private":{"type":"boolean"},"resource_id":{"type":"string"},"resource_type":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["incident_permission_set_id","kind","created_at","updated_at"]},"incident_permission_set_resource_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident permission set resource"},"type":{"type":"string","enum":["incident_permission_set_resources"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_permission_set_resource"}]}},"required":["id","type","attributes"]}},"required":["data"]},"incident_permission_set_resource_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident permission set resource"},"type":{"type":"string","enum":["incident_permission_set_resources"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_permission_set_resource"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_incident_permission_set":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_permission_sets"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The incident permission set name."},"slug":{"type":"string","description":"The incident permission set slug."},"description":{"type":"string","description":"The incident permission set description.","nullable":true},"private_incident_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"public_incident_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}}},"additionalProperties":false,"required":["name"]}},"required":["type","attributes"]}},"required":["data"]},"update_incident_permission_set":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_permission_sets"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The incident permission set name."},"slug":{"type":"string","description":"The incident permission set slug."},"description":{"type":"string","description":"The incident permission set description.","nullable":true},"private_incident_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"public_incident_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"incident_permission_set":{"type":"object","properties":{"name":{"type":"string","description":"The incident permission set name."},"slug":{"type":"string","description":"The incident permission set slug."},"description":{"type":"string","description":"The incident permission set description.","nullable":true},"private_incident_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"public_incident_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["name","slug","created_at","updated_at"]},"incident_permission_set_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident permission set"},"type":{"type":"string","enum":["incident_permission_sets"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_permission_set"}]}},"required":["id","type","attributes"]}},"required":["data"]},"incident_permission_set_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident permission set"},"type":{"type":"string","enum":["incident_permission_sets"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_permission_set"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"update_incident_post_mortem":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_post_mortems"]},"attributes":{"type":"object","properties":{"title":{"type":"string","description":"The title of the incident retrospective"},"status":{"type":"string","description":"The status of the incident retrospective","enum":["draft","published"]},"started_at":{"type":"string","description":"Date of started at","nullable":true},"mitigated_at":{"type":"string","description":"Date of mitigation","nullable":true},"resolved_at":{"type":"string","description":"Date of resolution","nullable":true},"show_timeline":{"type":"boolean","description":"Show events timeline of the incident retrospective"},"show_timeline_trail":{"type":"boolean","description":"Show trail events in the timeline of the incident retrospective"},"show_timeline_genius":{"type":"boolean","description":"Show workflow events in the timeline of the incident retrospective"},"show_timeline_tasks":{"type":"boolean","description":"Show tasks in the timeline of the incident retrospective"},"show_timeline_action_items":{"type":"boolean","description":"Show action items in the timeline of the incident retrospective"},"show_services_impacted":{"type":"boolean","description":"Show functionalities impacted of the incident retrospective"},"show_functionalities_impacted":{"type":"boolean","description":"Show services impacted of the incident retrospective"},"show_groups_impacted":{"type":"boolean","description":"Show groups impacted of the incident retrospective"},"show_alerts_attached":{"type":"boolean","description":"Show alerts attached to the incident"},"show_action_items":{"type":"boolean","description":"Show action items (follow-ups) in the incident retrospective"},"cause_ids":{"type":"array","description":"The Cause ID's to attach to the incident retrospective","items":{"type":"string"},"nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"incident_post_mortem":{"type":"object","properties":{"title":{"type":"string","description":"The title of the incident retrospective"},"content":{"type":"string","description":"The content of the incident retrospective (Only if internal)","nullable":true},"status":{"type":"string","description":"The status of the incident retrospective","enum":["draft","published"]},"started_at":{"type":"string","description":"Date of started at","nullable":true},"mitigated_at":{"type":"string","description":"Date of mitigation","nullable":true},"resolved_at":{"type":"string","description":"Date of resolution","nullable":true},"show_timeline":{"type":"boolean","description":"Show events timeline of the incident retrospective"},"show_timeline_trail":{"type":"boolean","description":"Show trail events in the timeline of the incident retrospective"},"show_timeline_genius":{"type":"boolean","description":"Show workflow events in the timeline of the incident retrospective"},"show_timeline_tasks":{"type":"boolean","description":"Show tasks in the timeline of the incident retrospective"},"show_timeline_action_items":{"type":"boolean","description":"Show action items in the timeline of the incident retrospective"},"show_timeline_order":{"type":"string","description":"The order of the incident retrospective timeline","enum":["asc","desc"],"default":"desc"},"show_services_impacted":{"type":"boolean","description":"Show functionalities impacted of the incident retrospective"},"show_functionalities_impacted":{"type":"boolean","description":"Show services impacted of the incident retrospective"},"show_groups_impacted":{"type":"boolean","description":"Show groups impacted of the incident retrospective"},"show_alerts_attached":{"type":"boolean","description":"Show alerts attached to the incident"},"url":{"type":"string","description":"The url to the incident retrospective"},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["title","created_at","updated_at"]},"incident_post_mortem_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident retrospective"},"type":{"type":"string","enum":["incident_post_mortems"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_post_mortem"}]}},"required":["id","type","attributes"]}},"required":["data"]},"incident_post_mortem_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident retrospective"},"type":{"type":"string","enum":["incident_post_mortems"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_post_mortem"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"update_incident_retrospective_step":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_retrospective_steps"]},"attributes":{"type":"object","properties":{"title":{"type":"string","description":"The name of the incident retrospective step"},"description":{"type":"string","description":"The description of the incident retrospective step","nullable":true},"due_date":{"type":"string","description":"Due date","nullable":true},"position":{"type":"integer","description":"Position of the step","nullable":true},"skippable":{"type":"boolean","description":"Is the step skippable?","nullable":false},"status":{"type":"string","description":"Status of the incident retrospective step","enum":["todo","in_progress","completed","skipped"],"nullable":false}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"incident_retrospective_step":{"type":"object","properties":{"retrospective_step_id":{"type":"string"},"incident_id":{"type":"string"},"title":{"type":"string","description":"The name of the step"},"description":{"type":"string","description":"The description of the step","nullable":true},"status":{"type":"string","description":"Status of the incident retrospective step","enum":["todo","in_progress","completed","skipped"],"nullable":false},"kind":{"type":"string","description":"Due date","nullable":true},"due_date":{"type":"string","description":"Due date","nullable":true},"position":{"type":"integer","description":"Position of the step"},"skippable":{"type":"boolean","description":"Is the step skippable?"},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["retrospective_step_id","incident_id","title","created_at","updated_at"]},"incident_retrospective_step_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the step"},"type":{"type":"string","enum":["incident_retrospective_steps"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_retrospective_step"}]}},"required":["id","type","attributes"]}},"required":["data"]},"new_incident_role_task":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_role_tasks"]},"attributes":{"type":"object","properties":{"incident_role_id":{"type":"string"},"task":{"type":"string","description":"The task of the incident task"},"description":{"type":"string","description":"The description of the incident task","nullable":true},"priority":{"type":"string","description":"The priority of the incident task","enum":["high","medium","low"]}},"additionalProperties":false,"required":["task"]}},"required":["type","attributes"]}},"required":["data"]},"update_incident_role_task":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_role_tasks"]},"attributes":{"type":"object","properties":{"task":{"type":"string","description":"The task of the incident task"},"description":{"type":"string","description":"The description of the incident task","nullable":true},"priority":{"type":"string","description":"The priority of the incident task","enum":["high","medium","low"]}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"incident_role_task":{"type":"object","properties":{"incident_role_id":{"type":"string"},"task":{"type":"string","description":"The task of the incident task"},"description":{"type":"string","description":"The description of incident task","nullable":true},"priority":{"type":"string","description":"The priority of the incident task","enum":["high","medium","low"]},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["task","created_at","updated_at"]},"incident_role_task_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident task"},"type":{"type":"string","enum":["incident_role_tasks"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_role_task"}]}},"required":["id","type","attributes"]}},"required":["data"]},"incident_role_task_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident task"},"type":{"type":"string","enum":["incident_role_tasks"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_role_task"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_incident_role":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_roles"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the incident role"},"summary":{"type":"string","description":"The summary of the incident role","nullable":true},"description":{"type":"string","description":"The description of the incident role","nullable":true},"position":{"type":"integer","description":"Position of the incident role","nullable":true},"optional":{"type":"boolean"},"enabled":{"type":"boolean"},"allow_multi_user_assignment":{"type":"boolean"}},"additionalProperties":false,"required":["name"]}},"required":["type","attributes"]}},"required":["data"]},"update_incident_role":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_roles"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the incident role"},"summary":{"type":"string","description":"The summary of the incident role","nullable":true},"description":{"type":"string","description":"The description of the incident role","nullable":true},"position":{"type":"integer","description":"Position of the incident role","nullable":true},"optional":{"type":"boolean"},"enabled":{"type":"boolean"},"allow_multi_user_assignment":{"type":"boolean"}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"incident_role":{"type":"object","properties":{"name":{"type":"string","description":"The name of the incident role"},"slug":{"type":"string","description":"The slug of the incident role"},"summary":{"type":"string","description":"The summary of the incident role","nullable":true},"description":{"type":"string","description":"The description of the incident role","nullable":true},"position":{"type":"integer","description":"Position of the incident role","nullable":true},"optional":{"type":"boolean"},"enabled":{"type":"boolean"},"allow_multi_user_assignment":{"type":"boolean"},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["name","created_at","updated_at"]},"incident_role_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident role"},"type":{"type":"string","enum":["incident_roles"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_role"}]}},"required":["id","type","attributes"]}},"required":["data"]},"incident_role_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident role"},"type":{"type":"string","enum":["incident_roles"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_role"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_incident_status_page_event":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_status_page_events"]},"attributes":{"type":"object","properties":{"event":{"type":"string","description":"The summary of the incident event"},"status_page_id":{"type":"string","description":"Unique ID of the status page you wish to post the event to"},"status":{"type":"string","description":"The status of the incident event","enum":["investigating","identified","monitoring","resolved","scheduled","in_progress","verifying","completed"]},"notify_subscribers":{"type":"boolean","description":"Notify all status pages subscribers","default":false,"nullable":true},"should_tweet":{"type":"boolean","description":"For Statuspage.io integrated pages auto publishes a tweet for your update","default":false,"nullable":true}},"additionalProperties":false,"required":["event"]}},"required":["type","attributes"]}},"required":["data"]},"update_incident_status_page_event":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_status_page_events"]},"attributes":{"type":"object","properties":{"event":{"type":"string","description":"The summary of the incident event"},"status_page_id":{"type":"string","description":"Unique ID of the status page you wish to post the event to"},"status":{"type":"string","description":"The status of the incident event","enum":["investigating","identified","monitoring","resolved","scheduled","in_progress","verifying","completed"]},"notify_subscribers":{"type":"boolean","description":"Notify all status pages subscribers","default":false,"nullable":true},"should_tweet":{"type":"boolean","description":"For Statuspage.io integrated pages auto publishes a tweet for your update","default":false,"nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"incident_status_page_event":{"type":"object","properties":{"event":{"type":"string","description":"The summary of the incident event"},"status_page_id":{"type":"string","description":"Unique ID of the status page you wish to post the event to"},"status":{"type":"string","description":"The status of the incident event","enum":["investigating","identified","monitoring","resolved","scheduled","in_progress","verifying","completed"]},"notify_subscribers":{"type":"boolean","description":"Notify all status pages subscribers"},"should_tweet":{"type":"boolean","description":"For Statuspage.io integrated pages auto publishes a tweet for your update"},"started_at":{"type":"string","description":"Date of start"},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["event","started_at","created_at","updated_at"]},"incident_status_page_event_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident event"},"type":{"type":"string","enum":["incident_status_page_events"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_status_page_event"}]}},"required":["id","type","attributes"]}},"required":["data"]},"incident_status_page_event_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident event"},"type":{"type":"string","enum":["incident_status_page_events"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_status_page_event"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_incident_type":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_types"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the incident type"},"description":{"type":"string","description":"The description of the incident type","nullable":true},"color":{"type":"string","description":"The hex color of the incident type","nullable":true},"position":{"type":"integer","description":"Position of the incident type","nullable":true},"notify_emails":{"type":"array","description":"Emails to attach to the incident type","items":{"type":"string"},"nullable":true},"slack_channels":{"type":"array","description":"Slack Channels associated with this incident type","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack channel ID"},"name":{"type":"string","description":"Slack channel name"}},"required":["id","name"]},"nullable":true},"slack_aliases":{"type":"array","description":"Slack Aliases associated with this incident type","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack alias ID"},"name":{"type":"string","description":"Slack alias name"}},"required":["id","name"]},"nullable":true}},"additionalProperties":false,"required":["name"]}},"required":["type","attributes"]}},"required":["data"]},"update_incident_type":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_types"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the incident type"},"description":{"type":"string","description":"The description of the incident type","nullable":true},"color":{"type":"string","description":"The hex color of the incident type","nullable":true},"position":{"type":"integer","description":"Position of the incident type","nullable":true},"notify_emails":{"type":"array","description":"Emails to attach to the incident type","items":{"type":"string"},"nullable":true},"slack_channels":{"type":"array","description":"Slack Channels associated with this incident type","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack channel ID"},"name":{"type":"string","description":"Slack channel name"}},"required":["id","name"]},"nullable":true},"slack_aliases":{"type":"array","description":"Slack Aliases associated with this incident type","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack alias ID"},"name":{"type":"string","description":"Slack alias name"}},"required":["id","name"]},"nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"incident_type":{"type":"object","properties":{"name":{"type":"string","description":"The name of the incident type"},"slug":{"type":"string","description":"The slug of the incident type"},"description":{"type":"string","description":"The description of the incident type","nullable":true},"color":{"type":"string","description":"The hex color of the incident type","nullable":true},"position":{"type":"integer","description":"Position of the incident type","nullable":true},"notify_emails":{"type":"array","description":"Emails to attach to the incident type","items":{"type":"string"},"nullable":true},"slack_channels":{"type":"array","description":"Slack Channels associated with this incident type","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack channel ID"},"name":{"type":"string","description":"Slack channel name"}},"required":["id","name"]},"nullable":true},"slack_aliases":{"type":"array","description":"Slack Aliases associated with this incident type","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack alias ID"},"name":{"type":"string","description":"Slack alias name"}},"required":["id","name"]},"nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["name","created_at","updated_at"]},"incident_type_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident type"},"type":{"type":"string","enum":["incident_types"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_type"}]}},"required":["id","type","attributes"]}},"required":["data"]},"incident_type_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident type"},"type":{"type":"string","enum":["incident_types"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_type"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_incident":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incidents"]},"attributes":{"type":"object","properties":{"title":{"type":"string","description":"The title of the incident. We will autogenerate one if null","nullable":true},"kind":{"type":"string","description":"The kind of the incident","enum":["test","test_sub","example","example_sub","normal","normal_sub","backfilled","scheduled"],"default":"normal","nullable":true},"parent_incident_id":{"type":"string","description":"ID of parent incident","nullable":true},"duplicate_incident_id":{"type":"string","description":"ID of duplicated incident","nullable":true},"private":{"type":"boolean","description":"Create an incident as private. Once an incident is made as private it cannot be undone","default":false,"nullable":true},"summary":{"type":"string","description":"The summary of the incident","nullable":true},"user_id":{"type":"string","description":"User ID of the creator of the incident. Default to the user attached to the Api Key","nullable":true},"severity_id":{"type":"string","description":"The Severity ID to attach to the incident","nullable":true},"environment_ids":{"type":"array","description":"The Environment ID's to attach to the incident","items":{"type":"string"},"nullable":true},"incident_type_ids":{"type":"array","description":"The Incident Type ID's to attach to the incident","items":{"type":"string"},"nullable":true},"service_ids":{"type":"array","description":"The Service ID's to attach to the incident","items":{"type":"string"},"nullable":true},"functionality_ids":{"type":"array","description":"The Functionality ID's to attach to the incident","items":{"type":"string"},"nullable":true},"group_ids":{"type":"array","description":"The Team ID's to attach to the incident","items":{"type":"string"},"nullable":true},"cause_ids":{"type":"array","description":"The Cause ID's to attach to the incident","items":{"type":"string"},"nullable":true},"labels":{"type":"object","description":"Labels to attach to the incidents. eg: {\"platform\":\"osx\", \"version\": \"1.29\"}","nullable":true},"slack_channel_name":{"type":"string","description":"Slack channel name","nullable":true},"notify_emails":{"type":"array","description":"Emails you want to notify","items":{"type":"string"},"nullable":true},"status":{"type":"string","description":"The status of the incident","enum":["in_triage","started","detected","acknowledged","mitigated","resolved","closed","cancelled","scheduled","in_progress","completed"]},"url":{"type":"string","description":"The url to the incident"},"scheduled_for":{"type":"string","description":"Date of when the maintenance begins","nullable":true},"scheduled_until":{"type":"string","description":"Date of when the maintenance ends","nullable":true},"in_triage_at":{"type":"string","description":"Date of triage","nullable":true},"started_at":{"type":"string","description":"Date of start","nullable":true},"detected_at":{"type":"string","description":"Date of detection","nullable":true},"acknowledged_at":{"type":"string","description":"Date of acknowledgment","nullable":true},"mitigated_at":{"type":"string","description":"Date of mitigation","nullable":true},"resolved_at":{"type":"string","description":"Date of resolution","nullable":true},"cancelled_at":{"type":"string","description":"Date of cancellation","nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"update_incident":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incidents"]},"attributes":{"type":"object","properties":{"title":{"type":"string","description":"The title of the incident","nullable":true},"kind":{"type":"string","description":"The kind of the incident","enum":["test","test_sub","example","example_sub","normal","normal_sub","backfilled","scheduled"],"default":"normal","nullable":true},"parent_incident_id":{"type":"string","description":"ID of parent incident","nullable":true},"duplicate_incident_id":{"type":"string","description":"ID of duplicated incident","nullable":true},"summary":{"type":"string","description":"The summary of the incident","nullable":true},"status":{"type":"string","description":"The status of the incident","enum":["in_triage","started","detected","acknowledged","mitigated","resolved","closed","cancelled","scheduled","in_progress","completed"],"nullable":true},"private":{"type":"boolean","description":"Convert the incident as private. Once an incident is updated as private it cannot be undone","default":false,"nullable":true},"severity_id":{"type":"string","description":"The Severity ID to attach to the incident","nullable":true},"environment_ids":{"type":"array","description":"The Environment ID's to attach to the incident","items":{"type":"string"},"nullable":true},"incident_type_ids":{"type":"array","description":"The Incident Type ID's to attach to the incident","items":{"type":"string"},"nullable":true},"service_ids":{"type":"array","description":"The Service ID's to attach to the incident","items":{"type":"string"},"nullable":true},"functionality_ids":{"type":"array","description":"The Functionality ID's to attach to the incident","items":{"type":"string"},"nullable":true},"group_ids":{"type":"array","description":"The Team ID's to attach to the incident","items":{"type":"string"},"nullable":true},"cause_ids":{"type":"array","description":"The Cause ID's to attach to the incident","items":{"type":"string"},"nullable":true},"labels":{"type":"object","description":"Labels to attach to the incidents. eg: {\"platform\":\"osx\", \"version\": \"1.29\"}","nullable":true},"slack_channel_id":{"type":"string","description":"Slack channel id","nullable":true},"slack_channel_name":{"type":"string","description":"Slack channel name","nullable":true},"slack_channel_url":{"type":"string","description":"Slack channel url","nullable":true},"scheduled_for":{"type":"string","description":"Date of when the maintenance begins","nullable":true},"scheduled_until":{"type":"string","description":"Date of when the maintenance ends","nullable":true},"in_triage_at":{"type":"string","description":"Date of triage","nullable":true},"started_at":{"type":"string","description":"Date of start","nullable":true},"detected_at":{"type":"string","description":"Date of detection","nullable":true},"acknowledged_at":{"type":"string","description":"Date of acknowledgment","nullable":true},"mitigated_at":{"type":"string","description":"Date of mitigation","nullable":true},"resolved_at":{"type":"string","description":"Date of resolution","nullable":true},"cancelled_at":{"type":"string","description":"Date of cancellation","nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"in_triage_incident":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incidents"]}},"required":["type"]}},"required":["data"]},"restart_incident":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incidents"]},"attributes":{"type":"object","properties":{},"additionalProperties":false}},"required":["type"]}},"required":["data"]},"mitigate_incident":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incidents"]},"attributes":{"type":"object","properties":{"mitigation_message":{"type":"string","description":"How was the incident mitigated?","nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"resolve_incident":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incidents"]},"attributes":{"type":"object","properties":{"resolution_message":{"type":"string","description":"How was the incident resolved?","nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"cancel_incident":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incidents"]},"attributes":{"type":"object","properties":{"cancellation_message":{"type":"string","description":"Why was the incident cancelled?","nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"duplicate_incident":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incidents"]},"attributes":{"type":"object","properties":{"duplicate_incident_id":{"type":"string"},"auto_cancel_incident":{"type":"boolean","default":true,"nullable":true},"reason_for_cancellation":{"type":"string","description":"Why was the incident cancelled?","nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"add_subscribers":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incidents"]},"attributes":{"type":"object","properties":{"user_ids":{"type":"array","description":"IDs of users you wish to add to list of subscribers for this incident","items":{"type":"string"},"nullable":true},"remove_users_with_no_private_incident_access":{"description":"Users without read permissions for private incidents will be removed from the subscriber list of this incident","type":"boolean","default":false,"nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"remove_subscribers":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incidents"]},"attributes":{"type":"object","properties":{"user_ids":{"type":"array","description":"IDs of users you wish to remove from the list of subscribers for this incident","items":{"type":"string"},"nullable":true},"remove_users_with_no_private_incident_access":{"description":"Users without read permissions for private incidents will be removed from the subscriber list of this incident","type":"boolean","default":false,"nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"assign_role_to_user":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incidents"]},"attributes":{"type":"object","properties":{"user_id":{"type":"string","description":"ID of user you wish to assign this incident","nullable":false},"incident_role_id":{"type":"string","description":"ID of the incident role","nullable":false}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"unassign_role_from_user":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incidents"]},"attributes":{"type":"object","properties":{"user_id":{"type":"string","description":"ID of user you wish to remove as assigned user from this incident","nullable":false},"incident_role_id":{"type":"string","description":"ID of the incident role","nullable":false}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"incident":{"type":"object","properties":{"title":{"type":"string","description":"The title of the incident"},"kind":{"type":"string","description":"The kind of the incident"},"slug":{"type":"string","description":"The slug of the incident"},"parent_incident_id":{"type":"string","description":"ID of parent incident","nullable":true},"duplicate_incident_id":{"type":"string","description":"ID of duplicated incident","nullable":true},"summary":{"type":"string","description":"The summary of the incident","nullable":true},"private":{"type":"boolean","description":"Create an incident as private","default":false,"nullable":true},"severity":{"type":"object","description":"The Severity of the incident","allOf":[{"$ref":"#/components/schemas/severity_response"}],"nullable":true},"environments":{"type":"array","description":"The Environments of the incident","items":{"type":"object","allOf":[{"$ref":"#/components/schemas/environment_response"}]},"nullable":true},"incident_types":{"type":"array","description":"The Incident Types of the incident","items":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_type_response"}]},"nullable":true},"services":{"type":"array","description":"The Services of the incident","items":{"type":"object","allOf":[{"$ref":"#/components/schemas/service_response"}]},"nullable":true},"functionalities":{"type":"array","description":"The Functionalities of the incident","items":{"type":"object","allOf":[{"$ref":"#/components/schemas/functionality_response"}]},"nullable":true},"groups":{"type":"array","description":"The Teams of to the incident","items":{"type":"object","allOf":[{"$ref":"#/components/schemas/team_response"}]},"nullable":true},"labels":{"type":"object","description":"Labels to attach to the incidents. eg: {\"platform\":\"osx\", \"version\": \"1.29\"}","nullable":true},"slack_channel_id":{"type":"string","description":"Slack channel id","nullable":true},"slack_channel_name":{"type":"string","description":"Slack channel name","nullable":true},"slack_channel_url":{"type":"string","description":"Slack channel url","nullable":true},"mitigation_message":{"type":"string","description":"How was the incident mitigated?","nullable":true},"resolution_message":{"type":"string","description":"How was the incident resolved?","nullable":true},"cancellation_message":{"type":"string","description":"Why was the incident cancelled?","nullable":true},"scheduled_for":{"type":"string","description":"Date of when the maintenance begins","nullable":true},"scheduled_until":{"type":"string","description":"Date of when the maintenance ends","nullable":true},"retrospective_progress_status":{"type":"string","description":"The status of the retrospective progress","nullable":true,"enum":["not_started","active","completed","skipped"]},"in_triage_at":{"type":"string","description":"Date of triage","nullable":true},"started_at":{"type":"string","description":"Date of start","nullable":true},"detected_at":{"type":"string","description":"Date of detection","nullable":true},"acknowledged_at":{"type":"string","description":"Date of acknowledgment","nullable":true},"mitigated_at":{"type":"string","description":"Date of mitigation","nullable":true},"resolved_at":{"type":"string","description":"Date of resolution","nullable":true},"cancelled_at":{"type":"string","description":"Date of cancellation","nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["title","slug","created_at","updated_at"]},"incident_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident"},"type":{"type":"string","enum":["incidents"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident"}]}},"required":["id","type","attributes"]}},"required":["data"]},"incident_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident"},"type":{"type":"string","enum":["incidents"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"ip_ranges":{"type":"object","properties":{"integrations_ipv4":{"type":"array","description":"IPv4 addresses associated with Rootly integrations.","items":{"type":"string"}},"integrations_ipv6":{"type":"array","description":"IPv6 addresses associated with Rootly integrations.","items":{"type":"string"}},"webhooks_ipv4":{"type":"array","description":"IPv4 addresses associated with Rootly webhooks.","items":{"type":"string"}},"webhooks_ipv6":{"type":"array","description":"IPv6 addresses associated with Rootly webhooks.","items":{"type":"string"}}},"required":["integrations_ipv4","integrations_ipv6","webhooks_ipv4","webhooks_ipv6"]},"ip_ranges_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the ip_ranges"},"type":{"type":"string","enum":["ip_ranges"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/ip_ranges"}]}},"required":["id","type","attributes"]}},"required":["data"]},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"type":"string","nullable":true},"next":{"type":"string","nullable":true},"last":{"type":"string"}},"required":["self","first","prev","next","last"]},"new_on_call_shadow":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["on_call_shadows"]},"attributes":{"type":"object","properties":{"shadowable_type":{"type":"string","enum":["User","Schedule"]},"shadowable_id":{"type":"string","description":"ID of schedule or user the shadow user is shadowing","nullable":false},"shadow_user_id":{"type":"integer","description":"Which user the shadow shift belongs to.","nullable":false},"starts_at":{"type":"string","description":"Start datetime of shadow shift","format":"date-time","nullable":false},"ends_at":{"type":"string","description":"End datetime for shadow shift","format":"date-time","nullable":false}},"additionalProperties":false,"required":["shadowable_type","shadow_user_id","shadowable_id","starts_at","ends_at"]}},"required":["type","attributes"]}},"required":["data"]},"update_on_call_shadow":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["on_call_shadows"]},"attributes":{"type":"object","properties":{"schedule_id":{"type":"string","description":"ID of schedule the shadow shift belongs to","nullable":false},"shadowable_type":{"type":"string","enum":["User","Schedule"]},"shadowable_id":{"type":"string","description":"ID of schedule or user the shadow user is shadowing","nullable":false},"shadow_user_id":{"type":"integer","description":"Which user the shadow shift belongs to.","nullable":false},"starts_at":{"type":"string","description":"Start datetime of shadow shift","format":"date-time","nullable":false},"ends_at":{"type":"string","description":"End datetime for shadow shift","format":"date-time","nullable":false}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"on_call_shadow":{"type":"object","properties":{"schedule_id":{"type":"string","description":"ID of schedule the shadow shift belongs to","nullable":false},"shadowable_type":{"type":"string","enum":["User","Schedule"]},"shadowable_id":{"type":"string","description":"ID of schedule or user the shadow user is shadowing","nullable":false},"shadow_user_id":{"type":"integer","description":"Which user the shadow shift belongs to.","nullable":false},"starts_at":{"type":"string","description":"Start datetime of shadow shift","format":"date-time","nullable":false},"ends_at":{"type":"string","description":"End datetime for shadow shift","format":"date-time","nullable":false},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["schedule_id","shadowable_type","shadow_user_id","shadowable_id","starts_at","ends_at"]},"on_call_shadow_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of shadow shift"},"type":{"type":"string","enum":["on_call_shadows"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/on_call_shadow"}]}},"required":["id","type","attributes"]}},"required":["data"]},"on_call_shadows_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique id of the on call shadow shift"},"type":{"type":"string","enum":["on_call_shadows"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/on_call_shadow"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_on_call_role":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["on_call_roles"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The role name."},"slug":{"type":"string","description":"The role slug."},"system_role":{"type":"string","description":"The kind of role (user and custom type roles are only editable)","items":{"type":"string","enum":["admin","user","custom","no_access"]}},"alert_sources_permissions":{"type":"array","items":{"type":"string","enum":["create","update","delete"]}},"alert_urgency_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"alerts_permissions":{"type":"array","items":{"type":"string","enum":["create","update","read"]}},"api_keys_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"audits_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"contacts_permissions":{"type":"array","items":{"type":"string","enum":["read"]}},"escalation_policies_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"groups_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"heartbeats_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"integrations_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"invitations_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"live_call_routing_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"schedule_override_permissions":{"type":"array","items":{"type":"string","enum":["create","update"]}},"schedules_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"services_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"webhooks_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"workflows_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}}},"additionalProperties":false,"required":["name","system_role"]}},"required":["type","attributes"]}},"required":["data"]},"update_on_call_role":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["on_call_roles"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The role name."},"slug":{"type":"string","description":"The role slug."},"system_role":{"type":"string","description":"The kind of role (user and custom type roles are only editable)","items":{"type":"string","enum":["admin","user","custom","no_access"]}},"alert_sources_permissions":{"type":"array","items":{"type":"string","enum":["create","update","delete"]}},"alert_urgency_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"alerts_permissions":{"type":"array","items":{"type":"string","enum":["create","update","read"]}},"api_keys_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"audits_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"contacts_permissions":{"type":"array","items":{"type":"string","enum":["read"]}},"escalation_policies_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"groups_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"heartbeats_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"integrations_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"invitations_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"live_call_routing_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"schedule_override_permissions":{"type":"array","items":{"type":"string","enum":["create","update"]}},"schedules_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"services_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"webhooks_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"workflows_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"on_call_role":{"type":"object","properties":{"name":{"type":"string","description":"The role name."},"slug":{"type":"string","description":"The role slug."},"system_role":{"type":"string","description":"The kind of role","items":{"type":"string","enum":["admin","user","custom","no_access"]}},"alert_sources_permissions":{"type":"array","items":{"type":"string","enum":["create","update","delete"]}},"alert_urgency_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"alerts_permissions":{"type":"array","items":{"type":"string","enum":["create","update","read"]}},"api_keys_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"audits_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"contacts_permissions":{"type":"array","items":{"type":"string","enum":["read"]}},"escalation_policies_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"groups_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"heartbeats_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"integrations_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"invitations_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"live_call_routing_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"schedule_override_permissions":{"type":"array","items":{"type":"string","enum":["create","update"]}},"schedules_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"services_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"webhooks_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"workflows_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["name","slug","system_role","created_at","updated_at"]},"on_call_role_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the on_call_role"},"type":{"type":"string","enum":["on_call_roles"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/on_call_role"}]}},"required":["id","type","attributes"]}},"required":["data"]},"on_call_role_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the on_call_role"},"type":{"type":"string","enum":["on_call_roles"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/on_call_role"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_override_shift":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["shifts"]},"attributes":{"type":"object","properties":{"starts_at":{"type":"string","description":"Start datetime of override shift","format":"date-time","nullable":false},"ends_at":{"type":"string","description":"End datetime of override shift","format":"date-time","nullable":false},"user_id":{"type":"integer","description":"Override shift user","nullable":false}},"additionalProperties":false,"required":["starts_at","ends_at","user_id"]}},"required":["type","attributes"]}},"required":["data"]},"update_override_shift":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["shifts"]},"attributes":{"type":"object","properties":{"user_id":{"type":"integer","description":"Override shift user","nullable":false}},"additionalProperties":false,"required":["user_id"]}},"required":["type","attributes"]}},"required":["data"]},"override_shift":{"type":"object","properties":{"schedule_id":{"type":"string","description":"ID of schedule","nullable":false},"rotation_id":{"type":"string","description":"ID of rotation","nullable":true},"starts_at":{"type":"string","description":"Start datetime of shift","nullable":false},"ends_at":{"type":"string","description":"End datetime of shift","nullable":false},"is_override":{"type":"boolean","description":"Denotes shift is an override shift"},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"},"shift_override":{"type":"object","allOf":[{"$ref":"#/components/schemas/shift_override_response"}],"description":"Override metadata","nullable":true},"user":{"type":"object","allOf":[{"$ref":"#/components/schemas/user_response"}],"description":"User metadata","nullable":false}},"required":["schedule_id","rotation_id","starts_at","ends_at","is_override"]},"override_shift_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the shift"},"type":{"type":"string","enum":["shifts"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/override_shift"}]}},"required":["id","type","attributes"]}},"required":["data"]},"override_shift_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the shift"},"type":{"type":"string","enum":["shifts"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/override_shift"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"shift_override":{"type":"object","properties":{"shift_id":{"type":"string","description":"ID of shift","nullable":false},"created_by_user_id":{"type":"integer","description":"User who created the override","nullable":false},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["shift_id","created_by_user_id"]},"shift_override_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the shift override"},"type":{"type":"string","enum":["shift_override"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/shift_override"}]}},"required":["id","type","attributes"]}},"required":["data"]},"new_playbook_task":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["playbook_tasks"]},"attributes":{"type":"object","properties":{"task":{"type":"string","description":"The task of the task"},"description":{"type":"string","description":"The description of the task","nullable":true},"position":{"type":"integer","description":"The position of the task","nullable":true}},"additionalProperties":false,"required":["task"]}},"required":["type","attributes"]}},"required":["data"]},"update_playbook_task":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["playbook_tasks"]},"attributes":{"type":"object","properties":{"task":{"type":"string","description":"The task of the task"},"description":{"type":"string","description":"The description of the task","nullable":true},"position":{"type":"integer","description":"The position of the task","nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"playbook_task":{"type":"object","properties":{"playbook_id":{"type":"string"},"task":{"type":"string","description":"The task of the task"},"description":{"type":"string","description":"The description of task","nullable":true},"position":{"type":"integer","description":"The position of the task","nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["task","created_at","updated_at"]},"playbook_task_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the task"},"type":{"type":"string","enum":["playbook_tasks"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/playbook_task"}]}},"required":["id","type","attributes"]}},"required":["data"]},"playbook_task_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the task"},"type":{"type":"string","enum":["playbook_tasks"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/playbook_task"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_playbook":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["playbooks"]},"attributes":{"type":"object","properties":{"title":{"type":"string","description":"The title of the playbook"},"summary":{"type":"string","description":"The summary of the playbook","nullable":true},"external_url":{"type":"string","description":"The external url of the playbook","nullable":true},"severity_ids":{"type":"array","description":"The Severity ID's to attach to the incident","items":{"type":"string"},"nullable":true},"environment_ids":{"type":"array","description":"The Environment ID's to attach to the incident","items":{"type":"string"},"nullable":true},"service_ids":{"type":"array","description":"The Service ID's to attach to the incident","items":{"type":"string"},"nullable":true},"functionality_ids":{"type":"array","description":"The Functionality ID's to attach to the incident","items":{"type":"string"},"nullable":true},"group_ids":{"type":"array","description":"The Team ID's to attach to the incident","items":{"type":"string"},"nullable":true},"incident_type_ids":{"type":"array","description":"The Incident Type ID's to attach to the incident","items":{"type":"string"},"nullable":true}},"additionalProperties":false,"required":["title"]}},"required":["type","attributes"]}},"required":["data"]},"update_playbook":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["playbooks"]},"attributes":{"type":"object","properties":{"title":{"type":"string","description":"The title of the playbook"},"summary":{"type":"string","description":"The summary of the playbook","nullable":true},"external_url":{"type":"string","description":"The external url of the playbook","nullable":true},"severity_ids":{"type":"array","description":"The Severity ID's to attach to the incident","items":{"type":"string"},"nullable":true},"environment_ids":{"type":"array","description":"The Environment ID's to attach to the incident","items":{"type":"string"},"nullable":true},"service_ids":{"type":"array","description":"The Service ID's to attach to the incident","items":{"type":"string"},"nullable":true},"functionality_ids":{"type":"array","description":"The Functionality ID's to attach to the incident","items":{"type":"string"},"nullable":true},"group_ids":{"type":"array","description":"The Team ID's to attach to the incident","items":{"type":"string"},"nullable":true},"incident_type_ids":{"type":"array","description":"The Incident Type ID's to attach to the incident","items":{"type":"string"},"nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"playbook":{"type":"object","properties":{"title":{"type":"string","description":"The title of the playbook"},"summary":{"type":"string","description":"The summary of the playbook","nullable":true},"external_url":{"type":"string","description":"The external url of the playbook","nullable":true},"severity_ids":{"type":"array","description":"The Severity ID's to attach to the incident","items":{"type":"string"},"nullable":true},"environment_ids":{"type":"array","description":"The Environment ID's to attach to the incident","items":{"type":"string"},"nullable":true},"functionality_ids":{"type":"array","description":"The Functionality ID's to attach to the incident","items":{"type":"string"},"nullable":true},"service_ids":{"type":"array","description":"The Service ID's to attach to the incident","items":{"type":"string"},"nullable":true},"group_ids":{"type":"array","description":"The Team ID's to attach to the incident","items":{"type":"string"},"nullable":true},"incident_type_ids":{"type":"array","description":"The Incident Type ID's to attach to the incident","items":{"type":"string"},"nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["title","created_at","updated_at"]},"playbook_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the playbook"},"type":{"type":"string","enum":["playbooks"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/playbook"}]}},"required":["id","type","attributes"]}},"required":["data"]},"playbook_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the playbook"},"type":{"type":"string","enum":["playbooks"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/playbook"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_post_mortem_template":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["post_mortem_templates"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the postmortem template"},"default":{"type":"boolean","description":"Default selected template when editing a postmortem","nullable":true},"content":{"type":"string","description":"The postmortem template. Liquid syntax is supported"},"format":{"type":"string","description":"The format of the input","enum":["html","markdown"],"default":"html","nullable":true}},"additionalProperties":false,"required":["name","content"]}},"required":["type","attributes"]}},"required":["data"]},"update_post_mortem_template":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["post_mortem_templates"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the postmortem template"},"default":{"type":"boolean","description":"Default selected template when editing a postmortem","nullable":true},"content":{"type":"string","description":"The postmortem template. Liquid syntax is supported"},"format":{"type":"string","description":"The format of the input","enum":["html","markdown"],"default":"html","nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"post_mortem_template":{"type":"object","properties":{"name":{"type":"string","description":"The name of the postmortem template"},"default":{"type":"boolean","description":"Default selected template when editing a postmortem","nullable":true},"content":{"type":"string","description":"The postmortem template. Liquid syntax and markdown are supported"},"format":{"type":"string","description":"The format of the input","enum":["html","markdown"]},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["name","created_at","updated_at"]},"post_mortem_template_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the post_mortem_template"},"type":{"type":"string","enum":["post_mortem_templates"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/post_mortem_template"}]}},"required":["id","type","attributes"]}},"required":["data"]},"post_mortem_template_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the post_mortem_template"},"type":{"type":"string","enum":["post_mortem_templates"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/post_mortem_template"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_pulse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["pulses"]},"attributes":{"type":"object","properties":{"source":{"type":"string","description":"The source of the pulse (eg: k8s)","nullable":true},"summary":{"type":"string","description":"The summary of the pulse"},"service_ids":{"type":"array","description":"The Service ID's to attach to the pulse","items":{"type":"string"},"nullable":true},"environment_ids":{"type":"array","description":"The Environment ID's to attach to the pulse","items":{"type":"string"},"nullable":true},"started_at":{"type":"string","description":"Pulse start datetime","format":"date-time","nullable":true},"ended_at":{"type":"string","description":"Pulse end datetime","format":"date-time","nullable":true},"external_url":{"type":"string","description":"The external url of the pulse","nullable":true},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Key of the tag"},"value":{"type":"string","description":"Value of the tag"}},"required":["key","value"],"nullable":true}},"refs":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Key of the ref"},"value":{"type":"string","description":"Value of the ref"}},"required":["key","value"],"nullable":true}},"data":{"type":"object","description":"Additional data","nullable":true}},"additionalProperties":false,"required":["summary"]}},"required":["type","attributes"]}},"required":["data"]},"update_pulse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["pulses"]},"attributes":{"type":"object","properties":{"source":{"type":"string","description":"The source of the pulse (eg: k8s)","nullable":true},"summary":{"type":"string","description":"The summary of the pulse"},"service_ids":{"type":"array","description":"The Service ID's to attach to the pulse","items":{"type":"string"},"nullable":true},"environment_ids":{"type":"array","description":"The Environment ID's to attach to the pulse","items":{"type":"string"},"nullable":true},"started_at":{"type":"string","description":"Pulse start datetime","format":"date-time","nullable":true},"ended_at":{"type":"string","description":"Pulse end datetime","format":"date-time","nullable":true},"external_url":{"type":"string","description":"The external url of the pulse","nullable":true},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Key of the tag"},"value":{"type":"string","description":"Value of the tag"}},"required":["key","value"],"nullable":true}},"refs":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Key of the ref"},"value":{"type":"string","description":"Value of the ref"}},"required":["key","value"],"nullable":true}},"data":{"type":"object","description":"Additional data","nullable":true}},"additionalProperties":false}},"required":["summary","attributes"]}},"required":["data"]},"pulse":{"type":"object","properties":{"source":{"type":"string","description":"The source of the pulse (eg: k8s)","nullable":true},"summary":{"type":"string","description":"The summary of the pulse"},"services":{"type":"array","description":"Services attached to the pulse","items":{"type":"object","allOf":[{"$ref":"#/components/schemas/service"}]}},"environments":{"type":"array","description":"Environments attached to the pulse","items":{"type":"object","allOf":[{"$ref":"#/components/schemas/environment"}]}},"external_url":{"type":"string","description":"The external url of the pulse","nullable":true},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Key of the tag"},"value":{"type":"string","description":"Value of the tag"}},"required":["key","value"],"nullable":true}},"refs":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Key of the ref"},"value":{"type":"string","description":"Value of the ref"}},"required":["key","value"],"nullable":true}},"data":{"type":"object","description":"Additional data","nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["summary","created_at","updated_at"]},"pulse_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the pulse"},"type":{"type":"string","enum":["pulses"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/pulse"}]}},"required":["id","type","attributes"]}},"required":["data"]},"pulse_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the pulse"},"type":{"type":"string","enum":["pulses"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/pulse"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"update_retrospective_configuration":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["retrospective_configurations"]},"attributes":{"type":"object","properties":{"severity_ids":{"type":"array","description":"The Severity ID's to attach to the retrospective configuration","items":{"type":"string"},"nullable":true},"group_ids":{"type":"array","description":"The Team ID's to attach to the retrospective configuration","items":{"type":"string"},"nullable":true},"incident_type_ids":{"type":"array","description":"The Incident Type ID's to attach to the retrospective configuration","items":{"type":"string"},"nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"retrospective_configuration":{"type":"object","properties":{"kind":{"type":"string","description":"The kind of the configuration.","enum":["skip","mandatory"]},"severity_ids":{"type":"array","description":"The Severity ID's to attach to the retrospective configuration","items":{"type":"string"},"nullable":true},"group_ids":{"type":"array","description":"The Team ID's to attach to the retrospective configuration","items":{"type":"string"},"nullable":true},"incident_type_ids":{"type":"array","description":"The Incident Type ID's to attach to the retrospective configuration","items":{"type":"string"},"nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}}},"retrospective_configuration_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the retrospective configuration"},"type":{"type":"string","enum":["retrospective_configurations"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/retrospective_configuration"}]}},"required":["id","type","attributes"]}},"required":["data"]},"retrospective_configuration_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the configuration"},"type":{"type":"string","enum":["retrospective_configurations"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/retrospective_configuration"}]}},"required":["id","type","attributes"]}}},"required":["data"]},"new_retrospective_process":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["retrospective_processes"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the retrospective process"},"copy_from":{"type":"string","description":"Retrospective process ID from which retrospective steps have to be copied. To use starter template for retrospective steps provide value: 'starter_template'"},"description":{"type":"string","description":"The description of the retrospective process","nullable":true},"retrospective_process_matching_criteria":{"type":"object","oneOf":[{"type":"object","properties":{"severity_ids":{"type":"array","description":"Severity ID's for retrospective process matching criteria","items":{"type":"string"}}},"additionalProperties":false,"required":["severity_ids"]},{"type":"object","properties":{"group_ids":{"type":"array","description":"Team ID's for retrospective process matching criteria","items":{"type":"string"}}},"additionalProperties":false,"required":["group_ids"]},{"type":"object","properties":{"incident_type_ids":{"type":"array","description":"Incident type ID's for retrospective process matching criteria","items":{"type":"string"}}},"additionalProperties":false,"required":["incident_type_ids"]}]}},"additionalProperties":false,"required":["name","copy_from"]}},"required":["type","attributes"]}},"required":["data"]},"update_retrospective_process":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["retrospective_processes"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the retrospective process"},"description":{"type":"string","description":"The description of the retrospective process","nullable":true},"retrospective_process_matching_criteria":{"type":"object","oneOf":[{"type":"object","properties":{"severity_ids":{"type":"array","description":"Severity ID's for retrospective process matching criteria","items":{"type":"string"}}},"additionalProperties":false,"required":["severity_ids"]},{"type":"object","properties":{"group_ids":{"type":"array","description":"Team ID's for retrospective process matching criteria","items":{"type":"string"}}},"additionalProperties":false,"required":["group_ids"]},{"type":"object","properties":{"incident_type_ids":{"type":"array","description":"Incident type ID's for retrospective process matching criteria","items":{"type":"string"}}},"additionalProperties":false,"required":["incident_type_ids"]}]}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"retrospective_process":{"type":"object","properties":{"name":{"type":"string","description":"The name of the retrospective process"},"description":{"type":"string","description":"The description of the retrospective process","nullable":true},"is_default":{"type":"boolean","description":"Indicates the default process that Rootly created. This will be used as a fallback if no processes match the incident's conditions. The default process cannot have conditions and cannot be changed.","nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"},"retrospective_process_matching_criteria":{"type":"object","oneOf":[{"type":"object","properties":{"severity_ids":{"type":"array","description":"Severity ID's for retrospective process matching criteria","items":{"type":"string"}}},"additionalProperties":false,"required":["severity_ids"]},{"type":"object","properties":{"group_ids":{"type":"array","description":"Team ID's for retrospective process matching criteria","items":{"type":"string"}}},"additionalProperties":false,"required":["group_ids"]},{"type":"object","properties":{"incident_type_ids":{"type":"array","description":"Incident type ID's for retrospective process matching criteria","items":{"type":"string"}}},"additionalProperties":false,"required":["incident_type_ids"]}]}}},"retrospective_process_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique id of retrospective process"},"type":{"type":"string","enum":["retrospective_processes"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/retrospective_process"}]}},"required":["id","type","attributes"]}},"required":["data"]},"retrospective_process_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the retrospective process"},"type":{"type":"string","enum":["retrospective_processes"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/retrospective_process"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_retrospective_step":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["retrospective_steps"]},"attributes":{"type":"object","properties":{"title":{"type":"string","description":"The name of the step"},"description":{"type":"string","description":"The description of the step","nullable":true},"due_after_days":{"type":"integer","description":"Due date in days","nullable":true},"incident_role_id":{"type":"string","description":"Users assigned to the selected incident role will be the default owners for this step","nullable":true},"position":{"type":"integer","description":"Position of the step","nullable":true},"skippable":{"type":"boolean","description":"Is the step skippable?","nullable":false}},"additionalProperties":false,"required":["title"]}},"required":["type","attributes"]}},"required":["data"]},"update_retrospective_step":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["retrospective_steps"]},"attributes":{"type":"object","properties":{"title":{"type":"string","description":"The name of the step"},"description":{"type":"string","description":"The description of the step","nullable":true},"incident_role_id":{"type":"string","description":"Users assigned to the selected incident role will be the default owners for this step","nullable":true},"due_after_days":{"type":"integer","description":"Due date in days","nullable":true},"position":{"type":"integer","description":"Position of the step","nullable":true},"skippable":{"type":"boolean","description":"Is the step skippable?","nullable":false}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"retrospective_step":{"type":"object","properties":{"retrospective_process_id":{"type":"string"},"title":{"type":"string","description":"The name of the step"},"slug":{"type":"string","description":"The slug of the step"},"description":{"type":"string","description":"The description of the step","nullable":true},"incident_role_id":{"type":"string","description":"Users assigned to the selected incident role will be the default owners for this step","nullable":true},"due_after_days":{"type":"integer","description":"Due date in days","nullable":true},"position":{"type":"integer","description":"Position of the step"},"skippable":{"type":"boolean","description":"Is the step skippable?"},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["retrospective_process_id","title","created_at","updated_at"]},"retrospective_step_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the step"},"type":{"type":"string","enum":["retrospective_steps"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/retrospective_step"}]}},"required":["id","type","attributes"]}},"required":["data"]},"retrospective_step_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the step"},"type":{"type":"string","enum":["retrospective_steps"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/retrospective_step"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_role":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["roles"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The role name."},"slug":{"type":"string","description":"The role slug."},"incident_permission_set_id":{"type":"string","description":"Associated incident permissions set.","nullable":true},"alerts_permissions":{"type":"array","items":{"type":"string","enum":["create","read"]}},"api_keys_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"audits_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"billing_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"environments_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"form_fields_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"functionalities_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"groups_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"incident_causes_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"incident_feedbacks_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"incident_roles_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"incident_types_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"incidents_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"integrations_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"invitations_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"playbooks_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"private_incidents_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"pulses_permissions":{"type":"array","items":{"type":"string","enum":["create","update","read"]}},"retrospective_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"roles_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"secrets_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"services_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"severities_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"status_pages_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"webhooks_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"workflows_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}}},"additionalProperties":false,"required":["name"]}},"required":["type","attributes"]}},"required":["data"]},"update_role":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["roles"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The role name."},"slug":{"type":"string","description":"The role slug."},"incident_permission_set_id":{"type":"string","description":"Associated incident permissions set.","nullable":true},"api_keys_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"audits_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"billing_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"environments_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"form_fields_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"functionalities_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"groups_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"incident_causes_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"incident_feedbacks_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"incident_roles_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"incident_types_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"incidents_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"integrations_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"invitations_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"playbooks_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"private_incidents_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"retrospective_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"roles_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"secrets_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"services_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"severities_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"status_pages_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"webhooks_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"workflows_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"role":{"type":"object","properties":{"name":{"type":"string","description":"The role name."},"slug":{"type":"string","description":"The role slug."},"incident_permission_set_id":{"type":"string","description":"Associated incident permissions set.","nullable":true},"is_deletable":{"type":"boolean","description":"Whether the role can be deleted."},"is_editable":{"type":"boolean","description":"Whether the role can be edited."},"alerts_permissions":{"type":"array","items":{"type":"string","enum":["create","read"]}},"api_keys_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"audits_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"billing_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"environments_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"form_fields_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"functionalities_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"groups_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"incident_causes_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"incident_feedbacks_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"incident_roles_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"incident_types_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"incidents_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"integrations_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"invitations_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"playbooks_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"private_incidents_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"pulses_permissions":{"type":"array","items":{"type":"string","enum":["create","update","read"]}},"retrospective_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"roles_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"secrets_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"services_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"severities_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"status_pages_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"webhooks_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"workflows_permissions":{"type":"array","items":{"type":"string","enum":["create","read","update","delete"]}},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["name","slug","created_at","updated_at"]},"role_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the role"},"type":{"type":"string","enum":["roles"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/role"}]}},"required":["id","type","attributes"]}},"required":["data"]},"role_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the role"},"type":{"type":"string","enum":["roles"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/role"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_schedule_rotation_active_day":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["schedule_rotation_active_days"]},"attributes":{"type":"object","properties":{"day_name":{"type":"string","description":"Schedule rotation day name for which active times to be created","enum":["S","M","T","W","R","F","U"]},"active_time_attributes":{"type":"array","description":"Schedule rotation active times per day","items":{"type":"object","properties":{"start_time":{"type":"string","description":"Start time for schedule rotation active time","format":"time"},"end_time":{"type":"string","description":"End time for schedule rotation active time","format":"time"}}}}},"additionalProperties":false,"required":["day_name","active_time_attributes"]}},"required":["type","attributes"]}},"required":["data"]},"update_schedule_rotation_active_day":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["schedule_rotation_active_days"]},"attributes":{"type":"object","properties":{"day_name":{"type":"string","description":"Schedule rotation day name for which active times to be created","enum":["S","M","T","W","R","F","U"]},"active_time_attributes":{"type":"array","description":"Schedule rotation active times per day","items":{"type":"object","properties":{"start_time":{"type":"string","description":"Start time for schedule rotation active time","format":"time"},"end_time":{"type":"string","description":"End time for schedule rotation active time","format":"time"}}}}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"schedule_rotation_active_day":{"properties":{"schedule_rotation_id":{"type":"string"},"day_name":{"type":"string","description":"Schedule rotation day name for which active times to be created","enum":["S","M","T","W","R","F","U"]},"active_time_attributes":{"type":"array","description":"Schedule rotation active times per day","items":{"type":"object","properties":{"start_time":{"type":"string","description":"Start time for schedule rotation active time","format":"time"},"end_time":{"type":"string","description":"End time for schedule rotation active time","format":"time"}}}},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["schedule_rotation_id","day_name","active_time_attributes","created_at","updated_at"]},"schedule_rotation_active_day_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the schedule rotation active time"},"type":{"type":"string","enum":["schedule_rotation_active_days"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/schedule_rotation_active_day"}]}}}}},"schedule_rotation_active_day_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the schedule rotation active time"},"type":{"type":"string","enum":["schedule_rotation_active_days"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/schedule_rotation_active_day"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_schedule_rotation_user":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["schedule_rotation_users"]},"attributes":{"type":"object","properties":{"user_id":{"type":"integer","description":"Schedule rotation user"},"position":{"type":"integer","description":"Position of the user inside rotation"}},"additionalProperties":false,"required":["user_id"]}}}}},"update_schedule_rotation_user":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["schedule_rotation_users"]},"attributes":{"type":"object","properties":{"user_id":{"type":"integer","description":"Schedule rotation user"},"position":{"type":"integer","description":"Position of the user inside rotation"}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"schedule_rotation_user":{"type":"object","properties":{"schedule_rotation_id":{"type":"string"},"user_id":{"type":"integer","description":"Schedule rotation user"},"position":{"type":"integer","description":"Position of the user inside rotation"},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["schedule_rotation_id","user_id","position","created_at","updated_at"]},"schedule_rotation_user_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the schedule rotation user"},"type":{"type":"string","enum":["schedule_rotation_users"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/schedule_rotation_user"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"schedule_rotation_user_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the schedule rotation user"},"type":{"type":"string","enum":["schedule_rotation_users"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/schedule_rotation_user"}]}},"required":["id","type","attributes"]}},"required":["data"]},"new_schedule_rotation":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["schedule_rotations"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the schedule rotation"},"position":{"type":"integer","description":"Position of the schedule rotation"},"schedule_rotationable_type":{"type":"string","description":"Schedule rotation type","enum":["ScheduleDailyRotation","ScheduleWeeklyRotation","ScheduleBiweeklyRotation","ScheduleMonthlyRotation","ScheduleCustomRotation"]},"active_all_week":{"type":"boolean","description":"Schedule rotation active all week?","default":true},"active_days":{"type":"array","items":{"type":"string","description":"Schedule rotation active days","enum":["S","M","T","W","R","F","U"]}},"active_time_type":{"type":"string","items":{"type":"string","description":"Schedule rotation active time type","enum":["all_day","same_time","custom"],"default":"all_day"}},"active_time_attributes":{"type":"array","description":"Schedule rotation's active times","items":{"type":"object","properties":{"start_time":{"type":"string","description":"Start time for schedule rotation active time","format":"time"},"end_time":{"type":"string","description":"End time for schedule rotation active time","format":"time"}},"required":["start_time","end_time"]}},"time_zone":{"type":"string","description":"A valid IANA time zone name.","default":"Etc/UTC"},"schedule_rotationable_attributes":{"type":"object","oneOf":[{"type":"object","properties":{"handoff_time":{"type":"string","description":"Hand off time for daily rotation","format":"time"}},"additionalProperties":false,"required":["handoff_time"]},{"type":"object","properties":{"handoff_time":{"type":"string","description":"Hand off time for weekly/biweekly rotation","format":"time"},"handoff_day":{"type":"string","description":"Hand off day for weekly/biweekly rotation","enum":["S","M","T","W","R","F","U"]}},"additionalProperties":false,"required":["handoff_time","handoff_day"]},{"type":"object","properties":{"handoff_time":{"type":"string","description":"Hand off time for monthly rotation","format":"time"},"handoff_day":{"type":"string","description":"Hand off day for monthly rotation","enum":["first_day_of_month","last_day_of_month"]}},"additionalProperties":false,"required":["handoff_time","handoff_day"]},{"type":"object","properties":{"shift_length":{"type":"integer","description":"Shift length for custom rotation"},"shift_length_unit":{"type":"string","description":"Shift length unit for custom rotation","enum":["hours","days","weeks"]},"handoff_time":{"type":"string","description":"Hand off time for custom rotation","format":"time"}},"additionalProperties":false,"required":["shift_length","handoff_time"]}]}},"additionalProperties":false,"required":["name","schedule_rotationable_type","schedule_rotationable_attributes"]}},"required":["type","attributes"]}},"required":["data"]},"update_schedule_rotation":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["schedule_rotations"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the schedule rotation"},"position":{"type":"integer","description":"Position of the schedule rotation"},"schedule_rotationable_type":{"type":"string","description":"Schedule rotation type","enum":["ScheduleDailyRotation","ScheduleWeeklyRotation","ScheduleBiweeklyRotation","ScheduleMonthlyRotation","ScheduleCustomRotation"]},"active_all_week":{"type":"boolean","description":"Schedule rotation active all week?","default":true},"active_days":{"type":"array","items":{"type":"string","description":"Schedule rotation active days","enum":["S","M","T","W","R","F","U"]}},"active_time_type":{"type":"string","items":{"type":"string","description":"Schedule rotation active time type","enum":["all_day","same_time","custom"],"default":"all_day"}},"active_time_attributes":{"type":"array","description":"Schedule rotation's active times","items":{"type":"object","properties":{"start_time":{"type":"string","description":"Start time for schedule rotation active time","format":"time"},"end_time":{"type":"string","description":"End time for schedule rotation active time","format":"time"}},"required":["start_time","end_time"]}},"time_zone":{"type":"string","description":"A valid IANA time zone name.","default":"Etc/UTC"},"schedule_rotationable_attributes":{"type":"object","oneOf":[{"type":"object","properties":{"handoff_time":{"type":"string","description":"Hand off time for daily rotation","format":"time"}},"additionalProperties":false,"required":["handoff_time"]},{"type":"object","properties":{"handoff_time":{"type":"string","description":"Hand off time for weekly/biweekly rotation","format":"time"},"handoff_day":{"type":"string","description":"Hand off day for weekly/biweekly rotation","enum":["S","M","T","W","R","F","U"]}},"additionalProperties":false,"required":["handoff_time","handoff_day"]},{"type":"object","properties":{"handoff_time":{"type":"string","description":"Hand off time for monthly rotation","format":"time"},"handoff_day":{"type":"string","description":"Hand off day for monthly rotation","enum":["first_day_of_month","last_day_of_month"]}},"additionalProperties":false,"required":["handoff_time","handoff_day"]},{"type":"object","properties":{"shift_length":{"type":"integer","description":"Shift length for custom rotation"},"shift_length_unit":{"type":"string","description":"Shift length unit for custom rotation","enum":["hours","days","weeks"]},"handoff_time":{"type":"string","description":"Hand off time for custom rotation","format":"time"}},"additionalProperties":false,"required":["shift_length","handoff_time"]}]}},"additionalProperties":false,"required":["schedule_rotationable_type"]}},"required":["type","attributes"]}},"required":["data"]},"schedule_rotation":{"type":"object","properties":{"schedule_id":{"type":"string","description":"The ID of parent schedule"},"name":{"type":"string","description":"The name of the schedule rotation"},"position":{"type":"integer","description":"Position of the schedule rotation"},"schedule_rotationable_type":{"type":"string","description":"Schedule rotation type","enum":["ScheduleDailyRotation","ScheduleWeeklyRotation","ScheduleBiweeklyRotation","ScheduleMonthlyRotation","ScheduleCustomRotation"]},"active_all_week":{"type":"boolean","description":"Schedule rotation active all week?","default":true},"active_days":{"type":"array","items":{"type":"string","description":"Schedule rotation active days","enum":["S","M","T","W","R","F","U"]}},"active_time_type":{"type":"string","items":{"type":"string","description":"Schedule rotation active time type","enum":["all_day","same_time","custom"],"default":"all_day"}},"active_time_attributes":{"type":"array","description":"Schedule rotation's active times","items":{"type":"object","properties":{"start_time":{"type":"string","description":"Start time for schedule rotation active time","format":"time"},"end_time":{"type":"string","description":"End time for schedule rotation active time","format":"time"}},"required":["start_time","end_time"]}},"time_zone":{"type":"string","description":"A valid IANA time zone name.","default":"Etc/UTC"},"schedule_rotationable_attributes":{"type":"object","oneOf":[{"type":"object","properties":{"handoff_time":{"type":"string","description":"Hand off time for daily rotation","format":"time"}},"additionalProperties":false,"required":["handoff_time"]},{"type":"object","properties":{"handoff_time":{"type":"string","description":"Hand off time for weekly/biweekly rotation","format":"time"},"handoff_day":{"type":"string","description":"Hand off day for weekly/biweekly rotation","enum":["S","M","T","W","R","F","U"]}},"additionalProperties":false,"required":["handoff_time","handoff_day"]},{"type":"object","properties":{"handoff_time":{"type":"string","description":"Hand off time for monthly rotation","format":"time"},"handoff_day":{"type":"string","description":"Hand off day for monthly rotation","enum":["first_day_of_month","last_day_of_month"]}},"additionalProperties":false,"required":["handoff_time","handoff_day"]},{"type":"object","properties":{"shift_length":{"type":"integer","description":"Shift length for custom rotation"},"shift_length_unit":{"type":"string","description":"Shift length unit for custom rotation","enum":["hours","days","weeks"]},"handoff_time":{"type":"string","description":"Hand off time for custom rotation","format":"time"}},"additionalProperties":false,"required":["shift_length","handoff_time"]}]}},"required":["schedule_id","name","schedule_rotationable_type","schedule_rotationable_attributes"]},"schedule_rotation_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the schedule rotation"},"type":{"type":"string","enum":["schedule_rotations"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/schedule_rotation"}]}},"required":["id","type","attributes"]}},"required":["data"]},"schedule_rotation_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the schedule rotation"},"type":{"type":"string","enum":["schedule_rotations"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/schedule_rotation"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_schedule":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["schedules"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the schedule"},"description":{"type":"string","description":"The description of the schedule","nullable":true},"all_time_coverage":{"type":"boolean","description":"24/7 coverage of the schedule","nullable":true},"slack_user_group":{"type":"object","properties":{"id":{"type":"string","description":"Slack channel ID"},"name":{"type":"string","description":"Slack channel name"}}},"owner_group_ids":{"type":"array","items":{"type":"string"},"description":"Owning teams."},"owner_user_id":{"type":"integer","description":"ID of the owner of the schedule","nullable":true}},"additionalProperties":false,"required":["name"]}},"required":["type","attributes"]}},"required":["data"]},"update_schedule":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["schedules"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the schedule"},"description":{"type":"string","description":"The description of the schedule","nullable":true},"all_time_coverage":{"type":"boolean","description":"24/7 coverage of the schedule","nullable":true},"slack_user_group":{"type":"object","properties":{"id":{"type":"string","description":"Slack channel ID"},"name":{"type":"string","description":"Slack channel name"}}},"owner_group_ids":{"type":"array","items":{"type":"string"},"description":"Owning teams."},"owner_user_id":{"type":"integer","description":"ID of the owner of the schedule","nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"schedule":{"type":"object","properties":{"name":{"type":"string","description":"The name of the schedule"},"description":{"type":"string","description":"The description of the schedule","nullable":true},"all_time_coverage":{"type":"boolean","description":"24/7 coverage of the schedule","nullable":true},"slack_user_group":{"type":"object","description":"Synced slack group of the schedule","nullable":true,"properties":{"id":{"type":"string","description":"Slack channel ID"},"name":{"type":"string","description":"Slack channel name"}}},"owner_group_ids":{"type":"array","items":{"type":"string"},"description":"Owning teams."},"owner_user_id":{"type":"integer","description":"ID of user assigned as owner of the schedule","nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["name","created_at","updated_at"]},"schedule_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique id of schedule"},"type":{"type":"string","enum":["schedules"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/schedule"}]}},"required":["id","type","attributes"]}},"required":["data"]},"schedule_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the schedule"},"type":{"type":"string","enum":["schedules"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/schedule"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_secret":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["secrets"]},"attributes":{"type":"object","properties":{"kind":{"type":"string","description":"The kind of the secret","enum":["built_in","hashicorp_vault"]},"name":{"type":"string","description":"The name of the secret"},"secret":{"type":"string","description":"The secret"},"hashicorp_vault_mount":{"type":"string","description":"The HashiCorp Vault secret mount path","nullable":true,"default":"secret"},"hashicorp_vault_path":{"type":"string","description":"The HashiCorp Vault secret path","nullable":true},"hashicorp_vault_version":{"type":"string","description":"The HashiCorp Vault secret version","nullable":true,"default":0}},"additionalProperties":false,"required":["name","secret"]}},"required":["type","attributes"]}},"required":["data"]},"update_secret":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["secrets"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the secret"},"secret":{"type":"string","description":"The secret"},"hashicorp_vault_mount":{"type":"string","description":"The HashiCorp Vault secret mount path","nullable":true,"default":"secret"},"hashicorp_vault_path":{"type":"string","description":"The HashiCorp Vault secret path","nullable":true},"hashicorp_vault_version":{"type":"integer","description":"The HashiCorp Vault secret version","nullable":true,"default":0}},"additionalProperties":false,"required":["name"]}},"required":["type","attributes"]}},"required":["data"]},"secret":{"type":"object","properties":{"name":{"type":"string","description":"The name of the secret"},"secret":{"type":"string","description":"The redacted secret"},"hashicorp_vault_mount":{"type":"string","description":"The HashiCorp Vault secret mount path"},"hashicorp_vault_path":{"type":"string","description":"The HashiCorp Vault secret path","nullable":true},"hashicorp_vault_version":{"type":"integer","description":"The HashiCorp Vault secret version"},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["name","created_at","updated_at"]},"secret_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the secret"},"type":{"type":"string","enum":["secrets"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/secret"}]}},"required":["id","type","attributes"]}},"required":["data"]},"secret_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the secret"},"type":{"type":"string","enum":["secrets"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/secret"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data"]},"new_service":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["services"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the service"},"description":{"type":"string","description":"The description of the service","nullable":true},"public_description":{"type":"string","description":"The public description of the service","nullable":true},"notify_emails":{"type":"array","description":"Emails to attach to the service","items":{"type":"string"},"nullable":true},"color":{"type":"string","description":"The hex color of the service","nullable":true},"position":{"type":"integer","description":"Position of the service","nullable":true},"show_uptime":{"type":"boolean","description":"Show uptime","nullable":true},"show_uptime_last_days":{"type":"integer","description":"Show uptime over x days","enum":[30,60,90],"nullable":true,"default":60},"backstage_id":{"type":"string","description":"The Backstage entity id associated to this service. eg: :namespace/:kind/:entity_name","nullable":true},"pagerduty_id":{"type":"string","description":"The PagerDuty service id associated to this service","nullable":true},"external_id":{"type":"string","description":"The external id associated to this service","nullable":true},"opsgenie_id":{"type":"string","description":"The Opsgenie service id associated to this service","nullable":true},"opsgenie_team_id":{"type":"string","description":"The Opsgenie team id associated to this service","nullable":true},"cortex_id":{"type":"string","description":"The Cortex group id associated to this service","nullable":true},"service_now_ci_sys_id":{"type":"string","description":"The Service Now CI sys id associated to this service","nullable":true},"github_repository_name":{"type":"string","description":"The GitHub repository name associated to this service. eg: rootlyhq/my-service","nullable":true},"github_repository_branch":{"type":"string","description":"The GitHub repository branch associated to this service. eg: main","nullable":true},"gitlab_repository_name":{"type":"string","description":"The GitLab repository name associated to this service. eg: rootlyhq/my-service","nullable":true},"gitlab_repository_branch":{"type":"string","description":"The GitLab repository branch associated to this service. eg: main","nullable":true},"environment_ids":{"type":"array","description":"Environments associated with this service","items":{"type":"string"},"nullable":true},"service_ids":{"type":"array","description":"Services dependent on this service","items":{"type":"string"},"nullable":true},"owners_group_ids":{"type":"array","description":"Owner Teams associated with this service","items":{"type":"string"},"nullable":true},"owners_user_ids":{"type":"array","description":"Owner Users associated with this service","items":{"type":"integer"},"nullable":true},"alerts_email_enabled":{"type":"boolean","description":"Enable alerts through email","nullable":true},"alert_urgency_id":{"type":"string","description":"The alert urgency id of the service","nullable":true},"slack_channels":{"type":"array","description":"Slack Channels associated with this service","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack channel ID"},"name":{"type":"string","description":"Slack channel name"}},"required":["id","name"]},"nullable":true},"slack_aliases":{"type":"array","description":"Slack Aliases associated with this service","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack alias ID"},"name":{"type":"string","description":"Slack alias name"}},"required":["id","name"]},"nullable":true}},"additionalProperties":false,"required":["name"]}},"required":["type","attributes"]}},"required":["data"]},"update_service":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["services"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the service"},"description":{"type":"string","description":"The description of the service","nullable":true},"public_description":{"type":"string","description":"The public description of the service","nullable":true},"notify_emails":{"type":"array","description":"Emails to attach to the service","items":{"type":"string"},"nullable":true},"color":{"type":"string","description":"The hex color of the service","nullable":true},"position":{"type":"integer","description":"Position of the service","nullable":true},"backstage_id":{"type":"string","description":"The Backstage entity id associated to this service. eg: :namespace/:kind/:entity_name","nullable":true},"external_id":{"type":"string","description":"The external id associated to this service","nullable":true},"pagerduty_id":{"type":"string","description":"The PagerDuty service id associated to this service","nullable":true},"opsgenie_id":{"type":"string","description":"The Opsgenie service id associated to this service","nullable":true},"cortex_id":{"type":"string","description":"The Cortex group id associated to this service","nullable":true},"service_now_ci_sys_id":{"type":"string","description":"The Service Now CI sys id associated to this service","nullable":true},"github_repository_name":{"type":"string","description":"The GitHub repository name associated to this service. eg: rootlyhq/my-service","nullable":true},"github_repository_branch":{"type":"string","description":"The GitHub repository branch associated to this service. eg: main","nullable":true},"gitlab_repository_name":{"type":"string","description":"The GitLab repository name associated to this service. eg: rootlyhq/my-service","nullable":true},"gitlab_repository_branch":{"type":"string","description":"The GitLab repository branch associated to this service. eg: main","nullable":true},"environment_ids":{"type":"array","description":"Environments associated with this service","items":{"type":"string"},"nullable":true},"service_ids":{"type":"array","description":"Services dependent on this service","items":{"type":"string"},"nullable":true},"owners_group_ids":{"type":"array","description":"Owner Teams associated with this service","items":{"type":"string"},"nullable":true},"owners_user_ids":{"type":"array","description":"Owner Users associated with this service","items":{"type":"integer"},"nullable":true},"alerts_email_enabled":{"type":"boolean","description":"Enable alerts through email","nullable":true},"alert_urgency_id":{"type":"string","description":"The alert urgency id of the service","nullable":true},"slack_channels":{"type":"array","description":"Slack Channels associated with this service","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack channel ID"},"name":{"type":"string","description":"Slack channel name"}},"required":["id","name"]},"nullable":true},"slack_aliases":{"type":"array","description":"Slack Aliases associated with this service","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack alias ID"},"name":{"type":"string","description":"Slack alias name"}},"required":["id","name"]},"nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"service":{"type":"object","properties":{"name":{"type":"string","description":"The name of the service"},"slug":{"type":"string","description":"The slug of the service"},"description":{"type":"string","description":"The description of the service","nullable":true},"public_description":{"type":"string","description":"The public description of the service","nullable":true},"notify_emails":{"type":"array","description":"Emails attached to the service","items":{"type":"string"},"nullable":true},"color":{"type":"string","description":"The hex color of the service","nullable":true},"position":{"type":"integer","description":"Position of the service","nullable":true},"backstage_id":{"type":"string","description":"The Backstage entity id associated to this service. eg: :namespace/:kind/:entity_name","nullable":true},"external_id":{"type":"string","description":"The external id associated to this service","nullable":true},"pagerduty_id":{"type":"string","description":"The PagerDuty service id associated to this service","nullable":true},"opsgenie_id":{"type":"string","description":"The Opsgenie service id associated to this service","nullable":true},"cortex_id":{"type":"string","description":"The Cortex group id associated to this service","nullable":true},"service_now_ci_sys_id":{"type":"string","description":"The Service Now CI sys id associated to this service","nullable":true},"github_repository_name":{"type":"string","description":"The GitHub repository name associated to this service. eg: rootlyhq/my-service","nullable":true},"github_repository_branch":{"type":"string","description":"The GitHub repository branch associated to this service. eg: main","nullable":true},"gitlab_repository_name":{"type":"string","description":"The GitLab repository name associated to this service. eg: rootlyhq/my-service","nullable":true},"gitlab_repository_branch":{"type":"string","description":"The GitLab repository branch associated to this service. eg: main","nullable":true},"environment_ids":{"type":"array","description":"Environments associated with this service","items":{"type":"string"},"nullable":true},"service_ids":{"type":"array","description":"Services dependent on this service","items":{"type":"string"},"nullable":true},"owners_group_ids":{"type":"array","description":"Owner Teams associated with this service","items":{"type":"string"},"nullable":true},"owners_user_ids":{"type":"array","description":"Owner Users associated with this service","items":{"type":"integer"},"nullable":true},"alert_urgency_id":{"type":"string","description":"The alert urgency id of the service","nullable":true},"alerts_email_enabled":{"type":"boolean","description":"Enable alerts through email","nullable":true},"alerts_email_address":{"type":"string","description":"Email generated to send alerts to","nullable":true},"slack_channels":{"type":"array","description":"Slack Channels associated with this service","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack channel ID"},"name":{"type":"string","description":"Slack channel name"}},"required":["id","name"]},"nullable":true},"slack_aliases":{"type":"array","description":"Slack Aliases associated with this service","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack alias ID"},"name":{"type":"string","description":"Slack alias name"}},"required":["id","name"]},"nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["name","created_at","updated_at"]},"service_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the service"},"type":{"type":"string","enum":["services"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/service"}]}},"required":["id","type","attributes"]}},"required":["data"]},"service_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the service"},"type":{"type":"string","enum":["services"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/service"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_severity":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["severities"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the severity"},"description":{"type":"string","description":"The description of the severity","nullable":true},"severity":{"type":"string","description":"The severity of the severity","enum":["critical","high","medium","low"]},"color":{"type":"string","description":"The hex color of the severity","nullable":true},"position":{"type":"integer","description":"Position of the severity","nullable":true},"notify_emails":{"type":"array","description":"Emails to attach to the severity","items":{"type":"string"},"nullable":true},"slack_channels":{"type":"array","description":"Slack Channels associated with this severity","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack channel ID"},"name":{"type":"string","description":"Slack channel name"}},"required":["id","name"]},"nullable":true},"slack_aliases":{"type":"array","description":"Slack Aliases associated with this severity","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack alias ID"},"name":{"type":"string","description":"Slack alias name"}},"required":["id","name"]},"nullable":true}},"additionalProperties":false,"required":["name"]}},"required":["type","attributes"]}},"required":["data"]},"update_severity":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["severities"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the severity"},"description":{"type":"string","description":"The description of the severity","nullable":true},"severity":{"type":"string","description":"The severity of the severity","enum":["critical","high","medium","low"]},"color":{"type":"string","description":"The hex color of the severity","nullable":true},"position":{"type":"integer","description":"Position of the severity","nullable":true},"notify_emails":{"type":"array","description":"Emails to attach to the severity","items":{"type":"string"},"nullable":true},"slack_channels":{"type":"array","description":"Slack Channels associated with this severity","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack channel ID"},"name":{"type":"string","description":"Slack channel name"}},"required":["id","name"]},"nullable":true},"slack_aliases":{"type":"array","description":"Slack Aliases associated with this severity","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack alias ID"},"name":{"type":"string","description":"Slack alias name"}},"required":["id","name"]},"nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"severity":{"type":"object","properties":{"name":{"type":"string","description":"The name of the severity"},"slug":{"type":"string","description":"The slug of the severity"},"description":{"type":"string","description":"The description of the severity","nullable":true},"severity":{"type":"string","description":"The severity of the severity","enum":["critical","high","medium","low"]},"color":{"type":"string","description":"The hex color of the severity","nullable":true},"position":{"type":"integer","description":"Position of the severity","nullable":true},"notify_emails":{"type":"array","description":"Emails to attach to the severity","items":{"type":"string"},"nullable":true},"slack_channels":{"type":"array","description":"Slack Channels associated with this severity","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack channel ID"},"name":{"type":"string","description":"Slack channel name"}},"required":["id","name"]},"nullable":true},"slack_aliases":{"type":"array","description":"Slack Aliases associated with this severity","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack alias ID"},"name":{"type":"string","description":"Slack alias name"}},"required":["id","name"]},"nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["name","created_at","updated_at"]},"severity_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the severity"},"type":{"type":"string","enum":["severities"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/severity"}]}},"required":["id","type","attributes"]}},"required":["data"]},"severity_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the severity"},"type":{"type":"string","enum":["severities"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/severity"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"shift":{"type":"object","properties":{"schedule_id":{"type":"string","description":"ID of schedule","nullable":false},"rotation_id":{"type":"string","description":"ID of rotation","nullable":true},"starts_at":{"type":"string","description":"Start datetime of shift","nullable":false},"ends_at":{"type":"string","description":"End datetime of shift","nullable":false},"is_override":{"type":"boolean","description":"Denotes shift is an override shift"},"shift_override":{"type":"object","allOf":[{"$ref":"#/components/schemas/shift_override_response"}],"description":"Override metadata","nullable":true},"user":{"type":"object","allOf":[{"$ref":"#/components/schemas/user_response"}],"description":"User metadata","nullable":false}},"required":["schedule_id","rotation_id","starts_at","ends_at","is_override"]},"shift_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the shift"},"type":{"type":"string","enum":["shifts"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/shift"}]}},"required":["id","type","attributes"]}}},"required":["data"]},"new_status_page_template":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["status_page_templates"]},"attributes":{"type":"object","properties":{"status_page_id":{"type":"string"},"title":{"type":"string","description":"Title of the template"},"body":{"type":"string","description":"Description of the event the template will populate"},"update_status":{"type":"string","description":"Status of the event the template will populate","enum":["investigating","identified","monitoring","resolved","scheduled","in_progress","verifying","completed"],"nullable":true},"kind":{"type":"string","description":"The kind of the status page template","nullable":false,"enum":["normal","scheduled"]},"should_notify_subscribers":{"type":"boolean","description":"Controls if incident subscribers should be notified","nullable":true},"position":{"type":"integer","description":"Position of the status page template"},"enabled":{"type":"boolean","description":"Enable / Disable the status page template","nullable":true}},"additionalProperties":false,"required":["title","body"]}},"required":["type","attributes"]}},"required":["data"]},"update_status_page_template":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["status_page_templates"]},"attributes":{"type":"object","properties":{"title":{"type":"string","description":"Title of the template"},"body":{"type":"string","description":"Description of the event the template will populate"},"update_status":{"type":"string","description":"Status of the event the template will populate","enum":["investigating","identified","monitoring","resolved","scheduled","in_progress","verifying","completed"],"nullable":true},"kind":{"type":"string","description":"The kind of the status page template","nullable":false,"enum":["normal","scheduled"]},"should_notify_subscribers":{"type":"boolean","description":"Controls if incident subscribers should be notified","nullable":true},"position":{"type":"integer","description":"Position of the workflow task"},"enabled":{"type":"boolean","description":"Enable / Disable the status page template","nullable":true}},"additionalProperties":false,"required":["title","body"]}},"required":["type","attributes"]}},"required":["data"]},"status_page_template":{"type":"object","properties":{"status_page_id":{"type":"string"},"title":{"type":"string","description":"Title of the template"},"body":{"type":"string","description":"Description of the event the template will populate"},"update_status":{"type":"string","description":"Status of the event the template will populate","nullable":true},"kind":{"type":"string","description":"The kind of the status page template","nullable":false,"enum":["normal","scheduled"]},"should_notify_subscribers":{"type":"boolean","description":"Controls if incident subscribers should be notified","nullable":true},"enabled":{"type":"boolean","description":"Enable / Disable the status page template","nullable":true},"position":{"type":"integer","description":"Position of the workflow task"},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["status_page_id","title","body","created_at","updated_at"]},"status_page_template_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the status page template"},"type":{"type":"string","enum":["status_page_templates"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/status_page_template"}]}},"required":["id","type","attributes"]}},"required":["data"]},"status_page_template_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the template"},"type":{"type":"string","enum":["status_page_templates"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/status_page_template"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_status_page":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["status_pages"]},"attributes":{"type":"object","properties":{"title":{"type":"string","description":"The title of the status page"},"public_title":{"type":"string","description":"The public title of the status page","nullable":true},"description":{"type":"string","description":"The description of the status page","nullable":true},"public_description":{"type":"string","description":"The public description of the status page","nullable":true},"header_color":{"type":"string","description":"The color of the header. Eg. \"#0061F2\"","nullable":true},"footer_color":{"type":"string","description":"The color of the footer. Eg. \"#1F2F41\"","nullable":true},"allow_search_engine_index":{"type":"boolean","description":"Allow search engines to include your public status page in search results","nullable":true},"show_uptime":{"type":"boolean","description":"Show uptime","nullable":true},"show_uptime_last_days":{"type":"integer","description":"Show uptime over x days","enum":[30,60,90,180,360],"nullable":true},"success_message":{"type":"string","description":"Message showing when all components are operational","nullable":true},"failure_message":{"type":"string","description":"Message showing when at least one component is not operational","nullable":true},"authentication_enabled":{"type":"boolean","description":"Enable authentication","nullable":true,"default":false},"authentication_password":{"type":"string","description":"Authentication password","nullable":true},"website_url":{"type":"string","description":"Website URL","nullable":true},"website_privacy_url":{"type":"string","description":"Website Privacy URL","nullable":true},"website_support_url":{"type":"string","description":"Website Support URL","nullable":true},"ga_tracking_id":{"type":"string","description":"Google Analytics tracking ID","nullable":true},"time_zone":{"type":"string","description":"A valid IANA time zone name.","default":"Etc/UTC","nullable":true},"public":{"type":"boolean","description":"Make the status page accessible to the public","nullable":true},"service_ids":{"type":"array","items":{"type":"string"},"description":"Services attached to the status page"},"functionality_ids":{"type":"array","items":{"type":"string"},"description":"Functionalities attached to the status page"},"enabled":{"type":"boolean","description":"Enabled / Disable the status page","nullable":true}},"additionalProperties":false,"required":["title"]}},"required":["type","attributes"]}},"required":["data"]},"update_status_page":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["status_pages"]},"attributes":{"type":"object","properties":{"title":{"type":"string","description":"The title of the status page"},"public_title":{"type":"string","description":"The public title of the status page","nullable":true},"description":{"type":"string","description":"The description of the status page","nullable":true},"public_description":{"type":"string","description":"The public description of the status page","nullable":true},"header_color":{"type":"string","description":"The color of the header. Eg. \"#0061F2\"","nullable":true},"footer_color":{"type":"string","description":"The color of the footer. Eg. \"#1F2F41\"","nullable":true},"allow_search_engine_index":{"type":"boolean","description":"Allow search engines to include your public status page in search results","nullable":true},"show_uptime":{"type":"boolean","description":"Show uptime","nullable":true},"show_uptime_last_days":{"type":"integer","description":"Show uptime over x days","enum":[30,60,90,180,360],"nullable":true},"success_message":{"type":"string","description":"Message showing when all components are operational","nullable":true},"failure_message":{"type":"string","description":"Message showing when at least one component is not operational","nullable":true},"authentication_enabled":{"type":"boolean","description":"Enable authentication","nullable":true,"default":false},"authentication_password":{"type":"string","description":"Authentication password","nullable":true},"website_url":{"type":"string","description":"Website URL","nullable":true},"website_privacy_url":{"type":"string","description":"Website Privacy URL","nullable":true},"website_support_url":{"type":"string","description":"Website Support URL","nullable":true},"ga_tracking_id":{"type":"string","description":"Google Analytics tracking ID","nullable":true},"time_zone":{"type":"string","description":"A valid IANA time zone name.","default":"Etc/UTC","nullable":true},"public":{"type":"boolean","description":"Make the status page accessible to the public","nullable":true},"service_ids":{"type":"array","items":{"type":"string"},"description":"Services attached to the status page"},"functionality_ids":{"type":"array","items":{"type":"string"},"description":"Functionalities attached to the status page"},"enabled":{"type":"boolean","description":"Enabled / Disable the status page","nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"status_page":{"type":"object","properties":{"title":{"type":"string","description":"The title of the status page"},"public_title":{"type":"string","description":"The public title of the status page","nullable":true},"description":{"type":"string","description":"The description of the status page","nullable":true},"public_description":{"type":"string","description":"The public description of the status page","nullable":true},"header_color":{"type":"string","description":"The color of the header. Eg. \"#0061F2\"","nullable":true},"footer_color":{"type":"string","description":"The color of the footer. Eg. \"#1F2F41\"","nullable":true},"allow_search_engine_index":{"type":"boolean","description":"Allow search engines to include your public status page in search results","nullable":true},"show_uptime":{"type":"boolean","description":"Show uptime","nullable":true},"show_uptime_last_days":{"type":"integer","description":"Show uptime over x days","enum":[30,60,90,180,360],"nullable":true},"success_message":{"type":"string","description":"Message showing when all components are operational","nullable":true},"failure_message":{"type":"string","description":"Message showing when at least one component is not operational","nullable":true},"authentication_enabled":{"type":"boolean","description":"Enable authentication","nullable":true,"default":false},"authentication_password":{"type":"string","description":"Authentication password","nullable":true},"website_url":{"type":"string","description":"Website URL","nullable":true},"website_privacy_url":{"type":"string","description":"Website Privacy URL","nullable":true},"website_support_url":{"type":"string","description":"Website Support URL","nullable":true},"ga_tracking_id":{"type":"string","description":"Google Analytics tracking ID","nullable":true},"time_zone":{"type":"string","description":"A valid IANA time zone name.","default":"Etc/UTC","nullable":true},"public":{"type":"boolean","description":"Make the status page accessible to the public","nullable":true},"service_ids":{"type":"array","items":{"type":"string"},"description":"Services attached to the status page"},"functionality_ids":{"type":"array","items":{"type":"string"},"description":"Functionalities attached to the status page"},"enabled":{"type":"boolean","description":"Enabled / Disable the status page","nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["title","created_at","updated_at"]},"status_page_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the status page"},"type":{"type":"string","enum":["status_pages"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/status_page"}]}},"required":["id","type","attributes"]}},"required":["data"]},"status_page_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the status page"},"type":{"type":"string","enum":["status_pages"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/status_page"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_team":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["groups"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the team"},"description":{"type":"string","description":"The description of the team","nullable":true},"notify_emails":{"type":"array","description":"Emails to attach to the team","items":{"type":"string"},"nullable":true},"color":{"type":"string","description":"The hex color of the team","nullable":true},"position":{"type":"integer","description":"Position of the team","nullable":true},"backstage_id":{"type":"string","description":"The Backstage entity id associated to this team. eg: :namespace/:kind/:entity_name","nullable":true},"external_id":{"type":"string","description":"The external id associated to this team","nullable":true},"pagerduty_id":{"type":"string","description":"The PagerDuty group id associated to this team","nullable":true},"pagerduty_service_id":{"type":"string","description":"The PagerDuty service id associated to this team","nullable":true},"opsgenie_id":{"type":"string","description":"The Opsgenie group id associated to this team","nullable":true},"opsgenie_team_id":{"type":"string","description":"The Opsgenie team id associated to this team","nullable":true},"victor_ops_id":{"type":"string","description":"The VictorOps group id associated to this team","nullable":true},"pagertree_id":{"type":"string","description":"The PagerTree group id associated to this team","nullable":true},"cortex_id":{"type":"string","description":"The Cortex group id associated to this team","nullable":true},"service_now_ci_sys_id":{"type":"string","description":"The Service Now CI sys id associated to this team","nullable":true},"user_ids":{"type":"array","description":"The user ids of the members of this team.","items":{"type":"integer"},"nullable":true},"admin_ids":{"type":"array","description":"The user ids of the admins of this team. These users must also be present in user_ids attribute.","items":{"type":"integer"},"nullable":true},"alerts_email_enabled":{"type":"boolean","description":"Enable alerts through email","nullable":true},"alert_urgency_id":{"type":"string","description":"The alert urgency id of the team","nullable":true},"slack_channels":{"type":"array","description":"Slack Channels associated with this team","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack channel ID"},"name":{"type":"string","description":"Slack channel name"}},"required":["id","name"]},"nullable":true},"slack_aliases":{"type":"array","description":"Slack Aliases associated with this team","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack alias ID"},"name":{"type":"string","description":"Slack alias name"}},"required":["id","name"]},"nullable":true}},"additionalProperties":false,"required":["name"]}},"required":["type","attributes"]}},"required":["data"]},"update_team":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["groups"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the team"},"description":{"type":"string","description":"The description of the team","nullable":true},"notify_emails":{"type":"array","description":"Emails to attach to the team","items":{"type":"string"},"nullable":true},"color":{"type":"string","description":"The hex color of the team","nullable":true},"position":{"type":"integer","description":"Position of the team","nullable":true},"backstage_id":{"type":"string","description":"The Backstage entity id associated to this team. eg: :namespace/:kind/:entity_name","nullable":true},"external_id":{"type":"string","description":"The external id associated to this team","nullable":true},"pagerduty_id":{"type":"string","description":"The PagerDuty group id associated to this team","nullable":true},"pagerduty_service_id":{"type":"string","description":"The PagerDuty service id associated to this team","nullable":true},"opsgenie_id":{"type":"string","description":"The Opsgenie group id associated to this team","nullable":true},"victor_ops_id":{"type":"string","description":"The VictorOps group id associated to this team","nullable":true},"pagertree_id":{"type":"string","description":"The PagerTree group id associated to this team","nullable":true},"cortex_id":{"type":"string","description":"The Cortex group id associated to this team","nullable":true},"service_now_ci_sys_id":{"type":"string","description":"The Service Now CI sys id associated to this team","nullable":true},"user_ids":{"type":"array","description":"The user ids of the members of this team.","items":{"type":"integer"},"nullable":true},"admin_ids":{"type":"array","description":"The user ids of the admins of this team. These users must also be present in user_ids attribute.","items":{"type":"integer"},"nullable":true},"alerts_email_enabled":{"type":"boolean","description":"Enable alerts through email","nullable":true},"alert_urgency_id":{"type":"string","description":"The alert urgency id of the team","nullable":true},"slack_channels":{"type":"array","description":"Slack Channels associated with this team","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack channel ID"},"name":{"type":"string","description":"Slack channel name"}},"required":["id","name"]},"nullable":true},"slack_aliases":{"type":"array","description":"Slack Aliases associated with this team","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack alias ID"},"name":{"type":"string","description":"Slack alias name"}},"required":["id","name"]},"nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"team":{"type":"object","properties":{"name":{"type":"string","description":"The name of the team"},"slug":{"type":"string"},"description":{"type":"string","description":"The description of the team","nullable":true},"notify_emails":{"type":"array","description":"Emails to attach to the team","items":{"type":"string"},"nullable":true},"color":{"type":"string","description":"The hex color of the team","nullable":true},"position":{"type":"integer","description":"Position of the team","nullable":true},"backstage_id":{"type":"string","description":"The Backstage entity id associated to this team. eg: :namespace/:kind/:entity_name","nullable":true},"external_id":{"type":"string","description":"The external id associated to this team","nullable":true},"pagerduty_id":{"type":"string","description":"The PagerDuty group id associated to this team","nullable":true},"pagerduty_service_id":{"type":"string","description":"The PagerDuty service id associated to this team","nullable":true},"opsgenie_id":{"type":"string","description":"The Opsgenie group id associated to this team","nullable":true},"victor_ops_id":{"type":"string","description":"The VictorOps group id associated to this team","nullable":true},"pagertree_id":{"type":"string","description":"The PagerTree group id associated to this team","nullable":true},"cortex_id":{"type":"string","description":"The Cortex group id associated to this team","nullable":true},"service_now_ci_sys_id":{"type":"string","description":"The Service Now CI sys id associated to this team","nullable":true},"user_ids":{"type":"array","description":"The user ids of the members of this team.","items":{"type":"integer"},"nullable":true},"admin_ids":{"type":"array","description":"The user ids of the admins of this team. These users must also be present in user_ids attribute.","items":{"type":"integer"},"nullable":true},"alerts_email_enabled":{"type":"boolean","description":"Enable alerts through email","nullable":true},"alerts_email_address":{"type":"string","description":"Email generated to send alerts to","nullable":true},"alert_urgency_id":{"type":"string","description":"The alert urgency id of the team","nullable":true},"slack_channels":{"type":"array","description":"Slack Channels associated with this team","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack channel ID"},"name":{"type":"string","description":"Slack channel name"}},"required":["id","name"]},"nullable":true},"slack_aliases":{"type":"array","description":"Slack Aliases associated with this team","items":{"type":"object","properties":{"id":{"type":"string","description":"Slack alias ID"},"name":{"type":"string","description":"Slack alias name"}},"required":["id","name"]},"nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["name","created_at","updated_at"]},"team_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the team"},"type":{"type":"string","enum":["groups"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/team"}]}},"required":["id","type","attributes"]}},"required":["data"]},"team_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the team"},"type":{"type":"string","enum":["groups"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/team"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_user_notification_rule":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["user_notification_rules"]},"attributes":{"type":"object","properties":{"delay":{"type":"integer","description":"Delay after which rule gets triggered","nullable":true},"position":{"type":"integer","description":"Position of the rule","nullable":true},"user_email_address_id":{"type":"string","description":"User email address to which notification to be sent","nullable":true},"user_call_number_id":{"type":"string","description":"User phone number to which notification to be sent","nullable":true},"user_sms_number_id":{"type":"string","description":"User sms number to which notification to be sent","nullable":true},"user_device_id":{"type":"string","description":"User device to which notification to be sent","nullable":true},"enabled_contact_types":{"type":"array","description":"Contact types for which notification needs to be enabled","items":{"type":"string","enum":["email","sms","call","device","non_critical_device"]},"nullable":false}},"additionalProperties":false,"required":["enabled_contact_types"]}},"required":["type","attributes"]}},"required":["data"]},"update_user_notification_rule":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["user_notification_rules"]},"attributes":{"type":"object","properties":{"delay":{"type":"integer","description":"Delay after which rule gets triggered","nullable":true},"position":{"type":"integer","description":"Position of the rule","nullable":true},"user_email_address_id":{"type":"string","description":"User email address to which notification to be sent","nullable":true},"user_call_number_id":{"type":"string","description":"User phone number to which notification to be sent","nullable":true},"user_sms_number_id":{"type":"string","description":"User sms number to which notification to be sent","nullable":true},"user_device_id":{"type":"string","description":"User device to which notification to be sent","nullable":true},"enabled_contact_types":{"type":"array","description":"Contact types for which notification needs to be enabled","items":{"type":"string","enum":["email","sms","call","device","non_critical_device"]},"nullable":false}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"user_notification_rule":{"type":"object","properties":{"user_id":{"type":"integer"},"delay":{"type":"integer","description":"Delay after which rule gets triggered","nullable":true},"position":{"type":"integer","description":"Position of the rule","nullable":true},"user_email_address_id":{"type":"string","description":"User email address to which notification to be sent","nullable":true},"user_call_number_id":{"type":"string","description":"User phone number to which notification to be sent","nullable":true},"user_sms_number_id":{"type":"string","description":"User sms number to which notification to be sent","nullable":true},"user_device_id":{"type":"string","description":"User device to which notification to be sent","nullable":true},"enabled_contact_types":{"type":"array","description":"Contact types for which notification needs to be enabled","items":{"type":"string","enum":["email","sms","call","device","non_critical_device"]},"nullable":false},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}}},"user_notification_rule_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the rule"},"type":{"type":"string","enum":["user_notification_rules"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/user_notification_rule"}]}},"required":["id","type","attributes"]}},"required":["data"]},"user_notification_rule_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the rule"},"type":{"type":"string","enum":["user_notification_rules"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/user_notification_rule"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"user":{"type":"object","properties":{"email":{"type":"string","description":"The email of the user"},"full_name":{"type":"string","description":"The full name of the user","nullable":true},"full_name_with_team":{"type":"string","description":"The full name with team of the user","nullable":true},"time_zone":{"type":"string","description":"Configured time zone","nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["email","created_at","updated_at"]},"user_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the user"},"type":{"type":"string","enum":["users"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/user"}]}},"required":["id","type","attributes"]}},"required":["data"]},"user_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the user"},"type":{"type":"string","enum":["users"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/user"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"webhooks_delivery":{"type":"object","properties":{"endpoint_id":{"type":"string"},"payload":{"type":"string"},"delivered_at":{"type":"string","nullable":true},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["endpoint_id","payload","delivered_at","created_at","updated_at"]},"webhooks_delivery_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the webhooks_delivery"},"type":{"type":"string","enum":["webhooks_deliveries"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/webhooks_delivery"}]}},"required":["id","type","attributes"]}},"required":["data"]},"webhooks_delivery_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the webhooks_delivery"},"type":{"type":"string","enum":["webhooks_deliveries"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/webhooks_delivery"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data"]},"new_webhooks_endpoint":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["webhooks_endpoints"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the endpoint"},"url":{"type":"string","description":"The URL of the endpoint."},"secret":{"type":"string","description":"The webhook signing secret used to verify webhook requests."},"event_types":{"type":"array","items":{"type":"string","enum":["incident.created","incident.updated","incident.in_triage","incident.mitigated","incident.resolved","incident.cancelled","incident.deleted","incident.scheduled.created","incident.scheduled.updated","incident.scheduled.in_progress","incident.scheduled.completed","incident.scheduled.deleted","incident_post_mortem.created","incident_post_mortem.updated","incident_post_mortem.published","incident_post_mortem.deleted","alert.created","pulse.created","genius_workflow_run.queued","genius_workflow_run.started","genius_workflow_run.completed","genius_workflow_run.failed","genius_workflow_run.canceled"]}},"enabled":{"type":"boolean"}},"additionalProperties":false,"required":["name","url"]}},"required":["type","attributes"]}},"required":["data"]},"update_webhooks_endpoint":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["webhooks_endpoints"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the endpoint"},"event_types":{"type":"array","items":{"type":"string","enum":["incident.created","incident.updated","incident.in_triage","incident.mitigated","incident.resolved","incident.cancelled","incident.deleted","incident.scheduled.created","incident.scheduled.updated","incident.scheduled.in_progress","incident.scheduled.completed","incident.scheduled.deleted","incident_post_mortem.created","incident_post_mortem.updated","incident_post_mortem.published","incident_post_mortem.deleted","alert.created","pulse.created","genius_workflow_run.queued","genius_workflow_run.started","genius_workflow_run.completed","genius_workflow_run.failed","genius_workflow_run.canceled"]}},"enabled":{"type":"boolean"}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"webhooks_endpoint":{"type":"object","properties":{"name":{"type":"string","description":"The name of the endpoint"},"slug":{"type":"string","description":"The slug of the endpoint"},"url":{"type":"string","description":"The URL of the endpoint."},"event_types":{"type":"array","items":{"type":"string","enum":["incident.created","incident.updated","incident.in_triage","incident.mitigated","incident.resolved","incident.cancelled","incident.deleted","incident.scheduled.created","incident.scheduled.updated","incident.scheduled.in_progress","incident.scheduled.completed","incident.scheduled.deleted","incident_post_mortem.created","incident_post_mortem.updated","incident_post_mortem.published","incident_post_mortem.deleted","alert.created","pulse.created","genius_workflow_run.queued","genius_workflow_run.started","genius_workflow_run.completed","genius_workflow_run.failed","genius_workflow_run.canceled"]}},"secret":{"type":"string","description":"The webhook signing secret used to verify webhook requests."},"enabled":{"type":"boolean"},"created_at":{"type":"string","description":"Date of creation"},"updated_at":{"type":"string","description":"Date of last update"}},"required":["name","slug","url","event_types","secret","enabled","created_at","updated_at"]},"webhooks_endpoint_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the webhooks_endpoint"},"type":{"type":"string","enum":["webhooks_endpoints"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/webhooks_endpoint"}]}},"required":["id","type","attributes"]}},"required":["data"]},"webhooks_endpoint_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the webhooks_endpoint"},"type":{"type":"string","enum":["webhooks_endpoints"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/webhooks_endpoint"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data"]},"new_sub_status":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["sub_statuses"]},"attributes":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"description":{"type":"string","nullable":true},"parent_status":{"type":"string","enum":["started","retrospective"]},"position":{"type":"integer","nullable":true}},"additionalProperties":false,"required":["name","parent_status"]}},"required":["type","attributes"]}},"required":["data"]},"update_sub_status":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["sub_statuses"]},"attributes":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"description":{"type":"string","nullable":true},"position":{"type":"integer","nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"sub_status":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"description":{"type":"string","nullable":true},"parent_status":{"type":"string","enum":["in_triage","started","resolved","closed","cancelled","scheduled","in_progress","completed"]},"position":{"type":"integer","nullable":true},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["name","parent_status","created_at","updated_at"]},"sub_status_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the sub_status"},"type":{"type":"string","enum":["sub_statuses"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/sub_status"}]}},"required":["id","type","attributes"]}},"required":["data"]},"sub_status_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the sub_status"},"type":{"type":"string","enum":["sub_statuses"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/sub_status"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_incident_sub_status":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_sub_statuses"]},"attributes":{"type":"object","properties":{"sub_status_id":{"type":"string","description":"Note: To change an incident's sub-status, use the PATCH /incidents/:id endpoint and set the sub_status_id attribute. This endpoint is for modifying the timestamp of when an incident's sub-status was assigned."},"assigned_at":{"type":"string"},"assigned_by_user_id":{"type":"integer","nullable":true}},"additionalProperties":false,"required":["sub_status_id","assigned_at"]}},"required":["type","attributes"]}},"required":["data"]},"update_incident_sub_status":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["incident_sub_statuses"]},"attributes":{"type":"object","properties":{"sub_status_id":{"type":"string","description":"Note: To change an incident's sub-status, use the PATCH /incidents/:id endpoint and set the sub_status_id attribute. This endpoint is for modifying the timestamp of when an incident's sub-status was assigned."},"assigned_at":{"type":"string"},"assigned_by_user_id":{"type":"integer","nullable":true}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"incident_sub_status":{"type":"object","properties":{"incident_id":{"type":"string"},"sub_status_id":{"type":"string","description":"Note: To change an incident's sub-status, use the PATCH /incidents/:id endpoint and set the sub_status_id attribute. This endpoint is for modifying the timestamp of when an incident's sub-status was assigned."},"assigned_at":{"type":"string"},"assigned_by_user_id":{"type":"integer","nullable":true}},"required":["incident_id","sub_status_id","assigned_at"]},"incident_sub_status_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident_sub_status"},"type":{"type":"string","enum":["incident_sub_statuses"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_sub_status"}]}},"required":["id","type","attributes"]}},"required":["data"]},"incident_sub_status_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the incident_sub_status"},"type":{"type":"string","enum":["incident_sub_statuses"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/incident_sub_status"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_retrospective_process_group":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["retrospective_process_groups"]},"attributes":{"type":"object","properties":{"sub_status_id":{"type":"string"},"position":{"type":"integer"}},"additionalProperties":false,"required":["sub_status_id"]}},"required":["type","attributes"]}},"required":["data"]},"update_retrospective_process_group":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["retrospective_process_groups"]},"attributes":{"type":"object","properties":{"sub_status_id":{"type":"string"},"position":{"type":"integer"}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"retrospective_process_group":{"type":"object","properties":{"retrospective_process_id":{"type":"string"},"sub_status_id":{"type":"string"},"position":{"type":"integer"}},"required":["retrospective_process_id","sub_status_id","position"]},"retrospective_process_group_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the retrospective_process_group"},"type":{"type":"string","enum":["retrospective_process_groups"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/retrospective_process_group"}]}},"required":["id","type","attributes"]}},"required":["data"]},"retrospective_process_group_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the retrospective_process_group"},"type":{"type":"string","enum":["retrospective_process_groups"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/retrospective_process_group"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]},"new_retrospective_process_group_step":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["retrospective_process_group_steps"]},"attributes":{"type":"object","properties":{"retrospective_step_id":{"type":"string"},"position":{"type":"integer"}},"additionalProperties":false,"required":["retrospective_step_id"]}},"required":["type","attributes"]}},"required":["data"]},"update_retrospective_process_group_step":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["retrospective_process_group_steps"]},"attributes":{"type":"object","properties":{"position":{"type":"integer"}},"additionalProperties":false}},"required":["type","attributes"]}},"required":["data"]},"retrospective_process_group_step":{"type":"object","properties":{"retrospective_process_group_id":{"type":"string"},"retrospective_step_id":{"type":"string"},"position":{"type":"integer"}},"required":["retrospective_process_group_id","retrospective_step_id","position"]},"retrospective_process_group_step_response":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the retrospective_process_group_step"},"type":{"type":"string","enum":["retrospective_process_group_steps"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/retrospective_process_group_step"}]}},"required":["id","type","attributes"]}},"required":["data"]},"retrospective_process_group_step_list":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the retrospective_process_group_step"},"type":{"type":"string","enum":["retrospective_process_group_steps"]},"attributes":{"type":"object","allOf":[{"$ref":"#/components/schemas/retrospective_process_group_step"}]}},"required":["id","type","attributes"]}},"links":{"type":"object","allOf":[{"$ref":"#/components/schemas/links"}]}},"required":["data","links"]}}}}

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Rootly-AI-Labs/Rootly-MCP-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server