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
Debug.WriteLine(http.LastErrorText)
Exit Sub
End If
Dim jResp As New Chilkat.JsonObject
jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False
Debug.WriteLine("Response Body:")
Debug.WriteLine(jResp.Emit())
Dim respStatusCode As Integer = http.LastStatus
Debug.WriteLine("Response Status Code = " & respStatusCode)
If (respStatusCode >= 400) Then
Debug.WriteLine("Response Header:")
Debug.WriteLine(http.LastHeader)
Debug.WriteLine("Failed.")
Exit Sub
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 = jResp.StringOf("data.id")
Dim Service_id As String = jResp.StringOf("data.service_id")
Dim Alert_source_id As String = jResp.StringOf("data.alert_source_id")
Dim Organization_id As String = jResp.StringOf("data.organization_id")
Dim IncidentNumber As Integer = jResp.IntOf("data.incidentNumber")
Dim Message As String = jResp.StringOf("data.message")
Dim Description As String = jResp.StringOf("data.description")
Dim Status As String = jResp.StringOf("data.status")
Dim TimeOfCreation As String = jResp.StringOf("data.timeOfCreation")
Dim Tags As String = jResp.StringOf("data.tags")
Dim Time As Integer = jResp.IntOf("data.analytics.tta.time")
Dim UserId As String = jResp.StringOf("data.analytics.tta.userId")
Dim EscalationPolicyId As String = jResp.StringOf("data.analytics.tta.escalationPolicyId")
Dim SquadId As String = jResp.StringOf("data.analytics.tta.squadId")
Dim TtrTime As Integer = jResp.IntOf("data.analytics.ttr.time")
Dim TtrUserId As String = jResp.StringOf("data.analytics.ttr.userId")
Dim TtrEscalationPolicyId As String = jResp.StringOf("data.analytics.ttr.escalationPolicyId")
Dim TtrSquadId As String = jResp.StringOf("data.analytics.ttr.squadId")
Dim Pinned_messages As String = jResp.StringOf("data.pinned_messages")
Dim Deleted As Boolean = jResp.BoolOf("data.deleted")
Dim i As Integer = 0
Dim count_i As Integer = 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
End While
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
End While
i = 0
count_i = jResp.SizeOfArray("data.relevantUsers")
While i < count_i
jResp.I = i
i = i + 1
End While
i = 0
count_i = jResp.SizeOfArray("data.relevantEscalationPolicies")
While i < count_i
jResp.I = i
i = i + 1
End While
i = 0
count_i = jResp.SizeOfArray("data.relevantSquads")
While i < count_i
jResp.I = i
i = i + 1
End While
i = 0
count_i = jResp.SizeOfArray("data.relevantSchedules")
While i < count_i
jResp.I = i
i = i + 1
End While
i = 0
count_i = jResp.SizeOfArray("data.relevantPeopleLogs")
While i < count_i
jResp.I = i
i = i + 1
End While
i = 0
count_i = jResp.SizeOfArray("data.responseNotes")
While i < count_i
jResp.I = i
i = i + 1
End While
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}"
}
]
}