You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
statping/dev/postman.json

6245 lines
280 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

{
"info": {
"_postman_id": "3c6a7841-0b39-4878-a3a6-1c76832b7679",
"name": "Statping",
"description": "The Statping API allows you to programmatically access data on your Statping server.\n\nThe easiest way to get started with the API is by running your own Docker or local instance of the Statping server.\n\n<img width=\"100%\" src=\"https://img.cjx.io/statuptokenbalance.gif\">\n\n# Authentication\n\nAn API Key is required to be sent as part of every request to the Statping API, by using the `Authorization` and the API Secret Key as a header.\n\n> If you do not have an API Secret Key, you can find it on the Settings page.\n\nYou can Authenticate by implementing the following...\n- Using the `Authorization` header with API Secret Key\n- Setting `GO_ENV` to `test` to bypass all authentication\n- Adding `?api=<keyhere>` URL Query along with the API Secret Key\n- Adding `?api=<userkey>` URL Query along with the API Key for a user\n- Being logged into Statping as an admin (using JWT sessions/cookies)\n\n> Authentication will create a cookie named `statping_auth`.\n\n# Environment Variables\nStatping includes many environment variables that can give you more control over your instance. Please view the [Environment Variables Wiki](https://github.com/statping/statping/wiki/Environment-Variables) page to view a complete list. Below are a couple important ones...\n- `STATPING_DIR` - Statping's working directory. By default, this will be set to the current working directory. This path will contain the `config.yml` file, `logs`, and `assets` folder. \n- `SASS` - Absolute path to the `sass` executable. By default it will attempt to find `sass` in your `$PATH`. \n\n# Demo\nYou can checkout the Statping Demo instance at [https://demo.statping.com](https://demo.statping.com). All features are available for you to experiment with. The API Secret Key is `demoapisecret123`. Since this instance is public, it will be reset with sample data **every 90 minutes**.\n",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "Setup",
"item": [
{
"name": "Statping Setup",
"event": [
{
"listen": "test",
"script": {
"id": "29b5dc8d-60c1-4f70-853d-49114af6b254",
"exec": [
"var tm = Math.round(new Date().getTime() / 1000);",
"pm.globals.set(\"start_time\", tm - 259200);",
"pm.globals.set(\"end_time\", tm);",
"",
"var connection = pm.environment.get(\"db_connection\");",
"",
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Check Setup\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.message).to.eql(\"success\");",
"});"
],
"type": "text/javascript"
}
},
{
"listen": "prerequest",
"script": {
"id": "e5e9ea08-21d1-48d6-b019-9b4f93e813e5",
"exec": [
""
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "noauth"
},
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/x-www-form-urlencoded"
}
],
"body": {
"mode": "urlencoded",
"urlencoded": [
{
"key": "db_host",
"value": "{{db_host}}",
"type": "text"
},
{
"key": "db_user",
"value": "{{db_user}}",
"type": "text"
},
{
"key": "db_password",
"value": "{{db_password}}",
"type": "text"
},
{
"key": "db_database",
"value": "{{db_database}}",
"type": "text"
},
{
"key": "db_connection",
"value": "{{db_connection}}",
"type": "text"
},
{
"key": "db_port",
"value": "{{db_port}}",
"type": "text"
},
{
"key": "project",
"value": "Statping Monitoring Sample Data",
"type": "text"
},
{
"key": "description",
"value": "View All Example Services",
"type": "text"
},
{
"key": "username",
"value": "admin",
"type": "text"
},
{
"key": "password",
"value": "admin",
"type": "text"
},
{
"key": "domain",
"value": "http://localhost:8080",
"type": "text"
},
{
"key": "email",
"value": "info@domain.com",
"type": "text"
},
{
"key": "sample_data",
"value": "true",
"type": "text"
},
{
"key": "newletter",
"value": "true",
"type": "text"
}
],
"options": {
"urlencoded": {}
}
},
"url": {
"raw": "{{endpoint}}/api/setup",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"setup"
]
},
"description": "This endpoint will setup the database, users, sample data, and all other elements for a brand new installation of Statping. By default, the admin login is `admin` `admin`, if you don't include a username/password.\n\n###### If the server has already been setup, this endpoint will return an error.\n```json\n{\n \"error\": \"Statping has already been setup\"\n}\n```\n\n### Database Fields\n- `db_connection` - Database connection type. (sqlite, mysql, postgres)\n- `db_user` - Username for database\n- `db_password` - Password for database\n- `db_database` - Database name for Statping\n- `db_port` - Port number for the database\n- `db_host` - Hostname or IP for the running database server"
},
"response": []
}
],
"description": "If your Statping instance is not setup yet, then you can set it up by going to `http://localhost:8080/setup` or by using this API endpoint. Once your instance has already been setup successfully, this endpoint will return an error. \n\n<img src=\"https://img.cjx.io/statping-setup.png\">",
"event": [
{
"listen": "prerequest",
"script": {
"id": "ee74f82f-761a-46ae-a183-044b3d17c416",
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"id": "99e1ad44-98bc-431c-bec6-d5b4ea3b94ac",
"type": "text/javascript",
"exec": [
""
]
}
}
],
"protocolProfileBehavior": {}
},
{
"name": "Miscellaneous",
"item": [
{
"name": "Statping Details",
"event": [
{
"listen": "test",
"script": {
"id": "fb5b5fcf-86a0-4d22-9f4c-cc6955eb414a",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Check Core API Route\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.name).to.eql(\"Statping Monitoring Sample Data\");",
" pm.expect(jsonData.using_cdn).to.eql(false);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api",
"host": [
"{{endpoint}}"
],
"path": [
"api"
]
},
"description": "The root API endpoint to view basic Statping configuration including Name, URL, database type, and other useful fields."
},
"response": [
{
"name": "Statping Details",
"originalRequest": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api",
"host": [
"{{endpoint}}"
],
"path": [
"api"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Length",
"value": "398"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Sat, 02 May 2020 01:06:09 GMT"
}
],
"cookie": [],
"body": "{\n \"admin\": false,\n \"allow_reports\": false,\n \"created_at\": \"2020-05-02T01:00:07.885973685Z\",\n \"description\": \"This data is only used to testing\",\n \"domain\": \"http://localhost:8080\",\n \"footer\": null,\n \"logged_in\": false,\n \"migration_id\": 1588381207,\n \"name\": \"Statping Sample Data\",\n \"setup\": true,\n \"started_on\": \"2020-05-02T01:00:14.255837864Z\",\n \"updated_at\": \"2020-05-02T01:00:12.731269305Z\",\n \"using_cdn\": false,\n \"version\": \"0.90.34\"\n}"
}
]
},
{
"name": "Logs",
"event": [
{
"listen": "test",
"script": {
"id": "a694b786-796e-4d54-87fc-1848525bba65",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/logs",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"logs"
]
},
"description": "This endpoint will return a list of the last 1,000 logs."
},
"response": [
{
"name": "Statping Details",
"originalRequest": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api",
"host": [
"{{endpoint}}"
],
"path": [
"api"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Length",
"value": "398"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Sat, 02 May 2020 01:06:09 GMT"
}
],
"cookie": [],
"body": "{\n \"admin\": false,\n \"allow_reports\": false,\n \"created_at\": \"2020-05-02T01:00:07.885973685Z\",\n \"description\": \"This data is only used to testing\",\n \"domain\": \"http://localhost:8080\",\n \"footer\": null,\n \"logged_in\": false,\n \"migration_id\": 1588381207,\n \"name\": \"Statping Sample Data\",\n \"setup\": true,\n \"started_on\": \"2020-05-02T01:00:14.255837864Z\",\n \"updated_at\": \"2020-05-02T01:00:12.731269305Z\",\n \"using_cdn\": false,\n \"version\": \"0.90.34\"\n}"
}
]
},
{
"name": "View Configuration",
"event": [
{
"listen": "test",
"script": {
"id": "557dd7ef-fa5a-4f3d-98b3-4bca5e3ce154",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/settings/configs",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"settings",
"configs"
]
},
"description": "This endpoint will return the config.yml configuration without database credentials."
},
"response": [
{
"name": "View Configuration",
"originalRequest": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/settings/configs",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"settings",
"configs"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "plain",
"header": [
{
"key": "Date",
"value": "Fri, 18 Sep 2020 03:41:34 GMT"
},
{
"key": "Content-Length",
"value": "256"
},
{
"key": "Content-Type",
"value": "text/plain; charset=utf-8"
},
{
"key": "Connection",
"value": "close"
}
],
"cookie": [],
"body": "api_secret: demoapisecret123\nlanguage: en\nallow_reports: true\nlocation: /root/go/src/github.com/statping/statping\ndisable_http: false\ndemo_mode: false\ndisable_logs: false\nuse_assets: false\nsample_data: true\nuse_cdn: false\ndisable_colors: false\n"
}
]
},
{
"name": "Update Configuration",
"event": [
{
"listen": "test",
"script": {
"id": "5074172f-5689-4471-aced-50b0a0b6b2b4",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});"
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": "api_secret: demoapisecret123\nlanguage: en\nallow_reports: true\nlocation: /root/go/src/github.com/statping/statping\ndisable_http: false\ndemo_mode: false\ndisable_logs: false\nuse_assets: false\nsample_data: true\nuse_cdn: false\ndisable_colors: false\n",
"options": {
"raw": {}
}
},
"url": {
"raw": "{{endpoint}}/api/settings/configs",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"settings",
"configs"
]
},
"description": "This endpoint will update the config.yml configuration."
},
"response": []
},
{
"name": "Logs Last Line",
"event": [
{
"listen": "test",
"script": {
"id": "21501cae-bea0-4b6a-87cc-32a7f6da0771",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/logs",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"logs"
]
},
"description": "This endpoint will return the last line in the logs."
},
"response": [
{
"name": "Statping Details",
"originalRequest": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api",
"host": [
"{{endpoint}}"
],
"path": [
"api"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Length",
"value": "398"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Sat, 02 May 2020 01:06:09 GMT"
}
],
"cookie": [],
"body": "{\n \"admin\": false,\n \"allow_reports\": false,\n \"created_at\": \"2020-05-02T01:00:07.885973685Z\",\n \"description\": \"This data is only used to testing\",\n \"domain\": \"http://localhost:8080\",\n \"footer\": null,\n \"logged_in\": false,\n \"migration_id\": 1588381207,\n \"name\": \"Statping Sample Data\",\n \"setup\": true,\n \"started_on\": \"2020-05-02T01:00:14.255837864Z\",\n \"updated_at\": \"2020-05-02T01:00:12.731269305Z\",\n \"using_cdn\": false,\n \"version\": \"0.90.34\"\n}"
}
]
},
{
"name": "Health Check",
"event": [
{
"listen": "test",
"script": {
"id": "1259b7bb-a330-4716-ae7c-386f96224a14",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Check Health\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.online).to.eql(true);",
" pm.expect(jsonData.setup).to.eql(true);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "noauth"
},
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/health",
"host": [
"{{endpoint}}"
],
"path": [
"health"
]
},
"description": "Check the status of your Statping instance. If everything is healthy, it will return a status code of 200 with the following JSON response."
},
"response": [
{
"name": "Statping Health Check",
"originalRequest": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/health",
"host": [
"{{endpoint}}"
],
"path": [
"health"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Length",
"value": "42"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Sat, 02 May 2020 01:03:29 GMT"
}
],
"cookie": [],
"body": "{\n \"online\": true,\n \"services\": 6,\n \"setup\": true\n}"
}
]
},
{
"name": "Prometheus Metrics",
"event": [
{
"listen": "test",
"script": {
"id": "04a41c9d-0659-44f8-9efb-d04fff1af6e3",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/metrics",
"host": [
"{{endpoint}}"
],
"path": [
"metrics"
]
},
"description": "Point your Prometheus endpoint to `/metrics`, it will include most data from all elements including golang processes. View more information by checking out the [Prometheus Wiki](https://github.com/statping/statping/wiki/Prometheus-Exporter)."
},
"response": [
{
"name": "Prometheus Metrics",
"originalRequest": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/metrics",
"host": [
"{{endpoint}}"
],
"path": [
"metrics"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "plain",
"header": [
{
"key": "Content-Type",
"value": "text/plain; charset=utf-8"
},
{
"key": "Date",
"value": "Sat, 02 May 2020 01:05:53 GMT"
},
{
"key": "Transfer-Encoding",
"value": "chunked"
}
],
"cookie": [],
"body": "# Statping Prometheus Exporter\n\n# Statping Totals\nstatping_total_failures 1617\nstatping_total_services 6\nstatping_seconds_online 347.8779\n\n# Service #1 'Google':\nstatping_service_failures{id=\"1\" name=\"Google\"} 404\nstatping_service_latency{id=\"1\" name=\"Google\"} 115217\nstatping_service_online{id=\"1\" name=\"Google\"} 1\nstatping_service_status_code{id=\"1\" name=\"Google\"} 200\nstatping_service_response_length{id=\"1\" name=\"Google\"} 14366\nstatping_service_ping_time{id=\"1\" name=\"Google\"} 13604\nstatping_service_last_latency{id=\"1\" name=\"Google\"} 115217\nstatping_service_last_lookup{id=\"1\" name=\"Google\"} 13604\nstatping_service_last_check{id=\"1\" name=\"Google\"} 9074\n\n# Service #2 'Statping Github':\nstatping_service_failures{id=\"2\" name=\"Statping Github\"} 407\nstatping_service_latency{id=\"2\" name=\"Statping Github\"} 121795\nstatping_service_online{id=\"2\" name=\"Statping Github\"} 1\nstatping_service_status_code{id=\"2\" name=\"Statping Github\"} 200\nstatping_service_response_length{id=\"2\" name=\"Statping Github\"} 154781\nstatping_service_ping_time{id=\"2\" name=\"Statping Github\"} 14089\nstatping_service_last_latency{id=\"2\" name=\"Statping Github\"} 121795\nstatping_service_last_lookup{id=\"2\" name=\"Statping Github\"} 14089\nstatping_service_last_check{id=\"2\" name=\"Statping Github\"} 8799\n\n# Service #3 'JSON Users Test':\nstatping_service_failures{id=\"3\" name=\"JSON Users Test\"} 403\nstatping_service_latency{id=\"3\" name=\"JSON Users Test\"} 43900\nstatping_service_online{id=\"3\" name=\"JSON Users Test\"} 1\nstatping_service_status_code{id=\"3\" name=\"JSON Users Test\"} 200\nstatping_service_response_length{id=\"3\" name=\"JSON Users Test\"} 5645\nstatping_service_ping_time{id=\"3\" name=\"JSON Users Test\"} 11100\nstatping_service_last_latency{id=\"3\" name=\"JSON Users Test\"} 43900\nstatping_service_last_lookup{id=\"3\" name=\"JSON Users Test\"} 11100\nstatping_service_last_check{id=\"3\" name=\"JSON Users Test\"} 38637\n\n# Service #4 'JSON API Tester':\nstatping_service_failures{id=\"4\" name=\"JSON API Tester\"} 403\nstatping_service_latency{id=\"4\" name=\"JSON API Tester\"} 875234\nstatping_service_online{id=\"4\" name=\"JSON API Tester\"} 1\nstatping_service_status_code{id=\"4\" name=\"JSON API Tester\"} 201\nstatping_service_response_length{id=\"4\" name=\"JSON API Tester\"} 74\nstatping_service_ping_time{id=\"4\" name=\"JSON API Tester\"} 11204\nstatping_service_last_latency{id=\"4\" name=\"JSON API Tester\"} 875234\nstatping_service_last_lookup{id=\"4\" name=\"JSON API Tester\"} 11204\nstatping_service_last_check{id=\"4\" name=\"JSON API Tester\"} 7556\n\n# Service #5 'Google DNS':\nstatping_service_failures{id=\"5\" name=\"Google DNS\"} 0\nstatping_service_latency{id=\"5\" name=\"Google DNS\"} 779\nstatping_service_online{id=\"5\" name=\"Google DNS\"} 1\nstatping_service_status_code{id=\"5\" name=\"Google DNS\"} 0\nstatping_service_response_length{id=\"5\" name=\"Google DNS\"} 0\nstatping_service_ping_time{id=\"5\" name=\"Google DNS\"} 4\nstatping_service_last_latency{id=\"5\" name=\"Google DNS\"} 779\nstatping_service_last_lookup{id=\"5\" name=\"Google DNS\"} 4\nstatping_service_last_check{id=\"5\" name=\"Google DNS\"} 18187\n\n# Service #6 'Private Service':\nstatping_service_failures{id=\"6\" name=\"Private Service\"} 0\nstatping_service_latency{id=\"6\" name=\"Private Service\"} 28960\nstatping_service_online{id=\"6\" name=\"Private Service\"} 1\nstatping_service_status_code{id=\"6\" name=\"Private Service\"} 200\nstatping_service_response_length{id=\"6\" name=\"Private Service\"} 43\nstatping_service_ping_time{id=\"6\" name=\"Private Service\"} 11312\nstatping_service_last_latency{id=\"6\" name=\"Private Service\"} 28960\nstatping_service_last_lookup{id=\"6\" name=\"Private Service\"} 11312\nstatping_service_last_check{id=\"6\" name=\"Private Service\"} 9416\n\n# HTTP Metrics\nstatping_http_errors 0\nstatping_http_requests 0\nstatping_http_bytes 0\nstatping_http_request_milliseconds 0\n\n# Golang Metrics\nstatping_go_heap_allocated 3055024\nstatping_go_total_allocated 471694440\nstatping_go_heap_in_use 5545984\nstatping_go_heap_objects 27102\nstatping_go_heap_idle 60448768\nstatping_go_heap_released 58499072\nstatping_go_heap_frees 8677374\nstatping_go_lookups 0\nstatping_go_system 74531072\nstatping_go_number_gc 186\nstatping_go_number_gc_forced 0\nstatping_go_goroutines 19"
}
]
},
{
"name": "Shields.io Badge",
"event": [
{
"listen": "test",
"script": {
"id": "8ee8bf21-4243-4f15-8a03-2189224360c7",
"exec": [
""
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "noauth"
},
"method": "GET",
"header": [],
"url": {
"raw": "https://img.shields.io/badge/dynamic/json?color=blue&label=Statping Uptime 24/hr&query=$.online_24_hours&url=https://demo.statping.com/api/services/1&suffix=%",
"protocol": "https",
"host": [
"img",
"shields",
"io"
],
"path": [
"badge",
"dynamic",
"json"
],
"query": [
{
"key": "color",
"value": "blue"
},
{
"key": "label",
"value": "Statping Uptime 24/hr"
},
{
"key": "query",
"value": "$.online_24_hours"
},
{
"key": "url",
"value": "https://demo.statping.com/api/services/1"
},
{
"key": "suffix",
"value": "%"
}
]
},
"description": "You can create custom badges with dynamic information by using [Shields.io](https://shields.io/) and parsing JSON fields with [JSONPath](http://jsonpath.com/). \n\n## Examples\n\n#### Service Uptime Percent\n<img src=\"https://img.shields.io/badge/dynamic/json?color=blue&label=%20Statping%20Uptime&query=%24.online_24_hours&url=https%3A%2F%2Fdemo.statping.com%2Fapi%2Fservices%2F2&suffix=%\">\n\n- URL: [https://demo.statping.com/api/services/2](https://demo.statping.com/api/services/2)\n- JSON Path: `$.online_24_hours`\n- Suffix: `%`\n\n```\nhttps://img.shields.io/badge/dynamic/json?color=blue&label=%20Statping%20Uptime&query=%24.online_24_hours&url=https%3A%2F%2Fdemo.statping.com%2Fapi%2Fservices%2F2&suffix=%\n```\n\n#### Count Services\n<img src=\"https://img.shields.io/badge/dynamic/json?color=purple&label=Demo%20Site&query=%24.services&url=https://demo.statping.com/health&suffix=%20services\">\n\n- URL: [https://demo.statping.com/health](https://demo.statping.com/health)\n- JSON Path: `$.services`\n- Suffix: ` services`\n\n```\nhttps://img.shields.io/badge/dynamic/json?color=purple&label=Demo%20Site&query=%24.services&url=https://demo.statping.com/health&suffix=%20services\n```"
},
"response": []
},
{
"name": "Send Push Notification",
"event": [
{
"listen": "test",
"script": {
"id": "11fe392f-3636-4d2d-84e9-1119b351d8ee",
"exec": [
""
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "noauth"
},
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\n \"notifications\": [\n {\n \"tokens\": [\"dBLB1WvTJkiWl3ZPjP0-BS:APA91bGXUbKy65CaN1XqExHXZ892jik2k9XORXSiqdUyXhcQ5RDiJ6LfXrckuH3StYJFcma4UCDr_N038YUtxYsRIHYx_8vWZ6D2uq3199LegWXGl5tz-9zk3M4WZGX8WGxIRUJ31QtW\"],\n \"platform\": 2,\n \"message\": \"This notification will go to iOS and Android platform via Firebase!\"\n }\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "https://push.statping.com/api/push",
"protocol": "https",
"host": [
"push",
"statping",
"com"
],
"path": [
"api",
"push"
]
},
"description": "Send a push notification to the Statping mobile app using your Firebase device identifier."
},
"response": [
{
"name": "Send Push Notification",
"originalRequest": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\n \"notifications\": [\n {\n \"tokens\": [\"dBLB1WvTJkiWl3ZPjP0-BS:APA91bGXUbKy65CaN1XqExHXZ892jik2k9XORXSiqdUyXhcQ5RDiJ6LfXrckuH3StYJFcma4UCDr_N038YUtxYsRIHYx_8vWZ6D2uq3199LegWXGl5tz-9zk3M4WZGX8WGxIRUJ31QtW\"],\n \"platform\": 2,\n \"message\": \"This notification will go to iOS and Android Statping App\"\n }\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "https://push.statping.com/api/push",
"protocol": "https",
"host": [
"push",
"statping",
"com"
],
"path": [
"api",
"push"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Length",
"value": "37"
},
{
"key": "Content-Type",
"value": "application/json; charset=utf-8"
},
{
"key": "Date",
"value": "Thu, 13 Aug 2020 02:24:17 GMT"
},
{
"key": "X-Gorush-Version",
"value": "No Version Provided"
}
],
"cookie": [],
"body": "{\n \"counts\": 1,\n \"logs\": [],\n \"success\": \"ok\"\n}"
}
]
}
],
"description": "This is for Statping's miscellaneous API endpoints that aren't a part of another category.",
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"event": [
{
"listen": "prerequest",
"script": {
"id": "00ffb460-8bfc-4221-af12-b155a34c11fc",
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"id": "ffe44bf8-4bf3-4175-bb4b-3c3910c674c3",
"type": "text/javascript",
"exec": [
""
]
}
}
],
"protocolProfileBehavior": {}
},
{
"name": "Services",
"item": [
{
"name": "All Services",
"event": [
{
"listen": "test",
"script": {
"id": "e89a245a-8ee6-4f3b-8cbc-5d7c3bbf687a",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"View All Services\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.length).to.eql(6);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/services",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services"
]
},
"description": "View an array of all Services added to your Statping instance."
},
"response": [
{
"name": "All Services",
"originalRequest": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/services",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Sat, 02 May 2020 01:07:00 GMT"
},
{
"key": "Transfer-Encoding",
"value": "chunked"
}
],
"cookie": [],
"body": "[\n {\n \"avg_response\": 1234129,\n \"check_interval\": 10,\n \"created_at\": \"2020-02-02T01:00:08.103271859Z\",\n \"failures_24_hours\": 321,\n \"group_id\": 1,\n \"id\": 1,\n \"last_error\": \"2020-05-08T18:20:08.881632603Z\",\n \"last_success\": \"2020-05-02T01:06:54.035553551Z\",\n \"latency\": 119927,\n \"name\": \"Google\",\n \"online\": true,\n \"online_24_hours\": 95.35,\n \"online_7_days\": 95.35,\n \"order_id\": 1,\n \"permalink\": \"google\",\n \"ping_time\": 11034,\n \"public\": true,\n \"stats\": {\n \"failures\": 404,\n \"hits\": 8683,\n \"first_hit\": \"2020-04-29T01:00:10.245169916Z\"\n },\n \"status_code\": 200,\n \"updated_at\": \"2020-05-02T01:00:08.103367884Z\"\n },\n {\n \"avg_response\": 1158576,\n \"check_interval\": 30,\n \"created_at\": \"2020-02-02T01:00:08.103271859Z\",\n \"failures_24_hours\": 408,\n \"group_id\": 0,\n \"id\": 2,\n \"last_error\": \"2020-05-02T01:06:44.254597647Z\",\n \"last_success\": \"2020-05-02T01:06:14.289921794Z\",\n \"latency\": 88378,\n \"name\": \"Statping Github\",\n \"online\": false,\n \"online_24_hours\": 95.28,\n \"online_7_days\": 95.28,\n \"order_id\": 2,\n \"permalink\": \"statping_github\",\n \"ping_time\": 11554,\n \"public\": true,\n \"stats\": {\n \"failures\": 408,\n \"hits\": 8651,\n \"first_hit\": \"2020-04-29T01:00:10.587232314Z\"\n },\n \"status_code\": 406,\n \"updated_at\": \"2020-05-02T01:00:08.161946425Z\"\n },\n {\n \"avg_response\": 977729,\n \"check_interval\": 60,\n \"created_at\": \"2020-02-02T01:00:08.103271859Z\",\n \"failures_24_hours\": 403,\n \"group_id\": 2,\n \"id\": 3,\n \"last_error\": \"2020-05-28T06:10:08.881632603Z\",\n \"last_success\": \"2020-05-02T01:06:14.457520734Z\",\n \"latency\": 41615,\n \"name\": \"JSON Users Test\",\n \"online\": true,\n \"online_24_hours\": 95.34,\n \"online_7_days\": 95.34,\n \"order_id\": 3,\n \"permalink\": null,\n \"ping_time\": 11150,\n \"public\": true,\n \"stats\": {\n \"failures\": 403,\n \"hits\": 8649,\n \"first_hit\": \"2020-04-29T01:00:10.929333549Z\"\n },\n \"status_code\": 200,\n \"updated_at\": \"2020-05-02T01:00:08.212206993Z\"\n },\n {\n \"avg_response\": 1301894,\n \"check_interval\": 30,\n \"created_at\": \"2020-02-02T01:00:08.103271859Z\",\n \"failures_24_hours\": 403,\n \"group_id\": 2,\n \"id\": 4,\n \"last_error\": \"2020-06-07T00:05:08.881632603Z\",\n \"last_success\": \"2020-05-02T01:06:45.53496799Z\",\n \"latency\": 869091,\n \"name\": \"JSON API Tester\",\n \"online\": true,\n \"online_24_hours\": 95.34,\n \"online_7_days\": 95.34,\n \"order_id\": 4,\n \"permalink\": null,\n \"ping_time\": 10980,\n \"public\": true,\n \"stats\": {\n \"failures\": 403,\n \"hits\": 8656,\n \"first_hit\": \"2020-04-29T01:00:11.279703666Z\"\n },\n \"status_code\": 201,\n \"updated_at\": \"2020-05-02T01:00:08.270923495Z\"\n },\n {\n \"avg_response\": 1182385,\n \"check_interval\": 20,\n \"created_at\": \"2020-02-02T01:00:08.103271859Z\",\n \"failures_24_hours\": 0,\n \"group_id\": 1,\n \"id\": 5,\n \"last_error\": \"0001-01-01T00:00:00Z\",\n \"last_success\": \"2020-05-02T01:06:54.905566976Z\",\n \"latency\": 591,\n \"name\": \"Google DNS\",\n \"online\": true,\n \"online_24_hours\": 100,\n \"online_7_days\": 100,\n \"order_id\": 5,\n \"permalink\": null,\n \"ping_time\": 5,\n \"public\": true,\n \"stats\": {\n \"failures\": 0,\n \"hits\": 8663,\n \"first_hit\": \"2020-04-29T01:00:11.689163285Z\"\n },\n \"status_code\": 0,\n \"updated_at\": \"2020-05-02T01:00:08.337836008Z\"\n }\n]"
}
]
},
{
"name": "View Service",
"event": [
{
"listen": "test",
"script": {
"id": "7c3e8784-0494-4957-ac45-b09c26580b40",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"View Service\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.name).to.eql(\"Google\");",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"url": {
"raw": "{{endpoint}}/api/services/1",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services",
"1"
]
},
"description": "View a specific service, this will include the service's failures and checkins."
},
"response": [
{
"name": "View Service",
"originalRequest": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"url": {
"raw": "{{endpoint}}/api/services/1",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services",
"1"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Length",
"value": "534"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Sat, 02 May 2020 01:07:16 GMT"
}
],
"cookie": [],
"body": "{\n \"avg_response\": 1233870,\n \"check_interval\": 10,\n \"created_at\": \"2020-02-02T01:00:08.103271859Z\",\n \"failures_24_hours\": 321,\n \"group_id\": 1,\n \"id\": 1,\n \"last_error\": \"2020-05-08T18:20:08.881632603Z\",\n \"last_success\": \"2020-05-02T01:07:14.027666715Z\",\n \"latency\": 111427,\n \"name\": \"Google\",\n \"online\": true,\n \"online_24_hours\": 95.35,\n \"online_7_days\": 95.35,\n \"order_id\": 1,\n \"permalink\": \"google\",\n \"ping_time\": 11580,\n \"public\": true,\n \"stats\": {\n \"failures\": 404,\n \"hits\": 8685,\n \"first_hit\": \"2020-04-29T01:00:10.245169916Z\"\n },\n \"status_code\": 200,\n \"updated_at\": \"2020-05-02T01:00:08.103367884Z\"\n}"
}
]
},
{
"name": "View Service Chart Data",
"event": [
{
"listen": "test",
"script": {
"id": "860fa275-aed7-481d-967f-11b481df49e0",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"url": {
"raw": "{{endpoint}}/api/services/1/hits_data?start={{start_time}}&end={{end_time}}&group=1h",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services",
"1",
"hits_data"
],
"query": [
{
"key": "start",
"value": "{{start_time}}",
"description": "Starting from time (unix timestamp)"
},
{
"key": "end",
"value": "{{end_time}}",
"description": "End on time (unix timestamp)"
},
{
"key": "group",
"value": "1h",
"description": "Increment grouping (minute, hour, day)"
}
]
},
"description": "View the chart data for the service's latency. The response returns an array of objects as `timeframe` for timestamp, and `amount` for value in ascending order.\n\n## Grouping Data\nYou can group the chart data by using the `group` parameter. For example, if you want to group hits in 12 hours, you could use `12h`. You can also group by minutes like `15m` for 15 minutes."
},
"response": [
{
"name": "View Service Chart Data",
"originalRequest": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"url": {
"raw": "{{endpoint}}/api/services/1/hits_data?start=0&end=99999999999&group=1h",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services",
"1",
"hits_data"
],
"query": [
{
"key": "start",
"value": "0",
"description": "Starting from time (unix timestamp)"
},
{
"key": "end",
"value": "99999999999",
"description": "End on time (unix timestamp)"
},
{
"key": "group",
"value": "1h",
"description": "Increment grouping (minute, hour, day)"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Access-Control-Allow-Origin",
"value": "*"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Fri, 01 May 2020 23:35:21 GMT"
},
{
"key": "Transfer-Encoding",
"value": "chunked"
}
],
"cookie": [],
"body": "[\n {\n \"timeframe\": \"2020-04-28T23:00:00Z\",\n \"amount\": 2821357\n },\n {\n \"timeframe\": \"2020-04-29T00:00:00Z\",\n \"amount\": 3948440\n },\n {\n \"timeframe\": \"2020-04-29T01:00:00Z\",\n \"amount\": 2561839\n },\n {\n \"timeframe\": \"2020-04-29T02:00:00Z\",\n \"amount\": 298890\n },\n {\n \"timeframe\": \"2020-04-29T03:00:00Z\",\n \"amount\": 595086\n },\n {\n \"timeframe\": \"2020-04-29T04:00:00Z\",\n \"amount\": 3353651\n },\n {\n \"timeframe\": \"2020-04-29T05:00:00Z\",\n \"amount\": 3816639\n },\n {\n \"timeframe\": \"2020-04-29T06:00:00Z\",\n \"amount\": 2479045\n },\n {\n \"timeframe\": \"2020-04-29T07:00:00Z\",\n \"amount\": 730765\n },\n {\n \"timeframe\": \"2020-04-29T08:00:00Z\",\n \"amount\": 742941\n },\n {\n \"timeframe\": \"2020-04-29T09:00:00Z\",\n \"amount\": 299063\n },\n {\n \"timeframe\": \"2020-04-29T10:00:00Z\",\n \"amount\": 136331\n },\n {\n \"timeframe\": \"2020-04-29T11:00:00Z\",\n \"amount\": 319792\n },\n {\n \"timeframe\": \"2020-04-29T12:00:00Z\",\n \"amount\": 1146633\n },\n {\n \"timeframe\": \"2020-04-29T13:00:00Z\",\n \"amount\": 186369\n },\n {\n \"timeframe\": \"2020-04-29T14:00:00Z\",\n \"amount\": 751189\n },\n {\n \"timeframe\": \"2020-04-29T15:00:00Z\",\n \"amount\": 299781\n },\n {\n \"timeframe\": \"2020-04-29T16:00:00Z\",\n \"amount\": 725325\n },\n {\n \"timeframe\": \"2020-04-29T17:00:00Z\",\n \"amount\": 786672\n },\n {\n \"timeframe\": \"2020-04-29T18:00:00Z\",\n \"amount\": 809931\n },\n {\n \"timeframe\": \"2020-04-29T19:00:00Z\",\n \"amount\": 758894\n },\n {\n \"timeframe\": \"2020-04-29T20:00:00Z\",\n \"amount\": 1612743\n },\n {\n \"timeframe\": \"2020-04-29T21:00:00Z\",\n \"amount\": 1918771\n },\n {\n \"timeframe\": \"2020-04-29T22:00:00Z\",\n \"amount\": 1959122\n },\n {\n \"timeframe\": \"2020-04-29T23:00:00Z\",\n \"amount\": 703709\n },\n {\n \"timeframe\": \"2020-04-30T00:00:00Z\",\n \"amount\": 348894\n },\n {\n \"timeframe\": \"2020-04-30T01:00:00Z\",\n \"amount\": 247846\n },\n {\n \"timeframe\": \"2020-04-30T02:00:00Z\",\n \"amount\": 876778\n },\n {\n \"timeframe\": \"2020-04-30T03:00:00Z\",\n \"amount\": 516935\n },\n {\n \"timeframe\": \"2020-04-30T04:00:00Z\",\n \"amount\": 148509\n },\n {\n \"timeframe\": \"2020-04-30T05:00:00Z\",\n \"amount\": 248569\n },\n {\n \"timeframe\": \"2020-04-30T06:00:00Z\",\n \"amount\": 177620\n },\n {\n \"timeframe\": \"2020-04-30T07:00:00Z\",\n \"amount\": 670146\n },\n {\n \"timeframe\": \"2020-04-30T08:00:00Z\",\n \"amount\": 168823\n },\n {\n \"timeframe\": \"2020-04-30T09:00:00Z\",\n \"amount\": 756748\n },\n {\n \"timeframe\": \"2020-04-30T10:00:00Z\",\n \"amount\": 730129\n },\n {\n \"timeframe\": \"2020-04-30T11:00:00Z\",\n \"amount\": 389544\n },\n {\n \"timeframe\": \"2020-04-30T12:00:00Z\",\n \"amount\": 133279\n },\n {\n \"timeframe\": \"2020-04-30T13:00:00Z\",\n \"amount\": 1257221\n },\n {\n \"timeframe\": \"2020-04-30T14:00:00Z\",\n \"amount\": 1095851\n },\n {\n \"timeframe\": \"2020-04-30T15:00:00Z\",\n \"amount\": 1086126\n },\n {\n \"timeframe\": \"2020-04-30T16:00:00Z\",\n \"amount\": 532353\n },\n {\n \"timeframe\": \"2020-04-30T17:00:00Z\",\n \"amount\": 1321025\n },\n {\n \"timeframe\": \"2020-04-30T18:00:00Z\",\n \"amount\": 498795\n },\n {\n \"timeframe\": \"2020-04-30T19:00:00Z\",\n \"amount\": 1334088\n },\n {\n \"timeframe\": \"2020-04-30T20:00:00Z\",\n \"amount\": 670188\n },\n {\n \"timeframe\": \"2020-04-30T21:00:00Z\",\n \"amount\": 157049\n },\n {\n \"timeframe\": \"2020-04-30T22:00:00Z\",\n \"amount\": 501978\n },\n {\n \"timeframe\": \"2020-04-30T23:00:00Z\",\n \"amount\": 490371\n },\n {\n \"timeframe\": \"2020-05-01T00:00:00Z\",\n \"amount\": 459638\n },\n {\n \"timeframe\": \"2020-05-01T01:00:00Z\",\n \"amount\": 435766\n },\n {\n \"timeframe\": \"2020-05-01T02:00:00Z\",\n \"amount\": 1019118\n },\n {\n \"timeframe\": \"2020-05-01T03:00:00Z\",\n \"amount\": 473220\n },\n {\n \"timeframe\": \"2020-05-01T04:00:00Z\",\n \"amount\": 773802\n },\n {\n \"timeframe\": \"2020-05-01T05:00:00Z\",\n \"amount\": 169785\n },\n {\n \"timeframe\": \"2020-05-01T06:00:00Z\",\n \"amount\": 161522\n },\n {\n \"timeframe\": \"2020-05-01T07:00:00Z\",\n \"amount\": 2188049\n },\n {\n \"timeframe\": \"2020-05-01T08:00:00Z\",\n \"amount\": 1953334\n },\n {\n \"timeframe\": \"2020-05-01T09:00:00Z\",\n \"amount\": 464254\n },\n {\n \"timeframe\": \"2020-05-01T10:00:00Z\",\n \"amount\": 1122877\n },\n {\n \"timeframe\": \"2020-05-01T11:00:00Z\",\n \"amount\": 1451397\n },\n {\n \"timeframe\": \"2020-05-01T12:00:00Z\",\n \"amount\": 880588\n },\n {\n \"timeframe\": \"2020-05-01T13:00:00Z\",\n \"amount\": 302396\n },\n {\n \"timeframe\": \"2020-05-01T14:00:00Z\",\n \"amount\": 239921\n },\n {\n \"timeframe\": \"2020-05-01T15:00:00Z\",\n \"amount\": 891828\n },\n {\n \"timeframe\": \"2020-05-01T16:00:00Z\",\n \"amount\": 999550\n },\n {\n \"timeframe\": \"2020-05-01T17:00:00Z\",\n \"amount\": 566471\n },\n {\n \"timeframe\": \"2020-05-01T18:00:00Z\",\n \"amount\": 399267\n },\n {\n \"timeframe\": \"2020-05-01T19:00:00Z\",\n \"amount\": 348657\n },\n {\n \"timeframe\": \"2020-05-01T20:00:00Z\",\n \"amount\": 202352\n },\n {\n \"timeframe\": \"2020-05-01T21:00:00Z\",\n \"amount\": 703166\n },\n {\n \"timeframe\": \"2020-05-01T22:00:00Z\",\n \"amount\": 1713541\n },\n {\n \"timeframe\": \"2020-05-01T23:00:00Z\",\n \"amount\": 125889\n }\n]"
}
]
},
{
"name": "View Service Ping Data",
"event": [
{
"listen": "test",
"script": {
"id": "d89562d5-6742-447a-ae95-1ad044123f70",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"url": {
"raw": "{{endpoint}}/api/services/1/ping_data?start={{start_time}}&end={{end_time}}&group=12h",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services",
"1",
"ping_data"
],
"query": [
{
"key": "start",
"value": "{{start_time}}",
"description": "Starting from time (unix timestamp)"
},
{
"key": "end",
"value": "{{end_time}}",
"description": "End on time (unix timestamp)"
},
{
"key": "group",
"value": "12h",
"description": "Increment grouping (minute, hour, day)"
}
]
},
"description": "View the chart data for the service's ping response time. The response returns an array of objects as `timeframe` for timestamp, and `amount` for value in ascending order.\n\n## Grouping Data\nYou can group the chart data by using the `group` parameter. For example, if you want to group hits in 12 hours, you could use `12h`. You can also group by minutes like `15m` for 15 minutes."
},
"response": [
{
"name": "View Service Ping Data",
"originalRequest": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"url": {
"raw": "{{endpoint}}/api/services/1/ping_data?start=0&end=999999999999&group=12h",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services",
"1",
"ping_data"
],
"query": [
{
"key": "start",
"value": "0",
"description": "Starting from time (unix timestamp)"
},
{
"key": "end",
"value": "999999999999",
"description": "End on time (unix timestamp)"
},
{
"key": "group",
"value": "12h",
"description": "Increment grouping (minute, hour, day)"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Access-Control-Allow-Origin",
"value": "*"
},
{
"key": "Content-Length",
"value": "374"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Fri, 01 May 2020 23:36:34 GMT"
}
],
"cookie": [],
"body": "[\n {\n \"timeframe\": \"2020-04-28T12:00:00Z\",\n \"amount\": 1410678\n },\n {\n \"timeframe\": \"2020-04-29T00:00:00Z\",\n \"amount\": 803436\n },\n {\n \"timeframe\": \"2020-04-29T12:00:00Z\",\n \"amount\": 485797\n },\n {\n \"timeframe\": \"2020-04-30T00:00:00Z\",\n \"amount\": 220022\n },\n {\n \"timeframe\": \"2020-04-30T12:00:00Z\",\n \"amount\": 378263\n },\n {\n \"timeframe\": \"2020-05-01T00:00:00Z\",\n \"amount\": 444698\n },\n {\n \"timeframe\": \"2020-05-01T12:00:00Z\",\n \"amount\": 285061\n }\n]"
}
]
},
{
"name": "View Service Failure Data",
"event": [
{
"listen": "test",
"script": {
"id": "e5af74ef-3ae5-45ef-ac0c-30ec1ed006c3",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"url": {
"raw": "{{endpoint}}/api/services/1/failure_data?start={{start_time}}&end={{end_time}}&group=12h",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services",
"1",
"failure_data"
],
"query": [
{
"key": "start",
"value": "{{start_time}}",
"description": "Starting from time (unix timestamp)"
},
{
"key": "end",
"value": "{{end_time}}",
"description": "End on time (unix timestamp)"
},
{
"key": "group",
"value": "12h",
"description": "Increment grouping (minute, hour, day)"
}
]
},
"description": "View the data service failures in a heatmap. The response returns an array of objects as `timeframe` for timestamp, and `amount` for value in ascending order.\n\n## Grouping Data\nYou can group the chart data by using the `group` parameter. For example, if you want to group hits in 12 hours, you could use `12h`. You can also group by minutes like `15m` for 15 minutes."
},
"response": [
{
"name": "View Service Failure Data",
"originalRequest": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"url": {
"raw": "{{endpoint}}/api/services/1/failure_data?start=0&end=999999999999&group=12h",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services",
"1",
"failure_data"
],
"query": [
{
"key": "start",
"value": "0",
"description": "Starting from time (unix timestamp)"
},
{
"key": "end",
"value": "999999999999",
"description": "End on time (unix timestamp)"
},
{
"key": "group",
"value": "12h",
"description": "Increment grouping (minute, hour, day)"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Access-Control-Allow-Origin",
"value": "*"
},
{
"key": "Content-Length",
"value": "344"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Fri, 01 May 2020 23:39:38 GMT"
}
],
"cookie": [],
"body": "[\n {\n \"timeframe\": \"2020-04-28T12:00:00Z\",\n \"amount\": 2\n },\n {\n \"timeframe\": \"2020-04-29T00:00:00Z\",\n \"amount\": 21\n },\n {\n \"timeframe\": \"2020-04-29T12:00:00Z\",\n \"amount\": 20\n },\n {\n \"timeframe\": \"2020-04-30T00:00:00Z\",\n \"amount\": 21\n },\n {\n \"timeframe\": \"2020-04-30T12:00:00Z\",\n \"amount\": 20\n },\n {\n \"timeframe\": \"2020-05-01T00:00:00Z\",\n \"amount\": 21\n },\n {\n \"timeframe\": \"2020-05-01T12:00:00Z\",\n \"amount\": 29\n }\n]"
}
]
},
{
"name": "View Service Failures",
"event": [
{
"listen": "test",
"script": {
"id": "b21c7e93-24a7-4c0a-90fa-89d3e34f0029",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"url": {
"raw": "{{endpoint}}/api/services/1/failures?start={{start_time}}&end={{end_time}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services",
"1",
"failures"
],
"query": [
{
"key": "start",
"value": "{{start_time}}",
"description": "Starting from time (unix timestamp)"
},
{
"key": "end",
"value": "{{end_time}}",
"description": "End on time (unix timestamp)"
}
]
},
"description": "Returns an array of failures for this service. It includes the error message, http status code, and the ping response time."
},
"response": []
},
{
"name": "View Service Hits",
"event": [
{
"listen": "test",
"script": {
"id": "c6f024c5-f81d-4aca-92e8-b93bf9ac9068",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Service Successful Hits\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.length).to.be.at.least(100);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"url": {
"raw": "{{endpoint}}/api/services/1/hits?start={{start_time}}&end={{end_time}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services",
"1",
"hits"
],
"query": [
{
"key": "start",
"value": "{{start_time}}",
"description": "Starting from time (unix timestamp)"
},
{
"key": "end",
"value": "{{end_time}}",
"description": "End on time (unix timestamp)"
}
]
},
"description": "Returns on array of all the successful hits for this service."
},
"response": []
},
{
"name": "Reorder Services",
"event": [
{
"listen": "test",
"script": {
"id": "cf487420-5c74-4572-b512-29fe6de72761",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "[{\"service\":1,\"order\":1},{\"service\":2,\"order\":3},{\"service\":3,\"order\":4},{\"service\":4,\"order\":5}]",
"options": {
"raw": {}
}
},
"url": {
"raw": "{{endpoint}}/api/reorder/services",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"reorder",
"services"
]
},
"description": "Reorder services in a specific order for the index page."
},
"response": [
{
"name": "Reorder Services",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "[{\"service\":1,\"order\":1},{\"service\":5,\"order\":2},{\"service\":2,\"order\":3},{\"service\":3,\"order\":4},{\"service\":4,\"order\":5}]"
},
"url": {
"raw": "{{endpoint}}/api/services/reorder",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services",
"reorder"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 10 Dec 2018 19:31:40 GMT"
},
{
"key": "Content-Length",
"value": "122"
}
],
"cookie": [],
"body": "[\n {\n \"service\": 1,\n \"order\": 1\n },\n {\n \"service\": 5,\n \"order\": 2\n },\n {\n \"service\": 2,\n \"order\": 3\n },\n {\n \"service\": 3,\n \"order\": 4\n },\n {\n \"service\": 4,\n \"order\": 5\n }\n]"
}
]
},
{
"name": "Create Service",
"event": [
{
"listen": "test",
"script": {
"id": "7f96b2ec-11e5-44ab-b353-c2b4fa034f80",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Create Service\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.output.name).to.eql(\"New Service\");",
" pm.expect(jsonData.output.domain).to.eql(\"https://statping.com\");",
" pm.expect(jsonData.output.type).to.eql(\"http\");",
" pm.expect(jsonData.output.method).to.eql(\"GET\");",
" pm.expect(jsonData.output.expected_status).to.eql(200);",
" pm.globals.set(\"service_id\", jsonData.output.id);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"name\": \"New Service\",\n \"domain\": \"https://statping.com\",\n \"expected\": \"\",\n \"expected_status\": 200,\n \"check_interval\": 30,\n \"type\": \"http\",\n \"method\": \"GET\",\n \"post_data\": \"\",\n \"port\": 0,\n \"timeout\": 30,\n \"order_id\": 0\n}",
"options": {
"raw": {}
}
},
"url": {
"raw": "{{endpoint}}/api/services",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services"
]
},
"description": "View a specific service, this will include the service's failures and checkins.\n\n#### Service Type Field\n- `http` - HTTP Service\n- `tcp` - TCP Service\n- `udp` - UDP Service\n- `icmp` - ICMP Service\n- `grpc` - gRPC Service\n- `static` - Static Service"
},
"response": [
{
"name": "Create Service",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"name\": \"New Service\",\n \"domain\": \"https://statping.com\",\n \"expected\": \"\",\n \"expected_status\": 200,\n \"check_interval\": 30,\n \"type\": \"http\",\n \"method\": \"GET\",\n \"post_data\": \"\",\n \"port\": 0,\n \"timeout\": 30,\n \"order_id\": 0\n}"
},
"url": {
"raw": "{{endpoint}}/api/services",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 10 Dec 2018 19:31:47 GMT"
},
{
"key": "Content-Length",
"value": "528"
}
],
"cookie": [],
"body": "{\n \"status\": \"success\",\n \"type\": \"service\",\n \"method\": \"create\",\n \"id\": 10,\n \"output\": {\n \"id\": 10,\n \"name\": \"New Service\",\n \"domain\": \"https://statping.com\",\n \"expected\": \"\",\n \"expected_status\": 200,\n \"check_interval\": 30,\n \"type\": \"http\",\n \"method\": \"GET\",\n \"post_data\": \"\",\n \"port\": 0,\n \"timeout\": 30,\n \"order_id\": 0,\n \"allow_notifications\": false,\n \"created_at\": \"2018-12-10T11:31:47.535086-08:00\",\n \"updated_at\": \"2018-12-10T11:31:47.535184-08:00\",\n \"online\": false,\n \"latency\": 0,\n \"ping_time\": 0,\n \"online_24_hours\": 0,\n \"avg_response\": \"\",\n \"status_code\": 0,\n \"last_success\": \"0001-01-01T00:00:00Z\"\n }\n}"
}
]
},
{
"name": "Update Service",
"event": [
{
"listen": "test",
"script": {
"id": "8f497902-ca10-45cb-bb98-96db1604b276",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Update Service\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.output.name).to.eql(\"Brand New Service\");",
" pm.expect(jsonData.output.domain).to.eql(\"https://google.net\");",
" pm.expect(jsonData.output.type).to.eql(\"http\");",
" pm.expect(jsonData.output.method).to.eql(\"GET\");",
" pm.expect(jsonData.output.expected_status).to.eql(200);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"name\": \"Brand New Service\",\n \"domain\": \"https://google.net\",\n \"expected\": \"heyyyy\",\n \"expected_status\": 200,\n \"check_interval\": 20,\n \"type\": \"http\",\n \"method\": \"GET\",\n \"post_data\": \"\",\n \"port\": 0,\n \"timeout\": 10,\n \"order_id\": 0\n}",
"options": {
"raw": {}
}
},
"url": {
"raw": "{{endpoint}}/api/services/{{service_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services",
"{{service_id}}"
]
},
"description": "Update a service with new values and begin monitoring."
},
"response": [
{
"name": "Update Service",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"name\": \"Updated New Service\",\n \"domain\": \"https://google.com\",\n \"expected\": \"\",\n \"expected_status\": 200,\n \"check_interval\": 60,\n \"type\": \"http\",\n \"method\": \"GET\",\n \"post_data\": \"\",\n \"port\": 0,\n \"timeout\": 10,\n \"order_id\": 0\n}"
},
"url": {
"raw": "{{endpoint}}/api/services/{{service_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services",
"{{service_id}}"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 10 Dec 2018 19:31:54 GMT"
},
{
"key": "Content-Length",
"value": "567"
}
],
"cookie": [],
"body": "{\n \"status\": \"success\",\n \"type\": \"service\",\n \"method\": \"update\",\n \"id\": 10,\n \"output\": {\n \"id\": 10,\n \"name\": \"Updated New Service\",\n \"domain\": \"https://google.com\",\n \"expected\": \"\",\n \"expected_status\": 200,\n \"check_interval\": 60,\n \"type\": \"http\",\n \"method\": \"GET\",\n \"post_data\": \"\",\n \"port\": 0,\n \"timeout\": 10,\n \"order_id\": 0,\n \"allow_notifications\": false,\n \"created_at\": \"2018-12-10T11:31:47.535086-08:00\",\n \"updated_at\": \"2018-12-10T11:31:47.535184-08:00\",\n \"online\": true,\n \"latency\": 0.550636193,\n \"ping_time\": 0.073339805,\n \"online_24_hours\": 0,\n \"avg_response\": \"\",\n \"status_code\": 200,\n \"last_success\": \"2018-12-10T11:31:49.161389-08:00\"\n }\n}"
}
]
},
{
"name": "Update Static Service",
"event": [
{
"listen": "test",
"script": {
"id": "18cfae1e-4025-4338-a734-a552c8ac85ca",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Update Service\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.status).to.eql(\"success\");",
" pm.expect(jsonData.output.type).to.eql(\"static\");",
" pm.expect(jsonData.output.online).to.eql(false);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "PATCH",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"online\": false,\n \"latency\": 30500,\n \"issue\": \"This is a failure string you can create\"\n}",
"options": {
"raw": {}
}
},
"url": {
"raw": "{{endpoint}}/api/services/7",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services",
"7"
]
},
"description": "Update a Static Service by setting it's online status to true or false. If false, you can include a issue string in the `issue` JSON field."
},
"response": []
},
{
"name": "Delete Service Failures",
"event": [
{
"listen": "test",
"script": {
"id": "ea18e56c-382d-42c4-9bc7-477da1d760fe",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "DELETE",
"header": [],
"body": {
"mode": "raw",
"raw": "",
"options": {
"raw": {}
}
},
"url": {
"raw": "{{endpoint}}/api/services/{{service_id}}/failures",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services",
"{{service_id}}",
"failures"
]
},
"description": "Delete all the service failures."
},
"response": []
},
{
"name": "Delete Service",
"event": [
{
"listen": "test",
"script": {
"id": "c8b61f71-2f28-42a5-9ca1-e80038767fbe",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Delete Service\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.status).to.eql(\"success\");",
" pm.expect(jsonData.type).to.eql(\"service\");",
" pm.expect(jsonData.method).to.eql(\"delete\");",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "DELETE",
"header": [],
"body": {
"mode": "raw",
"raw": "",
"options": {
"raw": {}
}
},
"url": {
"raw": "{{endpoint}}/api/services/{{service_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services",
"{{service_id}}"
]
},
"description": "Delete a service and stops monitoring."
},
"response": [
{
"name": "Delete Service",
"originalRequest": {
"method": "DELETE",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{endpoint}}/api/services/{{service_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services",
"{{service_id}}"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 10 Dec 2018 19:32:06 GMT"
},
{
"key": "Content-Length",
"value": "567"
}
],
"cookie": [],
"body": "{\n \"status\": \"success\",\n \"type\": \"service\",\n \"method\": \"delete\",\n \"id\": 10,\n \"output\": {\n \"id\": 10,\n \"name\": \"Updated New Service\",\n \"domain\": \"https://google.com\",\n \"expected\": \"\",\n \"expected_status\": 200,\n \"check_interval\": 60,\n \"type\": \"http\",\n \"method\": \"GET\",\n \"post_data\": \"\",\n \"port\": 0,\n \"timeout\": 10,\n \"order_id\": 0,\n \"allow_notifications\": false,\n \"created_at\": \"2018-12-10T11:31:47.535086-08:00\",\n \"updated_at\": \"2018-12-10T11:31:47.535184-08:00\",\n \"online\": true,\n \"latency\": 0.203382878,\n \"ping_time\": 0.001664491,\n \"online_24_hours\": 0,\n \"avg_response\": \"\",\n \"status_code\": 200,\n \"last_success\": \"2018-12-10T11:31:55.455091-08:00\"\n }\n}"
}
]
}
],
"description": "With the Statping API, you can add, remove, edit all your services fields from the API directly. This includes viewing Service chart data for latency/up-time, and even viewing a log of failures. \n\n### HTTP Services\nA HTTP service is a basic service that sends a HTTP request (GET, POST, PATCH, DELETE, etc) to check if that web service is online or not. You can expect a specific status code, and response body (including regex). \n\n### TCP and UDP Services\nTCP and UDP Services will send a request to the hostname and port of your choice.\n\n### ICMP Ping Services\nICMP Services will send a ICMP (ping) packet to your server to test if it's online.\n\n### gRPC Services\ngRPC Services will request your gRPC server and check the response\n\n### Static Services\nA Static Service is a \"fake\" service that is set online/offline by you.\n",
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"event": [
{
"listen": "prerequest",
"script": {
"id": "2d965d82-4d9e-4c37-a3d2-286c75ae00de",
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"id": "f3cd55c0-923e-43fa-ab6b-e26df9f20e0a",
"type": "text/javascript",
"exec": [
""
]
}
}
],
"protocolProfileBehavior": {}
},
{
"name": "Incidents",
"item": [
{
"name": "View Service Incidents",
"event": [
{
"listen": "test",
"script": {
"id": "575ede33-53ac-4e8b-9dbf-3560409b6d1f",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"url": {
"raw": "{{endpoint}}/api/services/1/incidents",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services",
"1",
"incidents"
]
},
"description": "View all incidents for a single service."
},
"response": [
{
"name": "View Service Incidents",
"originalRequest": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"url": {
"raw": "{{endpoint}}/api/services/1/incidents",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services",
"1",
"incidents"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 04 May 2020 03:13:44 GMT"
},
{
"key": "Content-Length",
"value": "136"
},
{
"key": "Connection",
"value": "close"
}
],
"cookie": [],
"body": "[\n {\n \"id\": 1,\n \"title\": \"Service Downtime\",\n \"service\": 1,\n \"created_at\": \"2020-05-04T03:11:51.752374Z\",\n \"updated_at\": \"2020-05-04T03:11:51.752374Z\"\n }\n]"
}
]
},
{
"name": "Create Incident",
"event": [
{
"listen": "test",
"script": {
"id": "6252ebad-26a9-481d-a233-e097306fc598",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Incidents JSON\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.status).to.eql(\"success\");",
" pm.expect(jsonData.method).to.eql(\"create\");",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"title\": \"Service Downtime\",\n\t\"description\": \"\"\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{endpoint}}/api/services/3/incidents",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services",
"3",
"incidents"
]
},
"description": "Create an incident for a service."
},
"response": [
{
"name": "Create Incident",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"title\": \"Service Downtime\",\n\t\"description\": \"\",\n\t\"service\": 1\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{endpoint}}/api/services/1/incidents",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"services",
"1",
"incidents"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 04 May 2020 03:11:51 GMT"
},
{
"key": "Content-Length",
"value": "207"
},
{
"key": "Connection",
"value": "close"
}
],
"cookie": [],
"body": "{\n \"status\": \"success\",\n \"type\": \"incident\",\n \"method\": \"create\",\n \"id\": 1,\n \"output\": {\n \"id\": 1,\n \"title\": \"Service Downtime\",\n \"service\": 1,\n \"created_at\": \"2020-05-04T03:11:51.752374Z\",\n \"updated_at\": \"2020-05-04T03:11:51.752374Z\"\n }\n}"
}
]
},
{
"name": "Create Incident Update",
"event": [
{
"listen": "test",
"script": {
"id": "4478e35f-8da6-4f74-9100-0bb92ac6466e",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"message\": \"Website is loading very slowly, looking into this.\",\n\t\"type\": \"Investigating\"\n}",
"options": {
"raw": {}
}
},
"url": {
"raw": "{{endpoint}}/api/incidents/2/updates",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"incidents",
"2",
"updates"
]
},
"description": "View all incidents for a single service."
},
"response": [
{
"name": "Create Incident Update",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"message\": \"Website is loading very slowly, looking into this.\",\n\t\"type\": \"Investigating\"\n}"
},
"url": {
"raw": "{{endpoint}}/api/incidents/2/updates",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"incidents",
"2",
"updates"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 04 May 2020 03:20:05 GMT"
},
{
"key": "Content-Length",
"value": "261"
},
{
"key": "Connection",
"value": "close"
}
],
"cookie": [],
"body": "{\n \"status\": \"success\",\n \"type\": \"incident_update\",\n \"method\": \"create\",\n \"id\": 1,\n \"output\": {\n \"id\": 1,\n \"message\": \"Website is loading very slowly, looking into this.\",\n \"type\": \"Investigating\",\n \"created_at\": \"2020-05-04T03:20:05.102435Z\",\n \"updated_at\": \"2020-05-04T03:20:05.102435Z\"\n }\n}"
}
]
},
{
"name": "Incident Updates",
"event": [
{
"listen": "test",
"script": {
"id": "e2e7d38f-efae-44d1-9361-cd301547feb3",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"url": {
"raw": "{{endpoint}}/api/incidents/2/updates",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"incidents",
"2",
"updates"
]
},
"description": "View all incidents for a single service."
},
"response": []
},
{
"name": "Update Service Incident",
"event": [
{
"listen": "test",
"script": {
"id": "42cd68de-5bd4-4d4e-b687-fa0bafc1d61a",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"title\": \"Updated Downtime\",\n\t\"description\": \"This is an update for an incident\"\n}",
"options": {
"raw": {}
}
},
"url": {
"raw": "{{endpoint}}/api/incidents/1",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"incidents",
"1"
]
},
"description": "View all incidents for a single service."
},
"response": []
},
{
"name": "Delete Incident Update",
"event": [
{
"listen": "test",
"script": {
"id": "4578b229-5a85-4d3c-acdc-360ad50a35f2",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "DELETE",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"url": {
"raw": "{{endpoint}}/api/incidents/2/updates/1",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"incidents",
"2",
"updates",
"1"
]
},
"description": "View all incidents for a single service."
},
"response": [
{
"name": "Delete Incident Update",
"originalRequest": {
"method": "DELETE",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"url": {
"raw": "{{endpoint}}/api/incidents/2/updates/1",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"incidents",
"2",
"updates",
"1"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 04 May 2020 03:23:00 GMT"
},
{
"key": "Content-Length",
"value": "261"
},
{
"key": "Connection",
"value": "close"
}
],
"cookie": [],
"body": "{\n \"status\": \"success\",\n \"type\": \"incident_update\",\n \"method\": \"delete\",\n \"id\": 1,\n \"output\": {\n \"id\": 1,\n \"message\": \"Website is loading very slowly, looking into this.\",\n \"type\": \"Investigating\",\n \"created_at\": \"2020-05-04T03:20:05.102435Z\",\n \"updated_at\": \"2020-05-04T03:20:05.102435Z\"\n }\n}"
}
]
},
{
"name": "Delete Incident",
"event": [
{
"listen": "test",
"script": {
"id": "c6735dbe-86e8-4b42-9b04-6fc1fea949df",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "DELETE",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"url": {
"raw": "{{endpoint}}/api/incidents/1",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"incidents",
"1"
]
},
"description": "View all incidents for a single service."
},
"response": [
{
"name": "Delete Incident",
"originalRequest": {
"method": "DELETE",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"url": {
"raw": "{{endpoint}}/api/incidents/2",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"incidents",
"2"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 04 May 2020 03:31:48 GMT"
},
{
"key": "Content-Length",
"value": "207"
},
{
"key": "Connection",
"value": "close"
}
],
"cookie": [],
"body": "{\n \"status\": \"success\",\n \"type\": \"incident\",\n \"method\": \"delete\",\n \"id\": 2,\n \"output\": {\n \"id\": 2,\n \"title\": \"Service Downtime\",\n \"service\": 1,\n \"created_at\": \"2020-05-04T03:18:24.818629Z\",\n \"updated_at\": \"2020-05-04T03:18:24.818629Z\"\n }\n}"
}
]
}
],
"protocolProfileBehavior": {}
},
{
"name": "Groups",
"item": [
{
"name": "All Groups",
"event": [
{
"listen": "test",
"script": {
"id": "e83ac60d-3683-441e-a78b-d15b6c2b704d",
"exec": [
"pm.test(\"View All Groups\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.length).to.eql(2);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/groups",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"groups"
]
},
"description": "View an array of all Groups added to your Statping instance."
},
"response": [
{
"name": "All Groups",
"originalRequest": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/groups",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"groups"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Thu, 03 Jan 2019 21:48:40 GMT"
},
{
"key": "Content-Length",
"value": "301"
}
],
"cookie": [],
"body": "[\n {\n \"id\": 1,\n \"name\": \"Main Services\",\n \"public\": true,\n \"created_at\": \"2019-01-03T13:48:23.488553261-08:00\",\n \"updated_at\": \"2019-01-03T13:48:23.488614502-08:00\"\n },\n {\n \"id\": 2,\n \"name\": \"Linked Services\",\n \"public\": false,\n \"created_at\": \"2019-01-03T13:48:23.489693923-08:00\",\n \"updated_at\": \"2019-01-03T13:48:23.489719447-08:00\"\n }\n]"
}
]
},
{
"name": "View Group",
"event": [
{
"listen": "test",
"script": {
"id": "d2bba501-9674-4143-a51d-33721eb4785f",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"View Group\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.name).to.eql(\"Main Services\");",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"url": {
"raw": "{{endpoint}}/api/groups/1",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"groups",
"1"
]
},
"description": "View a specific group"
},
"response": [
{
"name": "View Group",
"originalRequest": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"url": {
"raw": "{{endpoint}}/api/groups/1",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"groups",
"1"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Thu, 03 Jan 2019 21:48:58 GMT"
},
{
"key": "Content-Length",
"value": "148"
}
],
"cookie": [],
"body": "{\n \"id\": 1,\n \"name\": \"Main Services\",\n \"public\": true,\n \"created_at\": \"2019-01-03T13:48:23.488553261-08:00\",\n \"updated_at\": \"2019-01-03T13:48:23.488614502-08:00\"\n}"
}
]
},
{
"name": "Create Group",
"event": [
{
"listen": "test",
"script": {
"id": "6ea60d3a-b601-41a8-8b5e-734f3946d34c",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Create Group\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.output.name).to.eql(\"New Group\");",
" pm.globals.set(\"group_id\", jsonData.output.id);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"name\": \"New Group\",\n \"public\": true\n}",
"options": {
"raw": {}
}
},
"url": {
"raw": "{{endpoint}}/api/groups",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"groups"
]
},
"description": "Create a new Group to organize services."
},
"response": [
{
"name": "Create Group",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"name\": \"New Group\",\n \"public\": true\n}"
},
"url": {
"raw": "{{endpoint}}/api/groups",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"groups"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Thu, 03 Jan 2019 21:49:25 GMT"
},
{
"key": "Content-Length",
"value": "214"
}
],
"cookie": [],
"body": "{\n \"status\": \"success\",\n \"type\": \"group\",\n \"method\": \"create\",\n \"id\": 3,\n \"output\": {\n \"id\": 3,\n \"name\": \"New Group\",\n \"public\": true,\n \"created_at\": \"2019-01-03T13:49:25.947069211-08:00\",\n \"updated_at\": \"2019-01-03T13:49:25.947120276-08:00\"\n }\n}"
}
]
},
{
"name": "Reorder Groups",
"event": [
{
"listen": "test",
"script": {
"id": "4efd65bf-6e56-4600-91af-36cb82ffb125",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "[{\"group\":1,\"order\":1},{\"group\":2,\"order\":2}]",
"options": {
"raw": {}
}
},
"url": {
"raw": "{{endpoint}}/api/reorder/groups",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"reorder",
"groups"
]
},
"description": "Reorder services in a specific order for the index page."
},
"response": []
},
{
"name": "Delete Group",
"event": [
{
"listen": "test",
"script": {
"id": "ec903995-c37b-436a-b554-c9e4ee5ff52a",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Delete Service\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.status).to.eql(\"success\");",
" pm.expect(jsonData.type).to.eql(\"group\");",
" pm.expect(jsonData.method).to.eql(\"delete\");",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "DELETE",
"header": [],
"body": {
"mode": "raw",
"raw": "",
"options": {
"raw": {}
}
},
"url": {
"raw": "{{endpoint}}/api/groups/{{group_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"groups",
"{{group_id}}"
]
},
"description": "Delete a group and removes all services attached to this group."
},
"response": [
{
"name": "Delete Group",
"originalRequest": {
"method": "DELETE",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{endpoint}}/api/groups/{{group_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"groups",
"{{group_id}}"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Thu, 03 Jan 2019 21:49:49 GMT"
},
{
"key": "Content-Length",
"value": "214"
}
],
"cookie": [],
"body": "{\n \"status\": \"success\",\n \"type\": \"group\",\n \"method\": \"delete\",\n \"id\": 3,\n \"output\": {\n \"id\": 3,\n \"name\": \"New Group\",\n \"public\": true,\n \"created_at\": \"2019-01-03T13:49:25.947069211-08:00\",\n \"updated_at\": \"2019-01-03T13:49:25.947120276-08:00\"\n }\n}"
}
]
}
],
"description": "Statping allows you to group multiple services with a unique name for better viewablity. You can reorder the groups to make your status page a little more organized if you have tons of services.\n\n# Group Fields\n- `name` - **(required)** Group name to contain multiple services\n- `public` - Allow non-users to view this group and services inside it (default false)",
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"event": [
{
"listen": "prerequest",
"script": {
"id": "abe8dbf2-9e63-49b5-b5d3-7a50217c87a3",
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"id": "de397a38-c190-4928-92f0-393ab85e5342",
"type": "text/javascript",
"exec": [
""
]
}
}
],
"protocolProfileBehavior": {}
},
{
"name": "Users",
"item": [
{
"name": "Login",
"event": [
{
"listen": "test",
"script": {
"id": "eaec5a14-dd31-4e9c-9e30-8999591514c3",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Check Login JWT Token\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData).to.have.property('token');",
" pm.expect(jsonData).to.have.property('admin');",
" pm.globals.set(\"token\", jsonData.token);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "noauth"
},
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/x-www-form-urlencoded"
}
],
"body": {
"mode": "urlencoded",
"urlencoded": [
{
"key": "username",
"value": "admin",
"type": "text"
},
{
"key": "password",
"value": "admin",
"type": "text"
}
],
"options": {
"urlencoded": {}
}
},
"url": {
"raw": "{{endpoint}}/api/login",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"login"
]
},
"description": "This endpoint will login a user and set a JWT token for future requests."
},
"response": [
{
"name": "Login",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/x-www-form-urlencoded"
}
],
"body": {
"mode": "urlencoded",
"urlencoded": [
{
"key": "username",
"value": "admin",
"type": "text"
},
{
"key": "password",
"value": "admin",
"type": "text"
}
],
"options": {
"urlencoded": {}
}
},
"url": {
"raw": "{{endpoint}}/api/login",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"login"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Set-Cookie",
"value": "statping_auth=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiYWRtaW4iOnRydWUsInNjb3BlcyI6ImFkbWluIiwiZXhwIjoxNTk2NzQzMDUzfQ.dQQGgUDhFEjCL2Gi-Seg0hBp_sqVsDn3cXB0GpSorJI; Path=/; Expires=Thu, 06 Aug 2020 19:44:13 GMT; Max-Age=259200"
},
{
"key": "Date",
"value": "Mon, 03 Aug 2020 19:44:13 GMT"
},
{
"key": "Content-Length",
"value": "197"
},
{
"key": "Connection",
"value": "close"
}
],
"cookie": [],
"body": "{\n \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiYWRtaW4iOnRydWUsInNjb3BlcyI6ImFkbWluIiwiZXhwIjoxNTk2NzQzMDUzfQ.dQQGgUDhFEjCL2Gi-Seg0hBp_sqVsDn3cXB0GpSorJI\",\n \"admin\": true\n}"
}
]
},
{
"name": "Check User Token",
"event": [
{
"listen": "test",
"script": {
"id": "560e439b-d588-4a2f-a8a6-a0607531d74c",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"View Token Response\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.username).to.eql(\"admin\");",
" pm.expect(jsonData.admin).to.eql(true);",
" pm.expect(jsonData.scopes).to.eql(\"admin\");",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "POST",
"header": [],
"body": {
"mode": "urlencoded",
"urlencoded": [
{
"key": "token",
"value": "{{token}}",
"type": "text"
}
],
"options": {
"urlencoded": {}
}
},
"url": {
"raw": "{{endpoint}}/api/users/token",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"users",
"token"
]
},
"description": "Send your JWT token from login to this endpoint to return the JSON values."
},
"response": [
{
"name": "Check User Token",
"originalRequest": {
"method": "POST",
"header": [],
"body": {
"mode": "urlencoded",
"urlencoded": [
{
"key": "token",
"value": "{{token}}",
"type": "text"
}
]
},
"url": {
"raw": "{{endpoint}}/api/users/token",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"users",
"token"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 03 Aug 2020 19:47:23 GMT"
},
{
"key": "Content-Length",
"value": "68"
},
{
"key": "Connection",
"value": "close"
}
],
"cookie": [],
"body": "{\n \"username\": \"admin\",\n \"admin\": true,\n \"scopes\": \"admin\",\n \"exp\": 1596743053\n}"
}
]
},
{
"name": "Logout",
"event": [
{
"listen": "test",
"script": {
"id": "f858d94a-6534-452b-9197-99c64d7b4009",
"exec": [
""
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"auth": {
"type": "noauth"
},
"method": "GET",
"header": [],
"body": {
"mode": "urlencoded",
"urlencoded": [],
"options": {
"urlencoded": {}
}
},
"url": {
"raw": "{{endpoint}}/api/logout",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"logout"
]
},
"description": "This endpoint will logout a user and redirect to the index page."
},
"response": []
},
{
"name": "View All Users",
"event": [
{
"listen": "test",
"script": {
"id": "20b79651-9175-4a30-98f3-4666ebf9ab05",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"View All Users\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.length).to.eql(1);",
" var user = jsonData[0];",
" pm.expect(user.id).to.eql(1);",
" pm.expect(user.username).to.eql(\"admin\");",
" pm.expect(user.email).to.eql(\"info@domain.com\");",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/users",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"users"
]
},
"description": "View all users on your Statping instance."
},
"response": [
{
"name": "View All Users",
"originalRequest": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/users",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"users"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 10 Dec 2018 19:32:23 GMT"
},
{
"key": "Content-Length",
"value": "701"
}
],
"cookie": [],
"body": "[\n {\n \"id\": 1,\n \"username\": \"admin\",\n \"password\": \"$2a$14$KtPUxcclSu/DTwVCJ1uez.KbrQcGxWK8CKnvlXe1E8rbpALrR5IPi\",\n \"email\": \"info@admin.com\",\n \"api_key\": \"0a7181be6ce703851c59dcb8a4e47090f585d3de\",\n \"api_secret\": \"5fe0e1982f1669ed004ab59d5dc73a5ec375ae31\",\n \"admin\": true,\n \"created_at\": \"2018-12-10T11:15:41.12715-08:00\",\n \"updated_at\": \"2018-12-10T11:15:42.245315-08:00\"\n },\n {\n \"id\": 6,\n \"username\": \"adminuser2\",\n \"password\": \"$2a$14$T45y.jRn58G./bLIHO7enOl2c7Xhom9pGVuAo8.3hIPcH66.8ZwCq\",\n \"email\": \"info@adminemail.com\",\n \"api_key\": \"373b493a54c0dc8ce6f710e0b99c1fc968d691bb\",\n \"api_secret\": \"4f7c0469cf8c57032d7693edc8665379274e1f6f\",\n \"admin\": true,\n \"created_at\": \"2018-12-10T11:30:17.654832-08:00\",\n \"updated_at\": \"2018-12-10T11:30:18.699416-08:00\"\n }\n]"
}
]
},
{
"name": "Create User",
"event": [
{
"listen": "test",
"script": {
"id": "fd7e8b36-70c2-4060-bb50-5d87e663dea3",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Create User\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.status).to.eql(\"success\");",
" pm.expect(jsonData.type).to.eql(\"user\");",
" pm.expect(jsonData.method).to.eql(\"create\");",
" pm.globals.set(\"user_id\", jsonData.output.id);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"username\": \"adminuser2\",\n \"email\": \"info@adminemail.com\",\n \"password\": \"passsword123\",\n \"admin\": true\n}",
"options": {
"raw": {}
}
},
"url": {
"raw": "{{endpoint}}/api/users",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"users"
]
},
"description": "Create a new Statping user"
},
"response": [
{
"name": "Create User",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"username\": \"adminuser2\",\n \"email\": \"info@adminemail.com\",\n \"password\": \"passsword123\",\n \"admin\": true\n}"
},
"url": {
"raw": "{{endpoint}}/api/users",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"users"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Length",
"value": "468"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Sat, 02 May 2020 01:08:07 GMT"
}
],
"cookie": [],
"body": "{\n \"status\": \"success\",\n \"type\": \"user\",\n \"method\": \"create\",\n \"id\": 2,\n \"output\": {\n \"id\": 2,\n \"username\": \"adminuser2\",\n \"password\": \"$2a$14$gIGeiN8bLYTGtkTwhSDS7us5gGXJ3tpcxMEY9ynX.VnpCKDFVG3nO\",\n \"email\": \"info@adminemail.com\",\n \"api_key\": \"acbed53aec11c0a0a555eaae6ce73501c059215bf4bb6ae4b0fc0eb2765780a1\",\n \"api_secret\": \"3699ae08cb15ee85b6529f6895bd104a3be00f823b1aa3c810a6582676d55ba7\",\n \"admin\": true,\n \"created_at\": \"2020-05-02T01:08:06.971716991Z\",\n \"updated_at\": \"2020-05-02T01:08:06.971716991Z\"\n }\n}"
}
]
},
{
"name": "View User",
"event": [
{
"listen": "test",
"script": {
"id": "925d3cea-fa59-42db-9d4e-154021cfbd37",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"View User\", function () {",
" var jsonData = pm.response.json();",
" var id = pm.globals.get(\"user_id\");",
" pm.expect(jsonData.id).to.eql(id);",
" pm.expect(jsonData.username).to.eql(\"adminuser2\");",
" pm.expect(jsonData.email).to.eql(\"info@adminemail.com\");",
" pm.expect(jsonData.admin).to.eql(true);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/users/{{user_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"users",
"{{user_id}}"
]
}
},
"response": [
{
"name": "View User",
"originalRequest": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/users/{{user_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"users",
"{{user_id}}"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 10 Dec 2018 19:32:50 GMT"
},
{
"key": "Content-Length",
"value": "281"
}
],
"cookie": [],
"body": "{\n \"id\": 6,\n \"username\": \"adminuser2\",\n \"email\": \"info@adminemail.com\",\n \"api_key\": \"373b493a54c0dc8ce6f710e0b99c1fc968d691bb\",\n \"api_secret\": \"4f7c0469cf8c57032d7693edc8665379274e1f6f\",\n \"admin\": true,\n \"created_at\": \"2018-12-10T11:30:17.654832-08:00\",\n \"updated_at\": \"2018-12-10T11:30:18.699416-08:00\"\n}"
}
]
},
{
"name": "Update User",
"event": [
{
"listen": "prerequest",
"script": {
"id": "2802ca86-12c2-41ce-947d-e086fcb7c753",
"exec": [
""
],
"type": "text/javascript"
}
},
{
"listen": "test",
"script": {
"id": "19f750c7-1df2-4a03-b0f0-b487d80d4917",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Update User\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.status).to.eql(\"success\");",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"username\": \"adminupdated\",\n \"email\": \"info@email.com\",\n \"password\": \"password12345\",\n \"admin\": true\n}",
"options": {
"raw": {}
}
},
"url": {
"raw": "{{endpoint}}/api/users/{{user_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"users",
"{{user_id}}"
]
},
"description": "Update a user's information including username, email, password, and if they are an admin or not."
},
"response": [
{
"name": "Update User",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"username\": \"adminupdated\",\n \"email\": \"info@email.com\",\n \"password\": \"password12345\",\n \"admin\": true\n}"
},
"url": {
"raw": "{{endpoint}}/api/users/{{user_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"users",
"{{user_id}}"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 10 Dec 2018 19:32:58 GMT"
},
{
"key": "Content-Length",
"value": "421"
}
],
"cookie": [],
"body": "{\n \"status\": \"success\",\n \"type\": \"user\",\n \"method\": \"update\",\n \"id\": 6,\n \"output\": {\n \"id\": 6,\n \"username\": \"adminupdated\",\n \"password\": \"$2a$14$fAUBFWOYtEjj/rhVkGop/Os9OPwCzNOw0ZW7naSSyAs4J7KQeZFCe\",\n \"email\": \"info@email.com\",\n \"api_key\": \"c9a5d9cba5a0062812be9d080a54080397b41058\",\n \"api_secret\": \"e81a58e019c8ce88f3272057ba67c7ab52b4a988\",\n \"admin\": true,\n \"created_at\": \"2018-12-10T11:30:17.654832-08:00\",\n \"updated_at\": \"2018-12-10T11:30:18.699416-08:00\"\n }\n}"
}
]
},
{
"name": "Delete User",
"event": [
{
"listen": "test",
"script": {
"id": "d94974c7-7c6f-4298-8ab7-6bd7a789020f",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Delete User\", function () {",
" var jsonData = pm.response.json();",
" var id = pm.globals.get(\"user_id\");",
" pm.expect(jsonData.status).to.eql(\"success\");",
" pm.expect(jsonData.type).to.eql(\"user\");",
" pm.expect(jsonData.id).to.eql(id);",
" pm.expect(jsonData.method).to.eql(\"delete\");",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "DELETE",
"header": [],
"url": {
"raw": "{{endpoint}}/api/users/{{user_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"users",
"{{user_id}}"
]
},
"description": "Delete a specific user from the database."
},
"response": [
{
"name": "Delete User",
"originalRequest": {
"method": "DELETE",
"header": [],
"url": {
"raw": "{{endpoint}}/api/users/{{user_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"users",
"{{user_id}}"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 10 Dec 2018 19:33:06 GMT"
},
{
"key": "Content-Length",
"value": "421"
}
],
"cookie": [],
"body": "{\n \"status\": \"success\",\n \"type\": \"user\",\n \"method\": \"delete\",\n \"id\": 6,\n \"output\": {\n \"id\": 6,\n \"username\": \"adminupdated\",\n \"password\": \"$2a$14$fAUBFWOYtEjj/rhVkGop/Os9OPwCzNOw0ZW7naSSyAs4J7KQeZFCe\",\n \"email\": \"info@email.com\",\n \"api_key\": \"c9a5d9cba5a0062812be9d080a54080397b41058\",\n \"api_secret\": \"e81a58e019c8ce88f3272057ba67c7ab52b4a988\",\n \"admin\": true,\n \"created_at\": \"2018-12-10T11:30:17.654832-08:00\",\n \"updated_at\": \"2018-12-10T11:32:58.602809-08:00\"\n }\n}"
}
]
}
],
"description": "You can create new users with different permissions to allow for read only API access, and super admin abilities. \n\n# User Fields\n- `username` - **(required)** Unique username for the user to sign in as\n- `email` - **(required)** Unique email address for this user\n- `password` - **(required)** User password in plain text (will be encrypted)\n- `admin` - Set user as admin (default false)",
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"event": [
{
"listen": "prerequest",
"script": {
"id": "8cef4ad5-1c96-46e8-8fc9-9e9e044730dc",
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"id": "872da99f-a57d-4a54-bd5e-18b5529c715f",
"type": "text/javascript",
"exec": [
""
]
}
}
],
"protocolProfileBehavior": {}
},
{
"name": "Notifiers",
"item": [
{
"name": "All Notifiers",
"event": [
{
"listen": "test",
"script": {
"id": "9f3e4a3e-a690-4dcb-897f-fdfa8503d79f",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"View All Notifiers\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.length).to.eql(13);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/notifiers",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"notifiers"
]
},
"description": "View an array of all the Notifiers including all details about the notifier."
},
"response": [
{
"name": "All Notifiers",
"originalRequest": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/notifiers",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"notifiers"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Sat, 02 May 2020 01:08:49 GMT"
},
{
"key": "Transfer-Encoding",
"value": "chunked"
}
],
"cookie": [],
"body": "[\n {\n \"id\": 1,\n \"method\": \"slack\",\n \"host\": \"https://webhooksurl.slack.com/***\",\n \"enabled\": false,\n \"limits\": 60,\n \"removable\": false,\n \"created_at\": \"2020-05-02T01:00:13.404253878Z\",\n \"updated_at\": \"2020-05-02T01:00:13.404253878Z\",\n \"title\": \"slack\",\n \"description\": \"Send notifications to your slack channel when a service is offline. Insert your Incoming webhook URL for your channel to receive notifications. Based on the <a href=\\\"https://api.slack.com/incoming-webhooks\\\">Slack API</a>.\",\n \"author\": \"Hunter Long\",\n \"author_url\": \"https://github.com/hunterlong\",\n \"icon\": \"fab fa-slack\",\n \"delay\": \"10000000000\",\n \"form\": [\n {\n \"type\": \"text\",\n \"title\": \"Incoming Webhook Url\",\n \"placeholder\": \"Insert your Slack Webhook URL here.\",\n \"field\": \"Host\",\n \"small_text\": \"Incoming Webhook URL from <a href=\\\"https://api.slack.com/apps\\\" target=\\\"_blank\\\">Slack Apps</a>\",\n \"required\": true,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n }\n ]\n },\n {\n \"id\": 2,\n \"method\": \"command\",\n \"host\": \"/bin/bash\",\n \"enabled\": false,\n \"limits\": 60,\n \"removable\": false,\n \"created_at\": \"2020-05-02T01:00:13.495166024Z\",\n \"updated_at\": \"2020-05-02T01:00:13.495166024Z\",\n \"title\": \"Command\",\n \"description\": \"Shell Command allows you to run a customized shell/bash Command on the local machine it's running on.\",\n \"author\": \"Hunter Long\",\n \"author_url\": \"https://github.com/hunterlong\",\n \"icon\": \"fas fa-terminal\",\n \"delay\": \"1000000000\",\n \"form\": [\n {\n \"type\": \"text\",\n \"title\": \"Shell or Bash\",\n \"placeholder\": \"/usr/bin/curl\",\n \"field\": \"host\",\n \"small_text\": \"You can use '/bin/sh', '/bin/bash', '/usr/bin/curl' or an absolute path for an application.\",\n \"required\": false,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n },\n {\n \"type\": \"text\",\n \"title\": \"Command to Run on OnSuccess\",\n \"placeholder\": \"http://localhost:8080/health\",\n \"field\": \"var1\",\n \"small_text\": \"This Command will run when a service is receiving a Successful event.\",\n \"required\": false,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n },\n {\n \"type\": \"text\",\n \"title\": \"Command to Run on OnFailure\",\n \"placeholder\": \"http://localhost:8080/health\",\n \"field\": \"var2\",\n \"small_text\": \"This Command will run when a service is receiving a Failing event.\",\n \"required\": false,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n }\n ]\n },\n {\n \"id\": 3,\n \"method\": \"discord\",\n \"host\": \"https://discordapp.com/api/webhooks/****/*****\",\n \"enabled\": false,\n \"limits\": 60,\n \"removable\": false,\n \"created_at\": \"2020-05-02T01:00:13.578783367Z\",\n \"updated_at\": \"2020-05-02T01:00:13.578783367Z\",\n \"title\": \"discord\",\n \"description\": \"Send notifications to your discord channel using discord webhooks. Insert your discord channel Webhook URL to receive notifications. Based on the <a href=\\\"https://discordapp.com/developers/docs/resources/Webhook\\\">discord webhooker API</a>.\",\n \"author\": \"Hunter Long\",\n \"author_url\": \"https://github.com/hunterlong\",\n \"icon\": \"fab fa-discord\",\n \"delay\": \"5000000000\",\n \"form\": [\n {\n \"type\": \"text\",\n \"title\": \"discord webhooker URL\",\n \"placeholder\": \"Insert your Webhook URL here\",\n \"field\": \"host\",\n \"small_text\": \"\",\n \"required\": false,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n }\n ]\n },\n {\n \"id\": 4,\n \"method\": \"email\",\n \"enabled\": false,\n \"limits\": 30,\n \"removable\": false,\n \"created_at\": \"2020-05-02T01:00:13.662437032Z\",\n \"updated_at\": \"2020-05-02T01:00:13.662437032Z\",\n \"title\": \"email\",\n \"description\": \"Send emails via SMTP when services are online or offline.\",\n \"author\": \"Hunter Long\",\n \"author_url\": \"https://github.com/hunterlong\",\n \"icon\": \"far fa-envelope\",\n \"delay\": \"0\",\n \"form\": [\n {\n \"type\": \"text\",\n \"title\": \"SMTP Host\",\n \"placeholder\": \"Insert your SMTP Host here.\",\n \"field\": \"Host\",\n \"small_text\": \"\",\n \"required\": false,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n },\n {\n \"type\": \"text\",\n \"title\": \"SMTP Username\",\n \"placeholder\": \"Insert your SMTP Username here.\",\n \"field\": \"Username\",\n \"small_text\": \"\",\n \"required\": false,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n },\n {\n \"type\": \"password\",\n \"title\": \"SMTP Password\",\n \"placeholder\": \"Insert your SMTP Password here.\",\n \"field\": \"Password\",\n \"small_text\": \"\",\n \"required\": false,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n },\n {\n \"type\": \"number\",\n \"title\": \"SMTP Port\",\n \"placeholder\": \"Insert your SMTP Port here.\",\n \"field\": \"Port\",\n \"small_text\": \"\",\n \"required\": false,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n },\n {\n \"type\": \"text\",\n \"title\": \"Outgoing Email Address\",\n \"placeholder\": \"outgoing@email.com\",\n \"field\": \"Var1\",\n \"small_text\": \"\",\n \"required\": false,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n },\n {\n \"type\": \"email\",\n \"title\": \"Send Alerts To\",\n \"placeholder\": \"sendto@email.com\",\n \"field\": \"Var2\",\n \"small_text\": \"\",\n \"required\": false,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n },\n {\n \"type\": \"text\",\n \"title\": \"Disable TLS/SSL\",\n \"placeholder\": \"\",\n \"field\": \"api_key\",\n \"small_text\": \"To Disable TLS/SSL insert 'true'\",\n \"required\": false,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n }\n ]\n },\n {\n \"id\": 5,\n \"method\": \"line_notify\",\n \"enabled\": false,\n \"limits\": 60,\n \"removable\": false,\n \"created_at\": \"2020-05-02T01:00:13.762720435Z\",\n \"updated_at\": \"2020-05-02T01:00:13.762720435Z\",\n \"title\": \"LINE Notify\",\n \"description\": \"LINE Notify will send notifications to your LINE Notify account when services are offline or online. Based on the <a href=\\\"https://notify-bot.line.me/doc/en/\\\">LINE Notify API</a>.\",\n \"author\": \"Kanin Peanviriyakulkit\",\n \"author_url\": \"https://github.com/dogrocker\",\n \"icon\": \"far fa-bell\",\n \"delay\": \"0\",\n \"form\": [\n {\n \"type\": \"text\",\n \"title\": \"Access Token\",\n \"placeholder\": \"Insert your Line Notify Access Token here.\",\n \"field\": \"api_secret\",\n \"small_text\": \"\",\n \"required\": false,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n }\n ]\n },\n {\n \"id\": 6,\n \"method\": \"telegram\",\n \"enabled\": false,\n \"limits\": 60,\n \"removable\": false,\n \"created_at\": \"2020-05-02T01:00:13.863052768Z\",\n \"updated_at\": \"2020-05-02T01:00:13.863052768Z\",\n \"title\": \"Telegram\",\n \"description\": \"Receive notifications on your Telegram channel when a service has an issue. You must get a Telegram API token from the /botfather. Review the <a target=\\\"_blank\\\" href=\\\"http://techthoughts.info/how-to-create-a-telegram-bot-and-send-messages-via-api\\\">Telegram API Tutorial</a> to learn how to generate a new API Token.\",\n \"author\": \"Hunter Long\",\n \"author_url\": \"https://github.com/hunterlong\",\n \"icon\": \"fab fa-telegram-plane\",\n \"delay\": \"5000000000\",\n \"form\": [\n {\n \"type\": \"text\",\n \"title\": \"Telegram API Token\",\n \"placeholder\": \"383810182:EEx829dtCeufeQYXG7CUdiQopqdmmxBPO7-s\",\n \"field\": \"api_secret\",\n \"small_text\": \"Enter the API Token given to you from the /botfather chat.\",\n \"required\": true,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n },\n {\n \"type\": \"text\",\n \"title\": \"Channel or User\",\n \"placeholder\": \"@statping_channel\",\n \"field\": \"var1\",\n \"small_text\": \"Insert your Telegram Channel or User here.\",\n \"required\": true,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n }\n ]\n },\n {\n \"id\": 7,\n \"method\": \"twilio\",\n \"enabled\": false,\n \"limits\": 15,\n \"removable\": false,\n \"created_at\": \"2020-05-02T01:00:13.929911704Z\",\n \"updated_at\": \"2020-05-02T01:00:13.929911704Z\",\n \"title\": \"Twilio\",\n \"description\": \"Receive SMS text messages directly to your cellphone when a service is offline. You can use a Twilio test account with limits. This notifier uses the <a href=\\\"https://www.twilio.com/docs/usage/api\\\">Twilio API</a>.\",\n \"author\": \"Hunter Long\",\n \"author_url\": \"https://github.com/hunterlong\",\n \"icon\": \"far fa-comment-alt\",\n \"delay\": \"10000000000\",\n \"form\": [\n {\n \"type\": \"text\",\n \"title\": \"Account SID\",\n \"placeholder\": \"Insert your Twilio Account SID\",\n \"field\": \"api_key\",\n \"small_text\": \"\",\n \"required\": true,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n },\n {\n \"type\": \"text\",\n \"title\": \"Account Token\",\n \"placeholder\": \"Insert your Twilio Account Token\",\n \"field\": \"api_secret\",\n \"small_text\": \"\",\n \"required\": true,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n },\n {\n \"type\": \"text\",\n \"title\": \"SMS to Phone Number\",\n \"placeholder\": \"18555555555\",\n \"field\": \"Var1\",\n \"small_text\": \"\",\n \"required\": true,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n },\n {\n \"type\": \"text\",\n \"title\": \"From Phone Number\",\n \"placeholder\": \"18555555555\",\n \"field\": \"Var2\",\n \"small_text\": \"\",\n \"required\": true,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n }\n ]\n },\n {\n \"id\": 8,\n \"method\": \"webhook\",\n \"enabled\": false,\n \"limits\": 180,\n \"removable\": false,\n \"created_at\": \"2020-05-02T01:00:14.022113554Z\",\n \"updated_at\": \"2020-05-02T01:00:14.022113554Z\",\n \"title\": \"Webhook\",\n \"description\": \"Send a custom HTTP request to a specific URL with your own body, headers, and parameters.\",\n \"author\": \"Hunter Long\",\n \"author_url\": \"https://github.com/hunterlong\",\n \"icon\": \"fas fa-code-branch\",\n \"delay\": \"1000000000\",\n \"form\": [\n {\n \"type\": \"text\",\n \"title\": \"HTTP Endpoint\",\n \"placeholder\": \"http://webhookurl.com/JW2MCP4SKQP\",\n \"field\": \"Host\",\n \"small_text\": \"Insert the URL for your HTTP Requests.\",\n \"required\": true,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n },\n {\n \"type\": \"text\",\n \"title\": \"HTTP Method\",\n \"placeholder\": \"POST\",\n \"field\": \"Var1\",\n \"small_text\": \"Choose a HTTP method for example: GET, POST, DELETE, or PATCH.\",\n \"required\": true,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n },\n {\n \"type\": \"textarea\",\n \"title\": \"HTTP Body\",\n \"placeholder\": \"{\\\"service_id\\\": {{.Service.Id}}\\\", \\\"service_name\\\": \\\"{{.Service.Name}\\\"}\",\n \"field\": \"Var2\",\n \"small_text\": \"Optional HTTP body for a POST request. You can insert variables into your body request.<br>{{.Service.Id}}, {{.Service.Name}}, {{.Service.Online}}<br>{{.Failure.Issue}}\",\n \"required\": false,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n },\n {\n \"type\": \"text\",\n \"title\": \"Content Type\",\n \"placeholder\": \"application/json\",\n \"field\": \"api_key\",\n \"small_text\": \"Optional content type for example: application/json or text/plain\",\n \"required\": false,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n },\n {\n \"type\": \"text\",\n \"title\": \"Header\",\n \"placeholder\": \"Authorization=Token12345\",\n \"field\": \"api_secret\",\n \"small_text\": \"Optional Headers for request use format: KEY=Value,Key=Value\",\n \"required\": false,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n }\n ]\n },\n {\n \"id\": 9,\n \"method\": \"mobile\",\n \"enabled\": false,\n \"limits\": 30,\n \"removable\": false,\n \"created_at\": \"2020-05-02T01:00:14.088815317Z\",\n \"updated_at\": \"2020-05-02T01:00:14.088815317Z\",\n \"title\": \"Mobile\",\n \"description\": \"Receive push notifications on your Mobile device using the Statping App. You can scan the Authentication QR Code found in Settings to get the Mobile app setup in seconds.\\n\\t\\t\\t\\t <p align=\\\"center\\\"><a href=\\\"https://play.google.com/store/apps/details?id=com.statping\\\"><img src=\\\"https://img.cjx.io/google-play.svg\\\"></a><a href=\\\"https://itunes.apple.com/us/app/apple-store/id1445513219\\\"><img src=\\\"https://img.cjx.io/app-store-badge.svg\\\"></a></p>\",\n \"author\": \"Hunter Long\",\n \"author_url\": \"https://github.com/hunterlong\",\n \"icon\": \"fas fa-mobile-alt\",\n \"delay\": \"5000000000\",\n \"form\": [\n {\n \"type\": \"text\",\n \"title\": \"Device Identifiers\",\n \"placeholder\": \"A list of your Mobile device push notification ID's.\",\n \"field\": \"var1\",\n \"small_text\": \"\",\n \"required\": false,\n \"hidden\": true,\n \"list\": false,\n \"switch\": false\n },\n {\n \"type\": \"number\",\n \"title\": \"Array of device numbers\",\n \"placeholder\": \"1 for iphone 2 for android\",\n \"field\": \"var2\",\n \"small_text\": \"\",\n \"required\": false,\n \"hidden\": true,\n \"list\": false,\n \"switch\": false\n }\n ]\n },\n {\n \"id\": 10,\n \"method\": \"pushover\",\n \"enabled\": false,\n \"limits\": 60,\n \"removable\": false,\n \"created_at\": \"2020-05-02T01:00:14.172478892Z\",\n \"updated_at\": \"2020-05-02T01:00:14.172478892Z\",\n \"title\": \"Pushover\",\n \"description\": \"Use Pushover to receive push notifications. You will need to create a <a href=\\\"https://pushover.net/apps/build\\\">New Application</a> on Pushover before using this notifier.\",\n \"author\": \"Hunter Long\",\n \"author_url\": \"https://github.com/hunterlong\",\n \"icon\": \"fa dot-circle\",\n \"delay\": \"10000000000\",\n \"form\": [\n {\n \"type\": \"text\",\n \"title\": \"User Token\",\n \"placeholder\": \"Insert your device's Pushover Token\",\n \"field\": \"api_key\",\n \"small_text\": \"\",\n \"required\": true,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n },\n {\n \"type\": \"text\",\n \"title\": \"Application API Key\",\n \"placeholder\": \"Create an Application and insert the API Key here\",\n \"field\": \"api_secret\",\n \"small_text\": \"\",\n \"required\": true,\n \"hidden\": false,\n \"list\": false,\n \"switch\": false\n }\n ]\n }\n]"
}
]
},
{
"name": "View Notifier",
"event": [
{
"listen": "test",
"script": {
"id": "7a42a113-8bdb-47dd-a914-36bc2aa65aba",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Notifier Fields\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.method).to.eql(\"slack\");",
" pm.expect(jsonData.enabled).to.eql(false);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/notifier/slack",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"notifier",
"slack"
]
},
"description": "View a specific notifier and it's details."
},
"response": [
{
"name": "View Notifier",
"originalRequest": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/notifier/slack",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"notifier",
"slack"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Length",
"value": "297"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Sat, 02 May 2020 01:09:06 GMT"
}
],
"cookie": [],
"body": "{\n \"id\": 1,\n \"method\": \"slack\",\n \"host\": \"https://webhooksurl.slack.com/***\",\n \"enabled\": false,\n \"limits\": 60,\n \"removable\": false,\n \"created_at\": \"2020-05-02T01:09:06.326407831Z\",\n \"updated_at\": \"2020-05-02T01:09:06.326408155Z\",\n \"title\": \"\",\n \"description\": \"\",\n \"author\": \"\",\n \"author_url\": \"\",\n \"icon\": \"\",\n \"delay\": \"0\",\n \"form\": null\n}"
}
]
},
{
"name": "Update Notifier",
"event": [
{
"listen": "test",
"script": {
"id": "2a8a1a62-57ea-4a7a-9f0a-713ac548c151",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Update Notifier\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.status).to.eql(\"success\");",
" pm.expect(jsonData.output).to.eql(\"slack\");",
" pm.expect(jsonData.method).to.eql(\"update\");",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"method\": \"slack\",\n \"host\": \"https://hooks.slack.com/services/TTJ1B90DP/RENU20O9M/9uI823SUnYBuGcxYlpSimD6H\",\n \"enabled\": true,\n \"limits\": 55\n}",
"options": {
"raw": {}
}
},
"url": {
"raw": "{{endpoint}}/api/notifier/slack",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"notifier",
"slack"
]
},
"description": "Update a notifier to change it's values."
},
"response": [
{
"name": "Update Notifier",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"method\": \"slack\",\n \"host\": \"https://hooks.slack.com/services/EXAMPLEIDHERE/BV33WKP0C/MtKw3Kc8BFylTv4pohKqHtXX\",\n \"enabled\": true,\n \"limits\": 55\n}"
},
"url": {
"raw": "{{endpoint}}/api/notifier/slack",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"notifier",
"slack"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Length",
"value": "72"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Sat, 02 May 2020 01:09:45 GMT"
}
],
"cookie": [],
"body": "{\n \"status\": \"success\",\n \"type\": \"string\",\n \"method\": \"update\",\n \"output\": \"slack\"\n}"
}
]
},
{
"name": "Test Notifier",
"event": [
{
"listen": "test",
"script": {
"id": "198374af-ccbc-4e2e-8af2-df58622379d4",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Test Notifier\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.success).to.eql(true);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"method\": \"success\",\n \"notifier\": {\n \"enabled\": false,\n \"limits\": 60,\n \"method\": \"slack\",\n \"host\": \"https://hooks.slack.com/services/TTJ1B49DP/XBNU09O9M/9uI2123SUnYBuGcxLopZomz9H\",\n \"success_data\": \"{\\n \\\"blocks\\\": [{\\n \\\"type\\\": \\\"section\\\",\\n \\\"text\\\": {\\n \\\"type\\\": \\\"mrkdwn\\\",\\n \\\"text\\\": \\\"The service {{.Service.Name}} is back online.\\\"\\n }\\n }, {\\n \\\"type\\\": \\\"actions\\\",\\n \\\"elements\\\": [{\\n \\\"type\\\": \\\"button\\\",\\n \\\"text\\\": {\\n \\\"type\\\": \\\"plain_text\\\",\\n \\\"text\\\": \\\"View Service\\\",\\n \\\"emoji\\\": true\\n },\\n \\\"style\\\": \\\"primary\\\",\\n \\\"url\\\": \\\"{{.Core.Domain}}/service/{{.Service.Id}}\\\"\\n }, {\\n \\\"type\\\": \\\"button\\\",\\n \\\"text\\\": {\\n \\\"type\\\": \\\"plain_text\\\",\\n \\\"text\\\": \\\"Go to Statping\\\",\\n \\\"emoji\\\": true\\n },\\n \\\"url\\\": \\\"{{.Core.Domain}}\\\"\\n }]\\n }]\\n}\",\n \"failure_data\": \"{\\n \\\"blocks\\\": [{\\n \\\"type\\\": \\\"section\\\",\\n \\\"text\\\": {\\n \\\"type\\\": \\\"mrkdwn\\\",\\n \\\"text\\\": \\\":warning: The service {{.Service.Name}} is currently offline! :warning:\\\"\\n }\\n }, {\\n \\\"type\\\": \\\"divider\\\"\\n }, {\\n \\\"type\\\": \\\"section\\\",\\n \\\"fields\\\": [{\\n \\\"type\\\": \\\"mrkdwn\\\",\\n \\\"text\\\": \\\"*Service:*\\\\n{{.Service.Name}}\\\"\\n }, {\\n \\\"type\\\": \\\"mrkdwn\\\",\\n \\\"text\\\": \\\"*URL:*\\\\n{{.Service.Domain}}\\\"\\n }, {\\n \\\"type\\\": \\\"mrkdwn\\\",\\n \\\"text\\\": \\\"*Status Code:*\\\\n{{.Service.LastStatusCode}}\\\"\\n }, {\\n \\\"type\\\": \\\"mrkdwn\\\",\\n \\\"text\\\": \\\"*When:*\\\\n{{.Failure.CreatedAt}}\\\"\\n }, {\\n \\\"type\\\": \\\"mrkdwn\\\",\\n \\\"text\\\": \\\"*Downtime:*\\\\n{{.Service.Downtime.Human}}\\\"\\n }, {\\n \\\"type\\\": \\\"plain_text\\\",\\n \\\"text\\\": \\\"*Error:*\\\\n{{.Failure.Issue}}\\\"\\n }]\\n }, {\\n \\\"type\\\": \\\"divider\\\"\\n }, {\\n \\\"type\\\": \\\"actions\\\",\\n \\\"elements\\\": [{\\n \\\"type\\\": \\\"button\\\",\\n \\\"text\\\": {\\n \\\"type\\\": \\\"plain_text\\\",\\n \\\"text\\\": \\\"View Offline Service\\\",\\n \\\"emoji\\\": true\\n },\\n \\\"style\\\": \\\"danger\\\",\\n \\\"url\\\": \\\"{{.Core.Domain}}/service/{{.Service.Id}}\\\"\\n }, {\\n \\\"type\\\": \\\"button\\\",\\n \\\"text\\\": {\\n \\\"type\\\": \\\"plain_text\\\",\\n \\\"text\\\": \\\"Go to Statping\\\",\\n \\\"emoji\\\": true\\n },\\n \\\"url\\\": \\\"{{.Core.Domain}}\\\"\\n }]\\n }]\\n}\"\n }\n}",
"options": {
"raw": {}
}
},
"url": {
"raw": "{{endpoint}}/api/notifier/slack/test",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"notifier",
"slack",
"test"
]
},
"description": "Update a notifier to change it's values."
},
"response": [
{
"name": "Test Notifier",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"method\": \"success\",\n \"notifier\": {\n \"enabled\": false,\n \"limits\": 60,\n \"method\": \"slack\",\n \"host\": \"https://webhooksurl.slack.com/***\",\n \"success_data\": \"{\\n \\\"blocks\\\": [{\\n \\\"type\\\": \\\"section\\\",\\n \\\"text\\\": {\\n \\\"type\\\": \\\"mrkdwn\\\",\\n \\\"text\\\": \\\"The service {{.Service.Name}} is back online.\\\"\\n }\\n }, {\\n \\\"type\\\": \\\"actions\\\",\\n \\\"elements\\\": [{\\n \\\"type\\\": \\\"button\\\",\\n \\\"text\\\": {\\n \\\"type\\\": \\\"plain_text\\\",\\n \\\"text\\\": \\\"View Service\\\",\\n \\\"emoji\\\": true\\n },\\n \\\"style\\\": \\\"primary\\\",\\n \\\"url\\\": \\\"{{.Core.Domain}}/service/{{.Service.Id}}\\\"\\n }, {\\n \\\"type\\\": \\\"button\\\",\\n \\\"text\\\": {\\n \\\"type\\\": \\\"plain_text\\\",\\n \\\"text\\\": \\\"Go to Statping\\\",\\n \\\"emoji\\\": true\\n },\\n \\\"url\\\": \\\"{{.Core.Domain}}\\\"\\n }]\\n }]\\n}\",\n \"failure_data\": \"{\\n \\\"blocks\\\": [{\\n \\\"type\\\": \\\"section\\\",\\n \\\"text\\\": {\\n \\\"type\\\": \\\"mrkdwn\\\",\\n \\\"text\\\": \\\":warning: The service {{.Service.Name}} is currently offline! :warning:\\\"\\n }\\n }, {\\n \\\"type\\\": \\\"divider\\\"\\n }, {\\n \\\"type\\\": \\\"section\\\",\\n \\\"fields\\\": [{\\n \\\"type\\\": \\\"mrkdwn\\\",\\n \\\"text\\\": \\\"*Service:*\\\\n{{.Service.Name}}\\\"\\n }, {\\n \\\"type\\\": \\\"mrkdwn\\\",\\n \\\"text\\\": \\\"*URL:*\\\\n{{.Service.Domain}}\\\"\\n }, {\\n \\\"type\\\": \\\"mrkdwn\\\",\\n \\\"text\\\": \\\"*Status Code:*\\\\n{{.Service.LastStatusCode}}\\\"\\n }, {\\n \\\"type\\\": \\\"mrkdwn\\\",\\n \\\"text\\\": \\\"*When:*\\\\n{{.Failure.CreatedAt}}\\\"\\n }, {\\n \\\"type\\\": \\\"mrkdwn\\\",\\n \\\"text\\\": \\\"*Downtime:*\\\\n{{.Service.DowntimeAgo}}\\\"\\n }, {\\n \\\"type\\\": \\\"plain_text\\\",\\n \\\"text\\\": \\\"*Error:*\\\\n{{.Failure.Issue}}\\\"\\n }]\\n }, {\\n \\\"type\\\": \\\"divider\\\"\\n }, {\\n \\\"type\\\": \\\"actions\\\",\\n \\\"elements\\\": [{\\n \\\"type\\\": \\\"button\\\",\\n \\\"text\\\": {\\n \\\"type\\\": \\\"plain_text\\\",\\n \\\"text\\\": \\\"View Offline Service\\\",\\n \\\"emoji\\\": true\\n },\\n \\\"style\\\": \\\"danger\\\",\\n \\\"url\\\": \\\"{{.Core.Domain}}/service/{{.Service.Id}}\\\"\\n }, {\\n \\\"type\\\": \\\"button\\\",\\n \\\"text\\\": {\\n \\\"type\\\": \\\"plain_text\\\",\\n \\\"text\\\": \\\"Go to Statping\\\",\\n \\\"emoji\\\": true\\n },\\n \\\"url\\\": \\\"{{.Core.Domain}}\\\"\\n }]\\n }]\\n}\"\n }\n}",
"options": {
"raw": {}
}
},
"url": {
"raw": "{{endpoint}}/api/notifier/slack/test",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"notifier",
"slack",
"test"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 15 Jun 2020 10:15:46 GMT"
},
{
"key": "Connection",
"value": "close"
},
{
"key": "Transfer-Encoding",
"value": "chunked"
}
],
"cookie": [],
"body": "{\n \"success\": true,\n \"response\": \"<!DOCTYPE html><html lang=\\\"en-US\\\" class=\\\"\\\"><head><script type=\\\"text/javascript\\\" src=\\\"https://a.slack-edge.com/bv1-8-5f8a604/webpack.manifest.2202d2e428b47ad044c0.min.js\\\" onload=\\\"window._cdn ? _cdn.ok(this, arguments) : null\\\" onerror=\\\"window._cdn ? _cdn.failed(this, arguments) : null\\\" crossorigin=\\\"anonymous\\\"></script><script>window.ts_endpoint_url = \\\"https:\\\\/\\\\/slack.com\\\\/beacon\\\\/timing\\\";(function(e) {\\n\\tvar n=Date.now?Date.now():+new Date,r=e.performance||{},t=[],a={},i=function(e,n){for(var r=0,a=t.length,i=[];a>r;r++)t[r][e]==n&&i.push(t[r]);return i},o=function(e,n){for(var r,a=t.length;a--;)r=t[a],r.entryType!=e||void 0!==n&&r.name!=n||t.splice(a,1)};r.now||(r.now=r.webkitNow||r.mozNow||r.msNow||function(){return(Date.now?Date.now():+new Date)-n}),r.mark||(r.mark=r.webkitMark||function(e){var n={name:e,entryType:\\\"mark\\\",startTime:r.now(),duration:0};t.push(n),a[e]=n}),r.measure||(r.measure=r.webkitMeasure||function(e,n,r){n=a[n].startTime,r=a[r].startTime,t.push({name:e,entryType:\\\"measure\\\",startTime:n,duration:r-n})}),r.getEntriesByType||(r.getEntriesByType=r.webkitGetEntriesByType||function(e){return i(\\\"entryType\\\",e)}),r.getEntriesByName||(r.getEntriesByName=r.webkitGetEntriesByName||function(e){return i(\\\"name\\\",e)}),r.clearMarks||(r.clearMarks=r.webkitClearMarks||function(e){o(\\\"mark\\\",e)}),r.clearMeasures||(r.clearMeasures=r.webkitClearMeasures||function(e){o(\\\"measure\\\",e)}),e.performance=r,\\\"function\\\"==typeof define&&(define.amd||define.ajs)&&define(\\\"performance\\\",[],function(){return r}) // eslint-disable-line\\n})(window);</script><script>\\n\\n(function () {\\n\\t\\n\\twindow.TSMark = function (mark_label) {\\n\\t\\tif (!window.performance || !window.performance.mark) return;\\n\\t\\tperformance.mark(mark_label);\\n\\t};\\n\\twindow.TSMark('start_load');\\n\\n\\t\\n\\twindow.TSMeasureAndBeacon = function (measure_label, start_mark_label) {\\n\\t\\tif (!window.performance || !window.performance.mark || !window.performance.measure) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tperformance.mark(start_mark_label + '_end');\\n\\n\\t\\ttry {\\n\\t\\t\\tperformance.measure(measure_label, start_mark_label, start_mark_label + '_end');\\n\\t\\t\\twindow.TSBeacon(measure_label, performance.getEntriesByName(measure_label)[0].duration);\\n\\t\\t} catch (e) {\\n\\t\\t\\t\\n\\t\\t}\\n\\t};\\n\\n\\t\\n\\tif ('sendBeacon' in navigator) {\\n\\t\\twindow.TSBeacon = function (label, value) {\\n\\t\\t\\tvar endpoint_url = window.ts_endpoint_url || 'https://slack.com/beacon/timing';\\n\\t\\t\\tnavigator.sendBeacon(\\n\\t\\t\\t\\tendpoint_url + '?data=' + encodeURIComponent(label + ':' + value),\\n\\t\\t\\t\\t''\\n\\t\\t\\t);\\n\\t\\t};\\n\\t} else {\\n\\t\\twindow.TSBeacon = function (label, value) {\\n\\t\\t\\tvar endpoint_url = window.ts_endpoint_url || 'https://slack.com/beacon/timing';\\n\\t\\t\\tnew Image().src = endpoint_url + '?data=' + encodeURIComponent(label + ':' + value);\\n\\t\\t};\\n\\t}\\n})();\\n</script><script>window.TSMark('step_load');</script><noscript><meta http-equiv=\\\"refresh\\\" content=\\\"0; URL=/***?nojsmode=1\\\"></noscript><script type=\\\"text/javascript\\\">var safe_hosts = ['app.optimizely.com', 'tinyspeck.dev.slack.com'];\\n\\nif (self !== top && safe_hosts.indexOf(top.location.host) === -1) {\\n\\twindow.document.write(\\n\\t\\t'\\\\u003Cstyle>body * {display:none !important;}\\\\u003C/style>\\\\u003Ca href=\\\"#\\\" onclick=' +\\n\\t\\t\\t'\\\"top.location.href=window.location.href\\\" style=\\\"display:block !important;padding:10px\\\">Go to Slack.com\\\\u003C/a>'\\n\\t);\\n}\\n\\n(function() {\\n\\tvar timer;\\n\\tif (self !== top && safe_hosts.indexOf(top.location.host) === -1) {\\n\\t\\ttimer = window.setInterval(function() {\\n\\t\\t\\tif (window) {\\n\\t\\t\\t\\ttry {\\n\\t\\t\\t\\t\\tvar pageEl = document.getElementById('page');\\n\\t\\t\\t\\t\\tvar clientEl = document.getElementById('client-ui');\\n\\t\\t\\t\\t\\tvar sectionEls = document.querySelectorAll('nav, header, section');\\n\\n\\t\\t\\t\\t\\tpageEl.parentNode.removeChild(pageEl);\\n\\t\\t\\t\\t\\tclientEl.parentNode.removeChild(clientEl);\\n\\t\\t\\t\\t\\tfor (var i = 0; i < sectionEls.length; i++) {\\n\\t\\t\\t\\t\\t\\tsectionEls[i].parentNode.removeChild(sectionEls[i]);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\twindow.TS = null;\\n\\t\\t\\t\\t\\twindow.TD = null;\\n\\t\\t\\t\\t\\twindow.clearInterval(timer);\\n\\t\\t\\t\\t} catch (e) {}\\t\\n\\t\\t\\t}\\n\\t\\t}, 200);\\n\\t}\\n})();</script><script type=\\\"text/javascript\\\">\\nwindow.dataLayer = window.dataLayer || [];\\nwindow.dataLayer.push({\\n\\t'gtm.start': Date.now(),\\n\\t'event' : 'gtm.js',\\n\\t'secure_page' : false,\\n});\\nvar firstScript = document.getElementsByTagName('script')[0];\\nvar thisScript = document.createElement('script');\\nthisScript.async = true;\\nthisScript.src = '//www.googletagmanager.com/gtm.js?id=GTM-KH2LPK';\\nfirstScript.parentNode.insertBefore(thisScript, firstScript);\\n</script><script type=\\\"text/javascript\\\">\\ndocument.addEventListener(\\\"DOMContentLoaded\\\", function(e) {\\n\\tvar gtmDataLayer = window.dataLayer || [];\\n\\tvar gtmTags = document.querySelectorAll('*[data-gtm-click]');\\n\\tvar gtmClickHandler = function(c) {\\n\\t\\tvar gtm_events = this.getAttribute('data-gtm-click');\\n\\t\\tif (!gtm_events) return;\\n\\t\\tvar gtm_events_arr = gtm_events.split(\\\",\\\");\\n\\t\\tfor(var e=0; e < gtm_events_arr.length; e++) {\\n\\t\\t\\tvar ev = gtm_events_arr[e].trim();\\n\\t\\t\\tgtmDataLayer.push({ 'event': ev });\\n\\t\\t}\\n\\t};\\n\\tfor(var g=0; g < gtmTags.length; g++){\\n\\t\\tvar elem = gtmTags[g];\\n\\t\\telem.addEventListener('click', gtmClickHandler);\\n\\t}\\n});\\n</script><script type=\\\"text/javascript\\\">\\n(function(e,c,b,f,d,g,a){e.SlackBeaconObject=d;\\ne[d]=e[d]||function(){(e[d].q=e[d].q||[]).push([1*new Date(),arguments])};\\ne[d].l=1*new Date();g=c.createElement(b);a=c.getElementsByTagName(b)[0];\\ng.async=1;g.src=f;a.parentNode.insertBefore(g,a)\\n})(window,document,\\\"script\\\",\\\"https://a.slack-edge.com/bv1-8-5f8a604/slack_beacon.05948d688da935ba12c9.min.js\\\",\\\"sb\\\");\\nwindow.sb('set', 'token', '3307f436963e02d4f9eb85ce5159744c');\\nwindow.sb('track', 'pageview');\\n</script><meta name=\\\"referrer\\\" content=\\\"no-referrer\\\"><meta name=\\\"superfish\\\" content=\\\"nofish\\\"><script type=\\\"text/javascript\\\">var TS_last_log_date = null;\\nvar TSMakeLogDate = function() {\\n\\tvar date = new Date();\\n\\n\\tvar y = date.getFullYear();\\n\\tvar mo = date.getMonth()+1;\\n\\tvar d = date.getDate();\\n\\n\\tvar time = {\\n\\t h: date.getHours(),\\n\\t mi: date.getMinutes(),\\n\\t s: date.getSeconds(),\\n\\t ms: date.getMilliseconds()\\n\\t};\\n\\n\\tObject.keys(time).map(function(moment, index) {\\n\\t\\tif (moment == 'ms') {\\n\\t\\t\\tif (time[moment] < 10) {\\n\\t\\t\\t\\ttime[moment] = time[moment]+'00';\\n\\t\\t\\t} else if (time[moment] < 100) {\\n\\t\\t\\t\\ttime[moment] = time[moment]+'0';\\n\\t\\t\\t}\\n\\t\\t} else if (time[moment] < 10) {\\n\\t\\t\\ttime[moment] = '0' + time[moment];\\n\\t\\t}\\n\\t});\\n\\n\\tvar str = y + '/' + mo + '/' + d + ' ' + time.h + ':' + time.mi + ':' + time.s + '.' + time.ms;\\n\\tif (TS_last_log_date) {\\n\\t\\tvar diff = date-TS_last_log_date;\\n\\t\\t//str+= ' ('+diff+'ms)';\\n\\t}\\n\\tTS_last_log_date = date;\\n\\treturn str+' ';\\n}\\n\\nvar parseDeepLinkRequest = function(code) {\\n\\tvar m = code.match(/\\\"id\\\":\\\"([CDG][A-Z0-9]{8,})\\\"/);\\n\\tvar id = m ? m[1] : null;\\n\\n\\tm = code.match(/\\\"team\\\":\\\"(T[A-Z0-9]{8,})\\\"/);\\n\\tvar team = m ? m[1] : null;\\n\\n\\tm = code.match(/\\\"message\\\":\\\"([0-9]+\\\\.[0-9]+)\\\"/);\\n\\tvar message = m ? m[1] : null;\\n\\n\\treturn { id: id, team: team, message: message };\\n}\\n\\nif ('rendererEvalAsync' in window) {\\n\\tvar origRendererEvalAsync = window.rendererEvalAsync;\\n\\twindow.rendererEvalAsync = function(blob) {\\n\\t\\ttry {\\n\\t\\t\\tvar data = JSON.parse(decodeURIComponent(atob(blob)));\\n\\t\\t\\tif (data.code.match(/handleDeepLink/)) {\\n\\t\\t\\t\\tvar request = parseDeepLinkRequest(data.code);\\n\\t\\t\\t\\tif (!request.id || !request.team || !request.message) return;\\n\\n\\t\\t\\t\\trequest.cmd = 'channel';\\n\\t\\t\\t\\tTSSSB.handleDeepLinkWithArgs(JSON.stringify(request));\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t} else {\\n\\t\\t\\t\\torigRendererEvalAsync(blob);\\n\\t\\t\\t}\\n\\t\\t} catch (e) {\\n\\t\\t}\\n\\t}\\n}</script><script type=\\\"text/javascript\\\">var TSSSB = {\\n\\tcall: function() {\\n\\t\\treturn false;\\n\\t}\\n};</script><script type=\\\"text/javascript\\\">window.addEventListener('load', function() {\\n\\tvar was_TS = window.TS;\\n\\tdelete window.TS;\\n\\tif (was_TS) window.TS = was_TS;\\n});</script><title>There's been a glitch… | Slack</title><link href=\\\"https://a.slack-edge.com/4b4ec2/style/rollup-slack_kit_legacy_adapters.css\\\" rel=\\\"stylesheet\\\" type=\\\"text/css\\\" onload=\\\"window._cdn ? _cdn.ok(this, arguments) : null\\\" onerror=\\\"window._cdn ? _cdn.failed(this, arguments) : null\\\" crossorigin=\\\"anonymous\\\"><link href=\\\"https://a.slack-edge.com/fe30b/style/rollup-plastic.css\\\" rel=\\\"stylesheet\\\" type=\\\"text/css\\\" onload=\\\"window._cdn ? _cdn.ok(this, arguments) : null\\\" onerror=\\\"window._cdn ? _cdn.failed(this, arguments) : null\\\" crossorigin=\\\"anonymous\\\"><link href=\\\"https://a.slack-edge.com/bv1-8-5f8a604/modern.vendor.d7ddcf5.min.css\\\" rel=\\\"stylesheet\\\" type=\\\"text/css\\\" onload=\\\"window._cdn ? _cdn.ok(this, arguments) : null\\\" onerror=\\\"window._cdn ? _cdn.failed(this, arguments) : null\\\" crossorigin=\\\"anonymous\\\"><link href=\\\"https://a.slack-edge.com/bv1-8-5f8a604/application.a2394c4.min.css\\\" rel=\\\"stylesheet\\\" type=\\\"text/css\\\" onload=\\\"window._cdn ? _cdn.ok(this, arguments) : null\\\" onerror=\\\"window._cdn ? _cdn.failed(this, arguments) : null\\\" crossorigin=\\\"anonymous\\\"><link href=\\\"https://a.slack-edge.com/070af/style/rollup-slack_kit_helpers.css\\\" rel=\\\"stylesheet\\\" id=\\\"slack_kit_helpers_stylesheet\\\" type=\\\"text/css\\\" onload=\\\"window._cdn ? _cdn.ok(this, arguments) : null\\\" onerror=\\\"window._cdn ? _cdn.failed(this, arguments) : null\\\" crossorigin=\\\"anonymous\\\"><link href=\\\"https://a.slack-edge.com/eea04/style/404.css\\\" rel=\\\"stylesheet\\\" type=\\\"text/css\\\" onload=\\\"window._cdn ? _cdn.ok(this, arguments) : null\\\" onerror=\\\"window._cdn ? _cdn.failed(this, arguments) : null\\\" crossorigin=\\\"anonymous\\\"><link href=\\\"https://a.slack-edge.com/1177e/style/sticky_nav.css\\\" rel=\\\"stylesheet\\\" type=\\\"text/css\\\" onload=\\\"window._cdn ? _cdn.ok(this, arguments) : null\\\" onerror=\\\"window._cdn ? _cdn.failed(this, arguments) : null\\\" crossorigin=\\\"anonymous\\\"><link href=\\\"https://a.slack-edge.com/4d540/style/footer.css\\\" rel=\\\"stylesheet\\\" type=\\\"text/css\\\" onload=\\\"window._cdn ? _cdn.ok(this, arguments) : null\\\" onerror=\\\"window._cdn ? _cdn.failed(this, arguments) : null\\\" crossorigin=\\\"anonymous\\\"><link href=\\\"https://a.slack-edge.com/f1cf3/style/libs/lato-2-compressed.css\\\" rel=\\\"stylesheet\\\" type=\\\"text/css\\\" onload=\\\"window._cdn ? _cdn.ok(this, arguments) : null\\\" onerror=\\\"window._cdn ? _cdn.failed(this, arguments) : null\\\" crossorigin=\\\"anonymous\\\"><meta property=\\\"og:type\\\" content=\\\"website\\\"><meta property=\\\"og:site_name\\\" content=\\\"Slack\\\"><meta property=\\\"og:title\\\" content=\\\"There's been a glitch…\\\"><meta property=\\\"og:image\\\" content=\\\"https://a.slack-edge.com/80588/img/404/404-meta-thumb.jpg\\\"><meta property=\\\"og:description\\\" content=\\\"We're not quite sure what went wrong. You can go back, or try looking on our &lt;a href=&quot;http://get.slack.help&quot; target=&quot;_blank&quot;&gt;Help Center&lt;/a&gt; if you need a hand.\\\"><meta property=\\\"og:url\\\" content=\\\"https://slack.com/***\\\"><link id=\\\"favicon\\\" rel=\\\"shortcut icon\\\" href=\\\"https://a.slack-edge.com/80588/marketing/img/meta/favicon-32.png\\\" sizes=\\\"16x16 32x32 48x48\\\" type=\\\"image/png\\\"></head><body class=\\\" deprecated\\\"><script>var w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\\nif (w > 1440) document.querySelector('body').classList.add('widescreen');</script><nav class=\\\"top persistent\\\"><a href=\\\"https://slack.com/\\\" class=\\\"logo\\\" data-qa=\\\"logo\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=logo\\\" aria-label=\\\"Slack homepage\\\"></a><ul><li><a href=\\\"https://slack.com/is\\\" data-qa=\\\"product\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=nav_product\\\">Product</a></li><li><a href=\\\"https://slack.com/pricing?ui_step=55&ui_element=5\\\" data-qa=\\\"pricing\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=nav_pricing\\\">Pricing</a></li><li><a href=\\\"https://get.slack.help/hc/en-us\\\" data-qa=\\\"support\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=nav_support\\\">Support</a></li><li class=\\\"mobile_btn download_slack\\\"><a href=\\\"/get\\\" data-qa=\\\"download_slack\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=nav_download\\\">Download Slack</a></li><li><a data-gtm-click=\\\"SignUp,optout_nav_create_team\\\" href=\\\"https://slack.com/create\\\" class=\\\"\\\" data-qa=\\\"create_team\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=nav_create_team\\\">Create a new workspace</a></li><li><a href=\\\"https://slack.com/get-started\\\" data-gtm-click=\\\"optout_nav_find_team\\\" data-qa=\\\"find_team\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=nav_find_team\\\">Find your workspace</a></li><li class=\\\"sign_in hide_on_mobile\\\"><a data-gtm-click=\\\"optout_nav_signin\\\" href=\\\"https://slack.com/signin\\\" class=\\\"btn_sticky btn_filled\\\" data-qa=\\\"sign_in\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=nav_sign_in\\\">Sign in</a></li><li class=\\\"mobile_btn mobile_menu_btn\\\"><a href=\\\"#\\\" class=\\\"btn_sticky\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=nav_mobile_menu_btn\\\">Menu</a></li></ul></nav><nav class=\\\"mobile_menu loading menu_scroll\\\" aria-hidden=\\\"true\\\"><div class=\\\"mobile_menu_wrapper\\\"><div class=\\\"mobile_menu_header\\\"><a href=\\\"https://slack.com/\\\" class=\\\"logo\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=nav_logo\\\"></a><a href=\\\"#\\\" class=\\\"close\\\" aria-label=\\\"close\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=nav_menu_close\\\"><ts-icon class=\\\"ts_icon ts_icon_times\\\"></ts-icon></a></div><ul><li><a href=\\\"https://slack.com/is\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=nav_product\\\">Product</a></li><li><a href=\\\"https://slack.com/pricing?ui_step=55&ui_element=5\\\" class=\\\"mobile_nav_pricing\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=nav_pricing\\\">Pricing</a></li><li><a href=\\\"https://get.slack.help/hc/en-us\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=nav_support\\\">Support</a></li><li><a href=\\\"/get\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=nav_download\\\">Download <span class=\\\"optional_desktop_nav_message\\\">the Slack app</span></a></li></ul><ul class=\\\"mobile_menu_footer\\\"><li><a href=\\\"https://slack.com/signin\\\" data-gtm-click=\\\"optout_nav_signin\\\" target=\\\"_blank\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=nav_sign_in\\\"><ts-icon class=\\\"ts_icon small float_none team_icon ts_icon_plus default signup_icon\\\"></ts-icon><span class=\\\"switcher_label\\\">Sign in</span></a></li><li><a data-gtm-click=\\\"SignUp,optout_nav_create_team\\\" href=\\\"https://slack.com/get-started#/create\\\" class=\\\"\\\" target=\\\"_blank\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=nav_create_team\\\"><ts-icon class=\\\"ts_icon small float_none team_icon c-icon--slack default signup_icon\\\"></ts-icon><span class=\\\"switcher_label\\\">Create a new workspace</span></a></li></ul></div></nav><div id=\\\"page\\\" class=\\\"\\\"><div id=\\\"page_contents\\\" data-qa=\\\"page_contents\\\" class=\\\"\\\"><div id=\\\"preload\\\"></div><div id=\\\"content\\\" data-background=\\\"https://a.slack-edge.com/80588/img/404/marrakesh-meadow-80.jpg\\\"><img id=\\\"background\\\" src=\\\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\\\"><div id=\\\"sprite-wrapper\\\"><div class=\\\"sprite piggy piggy_chewing\\\"></div><div class=\\\"sprite chicken chicken_walk_lr\\\"><div class=\\\"sub_sprite\\\"></div></div><div class=\\\"sprite chicken chicken_peck_2x flipped\\\"></div><div class=\\\"sprite piggy piggy_walk piggy_walk_lr\\\"></div><div class=\\\"sprite chicken chicken_walk_rl flipped\\\"><div class=\\\"sub_sprite\\\"></div></div><div class=\\\"sprite piggy piggy_walk flipped piggy_walk_rl\\\"></div><div class=\\\"sprite butterfly butterfly_angle butterfly_angle_lr\\\"></div><div class=\\\"sprite butterfly butterfly_angle_1 butterfly_angle_1_lr\\\"></div><div class=\\\"sprite butterfly butterfly_rooked butterfly_rooked_lr\\\"></div><div class=\\\"sprite butterfly butterfly_side butterfly_side_lr\\\"></div><div class=\\\"sprite butterfly butterfly_angle flipped butterfly_angle_rl bottom\\\"></div><div class=\\\"sprite butterfly butterfly_angle_1 flipped butterfly_angle_1_rl bottom\\\"></div><div class=\\\"sprite butterfly butterfly_rooked flipped butterfly_rooked_rl bottom\\\"></div><div class=\\\"sprite butterfly butterfly_side flipped butterfly_side_rl bottom\\\"></div></div></div><div id=\\\"loader\\\"><?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?><svg width=\\\"32px\\\" height=\\\"32px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 100 100\\\" preserveAspectRatio=\\\"xMidYMid\\\" class=\\\"uil-heart\\\"><rect x=\\\"0\\\" y=\\\"0\\\" width=100 height=100 fill=\\\"none\\\" class=\\\"bk\\\"></rect><g transform=\\\"translate(50 50)\\\"><g><g transform=\\\"translate(-50 -50)\\\"><path d=\\\"M90,30.2c0-11-9-20.1-20-20.1s-20,9.1-20,20.2c0,0.2,0-0.3,0,0.7H50c0-1,0-0.6,0-0.8c0-11-9-20.1-20-20.1s-20,9.1-20,20.2 c0,0.2,0-0.3,0,0.7h0c0.3,20,30,39.5,40,55c10-15.5,39.7-35,40-55h0C90,30,90,30.4,90,30.2z\\\" fill=\\\"#f02\\\"></path></g><animateTransform attributeName=\\\"transform\\\" type=\\\"scale\\\" from=\\\"1.3\\\" to=\\\"0.9\\\" dur=\\\"1s\\\" repeatCount=\\\"indefinite\\\" calcMode=\\\"spline\\\" values=\\\"1.3;0.9;1.1;0.9\\\" keyTimes=\\\"0;0.3;0.301;1\\\" keySplines=\\\"0 0.75 0.25 1;0 1 0 1;0 .75 .25 1\\\"></animateTransform></g></g></svg></div><div class=\\\"card\\\"><h1><i class=\\\"ts_icon ts_icon_warning mustard_yellow\\\"></i>Theres been a glitch…</h1><p>Were not quite sure what went wrong. You can go back, or try looking on our <a href=\\\"http://get.slack.help/hc/en-us\\\" target=\\\"_blank\\\">Help Center</a> if you need a hand.</p></div><noscript><style>#loader {\\n\\t\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t\\t}</style></noscript><script>\\n// fire 404\\nwindow.dataLayer = window.dataLayer || [];\\nwindow.dataLayer.push({\\n\\t'event' : 'Error404',\\n});\\n\\n(function() {\\n\\t// quick hack: 8-bit alpha-friendly logo\\n\\tvar logo = document.getElementById('header_logo');\\n\\tvar alt_src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAABICAMAAAD/Eoi4AAAC+lBMVEUAAAAoFScqIjEoJTMrLDQrMjg1MDk7MzgqOD09NTo/OD1COj9EPEFFPUNIPUhNPEm9HylJQUbPF1xMREliPVFdP1CwJ1q8KSpPR0zMIVfLIVuRM1SrK1kwUk6LNliGOFcsVVHBLSdTSk/PJl5VTVIzWE/NK06/NCjRK2ZZUVbCNyrNM0UyYFVcVFnPNkxfVlwuZlrQNWhhWF7JPjZkW2HUOnHJRTfFSCpnX2RqYmdsZGnVRHXIUShuZWtxaG7MVTLJWCx1bHFLeW4ajHR4cHXaUoN0cnZggDVegDs7h2t8c3kzi24hkHhogjeAdnzbWoZ7eX10hjYjmHh7hjjScCyHfoQ0mHl/iTQumoCFiDV4i0GDgYWGiTbQdC1HlXzgZo58j0WHhYlAnXiJh4vgbZLUeT8tpX7UfCp+kk46o33gb5mMio4+po2jkTXfdZuQjpLWhCuSkJSnlDA4roaulDI5r4eVk5c8sYlDrZ+HoGfjf6OZlpqDom5BtY2cmZ7jhqeCqX+fnaGAqobcmS7OnitSuZGioKTVni5QvZvmj62lo6fgoSuppqpfwJ9nvarepjbol7NsvbGtqq92vbNyvrmwrbLiqkJtw6RpwchvwcKyr7RwxqbrobptxczhsU62tLhvx856x89+yqzltVm6uLzsqcB+y9TnuGK+u8DkumKIz7juscblvWvBv8OPztLEwcbJw8KV1L7qw3fvuszIxsrMx8WX1dnMyc7tx4HuyYmj2sXRzMrxwtPPzdGj2d/Uzs3T0NXj0Z/s0JSo3uTY0tGx38zzy9rX1Nnv1J6y3+bc19Xo2Ky44eK84tDb2Nzx2Kff2djz09+85trl3bzf3OHz3LHj3tzF5unm4N/I6uDI6ezl4uf34r3q5OP54Orp5uv55sfU7fLV7+b56M/t6u/w6unb8O/66PD77drh8+zw7vL38Nvm8/T28O/w8u/57/X28/j09vPu+PP69uf+9u7z+Pv89vX6+e/4+vf8+f72+/7/+vn6/Pn8/vvegv1uAAAAAXRSTlMAQObYZgAACgdJREFUeAHl2gV4E2kex/H/6ntpsabrvqUrSA6Htlx7G9zdYd0XyXal2SO40xT3LmlwD1q5WyS4ux/dXnHbSoqUaUme56aZyZv/ZN7JNJAT6OfxfbDvzi9vM5NAKbmgLLm0fJJ50vrrUEa41pvdJp2CsmG72eN3KAv+MFMpTigD9pq9/hOjtvdtp4+JiW2XCcGQ1SomOio6Jm4IPLClKHgVBF8UESRDMAwnoqKgBE+6B0FXlwimQjCYiCgXHtTfzf/ZTdcggiQIhvhAgl3H1y1Yd9wFUr+b5Zu+e27fjoM5EBQ6IhgDwWAgoiug6uIEY4kJF0HCOcln03fPpFvc0u9CEFQhguEQDH1LH3xjsFEw2Kd4vRk5wNdSS4JRHEkEQ4IbnA0qnOOMHhOUNj32p+6fWLAd8PAighr8ORFlgop/Gr2OszbN1zZv0aLtdAt2N3jBpuAGnwUV61DwAt9N87U9+doSgyzYBXhoL/1ngk+DigUoeDAH2Imf+oi1vF4W7FzwghOCG3wSVKwwsjddfC59TtsWXs2n4eAceGjhRBAf3OCjoOI4Dl7grZ3HZ32CgiWbXg3BCzb8l4M5I8Z5a3nDUC/e9PwceHhhQQ3uS0T7Qf1FjBwSawUKm55/FYIY3De4wXsggE3//G0/vhb5pgXyN4vbvB13IQBO+5hWdSPKh1WJbjZ8Y6F68OWN1hlJybaduaDs8h7b1MQZi/Y7GME7Acu2HXXKNj1YrP2qU+PGjefgXvmm56WfK4YAOMZEEESjtxX5CXbZDd5frvvUzv4faIgkHrXj9/gNtoYQEho33M5JN01reb+gXNmmZbVqUl8ivsKnOsGtPBF8DiIu0fdXR6WBL1sVIlVjkVMSvBW8ZhBR+eGSTdNaXg+L0qa7/7QNApRIWGpclgR/CoJlkUTO5ATsZDSRq3sU3y2hWUwlVFegii+kt2mMzLZgI8Tazj+MMpuXQmCshC2BEcx1JUwdAEkrR1hC0wDi5cFJaCoF9OftlvkWSw8czNh05/58bYl7EIjLoYTNKg921CYKxgCVrCFssQAJRLSZMa+64umWw9eW+AX1yjbdka/1OAKB6E3Ywjl5cCpRdBhEyr9mhjwY99bIgxKuHfQyol7pOb3k4AkzEtCmuVBaOPxoQVHezqlxkjt+zzx7A4/TERY86ithRIGOQ8+0NoLbGNR7E9xor2zTtDYHwDkTF98GdbILUuUKHbkpjJCwAkYwbPW8Hpslpq5dliAeTviGD/+niE+TFiUPaVLec1FRcIZS7wWay9z0kh056FlewJvGm0oFr4IxsctAGtwVPZQKH5MLgv0xxGO476Cr2EDgtMWJrwkczO6FLSh4tnTTfO1VF4jO4+CFD/JYrQCYyqNgYdShQxxAcbFEFOdzgfX4D9yoq+IA3hAiSlPohSUoWLrpid5aeIhN95WOTC0YzpquAJZFRKGcMHlRVBFgnJA/HAUze2GehbnpTl/9/Kuf59N7H+CzgPJW9WA5dE1PAzqFNZn+/7ZU3Fs7F4B5hWfTWiPvFmCXmJu+/6988G8RoSITNhcEHtwbT6QuwWecHK1ci3rr5oHXQQvWg9bydgHmkm/62tymlbXaWuP9NjtCCFalQ6K9SD2Yy95v33+Wk7wmrAC5xGOzyhEZQagoByDF81HvvCnf/mikfDb9D+mm8+e214oaXgvsjUeofhHnL3hn3xoacRMdrHl90ZutnUQUwgFTEpEJdYDEVVrM3wQ5BxsR5U2P/LL9K1qvhvdBWW44kQtL4pSC02oTNhPAGvqqBJVgZBFI5Wxx3+CeuYue5fnd9MguDV6s9K4WWwx+7AkjDDWymcEcHoTsZiMZvW1mmkrkQo+Cj+KcnGL0PN7vpkd+yNfy6mix9uBPZjRheClLfACAg7kYohyMLmAT1WAkIhcU+d00reVV1WL11I5q1kxjXShYPHa7EmXxAFa1KzyDsMQ5gcn/pgtX/pWvpSSbbghq9piiNcSHTRacIZlAVLPevWM0+AqnEZEO2JIVxyHjf9OFG76orK2PeqWb/g5KoTDDFBMquwEKw7eHUcSj9piT4pnXAf2r9xORJlf9YcNUtG9bQJsuKqnlVUO90k1vglLi7J+W9x7VvsHZtGeqCzyWoVO6kF7vNapvc5IA9MSjfGapN83Xvi9mvYwnjTf9BQQgtx3x4NAnD5/iV+BUVoMJv8/UqwUPB4DLYcSjLleqTc/aNICvpeowN1158n0ISDMiykbBn6NvaLzkZB28Q/DtH7EDJptDM9+Fx4MC12j6PL7l60++QGNlm35PPK/GXwP/1vS2ogB8D5eHPj3si85oPSAGfM32eI+0K4DsTyyAEjafY6oJoTb63/TPrd968oknnnhOK/G2z6brDT0GavZr+EFtBCSOCELAJ9hzPlUBL0cEemuJ74cjT4OHM0lDYjjgrcX7l446wqG4ab72Hb62xLO0Vb7p+qhWmUu4wYlZUyS7hYvG3wAw4Ju/bPAoiCMeie65ECrEIPwybpHOPWInfiBikh/bXYHN9dE7Tz1BvabF/kxr3/7g+xRQhUcW1jUp9fRR2/Aq+BzFweinaA0HCDIiifSXu6IIomtn+FRfDp0CGegFLxt1KjAcG1qvAq2Vb/o9d+2LH3xv5v0RyFcL5crfxMEJAHBTQ0RhJvvpzLVDqhABOrqzyhMlVoDN+AUvG3Uuo5aPehMHyzf94l++Ngu2gzqOKEqUf6mlHfEjGf3kYWoHsFUWjH/9pyCxqaEQ9Yr4+mVumq+lSrVpPVGg5+Tf08ouR5RZWTcISEQmOsXHANWBsB8bDKBVkk0/r6Uqf7yyMMWMlGbTnIEwRTlY38SzaeQdsvtaWwizNxsAjuL5iHJfIh5VOKAma6k3WJt+pf3KfPz9eJVNIxujiJyBA4FO+i+0+V5jU6b0/TB+Wo31vgm80+iEo1LxpzEe+egJhmzTfO3ifHC7joNToHTsTTQ+c7aDRw2fd5NXWkl2kAqXiWgtfjOjIxLRW8EtEwfLHhWHx6WBx2KaK99007n5QKU80PPpwlRD3XDxANYPzwSv5No1dDpdjajT4HE2oa5GuGMybAZe3ybN9PpmTbpeAex0YmyoeNpHJ2WDyNk7LiaaF3cYEK5J3Q4m69Y81itYtuk/NboGmGTTlyAQzsv7j2Y7XKCOy9p/9DIHahxZOzeedUDgpMFo08/U/MxovAHYdWnwI2uyFqv4BO/pmt2MJX4DDG96khMeWdcq4+BXn3i6ejeFrxOfMlPr4RE2Hj+TG/qREZFu2rnQLJp5Bx5lA8XaWgN3u/C3iWWbvrdQ7L0Ej7Zj3zWs1XTgpvvAu4iDJ4CU88jCSeaU7U54nIxmbRpxwmNGsunj8PiTbPoQlAF40xehDPjNSI2GsoAbjR/HlwUXB4u9K6CMuPGre8+7XFBm3Lpx45YTHiv/BouYSK9YTTTnAAAAAElFTkSuQmCC';\\n\\tif (logo) {\\n\\t\\tlogo = logo.getElementsByTagName('img')[0];\\n\\t\\tif (!logo) return;\\n\\t\\tlogo.src = alt_src;\\n\\t}\\n}());\\n</script></div><div id=\\\"overlay\\\"></div></div><footer data-qa=\\\"footer\\\"><section class=\\\"links\\\"><div class=\\\"grid\\\"><div class=\\\"col span_1_of_4 nav_col\\\"><ul><li class=\\\"cat_1\\\">Using Slack</li><li><a href=\\\"https://slack.com/is\\\" data-qa=\\\"product_footer\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_product\\\">Product</a></li><li><a href=\\\"https://slack.com/enterprise\\\" data-qa=\\\"enterprise_footer\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_enterprise\\\">Enterprise</a></li><li><a href=\\\"https://slack.com/pricing?ui_step=28&ui_element=5\\\" data-qa=\\\"pricing_footer\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_pricing\\\">Pricing</a></li><li><a href=\\\"https://get.slack.help/hc/en-us\\\" data-qa=\\\"support_footer\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_support\\\">Support</a></li><li><a href=\\\"https://slack.com/guides\\\" data-qa=\\\"getting_started\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_getting_started\\\">Slack Guides</a></li><li><a href=\\\"https://slack.com/apps\\\" data-qa=\\\"app_directory\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_app_directory\\\">App Directory</a></li><li><a href=\\\"https://api.slack.com/\\\" data-qa=\\\"api\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_api\\\">API</a></li></ul></div><div class=\\\"col span_1_of_4 nav_col\\\"><ul><li class=\\\"cat_2\\\">Slack <ts-icon class=\\\"ts_icon_heart\\\"></ts-icon></li><li><a href=\\\"https://slack.com/jobs\\\" data-qa=\\\"jobs\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_jobs\\\">Jobs</a></li><li><a href=\\\"https://slack.com/customers\\\" data-qa=\\\"customers\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_customers\\\">Customers</a></li><li><a href=\\\"https://slack.com/developers\\\" data-qa=\\\"developers\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_developers\\\">Developers</a></li><li><a href=\\\"https://slack.com/events\\\" data-qa=\\\"events\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_events\\\">Events</a></li><li><a href=\\\"https://slackhq.com/\\\" data-qa=\\\"blog_footer\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_blog\\\">Blog</a></li></ul></div><div class=\\\"col span_1_of_4 nav_col\\\"><ul><li class=\\\"cat_3\\\">Legal</li><li><a href=\\\"https://slack.com/privacy-policy\\\" data-qa=\\\"privacy\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_privacy\\\">Privacy</a></li><li><a href=\\\"https://slack.com/security\\\" data-qa=\\\"security\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_security\\\">Security</a></li><li><a href=\\\"https://slack.com/terms-of-service\\\" data-qa=\\\"tos\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_tos\\\">Terms of Service</a></li><li><a href=\\\"https://slack.com/policies\\\" data-qa=\\\"policies\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_policies\\\">Policies</a></li></ul></div><div class=\\\"col span_1_of_4 nav_col\\\"><ul><li class=\\\"cat_4\\\">Handy Links</li><li><a href=\\\"https://slack.com/downloads\\\" data-qa=\\\"downloads\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_downloads\\\">Download desktop app</a></li><li><a href=\\\"https://slack.com/downloads\\\" data-qa=\\\"downloads_mobile\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_downloads_mobile\\\">Download mobile app</a></li><li><a href=\\\"https://slack.com/brand-guidelines\\\" data-qa=\\\"brand_guidelines\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_brand_guidelines\\\">Brand Guidelines</a></li><li><a href=\\\"https://slackatwork.com\\\" data-qa=\\\"slack_at_work\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_slack_at_work\\\">Slack at Work</a></li><li><a href=\\\"https://status.slack.com/\\\" data-qa=\\\"status\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_status\\\">Status</a></li></ul></div></div></section><div class=\\\"footnote\\\"><section><a href=\\\"https://slack.com\\\" aria-label=\\\"Slack homepage\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_slack_icon\\\"><ts-icon class=\\\"c-icon--slack\\\" aria-hidden></ts-icon></a><ul><li><a href=\\\"https://slack.com/help/contact\\\" data-qa=\\\"contact_us\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_contact_us\\\">Contact Us</a></li><li><a href=\\\"https://twitter.com/SlackHQ\\\" data-qa=\\\"slack_twitter\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_slack_twitter\\\" aria-label=\\\"Slack on Twitter\\\"><ts-icon class=\\\"ts_icon_twitter\\\" aria-hidden></ts-icon></a></li><li class=\\\"yt\\\"><a href=\\\"https://www.youtube.com/channel/UCY3YECgeBcLCzIrFLP4gblw\\\" data-qa=\\\"slack_youtube\\\" data-clog-event=\\\"WEBSITE_CLICK\\\" data-clog-params=\\\"click_target=footer_slack_youtube\\\" aria-label=\\\"Slack on YouTube\\\"><ts-icon class=\\\"ts_icon_youtube\\\" aria-hidden></ts-icon></a></li></ul></section></div></footer><script type=\\\"text/javascript\\\">\\n/**\\n * A placeholder function that the build script uses to\\n * replace file paths with their CDN versions.\\n *\\n * @param {String} file_path - File path\\n * @returns {String}\\n */\\nfunction vvv(file_path) {\\n\\t\\t var vvv_warning = 'You cannot use vvv on dynamic values. Please make sure you only pass in static file paths.'; if (window.TS && window.TS.warn) { window.TS.warn(vvv_warning); } else { console.warn(vvv_warning); } \\n\\treturn file_path;\\n}\\n\\nvar cdn_url = \\\"https:\\\\/\\\\/a.slack-edge.com\\\";\\nvar vvv_abs_url = \\\"https:\\\\/\\\\/slack.com\\\\/\\\";\\nvar inc_js_setup_data = {\\n\\temoji_sheets: {\\n\\t\\tapple: 'https://a.slack-edge.com/80588/img/emoji_2017_12_06/sheet_apple_64_indexed_256.png',\\n\\t\\tgoogle: 'https://a.slack-edge.com/80588/img/emoji_2017_12_06/sheet_google_64_indexed_256.png',\\n\\t},\\n};\\n</script><script type=\\\"text/javascript\\\">\\t// common boot_data\\n\\tvar boot_data = {\\\"api_url\\\":\\\"\\\\/api\\\\/\\\",\\\"app\\\":\\\"web\\\",\\\"user_id\\\":null,\\\"team_id\\\":\\\"T00000000\\\",\\\"visitor_uid\\\":\\\"16vxgtbv0o25rx4ugnntweydt\\\",\\\"no_login\\\":true,\\\"version_ts\\\":\\\"1592002167\\\",\\\"version_uid\\\":\\\"d7e678c5a319cbbf77ee2bf60a3a6cd851e6dbd8\\\",\\\"cache_version\\\":\\\"v21-nomad\\\",\\\"cache_ts_version\\\":\\\"v2-bunny\\\",\\\"redir_domain\\\":\\\"slack-redir.net\\\",\\\"signin_url\\\":\\\"https:\\\\/\\\\/slack.com\\\\/signin\\\",\\\"abs_root_url\\\":\\\"https:\\\\/\\\\/slack.com\\\\/\\\",\\\"team_url\\\":\\\"\\\",\\\"image_proxy_url\\\":\\\"https:\\\\/\\\\/slack-imgs.com\\\\/\\\",\\\"beacon_timing_url\\\":\\\"https:\\\\/\\\\/slack.com\\\\/beacon\\\\/timing\\\",\\\"beacon_error_url\\\":\\\"https:\\\\/\\\\/slack.com\\\\/beacon\\\\/error\\\",\\\"clog_url\\\":\\\"clog\\\\/track\\\\/\\\",\\\"api_token\\\":\\\"\\\",\\\"vvv_paths\\\":{\\\"lz_string\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/bv1-8-5f8a604\\\\/lz-string-1.4.4.worker.8de1b00d670ff3dc706a0.js\\\",\\\"codemirror\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/bv1-8-5f8a604\\\\/codemirror.min.813dc3c7b43cab1d4baf.min.js\\\",\\\"codemirror_addon_simple\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/bv1-8-5f8a604\\\\/codemirror_simple.3a52ead13f9f0f44b93a.min.js\\\",\\\"codemirror_load\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/bv1-8-5f8a604\\\\/codemirror_load.f24e205954812d1b925a.min.js\\\",\\\"codemirror_files\\\":{\\\"javascript\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/bv1-8-5f8a604\\\\/codemirror_lang_javascript.c869387c56e44f208440.min.js\\\"}},\\\"notification_sounds\\\":[{\\\"value\\\":\\\"b2.mp3\\\",\\\"label\\\":\\\"Ding\\\",\\\"url\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/7e91\\\\/sounds\\\\/push\\\\/b2.mp3\\\",\\\"url_ogg\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/46ebb\\\\/sounds\\\\/push\\\\/b2.ogg\\\"},{\\\"value\\\":\\\"animal_stick.mp3\\\",\\\"label\\\":\\\"Boing\\\",\\\"url\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/7e91\\\\/sounds\\\\/push\\\\/animal_stick.mp3\\\",\\\"url_ogg\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/46ebb\\\\/sounds\\\\/push\\\\/animal_stick.ogg\\\"},{\\\"value\\\":\\\"been_tree.mp3\\\",\\\"label\\\":\\\"Drop\\\",\\\"url\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/7e91\\\\/sounds\\\\/push\\\\/been_tree.mp3\\\",\\\"url_ogg\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/46ebb\\\\/sounds\\\\/push\\\\/been_tree.ogg\\\"},{\\\"value\\\":\\\"complete_quest_requirement.mp3\\\",\\\"label\\\":\\\"Ta-da\\\",\\\"url\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/7e91\\\\/sounds\\\\/push\\\\/complete_quest_requirement.mp3\\\",\\\"url_ogg\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/46ebb\\\\/sounds\\\\/push\\\\/complete_quest_requirement.ogg\\\"},{\\\"value\\\":\\\"confirm_delivery.mp3\\\",\\\"label\\\":\\\"Plink\\\",\\\"url\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/7e91\\\\/sounds\\\\/push\\\\/confirm_delivery.mp3\\\",\\\"url_ogg\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/46ebb\\\\/sounds\\\\/push\\\\/confirm_delivery.ogg\\\"},{\\\"value\\\":\\\"flitterbug.mp3\\\",\\\"label\\\":\\\"Wow\\\",\\\"url\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/7e91\\\\/sounds\\\\/push\\\\/flitterbug.mp3\\\",\\\"url_ogg\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/46ebb\\\\/sounds\\\\/push\\\\/flitterbug.ogg\\\"},{\\\"value\\\":\\\"here_you_go_lighter.mp3\\\",\\\"label\\\":\\\"Here you go\\\",\\\"url\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/7e91\\\\/sounds\\\\/push\\\\/here_you_go_lighter.mp3\\\",\\\"url_ogg\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/46ebb\\\\/sounds\\\\/push\\\\/here_you_go_lighter.ogg\\\"},{\\\"value\\\":\\\"hi_flowers_hit.mp3\\\",\\\"label\\\":\\\"Hi\\\",\\\"url\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/7e91\\\\/sounds\\\\/push\\\\/hi_flowers_hit.mp3\\\",\\\"url_ogg\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/46ebb\\\\/sounds\\\\/push\\\\/hi_flowers_hit.ogg\\\"},{\\\"value\\\":\\\"knock_brush.mp3\\\",\\\"label\\\":\\\"Knock Brush\\\",\\\"url\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/7e91\\\\/sounds\\\\/push\\\\/knock_brush.mp3\\\",\\\"url_ogg\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/46ebb\\\\/sounds\\\\/push\\\\/knock_brush.ogg\\\"},{\\\"value\\\":\\\"save_and_checkout.mp3\\\",\\\"label\\\":\\\"Whoa!\\\",\\\"url\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/7e91\\\\/sounds\\\\/push\\\\/save_and_checkout.mp3\\\",\\\"url_ogg\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/46ebb\\\\/sounds\\\\/push\\\\/save_and_checkout.ogg\\\"},{\\\"value\\\":\\\"item_pickup.mp3\\\",\\\"label\\\":\\\"Yoink\\\",\\\"url\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/7e91\\\\/sounds\\\\/push\\\\/item_pickup.mp3\\\",\\\"url_ogg\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/46ebb\\\\/sounds\\\\/push\\\\/item_pickup.ogg\\\"},{\\\"value\\\":\\\"hummus.mp3\\\",\\\"label\\\":\\\"Hummus\\\",\\\"url\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/7fa9\\\\/sounds\\\\/push\\\\/hummus.mp3\\\",\\\"url_ogg\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/46ebb\\\\/sounds\\\\/push\\\\/hummus.ogg\\\"},{\\\"value\\\":\\\"none\\\",\\\"label\\\":\\\"None\\\"}],\\\"alert_sounds\\\":[{\\\"value\\\":\\\"frog.mp3\\\",\\\"label\\\":\\\"Frog\\\",\\\"url\\\":\\\"https:\\\\/\\\\/slack.global.ssl.fastly.net\\\\/a34a\\\\/sounds\\\\/frog.mp3\\\"}],\\\"call_sounds\\\":[{\\\"value\\\":\\\"call\\\\/alert_v2.mp3\\\",\\\"label\\\":\\\"Alert\\\",\\\"url\\\":\\\"https:\\\\/\\\\/slack.global.ssl.fastly.net\\\\/08f7\\\\/sounds\\\\/call\\\\/alert_v2.mp3\\\"},{\\\"value\\\":\\\"call\\\\/incoming_ring_v2.mp3\\\",\\\"label\\\":\\\"Incoming ring\\\",\\\"url\\\":\\\"https:\\\\/\\\\/slack.global.ssl.fastly.net\\\\/08f7\\\\/sounds\\\\/call\\\\/incoming_ring_v2.mp3\\\"},{\\\"value\\\":\\\"call\\\\/outgoing_ring_v2.mp3\\\",\\\"label\\\":\\\"Outgoing ring\\\",\\\"url\\\":\\\"https:\\\\/\\\\/slack.global.ssl.fastly.net\\\\/08f7\\\\/sounds\\\\/call\\\\/outgoing_ring_v2.mp3\\\"},{\\\"value\\\":\\\"call\\\\/pop_v2.mp3\\\",\\\"label\\\":\\\"Incoming reaction\\\",\\\"url\\\":\\\"https:\\\\/\\\\/slack.global.ssl.fastly.net\\\\/08f7\\\\/sounds\\\\/call\\\\/pop_v2.mp3\\\"},{\\\"value\\\":\\\"call\\\\/they_left_call_v2.mp3\\\",\\\"label\\\":\\\"They left call\\\",\\\"url\\\":\\\"https:\\\\/\\\\/slack.global.ssl.fastly.net\\\\/08f7\\\\/sounds\\\\/call\\\\/they_left_call_v2.mp3\\\"},{\\\"value\\\":\\\"call\\\\/you_left_call_v2.mp3\\\",\\\"label\\\":\\\"You left call\\\",\\\"url\\\":\\\"https:\\\\/\\\\/slack.global.ssl.fastly.net\\\\/08f7\\\\/sounds\\\\/call\\\\/you_left_call_v2.mp3\\\"},{\\\"value\\\":\\\"call\\\\/they_joined_call_v2.mp3\\\",\\\"label\\\":\\\"They joined call\\\",\\\"url\\\":\\\"https:\\\\/\\\\/slack.global.ssl.fastly.net\\\\/08f7\\\\/sounds\\\\/call\\\\/they_joined_call_v2.mp3\\\"},{\\\"value\\\":\\\"call\\\\/you_joined_call_v2.mp3\\\",\\\"label\\\":\\\"You joined call\\\",\\\"url\\\":\\\"https:\\\\/\\\\/slack.global.ssl.fastly.net\\\\/08f7\\\\/sounds\\\\/call\\\\/you_joined_call_v2.mp3\\\"},{\\\"value\\\":\\\"call\\\\/confirmation_v2.mp3\\\",\\\"label\\\":\\\"Confirmation\\\",\\\"url\\\":\\\"https:\\\\/\\\\/slack.global.ssl.fastly.net\\\\/08f7\\\\/sounds\\\\/call\\\\/confirmation_v2.mp3\\\"}],\\\"call_sounds_version\\\":\\\"v2\\\",\\\"img\\\":{\\\"app_icon\\\":\\\"https:\\\\/\\\\/a.slack-edge.com\\\\/80588\\\\/img\\\\/slack_growl_icon_vogue.png\\\"},\\\"page_needs_enterprise\\\":false,\\\"page_needs_custom_emoji\\\":false,\\\"is_deprecated_webclient_browser\\\":false,\\\"is_unsupported_webclient_browser\\\":true,\\\"default_tz\\\":\\\"America\\\\/Los_Angeles\\\",\\\"feature_message_activity_navigation\\\":false,\\\"feature_insights_viewers_by_department_a11y\\\":false,\\\"feature_builder_avatar_crop_enabled\\\":false,\\\"feature_edu88\\\":true,\\\"feature_builder_allow_custom_time_scheduled_trigger\\\":true,\\\"feature_builder_scheduled_trigger\\\":true,\\\"feature_builder_permissions_messaging\\\":false,\\\"feature_component_animation_wrapper\\\":true,\\\"feature_builder_message_button_helper_text\\\":false,\\\"feature_builder_getting_started_i18n\\\":true,\\\"feature_builder_creation_org_policy\\\":true,\\\"feature_builder_extensions\\\":false,\\\"feature_builder_webhook_admin\\\":true,\\\"feature_builder_webhook_trigger\\\":true,\\\"feature_help_menu_i18n\\\":true,\\\"feature_builder_feedback_button\\\":false,\\\"feature_builder_message_step_rich_text\\\":false,\\\"feature_chime_access_check\\\":true,\\\"feature_app_views_v1\\\":true,\\\"feature_audit_logs_view\\\":false,\\\"feature_audit_logs_view_workspace\\\":false,\\\"feature_org_teams_in_local_config\\\":false,\\\"feature_data_location_new_translations\\\":false,\\\"feature_org_dash_exports_part1\\\":false,\\\"feature_sso_combine_config_preferences\\\":true,\\\"feature_default_browser_control_v2\\\":true,\\\"feature_accessible_selects\\\":false,\\\"feature_slack_kit_neue\\\":true,\\\"feature_builder_disable_global_triggers\\\":true,\\\"feature_workflow_builder_enabled_org_setting\\\":true,\\\"feature_builder_can_access\\\":false,\\\"feature_modern_workflow_creation_setting\\\":false,\\\"feature_always_show_archive_channel_option\\\":true,\\\"feature_org_dashboard_gantry_access\\\":false,\\\"feature_granular_dnd\\\":false,\\\"feature_custom_dnd_translations\\\":false,\\\"feature_context_bar_tz_issues\\\":false,\\\"feature_newxp_3266\\\":true,\\\"feature_newxp_4281\\\":false,\\\"feature_newxp_3848\\\":true,\\\"feature_setup_page_i18n\\\":true,\\\"feature_setup_page_i18n_two\\\":true,\\\"feature_proj_trust_center\\\":true,\\\"feature_copy_joiner_flow\\\":true,\\\"feature_preapproved_orgs_backend\\\":false,\\\"feature_newxp_3279\\\":true,\\\"feature_newxp_4160\\\":true,\\\"feature_newxp_4014\\\":true,\\\"feature_newxp_4153\\\":true,\\\"feature_newxp_4202\\\":true,\\\"feature_newxp_3994\\\":true,\\\"feature_newxp_4313\\\":false,\\\"feature_tinyspeck\\\":false,\\\"feature_olug_esc_channels_work\\\":false,\\\"feature_org_level_user_groups_phase_2_frontend\\\":false,\\\"feature_data_table_in_org_level_user_groups\\\":false,\\\"feature_use_new_list_teams_response\\\":true,\\\"feature_desktop_copy_text\\\":false,\\\"feature_throttle_unread_counting\\\":false,\\\"feature_ssb_q319_deprecation\\\":true,\\\"feature_ssb_q319_deprecation_dark\\\":false,\\\"feature_ssb_q319_deprecation_modal\\\":false,\\\"feature_ssb_q319_deprecation_modal_store_override\\\":false,\\\"feature_ssb_q319_deprecation_block\\\":true,\\\"feature_deprecate_get_member_by_name\\\":false,\\\"feature_unknown_files\\\":true,\\\"feature_unknown_messages\\\":true,\\\"feature_add_message_perf\\\":false,\\\"feature_fix_custom_emoji_errors\\\":true,\\\"feature_modern_delete_file\\\":true,\\\"feature_copy_channel_link\\\":true,\\\"feature_collapse_reactions\\\":false,\\\"feature_ia_status_button\\\":true,\\\"feature_full_profile_link\\\":true,\\\"feature_print_pdf\\\":false,\\\"feature_email_workflow\\\":false,\\\"feature_wider_reaction_tip\\\":false,\\\"feature_message_kit_in_message_pane\\\":true,\\\"feature_ia_education\\\":true,\\\"feature_sort_by_recency\\\":false,\\\"feature_sort_by_recency_post_v1\\\":false,\\\"feature_fix_image_preview_rotation\\\":true,\\\"feature_bye_slackbot_help\\\":true,\\\"feature_all_dm_mute_bots\\\":false,\\\"feature_file_threads\\\":true,\\\"feature_broadcast_indicator\\\":true,\\\"feature_new_replies_after_bcast\\\":true,\\\"feature_sonic_emoji\\\":true,\\\"feature_emoji_12\\\":false,\\\"feature_emoji_search_keywords_in_autocomplete\\\":true,\\\"feature_email_ingestion\\\":false,\\\"feature_attachments_inline\\\":false,\\\"feature_fix_files\\\":true,\\\"feature_aaa_admin_apis\\\":true,\\\"feature_app_action_picker_frecency\\\":true,\\\"feature_remove_actions_from_sidebar\\\":false,\\\"feature_shortcuts_speedbump\\\":true,\\\"feature_shortcuts_in_quickswitcher\\\":true,\\\"feature_app_launcher_add_icon\\\":false,\\\"feature_app_launcher_banners\\\":false,\\\"feature_app_launcher_search_pagination\\\":false,\\\"feature_shortcuts_menu_height_tweak\\\":true,\\\"feature_shortcuts_app_collection_links\\\":true,\\\"feature_channel_sidebar_drafts_section\\\":true,\\\"feature_navigate_history\\\":true,\\\"feature_time_zone_desc\\\":false,\\\"feature_wysiwyg_unlink\\\":true,\\\"feature_custom_status_modal_updates\\\":true,\\\"feature_custom_recent_statuses\\\":false,\\\"feature_convert_wrapped_whitespace\\\":true,\\\"feature_compose_flow\\\":false,\\\"feature_compose_flow_xws\\\":true,\\\"feature_temp_channel_subscriptions\\\":true,\\\"feature_faster_count_all_unreads\\\":true,\\\"feature_sonic_user_groups\\\":false,\\\"feature_channel_selector_for_team_guests_update\\\":false,\\\"feature_admin_member_csv_update\\\":true,\\\"feature_sk_data_table_a11y\\\":false,\\\"feature_desktop_symptom_events\\\":false,\\\"feature_data_residency_debugging\\\":false,\\\"feature_ent_admin_approved_apps_v2\\\":true,\\\"feature_dashboard_sortable_lists\\\":false,\\\"feature_sk_loading_button_motions\\\":true,\\\"feature_sk_base_icon\\\":false,\\\"feature_sk_basic_select_arialabel\\\":false,\\\"feature_ce_eng_search_demo\\\":false,\\\"feature_ce_eng_contact_huck_gold\\\":true,\\\"feature_ce_eng_contact_purple_peruvian\\\":false,\\\"feature_ce_eng_contact_high_volume_banner\\\":false,\\\"feature_calls_shared_channel_invite\\\":true,\\\"feature_shared_channels_multi_org\\\":false,\\\"feature_shared_channels_multi_org_mpim\\\":true,\\\"feature_shared_channels_multi_org_mpim_fe\\\":false,\\\"feature_chat_mpim_open_refactor_fe_copy\\\":true,\\\"feature_multi_org_reconnect_mpim\\\":true,\\\"feature_multi_org_disconnect_messages_copy\\\":true,\\\"feature_find_an_admin_disconnect_explainer\\\":false,\\\"feature_shared_channels_multi_org_invites_be\\\":false,\\\"feature_shared_channels_multi_org_legacy_channels\\\":false,\\\"feature_multi_org_join_messages_copy\\\":true,\\\"feature_multi_org_invites_messages_copy\\\":true,\\\"feature_multi_org_invite_unfurl\\\":true,\\\"feature_shared_channels_reconnect\\\":true,\\\"feature_multi_org_accept_flow_copy\\\":true,\\\"feature_manage_sc_channel_card\\\":true,\\\"feature_shared_channels_multi_org_qa_limit_override\\\":false,\\\"feature_remove_double_rings\\\":false,\\\"feature_remove_double_diamonds\\\":false,\\\"feature_remove_pending_connections\\\":true,\\\"feature_channels_view_in_msc\\\":false,\\\"feature_preapproved_orgs_frontend\\\":false,\\\"feature_create_private_c_channels\\\":false,\\\"feature_gdpr_user_join_tos\\\":true,\\\"feature_user_invite_tos_april_2018\\\":true,\\\"feature_channel_mgmt_phase_three\\\":true,\\\"feature_channel_mgmt_phase_four\\\":false,\\\"feature_neue_type\\\":false,\\\"feature_cust_acq_i18n_tweaks\\\":false,\\\"feature_proj_hp_prospect\\\":false,\\\"feature_whats_new_shortcuts_gtm\\\":true,\\\"feature_whitelist_zendesk_chat_widget\\\":false,\\\"feature_live_support_free_plan\\\":false,\\\"feature_offline_mode\\\":false,\\\"feature_force_ls_compression\\\":false,\\\"feature_use_imgproxy_resizing\\\":true,\\\"feature_share_mention_comment_cleanup\\\":false,\\\"feature_boards_i18n\\\":false,\\\"feature_disable_bk_in_thread\\\":false,\\\"feature_new_locale_toast\\\":true,\\\"feature_channel_exports\\\":false,\\\"feature_docs_mentions_and_channels\\\":false,\\\"feature_docs_gantry_v2\\\":false,\\\"feature_vacation_delight\\\":true,\\\"feature_threads_unread_translations\\\":false,\\\"feature_calls_survey_request_response\\\":true,\\\"feature_remote_files_api\\\":true,\\\"feature_token_ip_whitelist\\\":true,\\\"feature_sidebar_theme_undo\\\":true,\\\"feature_hide_on_startup\\\":true,\\\"feature_allow_intra_word_formatting\\\":true,\\\"feature_i18n_channels_validate_emoji\\\":true,\\\"feature_fw_eng_normalization\\\":true,\\\"feature_slim_scrollbar\\\":false,\\\"feature_primary_search\\\":false,\\\"feature_modern_sounds\\\":false,\\\"feature_quick_copy_code_blocks\\\":true,\\\"feature_steeple_church\\\":true,\\\"feature_steeple_church_link\\\":true,\\\"feature_steeple_church_ext\\\":true,\\\"feature_strollers_to_perch\\\":true,\\\"feature_fantail_nurture\\\":true,\\\"feature_pourover\\\":false,\\\"feature_people_search\\\":false,\\\"feature_react_messages\\\":true,\\\"feature_edge_upload_proxy_check\\\":false,\\\"feature_legacy_file_upload_analytics\\\":true,\\\"feature_tokenize_in_composer\\\":false,\\\"feature_sonic_find_more_wksps\\\":false,\\\"feature_sonic_inputs\\\":false,\\\"feature_threaded_slack_owned_plugins\\\":true,\\\"feature_app_popouts_i18n\\\":false,\\\"feature_snippet_modes_i18n\\\":false,\\\"feature_gdrive_do_not_install_by_default\\\":true,\\\"feature_ekm_backfill_add_sleep\\\":false,\\\"feature_ekm_message_revocation_polling_test\\\":false,\\\"feature_team_admins_list_api\\\":true,\\\"feature_moved_details\\\":false,\\\"feature_ms_latest\\\":true,\\\"feature_guests_use_entitlements\\\":true,\\\"feature_app_canvases\\\":false,\\\"feature_rooms_join_api\\\":false,\\\"feature_rooms_join_url\\\":false,\\\"feature_calls_sip_integration_labels\\\":false,\\\"feature_tasks_v1_copy\\\":false,\\\"feature_feature_custom_status_calendar_sync_copy\\\":false,\\\"feature_app_actions_admin_pages\\\":true,\\\"feature_app_views_reminders\\\":true,\\\"feature_reminders_org_shard\\\":false,\\\"feature_reminders_grid_migrations_org_shard\\\":true,\\\"feature_blocks_reminders_list\\\":false,\\\"feature_message_blocks\\\":false,\\\"feature_silence_app_dms\\\":false,\\\"feature_set_tz_automatically\\\":true,\\\"feature_confirm_clear_all_unreads_pref\\\":true,\\\"feature_block_mounts\\\":true,\\\"feature_attachments_v2\\\":true,\\\"feature_block_kit_expandable_block\\\":false,\\\"feature_group_block\\\":false,\\\"feature_block_kit_deep_links\\\":true,\\\"feature_show_block_kit_in_share_dialogs\\\":false,\\\"feature_block_kit_user_block\\\":false,\\\"feature_block_kit_radio_buttons\\\":true,\\\"feature_mrkdwn_on_radio_button\\\":true,\\\"feature_block_kit_table\\\":false,\\\"feature_input_blocks_emit_actions\\\":false,\\\"feature_block_kit_range_datepicker\\\":false,\\\"feature_block_kit_timepicker\\\":false,\\\"feature_block_kit_timepicker_remind\\\":false,\\\"feature_block_kit_datepicker_input\\\":false,\\\"feature_block_kit_builder_gantry\\\":true,\\\"feature_add_app_home_team_name\\\":false,\\\"feature_beacon_js_errors\\\":false,\\\"feature_beacon_js_admin_errors\\\":false,\\\"feature_user_app_disable_speed_bump\\\":true,\\\"feature_tractor_shared_invite_link\\\":true,\\\"feature_newxp_2119\\\":true,\\\"feature_tractor_backup_channelname_copy\\\":true,\\\"feature_degraded_rtm_always_fails\\\":false,\\\"feature_apps_manage_permissions_scope_changes\\\":true,\\\"feature_siws_within_aaa_container\\\":false,\\\"feature_reminder_cross_workspace\\\":true,\\\"feature_p2p\\\":false,\\\"feature_classic_nav\\\":false,\\\"feature_new_reactions\\\":true,\\\"feature_pages_example\\\":false,\\\"feature_sonic_pins\\\":false,\\\"feature_sonic_video_placeholder\\\":true,\\\"feature_iap1\\\":false,\\\"feature_ia_ga\\\":true,\\\"feature_ia_debug_off\\\":false,\\\"feature_ia_i18n\\\":true,\\\"feature_ia_themes\\\":true,\\\"feature_ia_member_profile\\\":true,\\\"feature_workspace_scim_management\\\":false,\\\"feature_unified_member\\\":false,\\\"feature_turn_mpdm_notifs_on\\\":true,\\\"feature_desktop_reload_on_generic_error\\\":true,\\\"feature_dolores\\\":false,\\\"feature_desktop_force_production_channel\\\":false,\\\"feature_desktop_logs_upload\\\":false,\\\"feature_macos_disable_hw\\\":true,\\\"feature_quill_cjk_code_block\\\":true,\\\"feature_truncate_links_translations\\\":false,\\\"feature_bots_not_members\\\":true,\\\"feature_wta_stop_creation\\\":true,\\\"feature_m11n_channel_details\\\":false,\\\"feature_channel_actions\\\":true,\\\"feature_channel_actions_client\\\":true,\\\"feature_shortcuts_prompt\\\":true,\\\"feature_accessible_dialogs\\\":true,\\\"feature_accessible_emoji_skin_tone_picker\\\":true,\\\"feature_calls_clipboard_broadcasting_optin\\\":true,\\\"feature_screen_share_needs_aero\\\":false,\\\"feature_accessible_fs_dialogs\\\":true,\\\"feature_channel_header_labels\\\":false,\\\"feature_trap_kb_within_fs_modals\\\":true,\\\"feature_modern_image_viewer\\\":true,\\\"feature_emoji_by_id\\\":true,\\\"feature_mc_migration_banner\\\":true,\\\"feature_aria_application_mode\\\":false,\\\"feature_update_multiworkspace_channel_modal\\\":true,\\\"feature_modern_request_workspace_dialog\\\":false,\\\"feature_workspace_apps_manage_gantry\\\":false,\\\"feature_app_settings_gantry\\\":false,\\\"feature_modern_profile_flexpane\\\":false,\\\"feature_scg_conversion_channels\\\":true,\\\"feature_reduce_unexpected_uninstalls\\\":true,\\\"feature_enterprise_retention_allow_override_on_org_level_channels\\\":false,\\\"feature_enterprise_retention_admin_retention_by_ccm\\\":false,\\\"feature_enterprise_retention_admin_retention_by_ccm_i18n_copy\\\":false,\\\"feature_track_time_spent\\\":true,\\\"feature_channel_invite_tokenization\\\":true,\\\"feature_imports_cancel\\\":true,\\\"feature_email_workobject_ui\\\":false,\\\"feature_email_notify\\\":false,\\\"feature_email_private\\\":true,\\\"feature_office_directory\\\":false,\\\"feature_feat_private_channel_access_control\\\":true,\\\"feature_calendar_simple_agenda_view\\\":false,\\\"feature_analytics_enable_division\\\":false,\\\"feature_enterprise_analytics_apps_tab\\\":false,\\\"feature_insights_allow_access_to_app\\\":false,\\\"feature_team_themes\\\":false,\\\"feature_org_level_messages\\\":false,\\\"feature_unfurl_metadata\\\":false,\\\"feature_paperclip_coachmark_experiments\\\":true,\\\"feature_plus_menu_add_apps_link\\\":false,\\\"feature_recent_files_omnipicker\\\":false,\\\"feature_link_protocol_beta\\\":false,\\\"feature_stripe_billing\\\":true,\\\"feature_stripe_billing_renewal\\\":true,\\\"feature_stripe_invoices\\\":true,\\\"feature_stripe_billing_dunning\\\":true,\\\"feature_stripe_light\\\":true,\\\"feature_stripe_light_rest_of_world\\\":true,\\\"feature_stripe_light_legacy_purchase_mode\\\":false,\\\"feature_checkout_force_into_legacy\\\":false,\\\"feature_sonic_placeholder_labels\\\":false,\\\"feature_sonic_esc_creation\\\":false,\\\"feature_dangerously_guard_ia_translations\\\":false,\\\"feature_ia_context_menus\\\":false,\\\"feature_ia_layout\\\":false,\\\"feature_platform_calls_api\\\":true,\\\"feature_threaded_call_block\\\":false,\\\"feature_slack_message_attachment_tooltip\\\":false,\\\"feature_enterprise_mobile_device_check\\\":true,\\\"feature_newxp_4125\\\":true,\\\"feature_newxp_4127\\\":true,\\\"feature_newxp_4233\\\":true,\\\"feature_newxp_4250\\\":true,\\\"feature_newxp_4269\\\":true,\\\"feature_newxp_4101\\\":false,\\\"feature_shared_channels_custom_emojis_url\\\":false,\\\"feature_new_copy_for_identity_basic\\\":false,\\\"feature_sonic_leave_workspace_dialog\\\":false,\\\"feature_shared_channels_new_user_trial\\\":true,\\\"feature_shared_channels_inviter_trial\\\":false,\\\"feature_shared_channels_inviter_trial_baby_teams\\\":false,\\\"feature_shared_channels_email_invite\\\":true,\\\"feature_shared_channels_multi_email_invite\\\":false,\\\"feature_shared_channels_shortcut\\\":true,\\\"feature_shared_channels_90_day_trial\\\":true,\\\"feature_shared_channels_90_day_trial_inviter\\\":false,\\\"feature_shared_channels_skip_choose_team\\\":true,\\\"feature_shared_channels_invites_internal\\\":true,\\\"feature_shared_channel_invites_v2\\\":true,\\\"feature_better_invites_call_v2_api\\\":true,\\\"feature_shared_channels_invite_create_education\\\":true,\\\"feature_shared_channels_invite_email_reminder\\\":false,\\\"feature_paid_onboarding_pageupdate\\\":true,\\\"feature_trace_webapp_init\\\":true,\\\"feature_trace_jq_init\\\":false,\\\"feature_stripe_completely_down_banner\\\":false,\\\"feature_uae_tax_id_collection\\\":true,\\\"feature_chile_tax_id_collection\\\":true,\\\"feature_ksa_tax_id_collection\\\":true,\\\"feature_indonesia_tax_change_notification\\\":false,\\\"feature_indonesia_tax_assessment\\\":false,\\\"feature_enterprise_analytics_2019_q3_enhancements\\\":false,\\\"feature_org_level_apps\\\":false,\\\"feature_sso_validate_audience\\\":true,\\\"feature_channel_sections\\\":true,\\\"feature_channel_sections_sidebar_behavior_ui\\\":false,\\\"feature_global_actions_v0\\\":false,\\\"feature_search_limit_team_filter\\\":true,\\\"feature_analytics_scim_fields_paid\\\":false,\\\"feature_google_directory_invites\\\":false,\\\"feature_migrate_google_directory_apis\\\":true,\\\"feature_scg_error_message\\\":true,\\\"feature_search_results_virtualized\\\":false,\\\"feature_show_email_forwarded_by\\\":false,\\\"feature_new_enough_periodic_reloads\\\":false,\\\"feature_builder_display_export_form_csv\\\":true,\\\"feature_builder_workflow_activity\\\":false,\\\"feature_builder_export_form_csv_admin\\\":true,\\\"feature_header_block\\\":false,\\\"feature_channel_mgmt_phase_one\\\":true,\\\"feature_channel_mgmt_phase_two\\\":true,\\\"feature_org_dash_deactivated_members\\\":false,\\\"feature_rate_limit_app_creation\\\":true,\\\"feature_giphy_shortcut\\\":false,\\\"feature_shared_channels_home_reminders\\\":true,\\\"feature_shared_channels_away_reminders\\\":true,\\\"feature_feat_say_my_name\\\":false,\\\"feature_put_a_mention_on_it\\\":false,\\\"feature_builder_fe_ekm_enabled\\\":true,\\\"feature_mobile_min_app_version_frontend\\\":false,\\\"feature_browser_picker\\\":true,\\\"feature_display_image_min_width\\\":false,\\\"feature_gallery_image_action_focus\\\":false,\\\"feature_focus_transition_manager\\\":false,\\\"feature_edu_101\\\":false,\\\"feature_newxp_3172\\\":true,\\\"feature_parsec_methods\\\":false,\\\"feature_soul_searchers\\\":false,\\\"feature_newxp_4309\\\":false,\\\"feature_email_classification\\\":false,\\\"feature_primary_owner_consistent_roles\\\":false,\\\"feature_invite_to_channel_by_email_ui\\\":false,\\\"feature_invite_to_workspace\\\":false,\\\"feature_focus_transition_messages\\\":false,\\\"feature_newxp_4350\\\":true,\\\"feature_edu_110\\\":false,\\\"feature_calls_app_default_device_label\\\":false,\\\"client_logs\\\":{\\\"0\\\":{\\\"numbers\\\":[\\\"0\\\"],\\\"user_facing\\\":false},\\\"2\\\":{\\\"numbers\\\":[\\\"2\\\"],\\\"user_facing\\\":false},\\\"4\\\":{\\\"numbers\\\":[\\\"4\\\"],\\\"user_facing\\\":false},\\\"5\\\":{\\\"numbers\\\":[\\\"5\\\"],\\\"user_facing\\\":false},\\\"23\\\":{\\\"numbers\\\":[\\\"23\\\"],\\\"user_facing\\\":false},\\\"sounds\\\":{\\\"name\\\":\\\"sounds\\\",\\\"numbers\\\":[\\\"37\\\"]},\\\"37\\\":{\\\"name\\\":\\\"sounds\\\",\\\"numbers\\\":[\\\"37\\\"],\\\"user_facing\\\":true},\\\"47\\\":{\\\"numbers\\\":[\\\"47\\\"],\\\"user_facing\\\":false},\\\"48\\\":{\\\"numbers\\\":[\\\"48\\\"],\\\"user_facing\\\":false},\\\"Message History\\\":{\\\"name\\\":\\\"Message History\\\",\\\"numbers\\\":[\\\"58\\\"]},\\\"58\\\":{\\\"name\\\":\\\"Message History\\\",\\\"numbers\\\":[\\\"58\\\"],\\\"user_facing\\\":true},\\\"67\\\":{\\\"numbers\\\":[\\\"67\\\"],\\\"user_facing\\\":false},\\\"72\\\":{\\\"numbers\\\":[\\\"72\\\"],\\\"user_facing\\\":false},\\\"73\\\":{\\\"numbers\\\":[\\\"73\\\"],\\\"user_facing\\\":false},\\\"82\\\":{\\\"numbers\\\":[\\\"82\\\"],\\\"user_facing\\\":false},\\\"88\\\":{\\\"numbers\\\":[\\\"88\\\"],\\\"user_facing\\\":false},\\\"91\\\":{\\\"numbers\\\":[\\\"91\\\"],\\\"user_facing\\\":false},\\\"93\\\":{\\\"numbers\\\":[\\\"93\\\"],\\\"user_facing\\\":false},\\\"96\\\":{\\\"numbers\\\":[\\\"96\\\"],\\\"user_facing\\\":false},\\\"99\\\":{\\\"numbers\\\":[\\\"99\\\"],\\\"user_facing\\\":false},\\\"Channel Marking (MS)\\\":{\\\"name\\\":\\\"Channel Marking (MS)\\\",\\\"numbers\\\":[\\\"141\\\"]},\\\"141\\\":{\\\"name\\\":\\\"Channel Marking (MS)\\\",\\\"numbers\\\":[\\\"141\\\"],\\\"user_facing\\\":true},\\\"Channel Marking (Client)\\\":{\\\"name\\\":\\\"Channel Marking (Client)\\\",\\\"numbers\\\":[\\\"142\\\"]},\\\"142\\\":{\\\"name\\\":\\\"Channel Marking (Client)\\\",\\\"numbers\\\":[\\\"142\\\"],\\\"user_facing\\\":true},\\\"Close Old IMs (Client)\\\":{\\\"name\\\":\\\"Close Old IMs (Client)\\\",\\\"numbers\\\":[\\\"221\\\"]},\\\"221\\\":{\\\"name\\\":\\\"Close Old IMs (Client)\\\",\\\"numbers\\\":[\\\"221\\\"],\\\"user_facing\\\":true},\\\"365\\\":{\\\"numbers\\\":[\\\"365\\\"],\\\"user_facing\\\":false},\\\"389\\\":{\\\"numbers\\\":[\\\"389\\\"],\\\"user_facing\\\":false},\\\"438\\\":{\\\"numbers\\\":[\\\"438\\\"],\\\"user_facing\\\":false},\\\"444\\\":{\\\"numbers\\\":[\\\"444\\\"],\\\"user_facing\\\":false},\\\"481\\\":{\\\"numbers\\\":[\\\"481\\\"],\\\"user_facing\\\":false},\\\"488\\\":{\\\"numbers\\\":[\\\"488\\\"],\\\"user_facing\\\":false},\\\"529\\\":{\\\"numbers\\\":[\\\"529\\\"],\\\"user_facing\\\":false},\\\"552\\\":{\\\"numbers\\\":[\\\"552\\\"],\\\"user_facing\\\":false},\\\"dashboard\\\":{\\\"name\\\":\\\"dashboard\\\",\\\"numbers\\\":[\\\"666\\\"]},\\\"666\\\":{\\\"name\\\":\\\"dashboard\\\",\\\"numbers\\\":[\\\"666\\\"],\\\"user_facing\\\":false},\\\"667\\\":{\\\"numbers\\\":[\\\"667\\\"],\\\"user_facing\\\":false},\\\"773\\\":{\\\"numbers\\\":[\\\"773\\\"],\\\"user_facing\\\":false},\\\"777\\\":{\\\"numbers\\\":[\\\"777\\\"],\\\"user_facing\\\":false},\\\"794\\\":{\\\"numbers\\\":[\\\"794\\\"],\\\"user_facing\\\":false},\\\"Client Responsiveness\\\":{\\\"name\\\":\\\"Client Responsiveness\\\",\\\"user_facing\\\":false,\\\"numbers\\\":[\\\"808\\\"]},\\\"808\\\":{\\\"name\\\":\\\"Client Responsiveness\\\",\\\"user_facing\\\":false,\\\"numbers\\\":[\\\"808\\\"]},\\\"Message Pane Scrolling\\\":{\\\"name\\\":\\\"Message Pane Scrolling\\\",\\\"numbers\\\":[\\\"888\\\"]},\\\"888\\\":{\\\"name\\\":\\\"Message Pane Scrolling\\\",\\\"numbers\\\":[\\\"888\\\"],\\\"user_facing\\\":true},\\\"Unread banner and divider\\\":{\\\"name\\\":\\\"Unread banner and divider\\\",\\\"numbers\\\":[\\\"999\\\"]},\\\"999\\\":{\\\"name\\\":\\\"Unread banner and divider\\\",\\\"numbers\\\":[\\\"999\\\"],\\\"user_facing\\\":true},\\\"1000\\\":{\\\"numbers\\\":[\\\"1000\\\"],\\\"user_facing\\\":false},\\\"Duplicate badges (desktop app icons)\\\":{\\\"name\\\":\\\"Duplicate badges (desktop app icons)\\\",\\\"numbers\\\":[\\\"1701\\\"]},\\\"1701\\\":{\\\"name\\\":\\\"Duplicate badges (desktop app icons)\\\",\\\"numbers\\\":[\\\"1701\\\"],\\\"user_facing\\\":true},\\\"Members\\\":{\\\"name\\\":\\\"Members\\\",\\\"numbers\\\":[\\\"1975\\\"]},\\\"1975\\\":{\\\"name\\\":\\\"Members\\\",\\\"numbers\\\":[\\\"1975\\\"],\\\"user_facing\\\":true},\\\"lazy loading\\\":{\\\"name\\\":\\\"lazy loading\\\",\\\"numbers\\\":[\\\"1989\\\"]},\\\"1989\\\":{\\\"name\\\":\\\"lazy loading\\\",\\\"numbers\\\":[\\\"1989\\\"],\\\"user_facing\\\":true},\\\"thin_channel_membership\\\":{\\\"name\\\":\\\"thin_channel_membership\\\",\\\"numbers\\\":[\\\"1990\\\"]},\\\"1990\\\":{\\\"name\\\":\\\"thin_channel_membership\\\",\\\"numbers\\\":[\\\"1990\\\"],\\\"user_facing\\\":true},\\\"stats\\\":{\\\"name\\\":\\\"stats\\\",\\\"numbers\\\":[\\\"1991\\\"]},\\\"1991\\\":{\\\"name\\\":\\\"stats\\\",\\\"numbers\\\":[\\\"1991\\\"],\\\"user_facing\\\":true},\\\"ms\\\":{\\\"name\\\":\\\"ms\\\",\\\"numbers\\\":[\\\"1996\\\"]},\\\"1996\\\":{\\\"name\\\":\\\"ms\\\",\\\"numbers\\\":[\\\"1996\\\"],\\\"user_facing\\\":true},\\\"shared_channels_connection\\\":{\\\"name\\\":\\\"shared_channels_connection\\\",\\\"numbers\\\":[\\\"1999\\\"]},\\\"1999\\\":{\\\"name\\\":\\\"shared_channels_connection\\\",\\\"numbers\\\":[\\\"1999\\\"],\\\"user_facing\\\":false},\\\"dnd\\\":{\\\"name\\\":\\\"dnd\\\",\\\"numbers\\\":[\\\"2002\\\"]},\\\"2002\\\":{\\\"name\\\":\\\"dnd\\\",\\\"numbers\\\":[\\\"2002\\\"],\\\"user_facing\\\":true},\\\"2003\\\":{\\\"numbers\\\":[\\\"2003\\\"],\\\"user_facing\\\":false},\\\"Threads\\\":{\\\"name\\\":\\\"Threads\\\",\\\"numbers\\\":[\\\"2004\\\"]},\\\"2004\\\":{\\\"name\\\":\\\"Threads\\\",\\\"numbers\\\":[\\\"2004\\\"],\\\"user_facing\\\":true},\\\"2005\\\":{\\\"numbers\\\":[\\\"2005\\\"],\\\"user_facing\\\":false},\\\"Reactions\\\":{\\\"name\\\":\\\"Reactions\\\",\\\"numbers\\\":[\\\"2006\\\"]},\\\"2006\\\":{\\\"name\\\":\\\"Reactions\\\",\\\"numbers\\\":[\\\"2006\\\"],\\\"user_facing\\\":true},\\\"TSSSB.focusTabAndSwitchToChannel\\\":{\\\"name\\\":\\\"TSSSB.focusTabAndSwitchToChannel\\\",\\\"numbers\\\":[\\\"2007\\\"]},\\\"2007\\\":{\\\"name\\\":\\\"TSSSB.focusTabAndSwitchToChannel\\\",\\\"numbers\\\":[\\\"2007\\\"],\\\"user_facing\\\":false},\\\"Presence Detection\\\":{\\\"name\\\":\\\"Presence Detection\\\",\\\"numbers\\\":[\\\"2017\\\"]},\\\"2017\\\":{\\\"name\\\":\\\"Presence Detection\\\",\\\"numbers\\\":[\\\"2017\\\"],\\\"user_facing\\\":true},\\\"mc_sibs\\\":{\\\"name\\\":\\\"mc_sibs\\\",\\\"numbers\\\":[\\\"9999\\\"]},\\\"9999\\\":{\\\"name\\\":\\\"mc_sibs\\\",\\\"numbers\\\":[\\\"9999\\\"],\\\"user_facing\\\":false},\\\"Member searching\\\":{\\\"name\\\":\\\"Member searching\\\",\\\"numbers\\\":[\\\"90211\\\"]},\\\"90211\\\":{\\\"name\\\":\\\"Member searching\\\",\\\"numbers\\\":[\\\"90211\\\"],\\\"user_facing\\\":true},\\\"98765\\\":{\\\"numbers\\\":[\\\"98765\\\"],\\\"user_facing\\\":false},\\\"8675309\\\":{\\\"numbers\\\":[\\\"8675309\\\"],\\\"user_facing\\\":false}}};\\n\\tboot_data.start_ms = Date.now();\\n</script><script type=\\\"text/javascript\\\" src=\\\"https://a.slack-edge.com/bv1-8-5f8a604/rollup-core_required_libs.c3c4a7641b08b639de0f.min.js\\\" onload=\\\"window._cdn ? _cdn.ok(this, arguments) : null\\\" onerror=\\\"window._cdn ? _cdn.failed(this, arguments) : null\\\" crossorigin=\\\"anonymous\\\"></script><script type=\\\"text/javascript\\\" src=\\\"https://a.slack-edge.com/bv1-8-5f8a604/modern.vendor.b122cf0a4f16cbfd57ea.min.js\\\" onload=\\\"window._cdn ? _cdn.ok(this, arguments) : null\\\" onerror=\\\"window._cdn ? _cdn.failed(this, arguments) : null\\\" crossorigin=\\\"anonymous\\\"></script><script type=\\\"text/javascript\\\" src=\\\"https://a.slack-edge.com/bv1-8-5f8a604/application.018fc44ee71b3377dacf.min.js\\\" onload=\\\"window._cdn ? _cdn.ok(this, arguments) : null\\\" onerror=\\\"window._cdn ? _cdn.failed(this, arguments) : null\\\" crossorigin=\\\"anonymous\\\"></script><script type=\\\"text/javascript\\\" src=\\\"https://a.slack-edge.com/bv1-8-5f8a604/rollup-core_required_ts.777348aa4b253b4ae2c4.min.js\\\" onload=\\\"window._cdn ? _cdn.ok(this, arguments) : null\\\" onerror=\\\"window._cdn ? _cdn.failed(this, arguments) : null\\\" crossorigin=\\\"anonymous\\\"></script><script type=\\\"text/javascript\\\" src=\\\"https://a.slack-edge.com/bv1-8-5f8a604/TS.web.1dfc7b573041cfc28ab7.min.js\\\" onload=\\\"window._cdn ? _cdn.ok(this, arguments) : null\\\" onerror=\\\"window._cdn ? _cdn.failed(this, arguments) : null\\\" crossorigin=\\\"anonymous\\\"></script><script type=\\\"text/javascript\\\" src=\\\"https://a.slack-edge.com/bv1-8-5f8a604/signals.d1d79a0e057b05119b24.min.js\\\" onload=\\\"window._cdn ? _cdn.ok(this, arguments) : null\\\" onerror=\\\"window._cdn ? _cdn.failed(this, arguments) : null\\\" crossorigin=\\\"anonymous\\\"></script><script type=\\\"text/javascript\\\" src=\\\"https://a.slack-edge.com/bv1-8-5f8a604/rollup-core_web.cc4af161881fdf6b74bb.min.js\\\" onload=\\\"window._cdn ? _cdn.ok(this, arguments) : null\\\" onerror=\\\"window._cdn ? _cdn.failed(this, arguments) : null\\\" crossorigin=\\\"anonymous\\\"></script><script type=\\\"text/javascript\\\" src=\\\"https://a.slack-edge.com/bv1-8-5f8a604/rollup-secondary_a_required.7bce30f832f554c4a8bf.min.js\\\" onload=\\\"window._cdn ? _cdn.ok(this, arguments) : null\\\" onerror=\\\"window._cdn ? _cdn.failed(this, arguments) : null\\\" crossorigin=\\\"anonymous\\\"></script><script type=\\\"text/javascript\\\" src=\\\"https://a.slack-edge.com/bv1-8-5f8a604/rollup-secondary_b_required.67c0c71d06ca9ff65f1a.min.js\\\" onload=\\\"window._cdn ? _cdn.ok(this, arguments) : null\\\" onerror=\\\"window._cdn ? _cdn.failed(this, arguments) : null\\\" crossorigin=\\\"anonymous\\\"></script><script type=\\\"text/javascript\\\">TS.boot(boot_data);</script><script type=\\\"text/javascript\\\" src=\\\"https://a.slack-edge.com/bv1-8-5f8a604/TS.web._404.e9d777b51191e06cb4c0.min.js\\\" onload=\\\"window._cdn ? _cdn.ok(this, arguments) : null\\\" onerror=\\\"window._cdn ? _cdn.failed(this, arguments) : null\\\" crossorigin=\\\"anonymous\\\"></script><script type=\\\"text/javascript\\\" src=\\\"https://a.slack-edge.com/bv1-8-5f8a604/sticky_nav.ff7069f5c18381d981e5.min.js\\\" onload=\\\"window._cdn ? _cdn.ok(this, arguments) : null\\\" onerror=\\\"window._cdn ? _cdn.failed(this, arguments) : null\\\" crossorigin=\\\"anonymous\\\"></script><script type=\\\"text/javascript\\\" src=\\\"https://a.slack-edge.com/bv1-8-5f8a604/footer.3bcd62a6346a7790af59.min.js\\\" onload=\\\"window._cdn ? _cdn.ok(this, arguments) : null\\\" onerror=\\\"window._cdn ? _cdn.failed(this, arguments) : null\\\" crossorigin=\\\"anonymous\\\"></script><script type=\\\"text/javascript\\\">boot_data.no_login = true;</script><style>.color_9f69e7:not(.nuc) {color:#9F69E7;}.color_4bbe2e:not(.nuc) {color:#4BBE2E;}.color_e7392d:not(.nuc) {color:#E7392D;}.color_3c989f:not(.nuc) {color:#3C989F;}.color_674b1b:not(.nuc) {color:#674B1B;}.color_e96699:not(.nuc) {color:#E96699;}.color_e0a729:not(.nuc) {color:#E0A729;}.color_684b6c:not(.nuc) {color:#684B6C;}.color_5b89d5:not(.nuc) {color:#5B89D5;}.color_2b6836:not(.nuc) {color:#2B6836;}.color_99a949:not(.nuc) {color:#99A949;}.color_df3dc0:not(.nuc) {color:#DF3DC0;}.color_4cc091:not(.nuc) {color:#4CC091;}.color_9b3b45:not(.nuc) {color:#9B3B45;}.color_d58247:not(.nuc) {color:#D58247;}.color_bb86b7:not(.nuc) {color:#BB86B7;}.color_5a4592:not(.nuc) {color:#5A4592;}.color_db3150:not(.nuc) {color:#DB3150;}.color_235e5b:not(.nuc) {color:#235E5B;}.color_9e3997:not(.nuc) {color:#9E3997;}.color_53b759:not(.nuc) {color:#53B759;}.color_c386df:not(.nuc) {color:#C386DF;}.color_385a86:not(.nuc) {color:#385A86;}.color_a63024:not(.nuc) {color:#A63024;}.color_5870dd:not(.nuc) {color:#5870DD;}.color_ea2977:not(.nuc) {color:#EA2977;}.color_50a0cf:not(.nuc) {color:#50A0CF;}.color_d55aef:not(.nuc) {color:#D55AEF;}.color_d1707d:not(.nuc) {color:#D1707D;}.color_43761b:not(.nuc) {color:#43761B;}.color_e06b56:not(.nuc) {color:#E06B56;}.color_8f4a2b:not(.nuc) {color:#8F4A2B;}.color_902d59:not(.nuc) {color:#902D59;}.color_de5f24:not(.nuc) {color:#DE5F24;}.color_a2a5dc:not(.nuc) {color:#A2A5DC;}.color_827327:not(.nuc) {color:#827327;}.color_3c8c69:not(.nuc) {color:#3C8C69;}.color_8d4b84:not(.nuc) {color:#8D4B84;}.color_84b22f:not(.nuc) {color:#84B22F;}.color_4ec0d6:not(.nuc) {color:#4EC0D6;}.color_e23f99:not(.nuc) {color:#E23F99;}.color_e475df:not(.nuc) {color:#E475DF;}.color_619a4f:not(.nuc) {color:#619A4F;}.color_a72f79:not(.nuc) {color:#A72F79;}.color_7d414c:not(.nuc) {color:#7D414C;}.color_aba727:not(.nuc) {color:#ABA727;}.color_965d1b:not(.nuc) {color:#965D1B;}.color_4d5e26:not(.nuc) {color:#4D5E26;}.color_dd8527:not(.nuc) {color:#DD8527;}.color_bd9336:not(.nuc) {color:#BD9336;}.color_e85d72:not(.nuc) {color:#E85D72;}.color_dc7dbb:not(.nuc) {color:#DC7DBB;}.color_bc3663:not(.nuc) {color:#BC3663;}.color_9d8eee:not(.nuc) {color:#9D8EEE;}.color_8469bc:not(.nuc) {color:#8469BC;}.color_73769d:not(.nuc) {color:#73769D;}.color_b14cbc:not(.nuc) {color:#B14CBC;}</style>\\n\\n<!-- slack-www-hhvm-main-iad-x1bz/ 2020-06-15 03:15:46/ vd7e678c5a319cbbf77ee2bf60a3a6cd851e6dbd8/ B:H -->\\n\\n</body></html>\"\n}"
}
]
},
{
"name": "Statping Emailer",
"event": [
{
"listen": "test",
"script": {
"id": "00f5c79e-e927-4305-b276-265b4d51b1e1",
"exec": [
""
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "noauth"
},
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"email\": \"info@socialeck.com\",\n \"core\": {\n \"allow_reports\": true,\n \"created_at\": \"2020-06-21T05:00:12.735144154Z\",\n \"description\": \"This status page has sample data included\",\n \"domain\": \"http://localhost:8080\",\n \"footer\": null,\n \"language\": \"en\",\n \"migration_id\": 1592715612,\n \"name\": \"Statping Sample Data\",\n \"setup\": true,\n \"started_on\": \"2020-06-21T05:01:01.406134998Z\",\n \"updated_at\": \"2020-06-21T05:00:59.652965634Z\",\n \"using_cdn\": false,\n \"version\": \"0.90.54\"\n },\n \"service\": {\n \"name\": \"Statping Website\",\n \"domain\": \"https://statping.com\",\n \"last_error\": \"2020-06-21T01:01:01.406134998Z\",\n \"last_success\": \"2020-06-21T05:01:01.406134998Z\",\n \"expected\": \"\",\n \"online\": true,\n \"expected_status\": 200,\n \"check_interval\": 30,\n \"type\": \"http\",\n \"method\": \"GET\",\n \"post_data\": \"\",\n \"port\": 0,\n \"timeout\": 30,\n \"order_id\": 0\n },\n \"failure\": {\n \"created_at\": \"2020-06-21T05:01:00.67942464Z\",\n \"error_code\": 406,\n \"id\": 1613,\n \"issue\": \"HTTP Status Code 406 did not match 200\",\n \"method_id\": 0,\n \"ping\": 10889\n }\n}",
"options": {
"raw": {}
}
},
"url": {
"raw": "https://news.statping.com/notifier",
"protocol": "https",
"host": [
"news",
"statping",
"com"
],
"path": [
"notifier"
]
},
"description": "This endpoint will send emails from our servers rather than you using your own SMTP email settings. Once you save the Statping Emailer Notifier, we will send you a verification email. Once you've confirmed your email address you will recieve emails whenever your service status changes."
},
"response": []
}
],
"description": "Statping contains multiple notifiers that will send you a notification whenever a service become offline, or online. You can create your own 3rd party notifier by reading more on the [Notifiers Wiki](https://github.com/statping/statping/wiki/Notifiers) on the Github repo.",
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"event": [
{
"listen": "prerequest",
"script": {
"id": "8f3b2e75-ce23-4294-b5bb-05b1248b9ef3",
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"id": "06653dbc-888b-4016-8964-82d25e0273e3",
"type": "text/javascript",
"exec": [
""
]
}
}
],
"protocolProfileBehavior": {}
},
{
"name": "Messages",
"item": [
{
"name": "All Messages",
"event": [
{
"listen": "test",
"script": {
"id": "b2374cab-1ce8-4f9e-a2fa-f92477936cd4",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"View All Messages\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.length).to.be.at.least(2);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "noauth"
},
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/messages",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"messages"
]
},
"description": "View an array of all messages inserted into the database."
},
"response": [
{
"name": "All Messages",
"originalRequest": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/messages",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"messages"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 10 Dec 2018 19:33:17 GMT"
},
{
"key": "Content-Length",
"value": "1169"
}
],
"cookie": [],
"body": "[\n {\n \"id\": 1,\n \"title\": \"Routine Downtime\",\n \"description\": \"This is an example a upcoming message for a service!\",\n \"start_on\": \"2018-12-10T11:30:42.259843-08:00\",\n \"end_on\": \"2018-12-10T13:15:42.259844-08:00\",\n \"service\": 1,\n \"notify_users\": null,\n \"notify_method\": \"\",\n \"notify_before\": null,\n \"notify_before_scale\": \"\",\n \"created_at\": \"2018-12-10T11:15:42.259845-08:00\",\n \"updated_at\": \"2018-12-10T11:15:42.260024-08:00\"\n },\n {\n \"id\": 2,\n \"title\": \"Server Reboot\",\n \"description\": \"This is another example a upcoming message for a service!\",\n \"start_on\": \"2018-12-10T11:30:42.261412-08:00\",\n \"end_on\": \"2018-12-10T13:15:42.261413-08:00\",\n \"service\": 3,\n \"notify_users\": null,\n \"notify_method\": \"\",\n \"notify_before\": null,\n \"notify_before_scale\": \"\",\n \"created_at\": \"2018-12-10T11:15:42.261414-08:00\",\n \"updated_at\": \"2018-12-10T11:15:42.261494-08:00\"\n },\n {\n \"id\": 4,\n \"title\": \"API Message\",\n \"description\": \"This is an example a upcoming message for a service!\",\n \"start_on\": \"2022-11-17T03:28:16.323797-08:00\",\n \"end_on\": \"2022-11-17T05:13:16.323798-08:00\",\n \"service\": 1,\n \"notify_users\": true,\n \"notify_method\": \"email\",\n \"notify_before\": 6,\n \"notify_before_scale\": \"hour\",\n \"created_at\": \"2018-12-10T11:16:42.658695-08:00\",\n \"updated_at\": \"2018-12-10T11:16:42.658771-08:00\"\n }\n]"
}
]
},
{
"name": "Create Message",
"event": [
{
"listen": "test",
"script": {
"id": "66307d95-1833-4786-a29a-40fc05153d09",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Create Message\", function () {",
" var jsonData = pm.response.json();",
" var object = jsonData.output;",
" pm.expect(object.title).to.eql(\"API Message\");",
" pm.expect(object.description).to.eql(\"This is an example a upcoming message for a service!\");",
" pm.expect(object.service).to.eql(1);",
" pm.expect(object.notify_before).to.eql(6);",
" pm.expect(object.notify_before_scale).to.eql(\"hour\");",
" pm.globals.set(\"message_id\", object.id);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"title\": \"API Message\",\n \"description\": \"This is an example a upcoming message for a service!\",\n \"start_on\": \"2022-11-17T03:28:16.323797-08:00\",\n \"end_on\": \"2022-11-17T05:13:16.323798-08:00\",\n \"service\": 1,\n \"notify_users\": true,\n \"notify_method\": \"email\",\n \"notify_before\": 6,\n \"notify_before_scale\": \"hour\"\n}",
"options": {
"raw": {}
}
},
"url": {
"raw": "{{endpoint}}/api/messages",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"messages"
]
},
"description": "Create a new message show show on index page, or on a service."
},
"response": [
{
"name": "Create Message",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"title\": \"API Message\",\n \"description\": \"This is an example a upcoming message for a service!\",\n \"start_on\": \"2022-11-17T03:28:16.323797-08:00\",\n \"end_on\": \"2022-11-17T05:13:16.323798-08:00\",\n \"service\": 1,\n \"notify_users\": true,\n \"notify_method\": \"email\",\n \"notify_before\": 6,\n \"notify_before_scale\": \"hour\"\n}"
},
"url": {
"raw": "{{endpoint}}/api/messages",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"messages"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 10 Dec 2018 19:33:25 GMT"
},
{
"key": "Content-Length",
"value": "456"
}
],
"cookie": [],
"body": "{\n \"status\": \"success\",\n \"type\": \"message\",\n \"method\": \"create\",\n \"id\": 8,\n \"output\": {\n \"id\": 8,\n \"title\": \"API Message\",\n \"description\": \"This is an example a upcoming message for a service!\",\n \"start_on\": \"2022-11-17T03:28:16.323797-08:00\",\n \"end_on\": \"2022-11-17T05:13:16.323798-08:00\",\n \"service\": 1,\n \"notify_users\": true,\n \"notify_method\": \"email\",\n \"notify_before\": 6,\n \"notify_before_scale\": \"hour\",\n \"created_at\": \"2018-12-10T19:33:25.875858Z\",\n \"updated_at\": \"2018-12-10T11:33:25.875947-08:00\"\n }\n}"
}
]
},
{
"name": "View Message",
"event": [
{
"listen": "test",
"script": {
"id": "7e17e9cb-6750-411a-8a9a-335ece3b3cda",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"View Message\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.title).to.eql(\"API Message\");",
" pm.expect(jsonData.service).to.eql(1);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/messages/{{message_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"messages",
"{{message_id}}"
]
},
"description": "View a specific message and it's details."
},
"response": [
{
"name": "View Message",
"originalRequest": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/messages/{{message_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"messages",
"{{message_id}}"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 10 Dec 2018 19:33:33 GMT"
},
{
"key": "Content-Length",
"value": "389"
}
],
"cookie": [],
"body": "{\n \"id\": 8,\n \"title\": \"API Message\",\n \"description\": \"This is an example a upcoming message for a service!\",\n \"start_on\": \"2022-11-17T03:28:16.323797-08:00\",\n \"end_on\": \"2022-11-17T05:13:16.323798-08:00\",\n \"service\": 1,\n \"notify_users\": true,\n \"notify_method\": \"email\",\n \"notify_before\": 6,\n \"notify_before_scale\": \"hour\",\n \"created_at\": \"2018-12-10T11:33:25.875858-08:00\",\n \"updated_at\": \"2018-12-10T11:33:25.875947-08:00\"\n}"
}
]
},
{
"name": "Update Message",
"event": [
{
"listen": "test",
"script": {
"id": "c89210ce-dfce-4acf-8bf5-f601f53d353e",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Update Message\", function () {",
" var jsonData = pm.response.json();",
" var object = jsonData.output;",
" pm.expect(object.title).to.eql(\"Updated Message\");",
" pm.expect(object.description).to.eql(\"This message was updated\");",
" pm.expect(object.service).to.eql(1);",
" pm.expect(object.notify_before).to.eql(3);",
" pm.expect(object.notify_before_scale).to.eql(\"hour\");",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"title\": \"Updated Message\",\n \"description\": \"This message was updated\",\n \"start_on\": \"2022-11-17T03:28:16.323797-08:00\",\n \"end_on\": \"2022-11-17T05:13:16.323798-08:00\",\n \"service\": 1,\n \"notify_users\": true,\n \"notify_method\": \"email\",\n \"notify_before\": 3,\n \"notify_before_scale\": \"hour\"\n}",
"options": {
"raw": {}
}
},
"url": {
"raw": "{{endpoint}}/api/messages/{{message_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"messages",
"{{message_id}}"
]
},
"description": "Update a specific message with new details."
},
"response": [
{
"name": "Update Message",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"title\": \"Updated Message\",\n \"description\": \"This message was updated\",\n \"start_on\": \"2022-11-17T03:28:16.323797-08:00\",\n \"end_on\": \"2022-11-17T05:13:16.323798-08:00\",\n \"service\": 1,\n \"notify_users\": true,\n \"notify_method\": \"email\",\n \"notify_before\": 3,\n \"notify_before_scale\": \"hour\"\n}"
},
"url": {
"raw": "{{endpoint}}/api/messages/{{message_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"messages",
"{{message_id}}"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 10 Dec 2018 19:33:39 GMT"
},
{
"key": "Content-Length",
"value": "437"
}
],
"cookie": [],
"body": "{\n \"status\": \"success\",\n \"type\": \"message\",\n \"method\": \"update\",\n \"id\": 8,\n \"output\": {\n \"id\": 8,\n \"title\": \"Updated Message\",\n \"description\": \"This message was updated\",\n \"start_on\": \"2022-11-17T03:28:16.323797-08:00\",\n \"end_on\": \"2022-11-17T05:13:16.323798-08:00\",\n \"service\": 1,\n \"notify_users\": true,\n \"notify_method\": \"email\",\n \"notify_before\": 3,\n \"notify_before_scale\": \"hour\",\n \"created_at\": \"2018-12-10T11:33:25.875858-08:00\",\n \"updated_at\": \"2018-12-10T11:33:25.875947-08:00\"\n }\n}"
}
]
},
{
"name": "Delete Message",
"event": [
{
"listen": "test",
"script": {
"id": "61a55ba9-d524-4509-a93f-679b5574182a",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Delete Message\", function () {",
" var jsonData = pm.response.json();",
" var id = pm.globals.get(\"message_id\");",
" pm.expect(jsonData.status).to.eql(\"success\");",
" pm.expect(jsonData.method).to.eql(\"delete\");",
" pm.expect(jsonData.type).to.eql(\"message\");",
" pm.expect(jsonData.id).to.eql(id);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "DELETE",
"header": [],
"body": {
"mode": "raw",
"raw": "",
"options": {
"raw": {}
}
},
"url": {
"raw": "{{endpoint}}/api/messages/{{message_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"messages",
"{{message_id}}"
]
},
"description": "Delete a specific message from the database."
},
"response": [
{
"name": "Delete Message",
"originalRequest": {
"method": "DELETE",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{endpoint}}/api/messages/{{message_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"messages",
"{{message_id}}"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 10 Dec 2018 19:33:47 GMT"
},
{
"key": "Content-Length",
"value": "437"
}
],
"cookie": [],
"body": "{\n \"status\": \"success\",\n \"type\": \"message\",\n \"method\": \"delete\",\n \"id\": 8,\n \"output\": {\n \"id\": 8,\n \"title\": \"Updated Message\",\n \"description\": \"This message was updated\",\n \"start_on\": \"2022-11-17T03:28:16.323797-08:00\",\n \"end_on\": \"2022-11-17T05:13:16.323798-08:00\",\n \"service\": 1,\n \"notify_users\": true,\n \"notify_method\": \"email\",\n \"notify_before\": 3,\n \"notify_before_scale\": \"hour\",\n \"created_at\": \"2018-12-10T11:33:25.875858-08:00\",\n \"updated_at\": \"2018-12-10T11:33:39.797941-08:00\"\n }\n}"
}
]
}
],
"description": "Messages allows you to create an alert for a service for a scheduled downtime, or a simple message letting users know a service might be having internal issues. \n\n\n# Message Fields\n- `title` - **(required)** Group name to contain multiple services\n- `description` - **(required)** More detailed description of message\n- `service` - Service ID to affiliate message, global message if empty\n- `start_on` - Timestamp to make this message visible on frontend\n- `end_on` - Timestamp to remove this message on frontend",
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"event": [
{
"listen": "prerequest",
"script": {
"id": "b2160e12-ca83-4454-be33-7eac6f32e16b",
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"id": "a140fc05-3ec2-40dc-a5c5-93d055242995",
"type": "text/javascript",
"exec": [
""
]
}
}
],
"protocolProfileBehavior": {}
},
{
"name": "Checkins",
"item": [
{
"name": "View All Checkin's",
"event": [
{
"listen": "test",
"script": {
"id": "e94a6ff9-bbea-4947-9360-6302a29bdddd",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"View All Checkins\", function () {",
" var jsonData = pm.response.json();",
" var first = jsonData[0];",
" var id = pm.globals.get(\"checkin_id\");",
" pm.expect(first.name).to.eql(\"Demo Checkin 1\");",
" pm.expect(first.interval).to.eql(3);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/checkins",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"checkins"
]
},
"description": "View an array of all the Checkin's inserted into the system."
},
"response": [
{
"name": "View All Checkin's",
"originalRequest": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/checkins",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"checkins"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 10 Dec 2018 19:34:16 GMT"
},
{
"key": "Content-Length",
"value": "268"
}
],
"cookie": [],
"body": "[\n {\n \"id\": 5,\n \"service_id\": 2,\n \"name\": \"Server Checkin\",\n \"interval\": 900,\n \"grace\": 60,\n \"api_key\": \"1emn9ha\",\n \"created_at\": \"2018-12-10T11:34:10.991372-08:00\",\n \"updated_at\": \"2018-12-10T11:34:10.991372-08:00\",\n \"failing\": false,\n \"last_hit\": \"0001-01-01T00:00:00Z\",\n \"hits\": [],\n \"failures\": null\n }\n]"
}
]
},
{
"name": "Create Checkin",
"event": [
{
"listen": "test",
"script": {
"id": "4d656189-d860-43d5-b9b9-d526c6d52338",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Create Checkin\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.status).to.eql(\"success\");",
" pm.expect(jsonData.type).to.eql(\"checkin\");",
" pm.expect(jsonData.output.name).to.eql(\"Server Checkin\");",
" pm.expect(jsonData.output.interval).to.eql(3);",
" var id = jsonData.output.api_key;",
" pm.globals.set(\"checkin_id\", id);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"service_id\": 2,\n \"name\": \"Server Checkin\",\n \"interval\": 3\n}",
"options": {
"raw": {}
}
},
"url": {
"raw": "{{endpoint}}/api/checkins",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"checkins"
]
},
"description": "Create a new Checkin."
},
"response": [
{
"name": "Create Checkin",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"service_id\": 2,\n \"name\": \"Server Checkin\",\n \"interval\": 900,\n \"grace\": 60\n}"
},
"url": {
"raw": "{{endpoint}}/api/checkin",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"checkin"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 10 Dec 2018 19:34:10 GMT"
},
{
"key": "Content-Length",
"value": "330"
}
],
"cookie": [],
"body": "{\n \"status\": \"success\",\n \"type\": \"checkin\",\n \"method\": \"create\",\n \"id\": 5,\n \"output\": {\n \"id\": 5,\n \"service_id\": 2,\n \"name\": \"Server Checkin\",\n \"interval\": 900,\n \"grace\": 60,\n \"api_key\": \"1emn9ha\",\n \"created_at\": \"2018-12-10T19:34:10.991372Z\",\n \"updated_at\": \"2018-12-10T19:34:10.991372Z\",\n \"failing\": false,\n \"last_hit\": \"0001-01-01T00:00:00Z\",\n \"hits\": null,\n \"failures\": null\n }\n}"
}
]
},
{
"name": "Run Checkin",
"event": [
{
"listen": "test",
"script": {
"id": "cb89fcee-0ae4-4496-a159-c214238965ab",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Hit the Checkin API Endpoint\", function () {",
" var jsonData = pm.response.json();",
" pm.expect(jsonData.status).to.eql(\"success\");",
" pm.expect(jsonData.method).to.eql(\"update\");",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/checkin/{{checkin_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"checkin",
"{{checkin_id}}"
]
},
"description": "Initiate the Checkin request to your Statping instance. This request will come from your service and will trigger a failure if your service does not hit this URL in the routine interval set.\n\n- `checkin_id` is the ID for the checkin"
},
"response": [
{
"name": "Run Checkin",
"originalRequest": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/checkin/{{checkin_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"checkin",
"{{checkin_id}}"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 10 Dec 2018 19:34:23 GMT"
},
{
"key": "Content-Length",
"value": "147"
}
],
"cookie": [],
"body": "{\n \"status\": \"success\",\n \"type\": \"checkin_hit\",\n \"method\": \"update\",\n \"id\": 5,\n \"output\": {\n \"id\": 5,\n \"from\": \"127.0.0.1\",\n \"created_at\": \"2018-12-10T19:34:23.442087Z\"\n }\n}"
}
]
},
{
"name": "View Checkin",
"event": [
{
"listen": "test",
"script": {
"id": "25998408-3f55-4d42-ac4f-b6163c1fc0a5",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"View Checkin\", function () {",
" var jsonData = pm.response.json();",
" var id = pm.globals.get(\"checkin_id\");",
" pm.expect(jsonData.name).to.eql(\"Server Checkin\");",
" pm.expect(jsonData.api_key).to.eql(id);",
" pm.expect(jsonData.interval).to.eql(3);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/checkins/{{checkin_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"checkins",
"{{checkin_id}}"
]
},
"description": "View a specific checkin and it's details."
},
"response": [
{
"name": "View Checkin",
"originalRequest": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/checkin/{{checkin_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"checkin",
"{{checkin_id}}"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 10 Dec 2018 19:34:29 GMT"
},
{
"key": "Content-Length",
"value": "338"
}
],
"cookie": [],
"body": "{\n \"id\": 5,\n \"service_id\": 2,\n \"name\": \"Server Checkin\",\n \"interval\": 900,\n \"grace\": 60,\n \"api_key\": \"1emn9ha\",\n \"created_at\": \"2018-12-10T19:34:10.991372Z\",\n \"updated_at\": \"2018-12-10T19:34:10.991372Z\",\n \"failing\": false,\n \"last_hit\": \"2018-12-10T11:34:23.443663-08:00\",\n \"hits\": [\n {\n \"id\": 5,\n \"from\": \"127.0.0.1\",\n \"created_at\": \"2018-12-10T19:34:23.442087Z\"\n }\n ],\n \"failures\": null\n}"
}
]
},
{
"name": "Delete Checkin",
"event": [
{
"listen": "test",
"script": {
"id": "0ddca6d9-b1f9-49db-be8d-75fcab4cab0d",
"exec": [
"pm.test(\"Response is ok\", function () {",
" pm.response.to.have.status(200);",
"});",
"",
"pm.test(\"Delete Checkin\", function () {",
" var jsonData = pm.response.json();",
" var id = pm.globals.get(\"checkin_id\");",
" pm.expect(jsonData.status).to.eql(\"success\");",
" pm.expect(jsonData.type).to.eql(\"checkin\");",
" pm.expect(jsonData.method).to.eql(\"delete\");",
" pm.expect(jsonData.output.api_key).to.eql(id);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "DELETE",
"header": [],
"body": {
"mode": "raw",
"raw": "",
"options": {
"raw": {}
}
},
"url": {
"raw": "{{endpoint}}/api/checkins/{{checkin_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"checkins",
"{{checkin_id}}"
]
},
"description": "Delete a checkin from database and stop failures from service not hitting the checkin URL."
},
"response": [
{
"name": "Delete Checkin",
"originalRequest": {
"method": "DELETE",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{endpoint}}/api/checkin/{{checkin_id}}",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"checkin",
"{{checkin_id}}"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Mon, 10 Dec 2018 19:34:35 GMT"
},
{
"key": "Content-Length",
"value": "410"
}
],
"cookie": [],
"body": "{\n \"status\": \"success\",\n \"type\": \"checkin\",\n \"method\": \"delete\",\n \"id\": 5,\n \"output\": {\n \"id\": 5,\n \"service_id\": 2,\n \"name\": \"Server Checkin\",\n \"interval\": 900,\n \"grace\": 60,\n \"api_key\": \"1emn9ha\",\n \"created_at\": \"2018-12-10T19:34:10.991372Z\",\n \"updated_at\": \"2018-12-10T19:34:10.991372Z\",\n \"failing\": false,\n \"last_hit\": \"2018-12-10T11:34:23.443663-08:00\",\n \"hits\": [\n {\n \"id\": 5,\n \"from\": \"127.0.0.1\",\n \"created_at\": \"2018-12-10T19:34:23.442087Z\"\n }\n ],\n \"failures\": null\n }\n}"
}
]
}
],
"description": "A Checkin is when a service communicates to your Statping instance rather than Statping attempting to hit your service. Checkin's have a scheduled interval that waits for your service to notify Statping, if your service does not hit the Checkin URL during the interval you set, it will result in a service failing notification.",
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"event": [
{
"listen": "prerequest",
"script": {
"id": "d880b73c-1edd-40d7-aac5-6ef0d2e2704b",
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"id": "adf70343-e8f3-4162-8eeb-6fb71784ef57",
"type": "text/javascript",
"exec": [
""
]
}
}
],
"protocolProfileBehavior": {}
},
{
"name": "Theme",
"item": [
{
"name": "Create Assets",
"event": [
{
"listen": "test",
"script": {
"id": "11f52299-58b7-4a57-9842-252e2d8e139e",
"exec": [
""
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/theme/create",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"theme",
"create"
]
},
"description": "This endpoint will create the `assets` folder and dump all css, js, and image assets into that folder. If assets have already been created, it will return an error.\n\n```json\n{\n \"error\": \"assets have already been created\"\n}\n```"
},
"response": []
},
{
"name": "Get SASS Files",
"event": [
{
"listen": "test",
"script": {
"id": "8dace46e-1e0d-4d7c-90f0-c5a29cd2f0c0",
"exec": [
""
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/theme",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"theme"
]
},
"description": "This endpoint will return the path where the assets are stored, and the raw data for each sass files. \n- base.scss\n- variables.scss\n- mobile.scss"
},
"response": []
},
{
"name": "Update Theme",
"event": [
{
"listen": "test",
"script": {
"id": "b18f4b1d-3019-4b96-8203-d1876deab89f",
"exec": [
""
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\n \"base\": \"\",\n \"variables\": \"\",\n \"mobile\": \"\"\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{endpoint}}/api/theme",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"theme"
]
},
"description": "This endpoint will update the sass files and compile sass into css."
},
"response": []
},
{
"name": "Delete Assets",
"event": [
{
"listen": "test",
"script": {
"id": "5e59d318-3e11-44be-9d78-85398d35e9be",
"exec": [
""
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "DELETE",
"header": [],
"url": {
"raw": "{{endpoint}}/api/theme",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"theme"
]
},
"description": "This endpoint will delete the `assets` folder."
},
"response": [
{
"name": "Delete Assets",
"originalRequest": {
"method": "DELETE",
"header": [],
"url": {
"raw": "{{endpoint}}/api/theme",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"theme"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Length",
"value": "79"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Sat, 02 May 2020 01:15:10 GMT"
}
],
"cookie": [],
"body": "{\n \"status\": \"success\",\n \"type\": \"string\",\n \"method\": \"deleted\",\n \"output\": \"/app/assets\"\n}"
}
]
}
],
"description": "You can edit the SASS files to create a custom theme for your Statping Instance. For you to use themes, you must have [sass](https://sass-lang.com/) installed on your location system. \n\n> You will need to have `sass` installed and available in your `$PATH`. \n\n## Asset Files\n- `variables.scss` - SASS variables \n- `base.scss` - Main theme for Statping\n- `mobile.scss` - Custom mobile designs using viewports",
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"event": [
{
"listen": "prerequest",
"script": {
"id": "8512f9f2-50af-4c7c-90af-4feb43908ac9",
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"id": "f28d8c39-84fa-4e20-9bd9-e8f8a0158919",
"type": "text/javascript",
"exec": [
""
]
}
}
],
"protocolProfileBehavior": {}
},
{
"name": "oAuth",
"item": [
{
"name": "Set Keys",
"event": [
{
"listen": "test",
"script": {
"id": "3b2cf616-7e7d-4e11-beee-7027e0ed6dd2",
"exec": [
""
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\n \"gh_client_id\": \"githubid\",\n \"gh_client_secret\": \"githubsecret\",\n \"google_client_id\": \"googleid\",\n \"google_client_secret\": \"googlesecret\",\n \"oauth_domains\": \"gmail.com,yahoo.com,socialeck.com\",\n \"oauth_providers\": \"local,slack,google,github\",\n \"slack_client_id\": \"936045034737.1044972172659\",\n \"slack_client_secret\": \"05dd514efb382971e538a5561981e54a\",\n \"slack_team\": \"dev\"\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{endpoint}}/api/oauth",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"oauth"
]
},
"description": "This endpoint will return the last line in the logs."
},
"response": [
{
"name": "Statping Details",
"originalRequest": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api",
"host": [
"{{endpoint}}"
],
"path": [
"api"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Length",
"value": "398"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Sat, 02 May 2020 01:06:09 GMT"
}
],
"cookie": [],
"body": "{\n \"admin\": false,\n \"allow_reports\": false,\n \"created_at\": \"2020-05-02T01:00:07.885973685Z\",\n \"description\": \"This data is only used to testing\",\n \"domain\": \"http://localhost:8080\",\n \"footer\": null,\n \"logged_in\": false,\n \"migration_id\": 1588381207,\n \"name\": \"Statping Sample Data\",\n \"setup\": true,\n \"started_on\": \"2020-05-02T01:00:14.255837864Z\",\n \"updated_at\": \"2020-05-02T01:00:12.731269305Z\",\n \"using_cdn\": false,\n \"version\": \"0.90.34\"\n}"
}
]
},
{
"name": "Get Keys",
"event": [
{
"listen": "test",
"script": {
"id": "a3dd164d-56dc-43c9-80ae-ad42ced9542f",
"exec": [
""
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api/oauth",
"host": [
"{{endpoint}}"
],
"path": [
"api",
"oauth"
]
},
"description": "This endpoint will return the last line in the logs."
},
"response": [
{
"name": "Statping Details",
"originalRequest": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api",
"host": [
"{{endpoint}}"
],
"path": [
"api"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Length",
"value": "398"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Sat, 02 May 2020 01:06:09 GMT"
}
],
"cookie": [],
"body": "{\n \"admin\": false,\n \"allow_reports\": false,\n \"created_at\": \"2020-05-02T01:00:07.885973685Z\",\n \"description\": \"This data is only used to testing\",\n \"domain\": \"http://localhost:8080\",\n \"footer\": null,\n \"logged_in\": false,\n \"migration_id\": 1588381207,\n \"name\": \"Statping Sample Data\",\n \"setup\": true,\n \"started_on\": \"2020-05-02T01:00:14.255837864Z\",\n \"updated_at\": \"2020-05-02T01:00:12.731269305Z\",\n \"using_cdn\": false,\n \"version\": \"0.90.34\"\n}"
}
]
},
{
"name": "Authenticate token",
"event": [
{
"listen": "test",
"script": {
"id": "2d5f11de-4041-4667-b094-4e1934195649",
"exec": [
""
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"auth": {
"type": "noauth"
},
"method": "GET",
"header": [],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "code",
"value": "936045034737.1125195726608.7440bec1a519b713bd3c39c4aaed46f5a4891878c1616d1a6ac2be3bc0cc9867",
"type": "text"
},
{
"key": "state",
"value": "0",
"type": "text"
}
],
"options": {
"formdata": {}
}
},
"url": {
"raw": "{{endpoint}}/oauth/slack",
"host": [
"{{endpoint}}"
],
"path": [
"oauth",
"slack"
]
},
"description": "This endpoint will return the last line in the logs."
},
"response": [
{
"name": "Statping Details",
"originalRequest": {
"method": "GET",
"header": [],
"url": {
"raw": "{{endpoint}}/api",
"host": [
"{{endpoint}}"
],
"path": [
"api"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Length",
"value": "398"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "Sat, 02 May 2020 01:06:09 GMT"
}
],
"cookie": [],
"body": "{\n \"admin\": false,\n \"allow_reports\": false,\n \"created_at\": \"2020-05-02T01:00:07.885973685Z\",\n \"description\": \"This data is only used to testing\",\n \"domain\": \"http://localhost:8080\",\n \"footer\": null,\n \"logged_in\": false,\n \"migration_id\": 1588381207,\n \"name\": \"Statping Sample Data\",\n \"setup\": true,\n \"started_on\": \"2020-05-02T01:00:14.255837864Z\",\n \"updated_at\": \"2020-05-02T01:00:12.731269305Z\",\n \"using_cdn\": false,\n \"version\": \"0.90.34\"\n}"
}
]
}
],
"description": "You can allow other users to login through other services by using OAuth.\n\n- [Google OAuth](https://developers.google.com/identity/protocols/oauth2)\n- [Slack OAuth](https://api.slack.com/legacy/oauth)\n- [Github OAuth](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/)\n\n### Redirect URL\nEach OAuth service has a dedicated redirect URL: `/oauth/{provider}`. Replace `{provider}` with google, slack, or github depending on which service you're using.",
"event": [
{
"listen": "prerequest",
"script": {
"id": "2792fd81-5e3a-434b-8f51-992bea3a2b49",
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"id": "467bdaac-344d-451e-a4b4-825aec80ceef",
"type": "text/javascript",
"exec": [
""
]
}
}
],
"protocolProfileBehavior": {}
}
],
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{api_key}}",
"type": "string"
}
]
},
"event": [
{
"listen": "prerequest",
"script": {
"id": "a88caffc-d042-4f68-9757-3b5b3e628737",
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"id": "dc71e455-8623-429d-890b-0cfc3bb9f8d1",
"type": "text/javascript",
"exec": [
""
]
}
}
],
"protocolProfileBehavior": {}
}