The Suki Ambient APIs generate clinical notes from real-time conversations between providers and patients. Most operations use standard endpoints and return HTTP status codes. For streaming audio, the APIs use WebSocket endpoints for real-time transmission and event notifications.
# Sample payload posted to your HTTPS webhook (test against a local listener)curl -X POST http://localhost:3000/webhooks/notification \ -H "Content-Type: application/json" \ -d '{ "status": "success", "session_id": "123dfg-456dfg-789dfg-012dfg", "encounter_id": "visit-abc-001", "sessions": [], "_links": { "contents": [ { "method": "GET", "href": "https://sdp.suki.ai/api/v1/ambient/session/123dfg-456dfg-789dfg-012dfg/content", "name": "content" } ] } }'
from flask import Flask, request, jsonifyapp = Flask(__name__)@app.route("/webhooks/notification", methods=["POST"])def handle_suki_webhook(): data = request.get_json(silent=True) or {} if data.get("status") == "success": return jsonify({"message": "Notification received"}), 200 if data.get("status") == "failure": return jsonify({"message": "Failure recorded"}), 200 return jsonify({"error": "Unknown status"}), 400if __name__ == "__main__": app.run(port=3000)
import express from "express";const app = express();app.use(express.json());app.post("/webhooks/notification", (req, res) => { const data = req.body; if (!data) { return res.status(400).json({ error: "Invalid request" }); } if (data.status === "success") { console.log("session_id:", data.session_id); return res.status(200).json({ message: "Notification received" }); } if (data.status === "failure") { return res.status(200).json({ message: "Failure notification received" }); } return res.status(400).json({ error: "Unknown status" });});app.listen(3000, () => { console.log("Webhook server listening on port 3000");});
What you can do with the Suki Ambient APIs
With the Suki Ambient APIs, you can create an ambient session, stream audio for the visit, and when processing finishes retrieve the
Clinical note or
Transcript. Start with the
Create session API and explore the other endpoints to build your own ambient session workflow.
For more advanced features related to note quality and structure, refer to
Multilingual support,
Personalization, and
Problem-Based Charting (PBC) guides. Learn how to use those advanced features while integrating the Suki Ambient APIs into your application.
The Ambient APIs are currently in Early Access. To request access, contact our partnership team.
Choose Ambient APIs if you want to build your own ambient session workflow with full control over the user experience.
API versioning
All endpoints use the /api/v1/ prefix. v1 is the stable version; non-breaking changes may ship without a major version bump. Some features are in Early Access and may change. For policies and migration, refer to the
API reference guidelines.
New APIs
Recently added endpoints you can adopt alongside the core Ambient workflow.
Get Session Recording
New
Use this API to stream or download the original audio from an ambient session.