@userevaluation/api
v1.0.0
Published
Official TypeScript client for the User Evaluation public API
Downloads
114
Readme
@userevaluation/api
Official TypeScript client for the User Evaluation public API.
npm install @userevaluation/apiimport { UE, UEError } from "@userevaluation/api";
const ue = new UE({ apiKey: process.env.UE_API_KEY! });
const me = await ue.me.get();
const { data: projects } = await ue.projects.list({ limit: 10 });
try {
const job = await ue.files.transcribe(fileId);
// poll
let result;
while (true) {
result = await ue.jobs.get(job.id);
if (result.status === "succeeded" || result.status === "failed") break;
await new Promise((r) => setTimeout(r, 2000));
}
} catch (e) {
if (e instanceof UEError && e.code === "quota_exceeded") {
// upgrade prompt
}
throw e;
}API surface
The client wraps the most-used endpoints with typed methods. Anything else, use ue.request<T>(method, path, body).
ue.me.get()/ue.me.workspace()ue.projects.{list, get, create, update, delete, listTests, listFiles, listTags}ue.tests.{get, listResponses}ue.files.{get, transcript, transcribe}ue.jobs.get(id)ue.webhooks.{list, create, delete}ue.usage.get()
Errors
Every non-2xx response throws a UEError with code, status, and details. Branch on code, not message.
catch (e) {
if (e instanceof UEError) {
switch (e.code) {
case "rate_limited":
case "plan_required":
case "quota_exceeded":
// ...
}
}
}Versioning
This client targets /v1. Major version bumps follow API major versions.
