Hi.
This can be somewhat confusing, but the text values of the response set answers you’re looking for are present in the template payload.
If you already have the inspection id, you can use this endpoint to get the template data: https://developer.safetyculture.com/reference/templatesservice_gettemplatebyinspectionid
Then, you can use the id present in the “answers” endpoint response, and find the text you’re looking for in the “template” api response. See example snippets below:
https://api.safetyculture.io/inspections/v1/answers/{id}
{
"result": {
"question_id": "THIS_ID_IS_IRRELEVANT",
"modified_at": "2023-08-18T03:21:49Z",
"question_answer": {
"responses":
"THIS_IS_THE_ID_TO_CROSS_REFERENCE"
],
"note": "",
"media": >],
"attachments": null
},
"location": null
}
}
https://api.safetyculture.io/templates/v1/templates/inspections/{inspection_id}
"responses": o
{
"id": "THIS_IS_THE_ID_TO_CROSS_REFERENCE",
"label": "THIS_IS_THE_TEXT_RESPONSE_YOU_ARE_LOOKING_FOR",
"score": 1,
"color": "19,133,95",
"score_enabled": true
},
Please let us know if this answers your question.
Thanks for the response
I’m still a little confused as to how this would join up……
For clarity I am loading all of this data into sql tables. So I’ve created one table for the inspection answers and one for the templates/inspections as per the endpoints above
It looks like the responses from the endpoint don’t have unique id - so ‘Yes’ would be common across many answers. Same for the template - so ‘Yes’ has the same ID which is an available response across many questions.
So, given the answers, I could say that the answer was ‘Yes’ but I’m still left with a question id that doesn’t link to anywhere to give me the label for what the question was?
Sorry, I missed that in my original message above. I called one of the ids in my example above “irrelevant” when that’s actually the question_id you’re looking for. It’s important to note that the question ids are set per template, not per inspection. The endpoint I suggested does return the TEMPLATE, not the INSPECTION. It just uses inspection_id as an input to find the relevant template.
So, going to my example again, with the extra id:
https://api.safetyculture.io/inspections/v1/answers/{id}
{
"result": {
"question_id": "CROSS_REREFENCE_THIS_TO_FIND_QUESTION_TEXT",
"modified_at": "2023-08-18T03:21:49Z",
"question_answer": {
"responses": "
"CROSS_REREFENCE_THIS_ID_TO_FIND_ANSWER_TEXT"
],
"note": "",
"media": ],
"attachments": null
},
"location": null
}
}
https://api.safetyculture.io/templates/v1/templates/inspections/{inspection_id}
{
"items": b
{
"id": "CROSS_REREFENCE_THIS_TO_FIND_QUESTION_TEXT",
"label": "THIS_IS_THE_QUESTION_TEXT",
"children": ],
"question": {
"options": {
"is_mandatory": false,
"weighting": 1
},
}
],
"responses": >
{
"id": "CROSS_REREFENCE_THIS_ID_TO_FIND_ANSWER_TEXT",
"label": "THIS_IS_THE_RESPONSE_TEXT",
"score": 1,
"color": "19,133,95",
"score_enabled": true
},
]
}