API Reference¶
Complete reference documentation for the Contio Partner SDK.
SDK Classes¶
ContioPartnerSDK¶
The main entry point for the SDK. Use the static factory methods to create SDK instances.
import { ContioPartnerSDK } from '@contio/partner-sdk';
// For OAuth user operations
const { oauth, user } = ContioPartnerSDK.forUser({
clientId: 'your-client-id',
clientSecret: 'your-client-secret',
redirectUri: 'https://your-app.com/callback'
});
// For API key admin operations
const { admin } = ContioPartnerSDK.forAdmin({
apiKey: 'your-api-key'
});
OAuthClient¶
Handles OAuth 2.0 authorization flow.
| Method | Description |
|---|---|
getAuthorizationUrl(state?, scopes?) | Generate authorization URL |
exchangeCodeForToken(code) | Exchange authorization code for tokens |
refreshToken(refreshToken) | Refresh an expired access token |
setTokens(tokens) | Set tokens for authenticated requests |
PartnerUserClient¶
Access user data via OAuth 2.0.
Meetings¶
// List meetings with optional filters
const meetings = await sdk.user.getMeetings({
limit: 50, // Max results (default: 20)
offset: 0, // Pagination offset
start_date: '2024-01-01T00:00:00Z', // Filter by start date
end_date: '2024-12-31T23:59:59Z' // Filter by end date
});
// Get specific meeting
const meeting = await sdk.user.getMeeting(meetingId);
// Get meeting notes/summary
const notes = await sdk.user.getMeetingNotes(meetingId);
// Get meeting transcript
const transcript = await sdk.user.getMeetingTranscript(meetingId);
Action Items¶
// List action items with optional filters
const actionItems = await sdk.user.getActionItems({
limit: 50,
offset: 0,
meeting_id: 'meeting-id', // Filter by meeting
is_completed: false, // Filter by status
has_partner_assignment: true // Only partner-assigned items
});
// Create action item
const newItem = await sdk.user.createActionItem({
meeting_id: 'meeting-id',
description: 'Follow up with client',
due_date: '2024-01-08T17:00:00Z', // RFC3339 format
partner_context: { // Custom metadata
crm_id: '12345',
priority: 'high'
}
});
// Update action item
const updated = await sdk.user.updateActionItem(actionItemId, {
is_completed: true,
partner_context: { resolution: 'Completed via email' }
});
// Delete action item
await sdk.user.deleteActionItem(actionItemId);
User Profile¶
// Get authenticated user's profile
const profile = await sdk.user.getProfile();
// profile.workspace_id - UUID of the user's workspace
// profile.workspace_name - Display name of the workspace
// profile.workspace_role - "WORKSPACE_OWNER" | "WORKSPACE_ADMIN" | "WORKSPACE_MEMBER"
// List user's workspaces
const workspaces = await sdk.user.getWorkspaces();
PartnerAdminClient¶
Manage partner app configuration via API key.
Workflows¶
// List workflows
const workflows = await sdk.admin.getWorkflows({ limit: 50, offset: 0 });
// Create workflow
const workflow = await sdk.admin.createWorkflow({
name: 'CRM Integration',
description: 'Sync action items to CRM',
trigger_type: 'action_item_created',
actions: [{
type: 'webhook',
config: { url: 'https://your-crm.com/webhook', method: 'POST' }
}]
});
// Update workflow
await sdk.admin.updateWorkflow(workflowId, { status: 'active' });
// Delete workflow
await sdk.admin.deleteWorkflow(workflowId);
Partner App Management¶
// Get app info
const app = await sdk.admin.getApp();
// Update app details
await sdk.admin.updateApp({
name: 'Updated App Name',
webhook_url: 'https://new-webhook-url.com'
});
// Get usage statistics
const stats = await sdk.admin.getStats();
User Connections¶
// List user connections
const connections = await sdk.admin.getConnections({
limit: 50,
offset: 0,
status: 'active' // 'active' | 'revoked'
});
// Revoke a connection
await sdk.admin.revokeConnection(connectionId);
Webhook Deliveries¶
// List webhook deliveries
const deliveries = await sdk.admin.getWebhookDeliveries({
limit: 50,
offset: 0,
status: 'failed' // 'pending' | 'success' | 'failed'
});
// Retry failed delivery
await sdk.admin.retryWebhookDelivery(deliveryId);
Credential Management¶
See Credential Management Guide for detailed rotation workflows.
WebhookVerifier¶
Verify webhook signatures for security.
import { WebhookVerifier } from '@contio/partner-sdk';
const verifier = new WebhookVerifier(webhookSecret);
const result = verifier.verifySignature(payload, signature, timestamp);
if (result.isValid) {
// Process webhook
} else {
console.error('Invalid signature:', result.error);
}
Advanced Configuration¶
The SDK supports custom configuration for advanced use cases:
import { ContioPartnerSDK } from '@contio/partner-sdk';
const sdk = new ContioPartnerSDK({
oauth: {
clientId: 'your-client-id',
clientSecret: 'your-client-secret',
redirectUri: 'https://your-app.com/callback'
},
apiKey: 'your-api-key',
baseURL: 'https://api.contio.ai', // Custom API endpoint
timeout: 60000 // Request timeout in ms (default: 30000)
});
| Option | Type | Default | Description |
|---|---|---|---|
oauth.clientId | string | - | OAuth client ID |
oauth.clientSecret | string | - | OAuth client secret |
oauth.redirectUri | string | - | OAuth redirect URI |
apiKey | string | - | API key for admin operations |
baseURL | string | https://api.contio.ai | API base URL |
timeout | number | 30000 | Request timeout in milliseconds |
TypeDoc Reference¶
For detailed type definitions, interfaces, and method signatures, see the full TypeDoc-generated documentation:
Types & Interfaces¶
Key interfaces exported by the SDK:
Meeting- Meeting objectActionItem- Action item objectWorkflow- Workflow configurationWebhookEvent- Webhook event payloadOAuthTokens- OAuth token responsePartnerApp- Partner app configurationPartnerStats- Usage statistics
See TypeDoc Reference for complete type definitions.