This package provides a TypeScript client for the Arize AX REST API. It is still under active development and is subject to change.
# or yarn, pnpm, bun, etc.
npm install @arizeai/ax-clientThe client will automatically read environment variables from your environment, if available.
The following environment variables are used:
ARIZE_API_KEY- The API key to use for authentication.ARIZE_BASE_URL- The base URL of the Arize AX API.
Alternatively, you can pass configuration options to the client directly, and they will be prioritized over environment variables and default values.
The @arizeai/ax-client package allows you to create and manage datasets.
Create a dataset by providing a spaceId, name, and array of examples (each containing at least one property). There are a few examples below, check out our docs for full documentation.
import { createDataset } from "@arizeai/ax-client";
const dataset = await createDataset({
name: "my-dataset",
spaceId: "space-id",
examples: [
{
question: "What is 2 + 2?",
answer: 4,
topic: "math",
},
],
});The @arizeai/ax-client package allows you to create and manage experiments.
You can list experiment runs by providing an experimentId and an optional limit of experiment runs to return. There are a few examples below, check out our docs for full documentation.
import { listExperimentRuns } from "@arizeai/ax-client";
const experimentRuns = await listExperimentRuns({
experimentId: "experiment-id",
});The @arizeai/ax-client package allows you to create, list, delete, and refresh API keys.
import { createApiKey } from "@arizeai/ax-client";
const apiKey = await createApiKey({ name: "CI pipeline key" });
// Store apiKey.key securely — the full key value is only returned once
console.log(apiKey.key);Service keys can be scoped to a specific space with optional role assignments:
const apiKey = await createApiKey({
name: "service-key",
keyType: "service",
spaceId: "your-space-id",
roles: { spaceRole: "member" },
expiresAt: new Date("2027-01-01"),
});import { listApiKeys } from "@arizeai/ax-client";
const { data } = await listApiKeys();
console.log(data.map((k) => k.name));
// Filter by key type or status
const { data: userKeys } = await listApiKeys({ keyType: "user" });import { deleteApiKey } from "@arizeai/ax-client";
await deleteApiKey({ apiKeyId: "your-api-key-id" });Atomically revokes an existing key and issues a replacement with the same metadata (name, description, key type). The old key is invalidated and the new key is activated in a single transaction.
import { refreshApiKey } from "@arizeai/ax-client";
const refreshed = await refreshApiKey({ apiKeyId: "your-api-key-id" });
// Store refreshed.key securely — the full key value is only returned once
console.log(refreshed.key);Supply expiresAt to set an expiration on the replacement key:
const refreshed = await refreshApiKey({
apiKeyId: "your-api-key-id",
expiresAt: new Date("2027-01-01"),
});It is recommended to use the methods in this package. If more control is desired, you can use the client directly. The client provides a type-safe fetch for the entire Arize AX REST API.
import { createClient } from "@arizeai/ax-client";
const client = createClient();
// Get all datasets
const response = await client.GET("/v2/datasets");