Skip to main content

Calling the System One API

Typed system_one responses

It is possible to provide a response model to system_one to make using the response more type-safe:

Custom response types

It is also possible to define a completely new response model without inheriting from SystemOneResponse:

Choosing a model

Inspect the available models:
Select the model when constructing a client:
See the Models resource reference for details.

Retries

Pass a custom RetryPolicy as retry on the client or per call.

Error handling

Handle exceptions raised by the SDK:

Logging

The SDK logs to the typesafe_sdk logger. Configure it according to standard logging guide:
Or set TYPESAFE_LOG_LEVEL to one of debug, info, warning, error, or off before importing the SDK. info logs one summary line per request; debug also logs request and response headers and bodies. Secret headers — authorization, API keys, cookies, and any header whose name contains token or secret — are redacted from log output. Request and response bodies are not redacted.

Environment variables

The SDK reads and uses the following environment variables: See the constants reference for SDK defaults.

Forward compatibility

The SDK keeps working as the CosVec API evolves, so you can adopt new API features before an SDK release adds first-class support for them.

Extra request fields

Send request fields this SDK version predates with extra_body:

Raw question dictionaries

TipUnknown fields are a forward-compatibility escape hatch. Ignore their type-checking errors and prefer upgrading the SDK instead.

Unknown answer kinds

The SDK logs a warning and skips unrecognized answer kinds. Use raw_http_response to inspect the complete API response, including those answers:

Unknown response fields

Unknown extra fields on recognized responses are ignored.