Skip to content

Code Examples

Comprehensive working code examples demonstrating OpenComplai usage patterns.

Example Categories

Basic Usage

Common patterns and getting started: - Create, Read, Update, Delete (CRUD) - Python and JavaScript examples - Error handling - File uploads - Polling for results - Batch operations

Advanced Patterns

Production-ready patterns: - Retry logic with exponential backoff - Caching strategies - Batch processing with progress - Webhook listeners - Streaming large results - Parallel requests - Configuration management - Graceful degradation

Integrations

Integrate with popular platforms: - Zapier automation - Slack notifications - Make workflows - n8n pipelines - GitHub Actions - API gateways - Database integration - Email processing


Quick Example

Python

from opencomplai import Client

client = Client(api_key="sk_test_xyz...")

# Create a document
doc = client.documents.create(
    title="My First Document",
    content="# Hello World\n\nThis is my document."
)

# Get the document
doc = client.documents.get(doc.id)
print(f"Title: {doc.title}")

JavaScript

import { OpenComplai } from '@opencomplai/sdk';

const client = new OpenComplai({
  apiKey: 'sk_test_xyz...'
});

// Create a document
const doc = await client.documents.create({
  title: "My First Document",
  content: "# Hello World\n\nThis is my document."
});

console.log(`Title: ${doc.title}`);

Learning Path

  1. Start Here: Quick Start (5 min)
  2. First Project: First Project (30 min)
  3. Learn Patterns: Basic Usage (1-2 hours)
  4. Go Advanced: Advanced Patterns (2-4 hours)
  5. Integrate: Integrations (varies)

By Language

Python Examples

JavaScript Examples


By Use Case

Document Processing

Data Extraction

Automation & Integration

Building Apps


Common Recipes

Upload and Wait

from opencomplai import Client
import time

client = Client(api_key="sk_...")
doc = client.documents.create(title="Doc", content="...")

# Wait for processing
while True:
    doc = client.documents.get(doc.id)
    if doc.processing_status == 'completed':
        break
    time.sleep(1)

print("Done!")

Error Handling

from opencomplai import Client
from opencomplai.errors import APIError

client = Client(api_key="sk_...")
try:
    doc = client.documents.create(...)
except APIError as e:
    print(f"Error: {e.message}")

Batch Processing

from opencomplai import Client

client = Client(api_key="sk_...")
docs = [
    {"title": "Doc 1", "content": "..."},
    {"title": "Doc 2", "content": "..."},
]

for doc_data in docs:
    doc = client.documents.create(**doc_data)
    print(f"Created: {doc.id}")

Testing Your Code

Local Testing

# Set environment variable
export OPENCOMPLAI_API_KEY=sk_test_xyz...

# Run example
python examples/basic_crud.py

Unit Tests

from unittest.mock import Mock, patch
from opencomplai import Client

def test_create_document():
    with patch('opencomplai.Client.documents.create') as mock:
        mock.return_value = Mock(id='doc_123', title='Test')

        client = Client(api_key="sk_...")
        doc = client.documents.create(title='Test', content='...')

        assert doc.id == 'doc_123'
        assert doc.title == 'Test'