Back to Collection Items
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Dim http As New Chilkat.Http
Dim success As Boolean
// Adds the "Authorization: Bearer <access_token>" header.
http.AuthToken = "<access_token>"
Dim sbResponseBody As New Chilkat.StringBuilder
success = http.QuickGetSb("https://api.squadcast.com/v3/incidents/:incidentID",sbResponseBody)
If (success = False) Then
System.DebugLog(http.LastErrorText)
Return
End If
Dim jResp As New Chilkat.JsonObject
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False
System.DebugLog("Response Body:")
System.DebugLog(jResp.Emit())
Dim respStatusCode As Int32
respStatusCode = http.LastStatus
System.DebugLog("Response Status Code = " + Str(respStatusCode))
If (respStatusCode >= 400) Then
System.DebugLog("Response Header:")
System.DebugLog(http.LastHeader)
System.DebugLog("Failed.")
Return
End If
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// {
// "data": {
// "id": "5d81d9bc60e42f6b99ca4307",
// "service_id": "5d81d9687000fb6b9def7e35",
// "alert_source_id": "5a9002f082bb573a2bc779eb",
// "organization_id": "5d81d9187000fb6b9def7e32",
// "incidentNumber": 3,
// "message": "[warning] CPUThrottlingHigh",
// "assignedTo": [
// {
// "id": "5d81d9407000fb6b9def7e33",
// "type": "escalationpolicy",
// "timeOfAssignment": "2019-09-18T07:16:12.218Z"
// },
// {
// "id": "5d81d9187000fb6b9def7e31",
// "type": "user",
// "timeOfAssignment": "2019-09-20T11:06:37.838Z"
// }
// ],
// "description": "Message: 64% throttling of CPU in namespace kube-system for container autoscaler in pod calico-typha-horizontal-autoscaler-5ff7f558cc-qlm2t.\nRunbook url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-cputhrottlinghigh\nLabels\n Alertname: CPUThrottlingHigh\n Container name: autoscaler\n Namespace: kube-system\n Pod name: calico-typha-horizontal-autoscaler-5ff7f558cc-qlm2t\n Prometheus: monitoring/monitoring-prometheus-oper-prometheus\n Severity: warning\n Generator URL: http://monitoring-prometheus-oper-prometheus.monitoring:9090/graph?g0.expr=100+%2A+sum+by%28container_name%2C+pod_name%2C+namespace%29+%28increase%28container_cpu_cfs_throttled_periods_total%7Bcontainer_name%21%3D%22%22%7D%5B5m%5D%29%29+%2F+sum+by%28container_name%2C+pod_name%2C+namespace%29+%28increase%28container_cpu_cfs_periods_total%5B5m%5D%29%29+%3E+25&g0.tab=1",
// "status": "resolved",
// "timeOfCreation": "2019-09-18T07:16:12.218Z",
// "tags": null,
// "logs": [
// {
// "action": "triggered",
// "assignedTo": "escalationpolicy",
// "id": "5d81d9407000fb6b9def7e33",
// "time": "2019-09-18T07:16:12.215Z",
// "reason": "",
// "additionalInfo": null
// },
// {
// "action": "acknowledged",
// "assignedTo": "user",
// "id": "5d81d9187000fb6b9def7e31",
// "time": "2019-09-20T11:06:37.838Z",
// "reason": "",
// "additionalInfo": null
// },
// {
// "action": "resolved",
// "assignedTo": "user",
// "id": "5d81d9187000fb6b9def7e31",
// "time": "2019-09-20T11:06:40.724Z",
// "reason": "",
// "additionalInfo": null
// }
// ],
// "analytics": {
// "tta": {
// "time": 186625623,
// "userId": "5d81d9187000fb6b9def7e31",
// "escalationPolicyId": "5d81d9407000fb6b9def7e33",
// "squadId": "000000000000000000000000"
// },
// "ttr": {
// "time": 186628509,
// "userId": "5d81d9187000fb6b9def7e31",
// "escalationPolicyId": "5d81d9407000fb6b9def7e33",
// "squadId": "000000000000000000000000"
// }
// },
// "pinned_messages": null,
// "deleted": false,
// "relevantUsers": [
// ],
// "relevantEscalationPolicies": [
// ],
// "relevantSquads": [
// ],
// "relevantSchedules": [
// ],
// "relevantPeopleLogs": [
// ],
// "responseNotes": [
// ]
// }
// }
// Sample code for parsing the JSON response...
// Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
Dim id As String
Dim v_type As String
Dim timeOfAssignment As String
Dim action As String
Dim assignedTo As String
Dim time As String
Dim reason As String
Dim additionalInfo As String
Dim Id As String
Id = jResp.StringOf("data.id")
Dim Service_id As String
Service_id = jResp.StringOf("data.service_id")
Dim Alert_source_id As String
Alert_source_id = jResp.StringOf("data.alert_source_id")
Dim Organization_id As String
Organization_id = jResp.StringOf("data.organization_id")
Dim IncidentNumber As Int32
IncidentNumber = jResp.IntOf("data.incidentNumber")
Dim Message As String
Message = jResp.StringOf("data.message")
Dim Description As String
Description = jResp.StringOf("data.description")
Dim Status As String
Status = jResp.StringOf("data.status")
Dim TimeOfCreation As String
TimeOfCreation = jResp.StringOf("data.timeOfCreation")
Dim Tags As String
Tags = jResp.StringOf("data.tags")
Dim Time As Int32
Time = jResp.IntOf("data.analytics.tta.time")
Dim UserId As String
UserId = jResp.StringOf("data.analytics.tta.userId")
Dim EscalationPolicyId As String
EscalationPolicyId = jResp.StringOf("data.analytics.tta.escalationPolicyId")
Dim SquadId As String
SquadId = jResp.StringOf("data.analytics.tta.squadId")
Dim TtrTime As Int32
TtrTime = jResp.IntOf("data.analytics.ttr.time")
Dim TtrUserId As String
TtrUserId = jResp.StringOf("data.analytics.ttr.userId")
Dim TtrEscalationPolicyId As String
TtrEscalationPolicyId = jResp.StringOf("data.analytics.ttr.escalationPolicyId")
Dim TtrSquadId As String
TtrSquadId = jResp.StringOf("data.analytics.ttr.squadId")
Dim Pinned_messages As String
Pinned_messages = jResp.StringOf("data.pinned_messages")
Dim Deleted As Boolean
Deleted = jResp.BoolOf("data.deleted")
Dim i As Int32
i = 0
Dim count_i As Int32
count_i = jResp.SizeOfArray("data.assignedTo")
While i < count_i
jResp.I = i
id = jResp.StringOf("data.assignedTo[i].id")
v_type = jResp.StringOf("data.assignedTo[i].type")
timeOfAssignment = jResp.StringOf("data.assignedTo[i].timeOfAssignment")
i = i + 1
Wend
i = 0
count_i = jResp.SizeOfArray("data.logs")
While i < count_i
jResp.I = i
action = jResp.StringOf("data.logs[i].action")
assignedTo = jResp.StringOf("data.logs[i].assignedTo")
id = jResp.StringOf("data.logs[i].id")
time = jResp.StringOf("data.logs[i].time")
reason = jResp.StringOf("data.logs[i].reason")
additionalInfo = jResp.StringOf("data.logs[i].additionalInfo")
i = i + 1
Wend
i = 0
count_i = jResp.SizeOfArray("data.relevantUsers")
While i < count_i
jResp.I = i
i = i + 1
Wend
i = 0
count_i = jResp.SizeOfArray("data.relevantEscalationPolicies")
While i < count_i
jResp.I = i
i = i + 1
Wend
i = 0
count_i = jResp.SizeOfArray("data.relevantSquads")
While i < count_i
jResp.I = i
i = i + 1
Wend
i = 0
count_i = jResp.SizeOfArray("data.relevantSchedules")
While i < count_i
jResp.I = i
i = i + 1
Wend
i = 0
count_i = jResp.SizeOfArray("data.relevantPeopleLogs")
While i < count_i
jResp.I = i
i = i + 1
Wend
i = 0
count_i = jResp.SizeOfArray("data.responseNotes")
While i < count_i
jResp.I = i
i = i + 1
Wend
Curl Command
curl -X GET
-H "Authorization: Bearer <access_token>"
https://api.squadcast.com/v3/incidents/:incidentID
Postman Collection Item JSON
{
"name": "Get Incident by ID",
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{sq_pb_auth_header}}",
"type": "string"
}
]
},
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/incidents/:incidentID",
"host": [
"{{baseUrl}}"
],
"path": [
"incidents",
":incidentID"
],
"variable": [
{
"key": "incidentID",
"value": "5d81d9bc60e42f6b99ca4307"
}
]
},
"description": "- This endpoint is used to get the incident details by ID.\n- Requires `access_token` as a `Bearer {{token}}` in the `Authorization` header."
},
"response": [
{
"name": "400 Bad Request",
"originalRequest": {
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/incidents/:incidentID",
"host": [
"{{baseUrl}}"
],
"path": [
"incidents",
":incidentID"
],
"variable": [
{
"key": "incidentID",
"value": "5d81d9bc60e42f6b99ca4307"
}
]
}
},
"status": "Bad Request",
"code": 400,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Server",
"value": "nginx/1.17.7"
},
{
"key": "Date",
"value": "Tue, 07 Jul 2020 21:06:25 GMT"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Transfer-Encoding",
"value": "chunked"
},
{
"key": "Connection",
"value": "keep-alive"
},
{
"key": "Vary",
"value": "Accept-Encoding"
},
{
"key": "Vary",
"value": "Origin"
},
{
"key": "Strict-Transport-Security",
"value": "max-age=15724800; includeSubDomains"
},
{
"key": "Content-Encoding",
"value": "gzip"
}
],
"cookie": [
],
"body": "{\n \"meta\": {\n \"status\": 400,\n \"error_message\": \"invalid incident id\"\n }\n}"
},
{
"name": "404 Not Found",
"originalRequest": {
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/incidents/:incidentID",
"host": [
"{{baseUrl}}"
],
"path": [
"incidents",
":incidentID"
],
"variable": [
{
"key": "incidentID",
"value": "5d81d9bc60e42f6b99ca4307"
}
]
}
},
"status": "Not Found",
"code": 404,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Server",
"value": "nginx/1.17.7"
},
{
"key": "Date",
"value": "Tue, 07 Jul 2020 21:06:25 GMT"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Transfer-Encoding",
"value": "chunked"
},
{
"key": "Connection",
"value": "keep-alive"
},
{
"key": "Vary",
"value": "Accept-Encoding"
},
{
"key": "Vary",
"value": "Origin"
},
{
"key": "Strict-Transport-Security",
"value": "max-age=15724800; includeSubDomains"
},
{
"key": "Content-Encoding",
"value": "gzip"
}
],
"cookie": [
],
"body": "{\n \"meta\": {\n \"status\": 404,\n \"error_message\": \"incident not found\"\n }\n}"
},
{
"name": "401 Unauthorized",
"originalRequest": {
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/incidents/:incidentID",
"host": [
"{{baseUrl}}"
],
"path": [
"incidents",
":incidentID"
],
"variable": [
{
"key": "incidentID",
"value": "5d81d9bc60e42f6b99ca4307"
}
]
}
},
"status": "Unauthorized",
"code": 401,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Server",
"value": "nginx/1.17.7"
},
{
"key": "Date",
"value": "Tue, 07 Jul 2020 21:06:25 GMT"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Transfer-Encoding",
"value": "chunked"
},
{
"key": "Connection",
"value": "keep-alive"
},
{
"key": "Vary",
"value": "Accept-Encoding"
},
{
"key": "Vary",
"value": "Origin"
},
{
"key": "Strict-Transport-Security",
"value": "max-age=15724800; includeSubDomains"
},
{
"key": "Content-Encoding",
"value": "gzip"
}
],
"cookie": [
],
"body": "{\n \"meta\": {\n \"status\": 401,\n \"error_message\": \"<string>\"\n }\n}"
},
{
"name": "403 - Forbidden",
"originalRequest": {
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/incidents/:incidentID",
"host": [
"{{baseUrl}}"
],
"path": [
"incidents",
":incidentID"
],
"variable": [
{
"key": "incidentID",
"value": "5d81d9bc60e42f6b99ca4307"
}
]
}
},
"status": "Forbidden",
"code": 403,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Server",
"value": "nginx/1.17.7"
},
{
"key": "Date",
"value": "Tue, 07 Jul 2020 21:06:25 GMT"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Transfer-Encoding",
"value": "chunked"
},
{
"key": "Connection",
"value": "keep-alive"
},
{
"key": "Vary",
"value": "Accept-Encoding"
},
{
"key": "Vary",
"value": "Origin"
},
{
"key": "Strict-Transport-Security",
"value": "max-age=15724800; includeSubDomains"
},
{
"key": "Content-Encoding",
"value": "gzip"
}
],
"cookie": [
],
"body": "{\n \"meta\": {\n \"status\": 403,\n \"error_message\": \"<string>\"\n }\n}"
},
{
"name": "200 OK",
"originalRequest": {
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/incidents/:incidentID",
"host": [
"{{baseUrl}}"
],
"path": [
"incidents",
":incidentID"
],
"variable": [
{
"key": "incidentID",
"value": "5d81d9bc60e42f6b99ca4307"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Server",
"value": "nginx/1.17.7"
},
{
"key": "Date",
"value": "Tue, 07 Jul 2020 21:06:25 GMT"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Transfer-Encoding",
"value": "chunked"
},
{
"key": "Connection",
"value": "keep-alive"
},
{
"key": "Vary",
"value": "Accept-Encoding"
},
{
"key": "Vary",
"value": "Origin"
},
{
"key": "Strict-Transport-Security",
"value": "max-age=15724800; includeSubDomains"
},
{
"key": "Content-Encoding",
"value": "gzip"
}
],
"cookie": [
],
"body": "{\n \"data\": {\n \"id\": \"5d81d9bc60e42f6b99ca4307\",\n \"service_id\": \"5d81d9687000fb6b9def7e35\",\n \"alert_source_id\": \"5a9002f082bb573a2bc779eb\",\n \"organization_id\": \"5d81d9187000fb6b9def7e32\",\n \"incidentNumber\": 3,\n \"message\": \"[warning] CPUThrottlingHigh\",\n \"assignedTo\": [\n {\n \"id\": \"5d81d9407000fb6b9def7e33\",\n \"type\": \"escalationpolicy\",\n \"timeOfAssignment\": \"2019-09-18T07:16:12.218Z\"\n },\n {\n \"id\": \"5d81d9187000fb6b9def7e31\",\n \"type\": \"user\",\n \"timeOfAssignment\": \"2019-09-20T11:06:37.838Z\"\n }\n ],\n \"description\": \"Message: 64% throttling of CPU in namespace kube-system for container autoscaler in pod calico-typha-horizontal-autoscaler-5ff7f558cc-qlm2t.\\nRunbook url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-cputhrottlinghigh\\nLabels\\n Alertname: CPUThrottlingHigh\\n Container name: autoscaler\\n Namespace: kube-system\\n Pod name: calico-typha-horizontal-autoscaler-5ff7f558cc-qlm2t\\n Prometheus: monitoring/monitoring-prometheus-oper-prometheus\\n Severity: warning\\n Generator URL: http://monitoring-prometheus-oper-prometheus.monitoring:9090/graph?g0.expr=100+%2A+sum+by%28container_name%2C+pod_name%2C+namespace%29+%28increase%28container_cpu_cfs_throttled_periods_total%7Bcontainer_name%21%3D%22%22%7D%5B5m%5D%29%29+%2F+sum+by%28container_name%2C+pod_name%2C+namespace%29+%28increase%28container_cpu_cfs_periods_total%5B5m%5D%29%29+%3E+25&g0.tab=1\",\n \"status\": \"resolved\",\n \"timeOfCreation\": \"2019-09-18T07:16:12.218Z\",\n \"tags\": null,\n \"logs\": [\n {\n \"action\": \"triggered\",\n \"assignedTo\": \"escalationpolicy\",\n \"id\": \"5d81d9407000fb6b9def7e33\",\n \"time\": \"2019-09-18T07:16:12.215Z\",\n \"reason\": \"\",\n \"additionalInfo\": null\n },\n {\n \"action\": \"acknowledged\",\n \"assignedTo\": \"user\",\n \"id\": \"5d81d9187000fb6b9def7e31\",\n \"time\": \"2019-09-20T11:06:37.838Z\",\n \"reason\": \"\",\n \"additionalInfo\": null\n },\n {\n \"action\": \"resolved\",\n \"assignedTo\": \"user\",\n \"id\": \"5d81d9187000fb6b9def7e31\",\n \"time\": \"2019-09-20T11:06:40.724Z\",\n \"reason\": \"\",\n \"additionalInfo\": null\n }\n ],\n \"analytics\": {\n \"tta\": {\n \"time\": 186625623,\n \"userId\": \"5d81d9187000fb6b9def7e31\",\n \"escalationPolicyId\": \"5d81d9407000fb6b9def7e33\",\n \"squadId\": \"000000000000000000000000\"\n },\n \"ttr\": {\n \"time\": 186628509,\n \"userId\": \"5d81d9187000fb6b9def7e31\",\n \"escalationPolicyId\": \"5d81d9407000fb6b9def7e33\",\n \"squadId\": \"000000000000000000000000\"\n }\n },\n \"pinned_messages\": null,\n \"deleted\": false,\n \"relevantUsers\": [],\n \"relevantEscalationPolicies\": [],\n \"relevantSquads\": [],\n \"relevantSchedules\": [],\n \"relevantPeopleLogs\": [],\n \"responseNotes\": []\n }\n}"
}
]
}