Jev API testing
The documented way to see Jev is the Playground and then official curl / SDK samples. jev.pro cannot run your tests against TypeSafe and will not accept a key.
This page is for builders who searched an extra “endpoint” name while wiring Jev / System One. jev.pro is an independent unofficial field guide — not affiliated with TypeSafe AI. We do not sell or issue keys. Confirm first-party routes on docs.typesafe.ai/api.
The public API reference documents one evaluation route — POST https://api.typesafe.ai/v1/systemone — plus GET /v1/models. This title is not a separate first-party URL in that reference. Treat the capability as something you implement around the official call. There is no documented /v1/test sandbox route.
Steps
- Settle wording in the Playground.
- Freeze a JSON fixture (state + questions + pin).
- Assert policy actions in CI, not only argmax labels.
- Contract-test 401/422 with bad keys/bodies against your wrapper mocks if you lack a shared sandbox key.
- Never commit live secrets.
What to assert
A fixture is model, state, and questions. Pin jev-1.13.0 so jev-latest moving does not fail the suite. On the snapshot we read, jev-latest and jev-preview resolve to that id — confirm. Record expected actions (hold, route to billing, refuse publish) derived from:
- Noul bands (Noul has no
confidence) - Choice/Score
probabilitiesandconfidence - Your floors — illustrations in docs are not defaults
Do not average Nouls across questions into a single “accuracy.” Questions are independent. Schema-safe ≠ factually correct; a golden choice can still be a bad policy if the state was incomplete.
Python tests use typesafe-sdk (TypeSafeClient / AsyncTypeSafeClient, TYPESAFE_API_KEY, Python ≥ 3.10). JS tests use @typesafe-ai/sdk on Node 20+ (systemOne). Official SDKs retry 429/529; CI should not treat a single 429 as a product regression if you forgot backoff. Documented errors only: 401, 422, 429, 529.
Live calls spend input tokens (vendor claim: $0.042 / million input, output free). Prefer mocks for 401/422; use a shared paid key only for a small nightly pin-replay.
Pitfalls
- Golden-file tests that fail when
jev-latestmoves — pin the id. - Averaging Nouls across questions as a single “accuracy.”
- Pointing CI at jev.pro. We do not proxy evaluations.
- Committing
TYPESAFE_API_KEYin GitHub Actions logs.
See also
- API hub — the POST your fixtures hit
- Playground — wording before you freeze JSON
- First API call — official curl
- Testing guide — offline labels
FAQ
Title used to say “Api Testing” — official name?
No. This is a testing pattern page.
Can I point CI at jev.pro?
We do not proxy evaluations.
Offline eval?
Labeled JSONL + frozen questions — offline evaluation.
Should CI retry 422?
No. Fix the body. Retry 429/529 only.
What this page does not claim
- Official TypeSafe status, logos, or support.
- That jev.pro sells, issues, or proxies API keys.
- Extra first-party HTTP routes beyond
POST /v1/systemoneandGET /v1/modelsunless the API reference lists them. - Invented latency SLOs, search volume, or unofficial prices. List price and rate limits are vendor claims — confirm on models.
- That a schema-constrained answer is automatically factually correct.
Disclaimer
This is an independent unofficial site and is not affiliated with TypeSafe AI; official documentation is available at https://docs.typesafe.ai. Never treat jev.pro as TypeSafe official documentation. We do not sell, issue, or proxy API keys.