API Client (TypeScript)

Programmatic access to the Respan REST API from TypeScript.

Install

$npm install @respan/respan-api

Initialize

1import { RespanClient } from "@respan/respan-api";
2
3const client = new RespanClient({
4 authorization: "Bearer YOUR_API_KEY",
5});

Usage

Spans

1// Create a span
2const span = await client.spans.create({
3 model: "gpt-4o",
4 input: '[{"role": "user", "content": "Hello"}]',
5 output: '{"role": "assistant", "content": "Hi!"}',
6 logType: "chat",
7});
8
9// List spans
10const spans = await client.spans.list({
11 operator: "AND",
12 filters: { model: { operator: "", value: ["gpt-4o"] } },
13});

Prompts

1// List prompts
2const prompts = await client.prompts.list();
3
4// Create a prompt
5const prompt = await client.prompts.create({
6 name: "customer-support",
7 description: "Support chatbot prompt",
8});
9
10// Create a version
11const version = await client.prompts.createPromptVersion("prompt_abc123", {
12 messages: [{ role: "system", content: "You are a helpful {{role}}." }],
13 model: "gpt-4o",
14});
15
16// Deploy a version
17await client.prompts.deployPromptVersion("prompt_abc123", { version: 3 });

Evaluators

1// Create an evaluator
2const evaluator = await client.evaluators.create({
3 name: "Response Quality",
4 type: "llm",
5 scoreValueType: "numerical",
6 llmConfig: {
7 model: "gpt-4o-mini",
8 evaluatorDefinition: "Rate the quality: {{input}} {{output}}",
9 },
10});
11
12// Run an evaluator
13await client.evaluators.run("eval_abc123", {
14 datasetId: "ds_abc123",
15});

Scores

1// Create a score on a span
2await client.scores.createSpanScore("log_abc123", {
3 evaluatorSlug: "quality",
4 numericalValue: 4.5,
5});

Full API Reference

For all available methods and parameters, see the API Reference.

SectionMethods
Spanscreate, list, retrieve, update, getSummary, ingest
Tracescreate, list, retrieve, delete, getSummary, bulkDelete
Userslist, retrieve, update, delete
GatewaycreateChatCompletion, createResponse
Promptscreate, list, retrieve, update, delete, createPromptVersion, deployPromptVersion
Evaluatorscreate, list, retrieve, update, delete, run
Datasetscreate, list, retrieve, update, delete
Scorescreate, list, retrieve, update, delete, createSpanScore
Experimentscreate, list, retrieve, delete
Modelslist, createCustomModel, retrieveCustomModel