Advanced Reports
Get All Queries
This endpoint retrieves a list of query resources.
GET /api/v2/queries/
Query Parameters
The following parameters may be used to filter the query resources in the response.
Parameter | Description |
---|---|
id | Filter queries by ID. |
name | Filter queries by name. |
priority | Filter applications by priority. |
slug | Filter applications by slug. |
ordering | Sort applications by the specified field. Prefix field name with minus to sort descending. Sortable fields: name. |
search | Filter applications by performing a textual search on name. |
GET /api/v2/queries/ HTTP/1.1
Accept: application/json
Authorization: Token "YOUR SDE ACCESS TOKEN"
HTTP/1.1 200 OK
Content-Type: application/json
{
"results": [
{
"id": 60,
"title": "Sample Query 1",
"description": "Sample query created by Admin Testerton",
"created": "2022-05-19T10:52:45.186148-04:00",
"modified": "2022-05-26T11:37:36.974065-04:00",
"created_by": 1,
"query": {
"schema": "application",
"limit": 20,
"order": [
],
"filters": [
{
"or": [
{
"member": "Task.accepted",
"values": [
"true"
],
"operator": "equals"
}
]
}
],
"measures": [
"Project.count",
"Project.complianceCount"
],
"dimensions": [
"BusinessUnit.name",
"Application.id"
]
},
"chart": "table",
"chart_meta": {
"columnOrder": [
"Application.id",
"BusinessUnit.name",
"Project.count",
"Project.complianceCount"
]
},
"type": "D"
}
]
}
Get a Specific Query
This endpoint retrieves a specific Query resource, as specified by the query_id parameter.
GET /api/v2/queries/{query_id}/
URL Parameters
Parameter | Description |
---|---|
query_id | The id of the query to retrieve |
Note: All of the expand parameters for the Get all Queries endpoint apply here as well.
GET /api/v2/queries/60/ HTTP/1.1
Accept: application/json
Authorization: Token "YOUR SDE ACCESS TOKEN"
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 60,
"title": "Sample Query 1",
"description": "Sample query created by Admin Testerton",
"created": "2022-05-19T10:52:45.186148-04:00",
"modified": "2022-05-26T11:37:36.974065-04:00",
"created_by": 1,
"query": {
"schema": "application",
"limit": 20,
"order": [
],
"filters": [
{
"or": [
{
"member": "Task.accepted",
"values": [
"true"
],
"operator": "equals"
}
]
}
],
"measures": [
"Project.count",
"Project.complianceCount"
],
"dimensions": [
"BusinessUnit.name",
"Application.id"
]
},
"chart": "table",
"chart_meta": {
"columnOrder": [
"Application.id",
"BusinessUnit.name",
"Project.count",
"Project.complianceCount"
]
},
"type": "D"
}
Create a New Query
Fields | Required | Description |
---|---|---|
title | Yes | The title of the new query |
description | No | The description of the new query |
chart | Yes | The type of visualization for the query. Possible values: table, pie, number, stacked_bar, horizontal_bar, line |
query | Yes | The query object for the query which must be a valid cube query in the format described in the Cube API documentation, with an additional schema property corresponding to the Reporting Context. Possible schema values: all, activity, application, countermeasure, integration, library, project_survey_answers, training, user, trend_application, trend_task, trend_project. The timeDimensions field is required for Trend Reports and apply to each of the Trend contexts, denoted by the prefix of trend* . To learn more about Trend Reporting please see the Trend Reports tab in the Reporting User Documentation |
chart_meta | No | The column order of the new query |
type | No | The type of Report that the Query is. Standard Advanced Reports are the Default type, denoted as "D". Trend Reports are denoted as "T". To learn more about Trend Reporting please see the Trend Reports tab in the Reporting User Documentation |
POST /api/v2/queries/ HTTP/1.1
Accept: application/json
Authorization: Token "YOUR SDE ACCESS TOKEN"
{
"title": "Sample Query",
"description": "",
"chart": "table",
"query": {
"schema": "application",
"dimensions": [
"Application.name"
],
"measures": [
"Project.count"
],
"order": [
[
"Application.name",
"desc"
]
],
"filters": [
{
"or": [
{
"member": "Project.count",
"operator": "lt",
"values": [
"5"
]
}
]
}
],
"limit": 20
},
"chart_meta": {
"columnOrder": []
},
"type": "D"
}
HTTP/1.1 201 CREATED
Content-Type: application/json
{
"id":71,
"title":"Sample Query",
"description":"",
"created":"2022-06-07T11:56:35.333559-04:00",
"modified":"2022-06-07T11:56:35.333590-04:00",
"created_by":1,
"query":{
"schema": "application",
"dimensions":[
"Application.name"
],
"measures":[
"Project.count"
],
"order":[
[
"Application.name",
"desc"
]
],
"filters":[
{
"or":[
{
"member":"Project.count",
"operator":"lt",
"values":[
"5"
]
}
]
}
],
"limit":20
},
"chart":"table",
"chart_meta":{
"columnOrder":[
]
},
"type": "D"
}
Update a Query
Update a single query by specifying new query fields. The query to update is identified by the query_id.
PATCH /api/v2/queries/{query_id}/
URL Parameters
Parameter | Description |
---|---|
query_id | The id of the query to edit must be submitted in the request |
Payload
Fields | Required | Description |
---|---|---|
title | No | The title of the new query |
description | No | The description of the new query |
query | Yes | The query object for the query which must be a valid cube query in the format described in the Cube API documentation, with an additional schema property corresponding to the Reporting Context. Possible schema values: all, activity, application, countermeasure, integration, library, project_survey_answers, training, user, trend_application, trend_task, trend_project. The timeDimensions fields are required for Trend Reports and apply to each of the Trend contexts, denoted by the prefix of trend . To learn more about Trend Reporting please see the Trend Reports tab in the Reporting User Documentation |
chart_meta | No | The column order of the new query |
type | No | The type of Report that the Query is. Standard Advanced Reports are the Default type, denoted as "D". Trend Reports are denoted as "T". To learn more about Trend Reporting please see the Trend Reports tab in the Reporting User Documentation |
PATCH /api/v2/queries/70/ HTTP/1.1
Accept: application/json
Authorization: Token "YOUR SDE ACCESS TOKEN"
{
"chart_meta": {
"columnOrder": []
},
"title": "Sample Query Edited",
"description": "",
"chart": "table",
"query": {
"schema": "application",
"limit": 20,
"order": [],
"filters": [],
"measures": [
"Project.count"
],
"dimensions": [
"Application.id"
]
},
"id": 70,
"created": "2022-06-07T08:56:25.809108-04:00",
"modified": "2022-06-07T08:56:25.809130-04:00",
"created_by": 1
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"id":70,
"title":"Sample Query Edited",
"description":"",
"created":"2022-06-07T08:56:25.809108-04:00",
"modified":"2022-06-07T09:13:28.287805-04:00",
"created_by":1,
"query":{
"schema": "application",
"limit":20,
"order":[
],
"filters":[
],
"measures":[
"Project.count"
],
"dimensions":[
"Application.id"
]
},
"chart":"table",
"chart_meta":{
"columnOrder":[
]
},
"type": "D"
}
Delete a Query
This endpoint deletes a single Query resource, as specified by the query_id parameter.
DELETE /queries/{query_id}/
URL Parameters
Parameter | Description |
---|---|
query_id | The id of the query to delete |
DELETE /api/v2/queries/70/ HTTP/1.1
Accept: application/json
Authorization: Token "YOUR SDE ACCESS TOKEN"
HTTP/1.1 204 NO CONTENT