Guides

Jev compatibility

Codiv implements the same wire API as TypeSafe's Jev, so code written for Jev runs against OpenJev with a new base URL and key.

Switching

Set two environment variables. No code changes are needed:

Shell
export TYPESAFE_API_KEY="sk-codiv-..."
export TYPESAFE_BASE_URL="https://api.codiv.ai"

The SDKs' default model, jev-latest, is accepted as an alias for openjev-latest.

What is the same

  • POST /v1/systemone and GET /v1/models, with the same request and response fields.
  • The noul, choice and score question types and their answer shapes, including legend and confidence.
  • The error shapes: validation lists on 422, and {"detail": {"error_type", "message"}} otherwise.
  • The x-typesafe-request-id response header, so SDK request ids keep working.

Extensions

OpenJev adds optional fields that Jev doesn't have: images, steps, samples, think and sequential. They are purely additive. A request without them is answered exactly as Jev's contract describes, and the TypeSafe SDKs never send them. See Images and Read options.

Codiv also serves text generation at POST /v1/chat/completions, and OpenAI's Decisions API at POST /v1/decisions, so the OpenAI SDKs' client.decisions.create works too. Both are separate endpoints and don't change /v1/systemone.

Differences

  • Model names are OpenJev's own: openjev-latest and openjev-0.1, with jev-latest and jev-preview accepted as aliases. Codiv also serves laya-1.0, verdict-1.4, clm-v0.1 and jevk5-0.3, which are text only, and clef-flash-1.0, which takes images. A pinned Jev version such as jev-1.13.0 answers 400 Unknown model.
  • Answers come from a different model, so probabilities will differ. Re-check any thresholds you tuned on Jev.

Codiv and OpenJev are independent projects and are not affiliated with TypeSafe AI. Jev is a model by TypeSafe AI.