API Referencesdks@platform/sdk-membership

@platform/sdk-membership

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

Installation

npm install @platform/sdk-membership

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

assignCoach

Underlying REST endpoint: POST /v1/coach-assignments

Parameters

  • input: AssignCoachInput

Return type

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

Example

const result = await membership.assignCoach({
  /* AssignCoachInput */
});

listAssignments

Underlying REST endpoint: GET /v1/coach-assignments

Parameters

  • input?: ListAssignmentsInput

Return type

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

Example

const result = await membership.listAssignments({
  /* ListAssignmentsInput */
});

unassignCoach

Underlying REST endpoint: DELETE /v1/coach-assignments/\{id\}

Parameters

  • id: string

Return type

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

Example

const result = await membership.unassignCoach("<id>");

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

POST /v1/admin/commission-locks/release-expired

Underlying REST endpoint: POST /v1/admin/commission-locks/release-expired

Parameters

None

Return type

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

Example

const result = await membership.POST("/v1/admin/commission-locks/release-expired");

POST /v1/admin/dunning/run-cycle

Underlying REST endpoint: POST /v1/admin/dunning/run-cycle

Parameters

None

Return type

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

Example

const result = await membership.POST("/v1/admin/dunning/run-cycle");

POST /v1/admin/subscriptions/check-status

Underlying REST endpoint: POST /v1/admin/subscriptions/check-status

Parameters

None

Return type

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

Example

const result = await membership.POST("/v1/admin/subscriptions/check-status");

GET /v1/coach-assignments

Underlying REST endpoint: GET /v1/coach-assignments

Parameters

  • query?: paths["/v1/coach-assignments"]["get"]["parameters"]["query"]

Return type

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

Example

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

POST /v1/coach-assignments

Underlying REST endpoint: POST /v1/coach-assignments

Parameters

  • body: paths["/v1/coach-assignments"]["post"]["requestBody"]["content"]["application/json"]

Return type

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

Example

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

DELETE /v1/coach-assignments/{id}

Underlying REST endpoint: DELETE /v1/coach-assignments/\{id\}

Parameters

  • path: paths["/v1/coach-assignments/{id}"]["delete"]["parameters"]["path"]

Return type

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

Example

const result = await membership.DELETE("/v1/coach-assignments/{id}", {
  params: {
    path: {
      id: "<id>",
    },
  },
});

POST /v1/memberships

Underlying REST endpoint: POST /v1/memberships

Parameters

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

Return type

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

Example

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

GET /v1/memberships/{id}

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

Parameters

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

Return type

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

Example

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

GET /v1/memberships/{id}/history

Underlying REST endpoint: GET /v1/memberships/\{id\}/history

Parameters

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

Return type

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

Example

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

POST /v1/memberships/{id}/transition

Underlying REST endpoint: POST /v1/memberships/\{id\}/transition

Parameters

  • path: paths["/v1/memberships/{id}/transition"]["post"]["parameters"]["path"]
  • body?: paths["/v1/memberships/{id}/transition"]["post"]["requestBody"]["content"]["application/json"]

Return type

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

Example

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

GET /v1/memberships/{user_id}/conversion-eligibility

Underlying REST endpoint: GET /v1/memberships/\{user_id\}/conversion-eligibility

Parameters

  • path: paths["/v1/memberships/{user_id}/conversion-eligibility"]["get"]["parameters"]["path"]

Return type

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

Example

const result = await membership.GET("/v1/memberships/{user_id}/conversion-eligibility", {
  params: {
    path: {
      user_id: "<user_id>",
    },
  },
});

GET /v1/memberships/access

Underlying REST endpoint: GET /v1/memberships/access

Parameters

  • query: paths["/v1/memberships/access"]["get"]["parameters"]["query"]

Return type

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

Example

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

GET /v1/memberships/active

Underlying REST endpoint: GET /v1/memberships/active

Parameters

  • query: paths["/v1/memberships/active"]["get"]["parameters"]["query"]

Return type

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

Example

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

GET /v1/memberships/lookup

Underlying REST endpoint: GET /v1/memberships/lookup

Parameters

  • query: paths["/v1/memberships/lookup"]["get"]["parameters"]["query"]

Return type

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

Example

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

GET /v1/reactivation-plans

Underlying REST endpoint: GET /v1/reactivation-plans

Parameters

  • query?: paths["/v1/reactivation-plans"]["get"]["parameters"]["query"]

Return type

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

Example

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

GET /v1/teams

Underlying REST endpoint: GET /v1/teams

Parameters

None

Return type

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

Example

const result = await membership.GET("/v1/teams");

GET /v1/teams/{id}

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

Parameters

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

Return type

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

Example

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

POST /v1/teams/{id}/invites

Underlying REST endpoint: POST /v1/teams/\{id\}/invites

Parameters

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

Return type

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

Example

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

GET /v1/teams/invites/{code}

Underlying REST endpoint: GET /v1/teams/invites/\{code\}

Parameters

  • path: paths["/v1/teams/invites/{code}"]["get"]["parameters"]["path"]

Return type

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

Example

const result = await membership.GET("/v1/teams/invites/{code}", {
  params: {
    path: {
      code: "<code>",
    },
  },
});

POST /v1/teams/invites/{code}/accept

Underlying REST endpoint: POST /v1/teams/invites/\{code\}/accept

Parameters

  • path: paths["/v1/teams/invites/{code}/accept"]["post"]["parameters"]["path"]

Return type

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

Example

const result = await membership.POST("/v1/teams/invites/{code}/accept", {
  params: {
    path: {
      code: "<code>",
    },
  },
});

POST /v1/teams/invites/{code}/decline

Underlying REST endpoint: POST /v1/teams/invites/\{code\}/decline

Parameters

  • path: paths["/v1/teams/invites/{code}/decline"]["post"]["parameters"]["path"]

Return type

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

Example

const result = await membership.POST("/v1/teams/invites/{code}/decline", {
  params: {
    path: {
      code: "<code>",
    },
  },
});