codiris-interview-sdk
v1.0.0
Published
Embed Codiris AI Interview functionality into your applications
Maintainers
Readme
@codiris/interview-sdk
Official SDK for integrating Codiris Interview capabilities into your applications.
Installation
npm install @codiris/interview-sdk
# or
yarn add @codiris/interview-sdk
# or
pnpm add @codiris/interview-sdkQuick Start
Basic Setup
import { InterviewClient } from '@codiris/interview-sdk';
const client = new InterviewClient({
apiKey: 'int_live_xxxxxxxxxxxxxxxxxxxxx', // Get from Settings > SDK Keys
});
// List projects
const projects = await client.listProjects();
// Get an interview
const interview = await client.getInterview('interview-id');React Integration
import { InterviewProvider, InterviewEmbed, useInterview } from '@codiris/interview-sdk/react';
function App() {
return (
<InterviewProvider config={{ apiKey: 'int_live_xxxxxxxxxxxxxxxxxxxxx' }}>
<InterviewPage />
</InterviewProvider>
);
}
function InterviewPage() {
return (
<InterviewEmbed
projectId="your-project-id"
onComplete={(interview) => {
console.log('Interview completed:', interview);
}}
/>
);
}Features
- Full API Coverage: Access all Codiris Interview endpoints
- React Components: Ready-to-use embed and widget components
- React Hooks: Data fetching hooks with loading states
- TypeScript: Full type definitions included
- Multiple Use Cases: Support for recruitment, user research, customer feedback, dating, and more
Documentation
For detailed documentation, visit talk.codiris.build/docs/interview-sdk
API Reference
Client Methods
Projects
getProject(projectId)- Get project detailslistProjects(options?)- List all projectscreateProject(data)- Create a new projectupdateProject(projectId, data)- Update a projectdeleteProject(projectId)- Delete a project
Interviews
getInterview(interviewId)- Get interview detailslistInterviews(projectId, filters?)- List interviewscreateInterview(projectId, data?)- Create an interviewsaveInterview(data)- Save interview progresscompleteInterview(interviewId, data)- Complete an interviewdeleteInterview(interviewId)- Delete an interview
Transcripts & Recordings
getTranscript(interviewId)- Get interview transcriptgetVoiceTranscript(interviewId)- Get voice transcriptgetAudioUrl(interviewId)- Get audio recording URLgetVideoUrl(interviewId)- Get video recording URLuploadRecording(interviewId, blob, type)- Upload recording
Results & Analysis
getResults(interviewId)- Get interview resultsgenerateResults(interviewId, mode?)- Generate AI analysisgetSummary(interviewId)- Get interview summaryexportResults(interviewId, format)- Export results
Questions & Agents
listQuestions(projectId)- List questionscreateQuestion(projectId, data)- Create a questionlistAgents(projectId)- List agentscreateAgent(projectId, data)- Create an agent
Tokens & Invitations
createToken(projectId, data)- Create interview tokenvalidateToken(token)- Validate a tokenlistTokens(projectId, filters?)- List tokens
React Components
<InterviewEmbed>- Embed interview form via iframe<InterviewWidget>- Floating widget button<InterviewCard>- Interview summary card<InterviewList>- List of interviews<TranscriptViewer>- Display transcript
React Hooks
useProject(projectId)- Fetch project datauseProjects(options?)- Fetch projects listuseInterview(interviewId)- Fetch interview datauseInterviews(projectId, filters?)- Fetch interviews listuseTranscript(interviewId)- Fetch transcriptuseInterviewResults(interviewId)- Fetch resultsuseQuestions(projectId)- Fetch questionsuseAgents(projectId)- Fetch agents
Use Cases
The SDK supports multiple interview modes:
- Recruitment - Technical and behavioral interviews
- User Research - Product feedback and UX research
- Customer Feedback - Satisfaction surveys
- Dating - Compatibility conversations
- Multi-Agent - Debates, panels, and simulations
- And many more...
License
MIT
