← Home Docs

📖 API Reference

Complete API reference for the Correctover SDK. Full documentation with detailed parameter descriptions is available on GitHub.

AIProvider

Core class for multi-provider LLM calls with verified failover.

AIProvider(
    default: str,                    # Primary provider/model
    fallbacks: List[str] = [],       # Ordered fallback chain
    credentials: dict = {},          # BYOK credentials per provider
    contracts: List[Contract] = [],  # Default contracts for all calls
    circuit_breaker: dict = None,    # {"threshold": N, "window_seconds": S}
    failover_timeout_ms: int = 5000, # Max time for complete failover chain
)
# Methods:
#   .complete(messages, contracts=[], system="") -> Response
#   .stream(messages, contracts=[], system="") -> StreamResponse
#   .on_failover(callback) -> None
#   .metrics() -> ProviderMetrics

Contract

Factory class for creating validation contracts. See Contract Validation API for full details.

Contract.structure(name, schema)    # JSON Schema validation
Contract.schema(name, field_types)  # Field type validation
Contract.latency(name, max_ms)      # Response time SLA
Contract.cost(name, max_cents)      # Token cost budget
Contract.identity(name, expected)   # Model identity verification
Contract.integrity(name, **opts)    # Semantic coherence check

Response

Returned by AIProvider.complete()

response.validated        # bool: all contracts passed?
response.provider_used    # str: which provider served
response.data             # dict: parsed response content
response.latency_ms       # float: response time
response.cost_cents       # float: cost of this call
response.contract_results # dict: per-contract pass/fail
response.metrics          # ProviderMetrics object
response.failover_chain   # List[str]: provider chain tried

Checkpoint

Resilience for long-running agent chains

Checkpoint.save(chain_id, step, state)  # Save intermediate state
Checkpoint.load(chain_id)                # Resume from last checkpoint
Checkpoint.list(chain_id)                # List all saved checkpoints

DriftDetector

Real-time drift monitoring across all 6 dimensions

DriftDetector(
    dimensions=["schema", "latency", "cost", "identity", "integrity"],
    alert_threshold=0.05,
)
report = drift_detector.analyze(response)
# report.drifts: list of detected drifts per dimension