---
title: "Introducing the Raison TypeScript SDK"
description: "@raison/sdk is live: one typed client for prompts, variables, and deployment state, with your schema enforced at compile time."
url: https://coyotiv.com/blog/introducing-the-raison-typescript-sdk/
---

1. [Blog](https://coyotiv.com/blog/)
2. [Products & research](https://coyotiv.com/blog/products/)

# Introducing the Raison TypeScript SDK

@raison/sdk is live: one typed client for prompts, variables, and deployment state, with your schema enforced at compile time.

Coyotiv

- 4 August 2026
- 2 min read

_This post was first published on the [Raison blog](https://raison.ist/blog/introducing-the-raison-sdk). [Raison](https://raison.ist/) is Coyotiv’s platform for managing AI prompts as a team: versions, environments, evaluations and rollbacks, without an application deployment. [Read how it started](https://coyotiv.com/blog/coyotiv-announces-raison-prompt-management/)._

The `@raison/sdk` package is now available. It gives you a typed client for everything you would otherwise do with raw HTTP calls.

```bash
npm install @raison/sdk

```

## Fetching a prompt

```ts
import { Raison } from "@raison/sdk";

const client = new Raison({ apiKey: process.env.RAISON_API_KEY });

const prompt = await client.getPrompt("customer-support", {
  variables: { customer_name: "Ada", plan_tier: "pro" },
});

```

Variables are typed from your prompt’s schema, so a missing or misspelled key is a compile-time error rather than a malformed system prompt in production.

That is the failure the SDK exists to remove, and it is worth being specific about why it hurts. Pass `plan` where the prompt expects `plan_tier` and nothing throws. The template renders `{{plan_tier}}` as literal text, the model reads instructions that make no sense, and the output is a little worse for every request until somebody notices.

## Environment-scoped clients

Set the environment once at construction and every call resolves against it:

```ts
const client = new Raison({
  apiKey: process.env.RAISON_API_KEY,
  environment: process.env.APP_ENV,
});

```

Your code asks for `customer-support` and gets whichever version is deployed there. Application code never names a version number, which is the entire reason [dev, staging, and production stay separate](https://raison.ist/blog/prompt-environments-explained).

## Also in this release

- **Deployment reads** via `client.getDeployment(promptId, environment)`. Log the version that served a request and an incident becomes [a question you can answer](https://raison.ist/blog/why-prompts-need-version-control) instead of a reconstruction.
- **Response caching** with a configurable TTL, on by default. Prompt fetches sit in your request path, so the default is the one that keeps them off it.
- **Full REST parity**, documented at [raison.apidocumentation.com](https://raison.apidocumentation.com/).

Python and Go clients are next. Dated notes for every release, SDK or otherwise, are in the [Raison changelog](https://raison.ist/changelog).

Try Raison at [raison.ist](https://raison.ist/), and see the rest of what we build on our [products page](https://coyotiv.com/products/).

In this article

1. [Fetching a prompt](https://coyotiv.com/blog/introducing-the-raison-typescript-sdk/#fetching-a-prompt)
2. [Environment-scoped clients](https://coyotiv.com/blog/introducing-the-raison-typescript-sdk/#environment-scoped-clients)
3. [Also in this release](https://coyotiv.com/blog/introducing-the-raison-typescript-sdk/#also-in-this-release)

Share

- [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoyotiv.com%2Fblog%2Fintroducing-the-raison-typescript-sdk%2F)
- [X](https://x.com/intent/post?url=https%3A%2F%2Fcoyotiv.com%2Fblog%2Fintroducing-the-raison-typescript-sdk%2F&text=Introducing+the+Raison+TypeScript+SDK)

More from the blog

## Keep reading.

[All posts](https://coyotiv.com/blog/)

Products & research 
- 1 October 2026
- 6 min read

### [Coyotiv introduces Unpile: clear your Gmail inbox one sender at a time](https://coyotiv.com/blog/coyotiv-introduces-unpile/)

Products & research 
- 19 September 2026
- 5 min read

### [Introducing CoyoPedal, an ESP32-S3 effects processor with NAM A2 Full amp profiles](https://coyotiv.com/blog/introducing-coyopedal/)

Products & research 
- 18 August 2026
- 6 min read

### [Every plug-in you own. One pedalboard: meet Taurus](https://coyotiv.com/blog/every-plugin-you-own-one-pedalboard-meet-taurus/)
