1
Create an account in the self-service API Console
Get access
Get access
The Corti API Console is where you can create an account to access Corti AI Create an account
Create a project
Create API clients
Use the client ID and client secret in your app
Develop against the API and collaborate with your project team
Monitor usage, manage billing and more
Create a project
Create API clients
Use the client ID and client secret in your app
Develop against the API and collaborate with your project team
Monitor usage, manage billing and more
Walkthrough video
Walkthrough video
2
Authenticate and test the API
Authenticate
Authenticate
Authentication to the API on all environments is governed by OAuth 2.0. This authentication protocol offers enhanced security measures, ensuring that access to patient data and medical documentation is securely managed and compliant with healthcare regulations.
By default, you will receive a client-id and client-secret to authenticate via
client credentials grant type.1
Request an access token
To acquire an access token, make a request to the authURL provided to you:
The full request body that needs to be of
auth URL
Create your account and client credentials in the API Console - in addition to client ID and client secret you’ll see the tenant name and environment.
The full request body that needs to be of
Content-Type: "application/x-www-form-urlencoded" looks like this:Client Credentials request body
2
Receive an access token
It will return you an As you can see, the access token expires after 300 seconds (5 minutes). By default as per oAuth standards, no refresh token is used in this flow. There are many available modules to manage monitoring expiry and acquiring a new access token. However, a refresh token can be enabled if needed.
access_token:Access token
Code examples
Code examples
Example authentication code snippets for the Corti API in Python, JavaScript, and .NET:
Make an API request
Make an API request
Once you’re authenticated, make requests against the API. Below is a basic example for creating an Interaction. See all API requests and specifications here.
1
Call the base URL
Subsequently you use the
If, for example, you are on the eu environment and want to create an interaction as the starting point for any other workflow operations your URL will look like this:
access_token to authenticate any API request. The baseURL is dependent on the environment:baseURL API
Create your account and client credentials in the API Console - in addition to client ID and client secret you’ll see the tenant name and environment.
If, for example, you are on the eu environment and want to create an interaction as the starting point for any other workflow operations your URL will look like this:
URL to create an interaction
2
Pass the auth token
For REST API requests, your
For WebSocket connections, the
access_token should be passed as part of the Request Header. Additionally you need to include the Tenant-Name parameter:API call request header
Create your account and client credentials in the API Console - in addition to client ID and client secret you’ll see the tenant name and environment.
For WebSocket connections, the
access_token should be passed in as URL parameter. The Tenant-Name is already part of the WebSocket url returned with the create interaction request:wss url with access_token appended
Walkthrough video
Walkthrough video
3
Building a complete workflow
Example workflow design and planning
Example workflow design and planning
Goal: Integrate with Corti SDK to enable an ambient documentation, AI scribe workflow application
| Decision | Integration Planning | |
|---|---|---|
| 1 | How will audio be processed - real-time web socket connection, via /stream API (recommended) or asynchronous processing, via /recordings and `/transcripts APIs? | To use the /stream API, follow the path for real-time ambient documentation; to use the /recordings and /transcripts APIs, follow the path of asynchronous ambient documentation. |
| 2 | What template(s) will be used in document generation workflow? | Use the GET/templates request to see available templates. In addition to accessing Corti-default templates, you can add the ?org= filter to find templates available to your specific organization. |
| 3 | Will document be generated based on Facts (recommended), transcript, or string? | Designing around Facts, transcript, or string will determine how to use the context variable in the Generate Document request. |
| 4 | Will EHR context or other data be used as Facts in document generation? | If yes, then use the Add Facts request to support the context updates. |
| 5 | How will the output be integrated into EHR or other target systems? | Document output will be a json object that can be saved as a full note, or parsed by section so that text can be directed to appropriate fields in the target system. |
Asynchronous Ambient Scribing Example
Asynchronous Ambient Scribing Example
The first step will be to create an interaction, as shown above. Once you’ve created your interaction, the interaction ID can be used for the steps that follow below.
1
Upload a recording
Here is where you use the Create a helper function to upload a recording:
interaction ID.upload recording
full function
The createReadStream import is used to create a readable stream from a file path.Find the full specification for uploading a recording in the API reference.
2
Generate a transcript
Here you’ll need the
interactionId as well as the recordingId returned from the upload response.Generate a transcript
Find the full specification for generating a transcript in the API reference
3
Generating a document
Here you need the interactionId and transcript text (
transcript) from the previous step.Generate a Document
Find the full specification for generating a document in the API reference
4
Retrieving the document
If you need to retrieve a generated document again or at a later time (since the
create call already returns the document), you can do so using the interactionId and documentId from the previous step.Get a Document
Find the full specification for retrieving a document in the API reference here
4
Putting it all together
Javascript SDK example
Javascript SDK example
The
dotenv import loads environment variables from a .env file. This keeps sensitive values like your client ID and client secret out of your source code, which is considered best practice.