API Client (TypeScript)

Programmatic access to the Respan REST API from TypeScript.

Install

npm install @respan/respan-api

Initialize

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

Usage

Spans

// Create a span
const span = await client.spans.create({
model: "gpt-4o",
input: '[{"role": "user", "content": "Hello"}]',
output: '{"role": "assistant", "content": "Hi!"}',
logType: "chat",
});
// List spans
const spans = await client.spans.list({
operator: "AND",
filters: { model: { operator: "", value: ["gpt-4o"] } },
});

Prompts

// List prompts
const prompts = await client.prompts.list();
// Create a prompt
const prompt = await client.prompts.create({
name: "customer-support",
description: "Support chatbot prompt",
});
// Create a version
const version = await client.prompts.createPromptVersion("prompt_abc123", {
messages: [{ role: "system", content: "You are a helpful {{role}}." }],
model: "gpt-4o",
});
// Deploy a version
await client.prompts.deployPromptVersion("prompt_abc123", { version: 3 });

Evaluators

// Create an evaluator
const evaluator = await client.evaluators.create({
name: "Response Quality",
type: "llm",
scoreValueType: "numerical",
llmConfig: {
model: "gpt-4o-mini",
evaluatorDefinition: "Rate the quality: {{input}} {{output}}",
},
});
// Run an evaluator
await client.evaluators.run("eval_abc123", {
datasetId: "ds_abc123",
});

Scores

// Create a score on a span
await client.scores.createSpanScore("log_abc123", {
evaluatorSlug: "quality",
numericalValue: 4.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