Blimu TypeScript SDK
This is an auto-generated TypeScript/JavaScript SDK for the Blimu API.
Installation
npm install @blimu/backend
yarn add @blimu/backend
Quick Start
import { BlimuClient } from '@blimu/backend';
const client = new BlimuClient({
baseURL: 'https://api.blimu.dev',
timeoutMs: 10000,
retry: {
retries: 2,
strategy: 'exponential',
backoffMs: 300,
retryOn: [429, 500, 502, 503, 504],
},
authStrategies: [
{
type: 'bearer',
token: process.env.API_TOKEN,
},
],
});
try {
const result = await client.authJwks.getJwks();
console.log('Result:', result);
} catch (error) {
console.error(error);
}
try {
const result = await client.bulkResources.create(
'resourceType',
{
}
);
console.log('Result:', result);
} catch (error) {
console.error(error);
}
try {
const result = await client.bulkRoles.create({
});
console.log('Result:', result);
} catch (error) {
console.error(error);
}
try {
const result = await client.entitlements.checkEntitlement({
});
console.log('Result:', result);
} catch (error) {
console.error(error);
}
try {
const result = await client.oauth.checkConsentRequired({
client_id: 'example',
});
console.log('Result:', result);
} catch (error) {
console.error(error);
}
try {
const result = await client.plans.delete('resourceType', 'resourceId');
console.log('Result:', result);
} catch (error) {
console.error(error);
}
try {
const result = await client.resourceMembers.list('resourceType', 'resourceId', {});
console.log('Result:', result);
} catch (error) {
console.error(error);
}
try {
const result = await client.resources.list('resourceType', {});
console.log('Result:', result);
} catch (error) {
console.error(error);
}
try {
const result = await client.roles.list('userId', {});
console.log('Result:', result);
} catch (error) {
console.error(error);
}
try {
const result = await client.usage.getBalance('resourceType', 'resourceId', 'limitType', {
period: undefined,
});
console.log('Result:', result);
} catch (error) {
console.error(error);
}
try {
const result = await client.users.list({});
console.log('Result:', result);
} catch (error) {
console.error(error);
}
TypeScript Support
This SDK is written in TypeScript and provides full type safety:
import { BlimuClient, Schema } from '@blimu/backend';
const client = new BlimuClient({
});
const data: Schema.AuthorizeRequest = {
};
Node.js Usage
For Node.js environments, you may need to provide a fetch implementation:
npm install undici
import { fetch } from 'undici';
import { BlimuClient } from '@blimu/backend';
const client = new BlimuClient({
baseURL: 'https://api.blimu.dev',
fetch,
});
Models and Types
The SDK includes the following TypeScript interfaces:
- AuthorizeRequest
- BalanceResponse
- CheckLimitResponse
- ConsentCheckResponse
- DeviceAuthorizeRequest
- DeviceAuthorizeResponse
- DeviceCodeInfoResponse
- DeviceCodeRequest
- DeviceCodeResponse
- DeviceTokenRequest
- EntitlementCheckBody
- EntitlementCheckResult
- EntitlementType: Entitlement identifier
- EntitlementsListResult
- IntrospectionRequest
- IntrospectionResponse
- JWK
- PlanAssignBody
- PlanDeleteResponse
- PlanResponse
- PlanType: Plan type identifier
- Resource
- ResourceBulkCreateBody
- ResourceBulkResult
- ResourceCreateBody
- ResourceList
- ResourceMemberList
- ResourceType: Resource type identifier
- ResourceUpdateBody
- RevocationRequest
- Role
- RoleBulkCreateBody
- RoleBulkResult
- RoleCreateBody
- RoleList
- TokenRequest
- TokenResponse
- TransactionHistoryResponse
- UsageCheckBody
- UsageConsumeBody
- UsageCreditBody
- UsageLimitType: Usage-based limit type identifier
- UsageWalletResponse
- User
- UserCreateBody
- UserList
- UserResourceList
- UserUpdateBody
All types are available under the Schema namespace:
import { Schema } from '@blimu/backend';
const user: Schema.User = {
};
Contributing
This SDK is auto-generated. Please do not edit the generated files directly.
If you find issues, please report them in the main project repository.
License
This SDK is generated from the Blimu API specification.