API Referencesdks@platform/sdk-ai

@platform/sdk-ai

Typed TypeScript client for services/ai. The page is generated from the SDK package source plus its generated OpenAPI types.

Installation

npm install @platform/sdk-ai

You’ll also need the shared auth/client helpers:

npm install @platform/hosts @platform/sdk

Quick start

import { LoopClient } from "@platform/sdk";
import { platformHost, SERVICE_NAMES } from "@platform/hosts";
import { createAiClient } from "@platform/sdk-ai";
 
const loop = new LoopClient({
  clientId: process.env.LOOP_CLIENT_ID!,
  clientSecret: process.env.LOOP_CLIENT_SECRET!,
  redirectUri: "https://your-app.example.com/auth/loop/callback",
});
 
const ai = createAiClient({
  baseUrl: platformHost({ service: SERVICE_NAMES.AI }),
  accessToken: tokens.access_token,
});

Use the convenience helpers below when the SDK exposes them, or call the typed endpoint methods directly with GET / POST / PATCH / DELETE.

Convenience helpers

This SDK does not add convenience helpers beyond the typed endpoint calls below.

Endpoint calls

GET /readyz

Underlying REST endpoint: GET /readyz

Parameters

None

Return type

Promise<{
  data?: paths["/readyz"]["get"]["responses"]["200"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.GET("/readyz");

POST /v1/admin/erasure

Underlying REST endpoint: POST /v1/admin/erasure

Parameters

  • body: paths["/v1/admin/erasure"]["post"]["requestBody"]["content"]["application/json"]

Return type

Promise<{
  data?: paths["/v1/admin/erasure"]["post"]["responses"]["200"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.POST("/v1/admin/erasure", {
  body: {
    /* paths["/v1/admin/erasure"]["post"]["requestBody"]["content"]["application/json"] */
  },
});

POST /v1/ai/chat

Underlying REST endpoint: POST /v1/ai/chat

Parameters

  • body: paths["/v1/ai/chat"]["post"]["requestBody"]["content"]["application/json"]

Return type

Promise<{
  data?: paths["/v1/ai/chat"]["post"]["responses"]["200"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.POST("/v1/ai/chat", {
  body: {
    /* paths["/v1/ai/chat"]["post"]["requestBody"]["content"]["application/json"] */
  },
});

POST /v1/ai/corpus/load

Underlying REST endpoint: POST /v1/ai/corpus/load

Parameters

  • body: paths["/v1/ai/corpus/load"]["post"]["requestBody"]["content"]["application/json"]

Return type

Promise<{
  data?: paths["/v1/ai/corpus/load"]["post"]["responses"]["200"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.POST("/v1/ai/corpus/load", {
  body: {
    /* paths["/v1/ai/corpus/load"]["post"]["requestBody"]["content"]["application/json"] */
  },
});

POST /v1/chat/completions

Underlying REST endpoint: POST /v1/chat/completions

Parameters

  • body: paths["/v1/chat/completions"]["post"]["requestBody"]["content"]["application/json"]

Return type

Promise<{
  data?: paths["/v1/chat/completions"]["post"]["responses"]["200"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.POST("/v1/chat/completions", {
  body: {
    /* paths["/v1/chat/completions"]["post"]["requestBody"]["content"]["application/json"] */
  },
});

GET /v1/conversations

Underlying REST endpoint: GET /v1/conversations

Parameters

  • query?: paths["/v1/conversations"]["get"]["parameters"]["query"]

Return type

Promise<{
  data?: paths["/v1/conversations"]["get"]["responses"]["200"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.GET("/v1/conversations", {
  params: {
    query: {
      /* paths["/v1/conversations"]["get"]["parameters"]["query"] */
    },
  },
});

POST /v1/conversations

Underlying REST endpoint: POST /v1/conversations

Parameters

  • body: paths["/v1/conversations"]["post"]["requestBody"]["content"]["application/json"]

Return type

Promise<{
  data?: paths["/v1/conversations"]["post"]["responses"]["201"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.POST("/v1/conversations", {
  body: {
    /* paths["/v1/conversations"]["post"]["requestBody"]["content"]["application/json"] */
  },
});

DELETE /v1/conversations/{id}

Underlying REST endpoint: DELETE /v1/conversations/\{id\}

Parameters

  • path: paths["/v1/conversations/{id}"]["delete"]["parameters"]["path"]

Return type

Promise<{
  data?: paths["/v1/conversations/{id}"]["delete"]["responses"]["200"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.DELETE("/v1/conversations/{id}", {
  params: {
    path: {
      id: "<id>",
    },
  },
});

PATCH /v1/conversations/{id}

Underlying REST endpoint: PATCH /v1/conversations/\{id\}

Parameters

  • path: paths["/v1/conversations/{id}"]["patch"]["parameters"]["path"]
  • body: paths["/v1/conversations/{id}"]["patch"]["requestBody"]["content"]["application/json"]

Return type

Promise<{
  data?: paths["/v1/conversations/{id}"]["patch"]["responses"]["200"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.PATCH("/v1/conversations/{id}", {
  params: {
    path: {
      id: "<id>",
    },
  },
  body: {
    /* paths["/v1/conversations/{id}"]["patch"]["requestBody"]["content"]["application/json"] */
  },
});

GET /v1/conversations/{id}/messages

Underlying REST endpoint: GET /v1/conversations/\{id\}/messages

Parameters

  • path: paths["/v1/conversations/{id}/messages"]["get"]["parameters"]["path"]
  • query?: paths["/v1/conversations/{id}/messages"]["get"]["parameters"]["query"]

Return type

Promise<{
  data?: paths["/v1/conversations/{id}/messages"]["get"]["responses"]["200"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.GET("/v1/conversations/{id}/messages", {
  params: {
    path: {
      id: "<id>",
    },
    query: {
      /* paths["/v1/conversations/{id}/messages"]["get"]["parameters"]["query"] */
    },
  },
});

POST /v1/conversations/{id}/messages

Underlying REST endpoint: POST /v1/conversations/\{id\}/messages

Parameters

  • path: paths["/v1/conversations/{id}/messages"]["post"]["parameters"]["path"]
  • body: paths["/v1/conversations/{id}/messages"]["post"]["requestBody"]["content"]["application/json"]

Return type

Promise<{
  data?: paths["/v1/conversations/{id}/messages"]["post"]["responses"]["200"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.POST("/v1/conversations/{id}/messages", {
  params: {
    path: {
      id: "<id>",
    },
  },
  body: {
    /* paths["/v1/conversations/{id}/messages"]["post"]["requestBody"]["content"]["application/json"] */
  },
});

POST /v1/embeddings

Underlying REST endpoint: POST /v1/embeddings

Parameters

  • body: paths["/v1/embeddings"]["post"]["requestBody"]["content"]["application/json"]

Return type

Promise<{
  data?: paths["/v1/embeddings"]["post"]["responses"]["200"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.POST("/v1/embeddings", {
  body: {
    /* paths["/v1/embeddings"]["post"]["requestBody"]["content"]["application/json"] */
  },
});

POST /v1/embeddings/vectorize

Underlying REST endpoint: POST /v1/embeddings/vectorize

Parameters

  • body: paths["/v1/embeddings/vectorize"]["post"]["requestBody"]["content"]["application/json"]

Return type

Promise<{
  data?: paths["/v1/embeddings/vectorize"]["post"]["responses"]["200"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.POST("/v1/embeddings/vectorize", {
  body: {
    /* paths["/v1/embeddings/vectorize"]["post"]["requestBody"]["content"]["application/json"] */
  },
});

POST /v1/extract/bloodwork

Underlying REST endpoint: POST /v1/extract/bloodwork

Parameters

  • body: paths["/v1/extract/bloodwork"]["post"]["requestBody"]["content"]["application/json"]

Return type

Promise<{
  data?: paths["/v1/extract/bloodwork"]["post"]["responses"]["200"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.POST("/v1/extract/bloodwork", {
  body: {
    /* paths["/v1/extract/bloodwork"]["post"]["requestBody"]["content"]["application/json"] */
  },
});

POST /v1/ingest/document

Underlying REST endpoint: POST /v1/ingest/document

Parameters

  • body: paths["/v1/ingest/document"]["post"]["requestBody"]["content"]["application/json"]

Return type

Promise<{
  data?: paths["/v1/ingest/document"]["post"]["responses"]["200"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.POST("/v1/ingest/document", {
  body: {
    /* paths["/v1/ingest/document"]["post"]["requestBody"]["content"]["application/json"] */
  },
});

GET /v1/insights

Underlying REST endpoint: GET /v1/insights

Parameters

  • query: paths["/v1/insights"]["get"]["parameters"]["query"]

Return type

Promise<{
  data?: paths["/v1/insights"]["get"]["responses"]["200"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.GET("/v1/insights", {
  params: {
    query: {
      /* paths["/v1/insights"]["get"]["parameters"]["query"] */
    },
  },
});

GET /v1/insights/{id}

Underlying REST endpoint: GET /v1/insights/\{id\}

Parameters

  • path: paths["/v1/insights/{id}"]["get"]["parameters"]["path"]

Return type

Promise<{
  data?: paths["/v1/insights/{id}"]["get"]["responses"]["200"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.GET("/v1/insights/{id}", {
  params: {
    path: {
      id: "<id>",
    },
  },
});

POST /v1/insights/generate

Underlying REST endpoint: POST /v1/insights/generate

Parameters

  • body: paths["/v1/insights/generate"]["post"]["requestBody"]["content"]["application/json"]

Return type

Promise<{
  data?: paths["/v1/insights/generate"]["post"]["responses"]["200"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.POST("/v1/insights/generate", {
  body: {
    /* paths["/v1/insights/generate"]["post"]["requestBody"]["content"]["application/json"] */
  },
});

POST /v1/recommend

Underlying REST endpoint: POST /v1/recommend

Parameters

  • body: paths["/v1/recommend"]["post"]["requestBody"]["content"]["application/json"]

Return type

Promise<{
  data?: paths["/v1/recommend"]["post"]["responses"]["200"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.POST("/v1/recommend", {
  body: {
    /* paths["/v1/recommend"]["post"]["requestBody"]["content"]["application/json"] */
  },
});

POST /v1/recommendations/products

Underlying REST endpoint: POST /v1/recommendations/products

Parameters

  • body: paths["/v1/recommendations/products"]["post"]["requestBody"]["content"]["application/json"]

Return type

Promise<{
  data?: paths["/v1/recommendations/products"]["post"]["responses"]["200"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.POST("/v1/recommendations/products", {
  body: {
    /* paths["/v1/recommendations/products"]["post"]["requestBody"]["content"]["application/json"] */
  },
});

POST /v1/search

Underlying REST endpoint: POST /v1/search

Parameters

  • body: paths["/v1/search"]["post"]["requestBody"]["content"]["application/json"]

Return type

Promise<{
  data?: paths["/v1/search"]["post"]["responses"]["200"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.POST("/v1/search", {
  body: {
    /* paths["/v1/search"]["post"]["requestBody"]["content"]["application/json"] */
  },
});

GET /v1/tools

Underlying REST endpoint: GET /v1/tools

Parameters

  • query?: paths["/v1/tools"]["get"]["parameters"]["query"]

Return type

Promise<{
  data?: paths["/v1/tools"]["get"]["responses"]["200"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.GET("/v1/tools", {
  params: {
    query: {
      /* paths["/v1/tools"]["get"]["parameters"]["query"] */
    },
  },
});

POST /v1/tools/{name}/invoke

Underlying REST endpoint: POST /v1/tools/\{name\}/invoke

Parameters

  • path: paths["/v1/tools/{name}/invoke"]["post"]["parameters"]["path"]
  • body: paths["/v1/tools/{name}/invoke"]["post"]["requestBody"]["content"]["application/json"]

Return type

Promise<{
  data?: paths["/v1/tools/{name}/invoke"]["post"]["responses"]["200"]["content"]["application/json"];
  error?: unknown;
  response: Response;
}>

Example

const result = await ai.POST("/v1/tools/{name}/invoke", {
  params: {
    path: {
      name: "<name>",
    },
  },
  body: {
    /* paths["/v1/tools/{name}/invoke"]["post"]["requestBody"]["content"]["application/json"] */
  },
});