openapi: 3.2.0 info: title: Clearspeed Integration API description: '## Overview The Clearspeed Integration API enables you to programmatically manage participants within your questionnaires — create new participants and update outcome tracking.' version: '' servers: - url: https://api.us.clearspeed.com/questionnaire description: US Production server - url: https://api.uk.clearspeed.com/questionnaire description: UK Production server tags: - name: Clearspeed Integration API paths: {} webhooks: result_update: post: tags: - Clearspeed Integration API security: [] summary: Result Update Webhook description: 'Clearspeed sends a POST request to the customer''s webhook endpoint when a result is published or updated. Customers must return HTTP 200 to acknowledge receipt.' servers: - url: https://www.customerapi.com/v1 requestBody: content: application/json: schema: $ref: '#/components/schemas/ResultWebhookRequest' examples: Overall evaluation with AR: summary: Overall evaluation with AR value: project_uuid: XXXXXXXX-ef1f-4d91-a2e2-7b33132b00f1 callback_type: Result Update access_code: 7136XXXX59 interview_ref_num: 456XXXX642 status: Result Published questions_risk_rating: - sequence: '7' risk_level: LR text: 'Q7 ' - sequence: '4' risk_level: LR text: 'Q4 ' - sequence: '2' risk_level: HR text: 'Q2 ' - sequence: '5' risk_level: HR text: 'CM Q5 ' - sequence: '6' risk_level: HR text: 'Q6 ' - sequence: '1' risk_level: HR text: 'CM Q1 ' - sequence: '3' risk_level: HR text: 'Q3 ' overall_evaluation: HR is_admission: false is_counter_measure: false is_not_complete: false participant_language: English summary: AR summary_bgcolor: '#dc3545' clear: true Attempted - Incomplete: summary: Attempted - Incomplete value: project_uuid: xxxxx-xxxxx-xxxxx-8a5f-xxxx questions_risk_rating: - sequence: '3' risk_level: DC text: Test Question 1 note: to noisy callback_type: Result Update is_counter_measure: false overall_evaluation: DC is_not_complete: false access_code: xxxxxx is_admission: false participant_language: English interview_ref_num: xxxxxxxx status: Attempted - Incomplete Attempted - Partial: summary: Attempted - Partial value: project_uuid: wwwwwww-wwwwww-1wwwwww questions_risk_rating: - sequence: '1' risk_level: NC text: Q3 note: to noisy - sequence: '2' risk_level: NC text: Q2 note: to noisy - sequence: '3' risk_level: NC text: Q1 note: to noisy callback_type: Result Update is_counter_measure: false overall_evaluation: NC is_not_complete: true access_code: xxxxxx is_admission: false participant_language: English interview_ref_num: xxxxxxx status: Attempted - Partial summary: NC summary_bgcolor: '#6c757d' clear: false Overall evaluation with HR: summary: Overall evaluation with HR value: project_uuid: wwwwwww-wwwwww-1wwwwww questions_risk_rating: - sequence: '6' risk_level: LR text: xxxxxxxxx? note: to noisy - sequence: '3' risk_level: HR text: xxxxxx? note: to noisy callback_type: Result Update is_counter_measure: false overall_evaluation: HR is_not_complete: false access_code: xxxxxxx is_admission: false participant_language: English interview_ref_num: xxxxxx status: Result Published summary: HR summary_bgcolor: '#dc3545' clear: false Overall evaluation with LR: summary: Overall evaluation with LR value: project_uuid: wwwwwww-wwwwww-1wwwwww questions_risk_rating: - sequence: '3' risk_level: LR text: xxxxxxxxxx? note: to noisy - sequence: '6' risk_level: LR text: xxxxxx? note: to noisy callback_type: Result Update is_counter_measure: false overall_evaluation: LR is_not_complete: false access_code: cxxxxxx is_admission: false participant_language: English interview_ref_num: xxxxxx status: Result Published summary: AR summary_bgcolor: '#28a745' clear: true Overall evaluation with G: summary: Overall evaluation with G value: project_uuid: xxxxx-xxx-xxx-xxxx-xxxxx questions_risk_rating: - sequence: '1' risk_level: '' text: xxxxxxx note: to noisy - sequence: '2' risk_level: '' text: xxxxxxx note: to noisy - sequence: '3' risk_level: '' text: xxxxxxx note: to noisy - sequence: '4' risk_level: '' text: xxxxxxx - sequence: xx risk_level: xx text: xxxxxxx note: to noisy callback_type: Result Update is_counter_measure: false overall_evaluation: G is_not_complete: false access_code: xxxxxxx is_admission: false participant_language: English interview_ref_num: xxxxxxx status: Result Published timestamp: xxx-xx-xx:xx:xx summary: G summary_bgcolor: '#28a745' clear: true Overall evaluation with LR/AD: summary: Overall evaluation with LR/AD value: project_uuid: wwwwwww-wwwwww-1wwwwww questions_risk_rating: - sequence: '1' risk_level: AD text: null note: to noisy callback_type: Result Update is_counter_measure: false overall_evaluation: HR is_not_complete: false access_code: xxxxxxx is_admission: true participant_language: English interview_ref_num: xxxxxxxx status: Result Published summary: HR summary_bgcolor: '#dc3545' clear: false Overall evaluation with Precision R/G -> G: summary: Overall evaluation with Precision R/G -> G value: project_uuid: xxxxx-xxxx-xxxx-xxxx-xxxxx questions_risk_rating: - sequence: '1' risk_level: G text: xxxxxx note: to noisy - sequence: '2' risk_level: G text: xxxxxx note: to noisy - sequence: '3' risk_level: G text: xxxxxx note: to noisy - sequence: '4' risk_level: G text: xxxxxx note: to noisy callback_type: Result Update is_counter_measure: false overall_evaluation: G is_not_complete: false access_code: xxxxxxxxxx is_admission: false participant_language: English interview_ref_num: xxxxxxxxxxxx status: Result Published timestamp: xxxx-xxx-xxTxx:xx:xxZ summary: G summary_bgcolor: '#28a745' clear: true Overall evaluation with Precision R/G -> R: summary: Overall evaluation with Precision R/G -> R value: project_uuid: xxxxx-xxxx-xxxx-xxxx-xxxxx questions_risk_rating: - sequence: '1' risk_level: G text: xxxxxx note: to noisy - sequence: '2' risk_level: G text: xxxxxx note: to noisy - sequence: '3' risk_level: G text: xxxxxx note: to noisy - sequence: '4' risk_level: R text: xxxxxx note: to noisy callback_type: Result Update is_counter_measure: false overall_evaluation: R is_not_complete: false access_code: xxxxxxxxxx is_admission: false participant_language: English interview_ref_num: xxxxxxxxxxxx status: Result Published timestamp: xxxx-xxx-xxTxx:xx:xxZ summary: G summary_bgcolor: '#28a745' clear: true Under_Review: summary: Under_Review value: project_uuid: wwwwwww-wwwwww-1wwwwww callback_type: Result Update interview_ref_num: xxxxxxx access_code: xxxxxx status: under_review responses: '200': description: Result received components: schemas: ResultWebhookRequest: type: object description: 'Clearspeed sends this JSON payload to your configured customer webhook URL when a result is published or updated. This is an incoming callback payload, not a Clearspeed endpoint request. ' example: project_uuid: XXXXXXXX-ef1f-4d91-a2e2-7b33132b00f1 callback_type: Result Update access_code: 7136XXXX59 interview_ref_num: 456XXXX642 status: Result Published questions_risk_rating: - sequence: '7' risk_level: LR text: 'Q7 ' - sequence: '2' risk_level: HR text: 'Q2 ' overall_evaluation: HR is_admission: false is_counter_measure: false is_not_complete: false participant_language: English summary: AR summary_bgcolor: '#dc3545' clear: true properties: project_uuid: type: string callback_type: type: string access_code: type: string interview_ref_num: type: string status: type: string questions_risk_rating: type: array items: type: object properties: sequence: type: string risk_level: type: string text: type: string overall_evaluation: type: string is_admission: type: boolean is_counter_measure: type: boolean is_not_complete: type: boolean participant_language: type: string summary: type: string description: Result summary label (for example, HR/LR/G/AR/NC) summary_bgcolor: type: string description: Hex color code associated with the summary label example: '#28a745' clear: type: boolean description: Whether result is clear timestamp: type: string format: date-time securitySchemes: authorization: type: apiKey in: header name: Authorization