API Referencesdks@platform/sdk-analytics

@platform/sdk-analytics

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

Installation

npm install @platform/sdk-analytics

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 { createAnalyticsClient } from "@platform/sdk-analytics";
 
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 analytics = createAnalyticsClient({
  baseUrl: platformHost({ service: SERVICE_NAMES.ANALYTICS }),
  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

POST /cohort/changepoint

Underlying REST endpoint: POST /cohort/changepoint

Parameters

  • body: paths["/cohort/changepoint"]["post"]["requestBody"]["content"]["application/json"]

Return type

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

Example

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

POST /cohort/regression

Underlying REST endpoint: POST /cohort/regression

Parameters

  • body: paths["/cohort/regression"]["post"]["requestBody"]["content"]["application/json"]

Return type

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

Example

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

POST /cohort/trend

Underlying REST endpoint: POST /cohort/trend

Parameters

  • body: paths["/cohort/trend"]["post"]["requestBody"]["content"]["application/json"]

Return type

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

Example

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

POST /patterns/cluster

Underlying REST endpoint: POST /patterns/cluster

Parameters

  • body: paths["/patterns/cluster"]["post"]["requestBody"]["content"]["application/json"]

Return type

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

Example

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

POST /patterns/correct-pvalues

Underlying REST endpoint: POST /patterns/correct-pvalues

Parameters

  • body: paths["/patterns/correct-pvalues"]["post"]["requestBody"]["content"]["application/json"]

Return type

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

Example

const result = await analytics.POST("/patterns/correct-pvalues", {
  body: {
    /* paths["/patterns/correct-pvalues"]["post"]["requestBody"]["content"]["application/json"] */
  },
});

POST /patterns/correlate

Underlying REST endpoint: POST /patterns/correlate

Parameters

  • body: paths["/patterns/correlate"]["post"]["requestBody"]["content"]["application/json"]

Return type

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

Example

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

POST /patterns/pairwise-correlations

Underlying REST endpoint: POST /patterns/pairwise-correlations

Parameters

  • body: paths["/patterns/pairwise-correlations"]["post"]["requestBody"]["content"]["application/json"]

Return type

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

Example

const result = await analytics.POST("/patterns/pairwise-correlations", {
  body: {
    /* paths["/patterns/pairwise-correlations"]["post"]["requestBody"]["content"]["application/json"] */
  },
});

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 analytics.GET("/readyz");

POST /v1/admin/ai-spend/digest

Underlying REST endpoint: POST /v1/admin/ai-spend/digest

Parameters

None

Return type

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

Example

const result = await analytics.POST("/v1/admin/ai-spend/digest");

POST /v1/admin/clustering/run-monthly

Underlying REST endpoint: POST /v1/admin/clustering/run-monthly

Parameters

None

Return type

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

Example

const result = await analytics.POST("/v1/admin/clustering/run-monthly");

POST /v1/admin/cohorts/ml-analysis

Underlying REST endpoint: POST /v1/admin/cohorts/ml-analysis

Parameters

None

Return type

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

Example

const result = await analytics.POST("/v1/admin/cohorts/ml-analysis");

POST /v1/admin/digests/telehealth-mrr

Underlying REST endpoint: POST /v1/admin/digests/telehealth-mrr

Parameters

None

Return type

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

Example

const result = await analytics.POST("/v1/admin/digests/telehealth-mrr");

POST /v1/admin/events/rollup

Underlying REST endpoint: POST /v1/admin/events/rollup

Parameters

None

Return type

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

Example

const result = await analytics.POST("/v1/admin/events/rollup");

POST /v1/admin/features/refresh

Underlying REST endpoint: POST /v1/admin/features/refresh

Parameters

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

Return type

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

Example

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

GET /v1/admin/features/stale

Underlying REST endpoint: GET /v1/admin/features/stale

Parameters

  • query?: paths["/v1/admin/features/stale"]["get"]["parameters"]["query"]

Return type

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

Example

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

GET /v1/ai-spend

Underlying REST endpoint: GET /v1/ai-spend

Parameters

  • query: paths["/v1/ai-spend"]["get"]["parameters"]["query"]

Return type

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

Example

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

GET /v1/ai-spend/forecast

Underlying REST endpoint: GET /v1/ai-spend/forecast

Parameters

  • query?: paths["/v1/ai-spend/forecast"]["get"]["parameters"]["query"]

Return type

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

Example

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

POST /v1/attribution/resolve

Underlying REST endpoint: POST /v1/attribution/resolve

Parameters

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

Return type

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

Example

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

GET /v1/cohorts/{id}/members

Underlying REST endpoint: GET /v1/cohorts/\{id\}/members

Parameters

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

Return type

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

Example

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

POST /v1/correlations/compute

Underlying REST endpoint: POST /v1/correlations/compute

Parameters

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

Return type

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

Example

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

POST /v1/events/track

Underlying REST endpoint: POST /v1/events/track

Parameters

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

Return type

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

Example

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

GET /v1/features/{userId}

Underlying REST endpoint: GET /v1/features/\{userId\}

Parameters

  • path: paths["/v1/features/{userId}"]["get"]["parameters"]["path"]
  • query: paths["/v1/features/{userId}"]["get"]["parameters"]["query"]

Return type

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

Example

const result = await analytics.GET("/v1/features/{userId}", {
  params: {
    path: {
      userId: "<userId>",
    },
    query: {
      /* paths["/v1/features/{userId}"]["get"]["parameters"]["query"] */
    },
  },
});

GET /v1/outcomes

Underlying REST endpoint: GET /v1/outcomes

Parameters

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

Return type

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

Example

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

POST /v1/outcomes

Underlying REST endpoint: POST /v1/outcomes

Parameters

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

Return type

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

Example

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

GET /v1/outcomes/{id}

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

Parameters

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

Return type

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

Example

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

GET /v1/outcomes/{id}/entries

Underlying REST endpoint: GET /v1/outcomes/\{id\}/entries

Parameters

  • path: paths["/v1/outcomes/{id}/entries"]["get"]["parameters"]["path"]
  • query: paths["/v1/outcomes/{id}/entries"]["get"]["parameters"]["query"]

Return type

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

Example

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

POST /v1/outcomes/{id}/entries

Underlying REST endpoint: POST /v1/outcomes/\{id\}/entries

Parameters

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

Return type

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

Example

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

POST /v1/token-usage

Underlying REST endpoint: POST /v1/token-usage

Parameters

  • body: paths["/v1/token-usage"]["post"]["requestBody"]["content"]["application/json"]

Return type

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

Example

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