@platform/sdk-entitlements
Typed TypeScript client for services/entitlements. The page is generated from the SDK package source plus its generated OpenAPI types.
Installation
npm install @platform/sdk-entitlementsYou’ll also need the shared auth/client helpers:
npm install @platform/hosts @platform/sdkQuick start
import { LoopClient } from "@platform/sdk";
import { platformHost, SERVICE_NAMES } from "@platform/hosts";
import { createEntitlementsClient } from "@platform/sdk-entitlements";
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 entitlements = createEntitlementsClient({
baseUrl: platformHost({ service: SERVICE_NAMES.ENTITLEMENTS }),
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
grantEntitlement
Underlying REST endpoint: POST /v1/admin/entitlements/grants
Parameters
input: GrantEntitlementInput
Return type
Promise<{
data?: paths["/v1/admin/entitlements/grants"]["post"]["responses"]["201"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await entitlements.grantEntitlement({
/* GrantEntitlementInput */
});listGrants
Underlying REST endpoint: GET /v1/admin/entitlements/grants
Parameters
userId: string
Return type
Promise<{
data?: paths["/v1/admin/entitlements/grants"]["get"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await entitlements.listGrants("<userId>");previewEntitlements
Underlying REST endpoint: GET /v1/admin/entitlements/preview
Parameters
userId: stringbrandId?: string
Return type
Promise<{
data?: paths["/v1/admin/entitlements/preview"]["get"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await entitlements.previewEntitlements("<userId>", "<brandId>");Endpoint calls
GET /health/deep
Underlying REST endpoint: GET /health/deep
Parameters
None
Return type
Promise<{
data?: paths["/health/deep"]["get"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await entitlements.GET("/health/deep");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 entitlements.GET("/readyz");GET /v1/admin/entitlements/beta-cohort
Underlying REST endpoint: GET /v1/admin/entitlements/beta-cohort
Parameters
None
Return type
Promise<{
data?: paths["/v1/admin/entitlements/beta-cohort"]["get"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await entitlements.GET("/v1/admin/entitlements/beta-cohort");POST /v1/admin/entitlements/beta-cohort
Underlying REST endpoint: POST /v1/admin/entitlements/beta-cohort
Parameters
body?: paths["/v1/admin/entitlements/beta-cohort"]["post"]["requestBody"]["content"]["application/json"]
Return type
Promise<{
data?: paths["/v1/admin/entitlements/beta-cohort"]["post"]["responses"]["201"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await entitlements.POST("/v1/admin/entitlements/beta-cohort", {
body: {
/* paths["/v1/admin/entitlements/beta-cohort"]["post"]["requestBody"]["content"]["application/json"] */
},
});DELETE /v1/admin/entitlements/beta-cohort/{user_id}
Underlying REST endpoint: DELETE /v1/admin/entitlements/beta-cohort/\{user_id\}
Parameters
path: paths["/v1/admin/entitlements/beta-cohort/{user_id}"]["delete"]["parameters"]["path"]
Return type
Promise<{
data?: paths["/v1/admin/entitlements/beta-cohort/{user_id}"]["delete"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await entitlements.DELETE("/v1/admin/entitlements/beta-cohort/{user_id}", {
params: {
path: {
user_id: "<user_id>",
},
},
});POST /v1/admin/entitlements/beta-cohort/bulk
Underlying REST endpoint: POST /v1/admin/entitlements/beta-cohort/bulk
Parameters
body?: paths["/v1/admin/entitlements/beta-cohort/bulk"]["post"]["requestBody"]["content"]["application/json"]
Return type
Promise<{
data?: paths["/v1/admin/entitlements/beta-cohort/bulk"]["post"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await entitlements.POST("/v1/admin/entitlements/beta-cohort/bulk", {
body: {
/* paths["/v1/admin/entitlements/beta-cohort/bulk"]["post"]["requestBody"]["content"]["application/json"] */
},
});GET /v1/admin/entitlements/grants
Underlying REST endpoint: GET /v1/admin/entitlements/grants
Parameters
query: paths["/v1/admin/entitlements/grants"]["get"]["parameters"]["query"]
Return type
Promise<{
data?: paths["/v1/admin/entitlements/grants"]["get"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await entitlements.GET("/v1/admin/entitlements/grants", {
params: {
query: {
/* paths["/v1/admin/entitlements/grants"]["get"]["parameters"]["query"] */
},
},
});POST /v1/admin/entitlements/grants
Underlying REST endpoint: POST /v1/admin/entitlements/grants
Parameters
body?: paths["/v1/admin/entitlements/grants"]["post"]["requestBody"]["content"]["application/json"]
Return type
Promise<{
data?: paths["/v1/admin/entitlements/grants"]["post"]["responses"]["201"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await entitlements.POST("/v1/admin/entitlements/grants", {
body: {
/* paths["/v1/admin/entitlements/grants"]["post"]["requestBody"]["content"]["application/json"] */
},
});GET /v1/admin/entitlements/preview
Underlying REST endpoint: GET /v1/admin/entitlements/preview
Parameters
query: paths["/v1/admin/entitlements/preview"]["get"]["parameters"]["query"]
Return type
Promise<{
data?: paths["/v1/admin/entitlements/preview"]["get"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await entitlements.GET("/v1/admin/entitlements/preview", {
params: {
query: {
/* paths["/v1/admin/entitlements/preview"]["get"]["parameters"]["query"] */
},
},
});GET /v1/entitlements/beta-access
Underlying REST endpoint: GET /v1/entitlements/beta-access
Parameters
query: paths["/v1/entitlements/beta-access"]["get"]["parameters"]["query"]
Return type
Promise<{
data?: paths["/v1/entitlements/beta-access"]["get"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await entitlements.GET("/v1/entitlements/beta-access", {
params: {
query: {
/* paths["/v1/entitlements/beta-access"]["get"]["parameters"]["query"] */
},
},
});GET /v1/entitlements/check
Underlying REST endpoint: GET /v1/entitlements/check
Parameters
query: paths["/v1/entitlements/check"]["get"]["parameters"]["query"]
Return type
Promise<{
data?: paths["/v1/entitlements/check"]["get"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await entitlements.GET("/v1/entitlements/check", {
params: {
query: {
/* paths["/v1/entitlements/check"]["get"]["parameters"]["query"] */
},
},
});GET /v1/entitlements/cohort-membership
Underlying REST endpoint: GET /v1/entitlements/cohort-membership
Parameters
query: paths["/v1/entitlements/cohort-membership"]["get"]["parameters"]["query"]
Return type
Promise<{
data?: paths["/v1/entitlements/cohort-membership"]["get"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await entitlements.GET("/v1/entitlements/cohort-membership", {
params: {
query: {
/* paths["/v1/entitlements/cohort-membership"]["get"]["parameters"]["query"] */
},
},
});POST /v1/entitlements/overrides
Underlying REST endpoint: POST /v1/entitlements/overrides
Parameters
body?: paths["/v1/entitlements/overrides"]["post"]["requestBody"]["content"]["application/json"]
Return type
Promise<{
data?: paths["/v1/entitlements/overrides"]["post"]["responses"]["201"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await entitlements.POST("/v1/entitlements/overrides", {
body: {
/* paths["/v1/entitlements/overrides"]["post"]["requestBody"]["content"]["application/json"] */
},
});GET /v1/entitlements/user/{id}
Underlying REST endpoint: GET /v1/entitlements/user/\{id\}
Parameters
path: paths["/v1/entitlements/user/{id}"]["get"]["parameters"]["path"]query: paths["/v1/entitlements/user/{id}"]["get"]["parameters"]["query"]
Return type
Promise<{
data?: paths["/v1/entitlements/user/{id}"]["get"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await entitlements.GET("/v1/entitlements/user/{id}", {
params: {
path: {
id: "<id>",
},
query: {
/* paths["/v1/entitlements/user/{id}"]["get"]["parameters"]["query"] */
},
},
});