SDK Overview
While the IdentityCall API can be accessed directly via HTTP requests, we provide client libraries and code examples for popular programming languages to make integration easier.
These are community-maintained SDK patterns and examples. They demonstrate best practices for integrating with the IdentityCall API.
Available Languages
Full-featured client with async support
PythonModern JavaScript/TypeScript client
Node.jsPSR-compliant HTTP client wrapper
PHPIdiomatic Ruby client with Rails integration
RubyQuick Comparison
| Feature | Python | Node.js | PHP | Ruby |
|---|---|---|---|---|
| Async Support | Yes | Yes | No | No |
| Type Hints | Yes | TypeScript | PHPDoc | YARD |
| File Upload | Yes | Yes | Yes | Yes |
| Progress Tracking | Yes | Yes | Yes | Yes |
| Retry Logic | Built-in | Built-in | Built-in | Built-in |
Installation
Python
pip install requests
# Optional for async support
pip install aiohttpCommon Patterns
All our SDK examples follow these patterns:
1. Environment-Based Configuration
API keys are read from environment variables:
export IDENTITYCALL_API_KEY="idc_your_api_key_here"2. Consistent Error Handling
All clients raise/throw specific exceptions for different error types:
AuthenticationError- Invalid or missing API keyPermissionError- Insufficient permissionsNotFoundError- Resource doesn’t existValidationError- Invalid request dataRateLimitError- Too many requestsAPIError- General server errors
3. Automatic Retry
Built-in retry logic for transient failures:
- Rate limit errors (429): Wait for
retry_afterheader - Server errors (5xx): Exponential backoff
4. Resource-Oriented Design
Each client follows a consistent structure:
client.recordings.list()
client.recordings.create()
client.recordings.get(id)
client.recordings.update(id)
client.recordings.delete(id)
client.recordings.transcription(id)
client.recordings.results(id)
client.recordings.summary(id)Getting Started
- Get your API key from the IdentityCall dashboard
- Choose your language and follow the installation instructions
- Set your environment variable with your API key
- Start making requests using the code examples