Skip to main content

Prompts SDK

Manage prompts programmatically with full type safety.

List Prompts

const { prompts } = await client.prompt.getApiPrompt({
  limit: 20,
  offset: 0,
});

prompts?.forEach(p => console.log(p.name, 'v' + p.version));

Create Prompt

const prompt = await client.prompt.postApiPrompt({
  name: 'Support Assistant',
  humanPrompt: 'You are a helpful assistant for {{company}}.',
  description: 'Customer support prompt',
  inputSchema: {
    type: 'object',
    properties: {
      company: { type: 'string' },
    },
  },
});

console.log('Created:', prompt.id);

Get Prompt by ID

const prompt = await client.prompt.getApiPromptById({
  id: 123,
});

console.log(prompt.name, 'v' + prompt.version);
console.log('Content:', prompt.humanPrompt);

Update Prompt

const updated = await client.prompt.patchApiPromptById({
  id: 123,
  name: 'Updated Name',
  description: 'New description',
});

Delete Prompt

await client.prompt.deleteApiPromptById({
  id: 123,
});

Create New Version

const newVersion = await client.prompt.postApiPromptByIdVersions({
  id: 123,
  humanPrompt: 'Updated prompt content for {{company}}.',
});

console.log('New version:', newVersion.version);

List Prompt’s Datasets

const { datasets } = await client.promptDatasets.getApiPromptByIdDatasets({
  id: 123,
});

datasets?.forEach(d => console.log(d.name, `(${d.itemCount} items)`));

Type Definitions

interface Prompt {
  id: number;
  name: string;
  description?: string;
  version: string;
  isLatest: boolean;
  systemPrompt?: string;
  humanPrompt?: string;
  rawPrompt?: string;
  inputSchema: unknown;
  outputSchema: unknown;
  metadata: unknown;
  createdAt: string;
  updatedAt: string;
  createdBy: string;
  tags: string[];
}

Method Reference

MethodDescription
getApiPrompt()List all prompts
postApiPrompt()Create a new prompt
getApiPromptById({ id })Get prompt by ID
patchApiPromptById({ id, ...data })Update prompt
deleteApiPromptById({ id })Delete prompt
postApiPromptByIdVersions({ id, ...data })Create new version