@arizeai/ax-client
v1.3.1
Published
A Typescript client for the Arize AX API
Readme
Arize AX TS Client
This package provides a TypeScript client for the Arize AX REST API. It is still under active development and is subject to change.
Installation
# or yarn, pnpm, bun, etc.
npm install @arizeai/ax-clientConfiguration
The 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.
Datasets
The @arizeai/ax-client package allows you to create and manage datasets.
Creating a dataset
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",
},
],
});Experiments
The @arizeai/ax-client package allows you to create and manage experiments.
Listing experiment runs
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",
});API Keys
The @arizeai/ax-client package allows you to create, list, delete, and refresh API keys.
Creating an API key
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"),
});Listing API keys
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" });Deleting an API key
import { deleteApiKey } from "@arizeai/ax-client";
await deleteApiKey({ apiKeyId: "your-api-key-id" });Refreshing an API key
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"),
});REST endpoints
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");