openapi: 3.1.0 info: title: Kintsugi Health API version: '2026-10-14' description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-14: 15 operation(s) read from 3 public documentation page(s) (each operation names its page in x-source). This is not the provider''s published contract; Kintsugi Health has published no machine-readable contract that the pipeline could find. Engine: local.' x-evidence-tiers: code-example: 6 documentation: 9 pages-with-code: 3 pages-read: 3 x-generated-from: documentation x-provenance: generated x-authored-by: API Evangelist x-generated: '2026-10-14' x-generator: generate-contract-from-docs.py x-engine: local x-sources: - https://www.kintsugihealth.com/api/voice-api - https://www.kintsugihealth.com/api/voice-api-signal - https://www.kintsugihealth.com/api/initiate-a-session-1-0 servers: - url: https://api.kintsugihealth.com paths: /feedback/server/phq/9: patch: operationId: patch_feedback_server_phq_9 tags: - Feedback summary: PHQ-9 x-source: https://www.kintsugihealth.com/api/initiate-a-session-1-0 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchFeedbackServerPhq9Request' responses: '201': description: Success (status as documented) x-evidence: kind: documentation /initiate: post: operationId: post_initiate tags: - Initiate summary: Initiate a Session x-source: https://www.kintsugihealth.com/api/voice-api-signal requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostInitiateRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostInitiateResponse' x-evidence: kind: documentation /predict: post: operationId: post_predict tags: - Predict summary: Submit Audio for Analysis x-source: https://www.kintsugihealth.com/api/voice-api-signal requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostPredictRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostPredictResponse' x-evidence: kind: documentation /predict/server/depression/{depressionid}: post: operationId: post_predict_server_depression_depressionid tags: - Predict summary: Binary x-source: https://www.kintsugihealth.com/api/initiate-a-session-1-0 parameters: - name: depressionid in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostPredictServerDepressionDepressionidRequest' responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostPredictServerDepressionDepressionidResponse' x-evidence: kind: documentation collapsed_from: 2 example path(s) differing only at depressionId /v1/feedback/server/depression/binary: patch: operationId: patch_v1_feedback_server_depression_binary tags: - Feedback summary: PATCH /v1/feedback/server/depression/binary x-source: https://www.kintsugihealth.com/api/voice-api responses: '200': description: Success (status as documented) x-evidence: kind: code-example language: javascript snippet: "fetch('https://api.kintsugihealth.com/v1/feedback/server/depression/binary', {\n method: 'PATCH',\n headers: { ...headers, ...feedbackFormData.getHeaders()\ \ },\n body: feedbackFormData,\n})" /v1/feedback/server/phq/{phqid}: patch: operationId: patch_v1_feedback_server_phq_phqid tags: - Feedback summary: PATCH /v1/feedback/server/phq/2 x-source: https://www.kintsugihealth.com/api/voice-api parameters: - name: phqid in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: code-example language: javascript snippet: "fetch('https://api.kintsugihealth.com/v1/feedback/server/phq/2', {\n method: 'PATCH',\n headers: {...headers, 'Content-Type':\ \ 'application/json'},\n body: JSON.stringify({'session_id': sessionID, 'actual_score': [1, 2]})" collapsed_from: 2 example path(s) differing only at phqId /v1/initiate: post: operationId: post_v1_initiate tags: - Initiate summary: POST /v1/initiate x-source: https://www.kintsugihealth.com/api/voice-api responses: '201': description: Success (status as documented) x-evidence: kind: code-example language: javascript snippet: "fetch('https://api.kintsugihealth.com/v1/initiate', {\n method: 'POST',\n headers: { ...headers, ...initiateFormData.getHeaders()\ \ },\n body: initiateFormData,\n})" /v1/predict/server/depression/{depressionid}: post: operationId: post_v1_predict_server_depression_depressionid tags: - Predict summary: POST /v1/predict/server/depression/binary x-source: https://www.kintsugihealth.com/api/voice-api parameters: - name: depressionid in: path required: true schema: type: string responses: '201': description: Success (status as documented) x-evidence: kind: code-example language: javascript snippet: "fetch('https://api.kintsugihealth.com/v1/predict/server/depression/binary', {\n method: 'POST',\n headers: { ...headers, ...predictionFormData.getHeaders()\ \ },\n body: predictionFormData\n})" collapsed_from: 2 example path(s) differing only at depressionId /v2/feedback/depression/binary: patch: operationId: patch_v2_feedback_depression_binary tags: - Feedback summary: Submit Feedback – Binary depression result x-source: https://www.kintsugihealth.com/api/voice-api parameters: - name: Accept in: header required: true schema: type: string description: application/json - name: Content-Type in: header required: true schema: type: string description: application/json - name: X-API-Key in: header required: true schema: type: string description: Your API Key requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchV2FeedbackDepressionBinaryRequest' responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PatchV2FeedbackDepressionBinaryResponse' x-evidence: kind: documentation /v2/feedback/gad/7: patch: operationId: patch_v2_feedback_gad_7 tags: - Feedback summary: Submit Feedback – GAD‑7 x-source: https://www.kintsugihealth.com/api/voice-api parameters: - name: Accept in: header required: true schema: type: string description: application/json - name: Content-Type in: header required: true schema: type: string description: application/json - name: X-API-Key in: header required: true schema: type: string description: Your API Key requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchV2FeedbackGad7Request' responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PatchV2FeedbackGad7Response' x-evidence: kind: documentation /v2/feedback/phq/{phqid}: patch: operationId: patch_v2_feedback_phq_phqid tags: - Feedback summary: Submit Feedback – PHQ‑2 x-source: https://www.kintsugihealth.com/api/voice-api parameters: - name: phqid in: path required: true schema: type: string - name: Accept in: header required: true schema: type: string description: application/json - name: Content-Type in: header required: true schema: type: string description: application/json - name: X-API-Key in: header required: true schema: type: string description: Your API Key requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchV2FeedbackPhqPhqidRequest' responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PatchV2FeedbackPhqPhqidResponse' x-evidence: kind: documentation collapsed_from: 2 example path(s) differing only at phqId /v2/predict/sessions/{sessionId}: get: operationId: get_v2_predict_sessions_sessionId tags: - Predict summary: Predict (Get Results) – Get the prediction associated with a given session ID. x-source: https://www.kintsugihealth.com/api/voice-api parameters: - name: sessionId in: path required: true schema: type: string - name: Accept in: header required: true schema: type: string description: application/json - name: Content-Type in: header required: true schema: type: string description: multipart/form-data - name: X-API-Key in: header required: true schema: type: string description: Your API Key responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetV2PredictSessionsSessionidResponse' x-evidence: kind: documentation /v2/predict/users/{userId}: get: operationId: get_v2_predict_users_userId tags: - Predict summary: Predict (Get Results) – Return all predictions for a given user ID. x-source: https://www.kintsugihealth.com/api/voice-api parameters: - name: userId in: path required: true schema: type: string - name: Accept in: header required: true schema: type: string description: application/json - name: Content-Type in: header required: true schema: type: string description: multipart/form-data - name: X-API-Key in: header required: true schema: type: string description: Your API Key responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetV2PredictUsersUseridResponse' x-evidence: kind: documentation /v2/prediction/: post: operationId: post_v2_prediction tags: - Prediction summary: Predict (Submit Audio) x-source: https://www.kintsugihealth.com/api/voice-api parameters: - name: Accept in: header required: true schema: type: string description: application/json - name: Content-Type in: header required: true schema: type: string description: multipart/form-data - name: X-API-Key in: header required: true schema: type: string description: Your API Key requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostV2PredictionRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostV2PredictionResponse' x-evidence: kind: documentation /v2/{v2id}: post: operationId: post_v2_v2id tags: - Api summary: Initiate a Session x-source: https://www.kintsugihealth.com/api/voice-api parameters: - name: v2id in: path required: true schema: type: string - name: Accept in: header required: true schema: type: string description: application/x-www-form-urlencoded - name: Content-Type in: header required: true schema: type: string description: application/x-www-form-urlencoded - name: X-API-Key in: header required: true schema: type: string description: Your API Key requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostV2V2IdRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostV2V2IdResponse' x-evidence: kind: documentation collapsed_from: 2 example path(s) differing only at v2Id components: schemas: PatchFeedbackServerPhq9Request: type: object properties: session_id: type: string description: Session identifier from the Initiate endpoint. actual_score: type: array description: Array of 9 integers (0‑3) for PHQ‑9 items. required: - session_id - actual_score PostInitiateRequest: type: object properties: user_id: type: string description: User identifier is_initiated: type: boolean description: Flag indicating initiation required: - user_id - is_initiated PostInitiateResponse: type: object properties: session_id: type: string description: Unique identifier for the analysis session. PostPredictRequest: type: object properties: session_id: type: string description: Identifier of the session status: type: string description: Processing status required: - session_id - status PostPredictResponse: type: object properties: created_at: type: string description: Timestamp of creation disclaimer: type: string is_calibrated: type: boolean model_category: type: string model_granularity: type: string predicted_is_deepfake: type: boolean predicted_deepfake_score: type: integer predicted_score: type: string status: type: string updated_at: type: string description: Timestamp of last update PostPredictServerDepressionDepressionidRequest: type: object properties: file: type: string description: Binary data of a single‑channel WAV 44.1 kHz audio file. session_id: type: string description: Session identifier from the Initiate endpoint. required: - file - session_id PostPredictServerDepressionDepressionidResponse: type: object properties: name: type: string description: Prediction label (e.g., no_to_mild). value: type: integer description: Numeric prediction value. PatchV2FeedbackDepressionBinaryRequest: type: object properties: session_id: type: string description: Session identifier. actual_score: type: boolean description: True, False, or Additional_consideration_required. required: - session_id - actual_score PatchV2FeedbackDepressionBinaryResponse: type: object properties: '200': type: string description: N/A – success. '401': type: object description: '{ "message": "string" }' '403': type: object description: '{ "message": "string" }' '404': type: object description: '{ "message": "string" }' '409': type: object description: '{ "message": "string" }' '422': type: object description: '{ "message": "string" }' '500': type: object description: '{ "message": "string" }' PatchV2FeedbackGad7Request: type: object properties: session_id: type: string description: Session identifier. actual_score: type: array description: Array of 7 integers (0‑3). required: - session_id - actual_score PatchV2FeedbackGad7Response: type: object properties: '200': type: string description: N/A – success. '401': type: object description: '{ "message": "string" }' '403': type: object description: '{ "message": "string" }' '404': type: object description: '{ "message": "string" }' '409': type: object description: '{ "message": "string" }' '422': type: object description: '{ "message": "string" }' '500': type: object description: '{ "message": "string" }' PatchV2FeedbackPhqPhqidRequest: type: object properties: session_id: type: string description: Session identifier. actual_score: type: array description: Array of 2 integers (0‑3). required: - session_id - actual_score PatchV2FeedbackPhqPhqidResponse: type: object properties: '200': type: string description: N/A – success. '401': type: object description: '{ "message": "string" }' '403': type: object description: '{ "message": "string" }' '404': type: object description: '{ "message": "string" }' '409': type: object description: '{ "message": "string" }' '422': type: object description: '{ "message": "string" }' '500': type: object description: '{ "message": "string" }' GetV2PredictSessionsSessionidResponse: type: object properties: '200': type: object description: Prediction result object (see page). '401': type: object description: '{ "message": "string" }' '403': type: object description: '{ "message": "string" }' '404': type: object description: '{ "message": "string" }' '417': type: object description: Expectation failed with partial result. '422': type: object description: '{ "message": "string" }' '500': type: object description: '{ "message": "string" }' GetV2PredictUsersUseridResponse: type: object properties: '200': type: array description: Array of prediction objects (see page). '401': type: object description: '{ "message": "string" }' '403': type: object description: '{ "message": "string" }' '422': type: object description: '{ "message": "string" }' '500': type: object description: '{ "message": "string" }' PostV2PredictionRequest: type: object properties: file: type: string description: Binary WAV file (multipart). session_id: type: string description: Session identifier from initiate call. required: - file - session_id PostV2PredictionResponse: type: object properties: '202': type: object description: '{ "session_id": "string", "status": "string" }' '401': type: object description: '{ "message": "string" }' '403': type: object description: '{ "message": "string" }' '404': type: object description: '{ "message": "string" }' '406': type: object description: '{ "message": "string" }' '409': type: object description: '{ "message": "string" }' '422': type: object description: '{ "message": "string" }' '500': type: object description: '{ "message": "string" }' PostV2V2IdRequest: type: object properties: user_id: type: string description: Identifier to track the patient. is_initiated: type: boolean description: Consent flag. metadata.age: type: integer description: Patient age (>0). metadata.gender: type: string description: Patient gender. metadata.race: type: string description: Patient race. metadata.ethnicity: type: string description: Patient ethnicity. metadata.zipcode: type: string description: 5‑digit US zipcode. metadata.language: type: boolean description: First language English flag. metadata.weight: type: integer description: Body weight in lbs (>0). required: - user_id - is_initiated PostV2V2IdResponse: type: object properties: '201': type: object description: '{ "session_id": "..." }' '401': type: object description: '{ "message": "string" }' '403': type: object description: '{ "message": "string" }' '406': type: object description: '{ "message": "string" }' '422': type: object description: '{ "message": "string" }' '500': type: object description: '{ "message": "string" }' securitySchemes: apiKey: type: apiKey in: header name: X-API-Key security: - apiKey: [] tags: - name: Api - name: Feedback - name: Initiate - name: Predict - name: Prediction