API Reference

Complete reference documentation for all SDK methods and types.

Overview

The SDK provides a comprehensive set of methods for interacting with our API. All methods are promise-based and fully typed with TypeScript.

Core Classes

SDK

The main SDK class that provides access to all functionality.

sdk.ts
class SDK {
constructor(config: SDKConfig);
// Data methods
getData(options: GetDataOptions): Promise<Data>;
create(data: CreateData): Promise<Resource>;
update(id: string, data: UpdateData): Promise<Resource>;
delete(id: string): Promise<void>;
// Batch operations
batchCreate(items: CreateData[]): Promise<Resource[]>;
batchUpdate(items: BatchUpdateItem[]): Promise<Resource[]>;
}

Configuration

SDKConfig

Configuration options for initializing the SDK.

types.ts
interface SDKConfig {
/** Your API key */
apiKey: string;
/** Environment (production or development) */
environment?: "production" | "development";
/** Additional options */
options?: {
/** Request timeout in milliseconds */
timeout?: number;
/** Number of retries for failed requests */
retries?: number;
/** Custom base URL */
baseUrl?: string;
};
}

Methods

getData()

Fetch data by ID.

method-signature.ts
sdk.getData(options: GetDataOptions): Promise<Data>

Parameters:

  • options.id (string) - The resource ID
  • options.include (string[]) - Optional fields to include

Returns: Promise<Data>

Example:

get-data-example.ts
const data = await sdk.getData({
id: "123",
include: ["metadata", "relations"],
});

create()

Create a new resource.

method-signature.ts
sdk.create(data: CreateData): Promise<Resource>

Parameters:

  • data.name (string) - Resource name
  • data.description (string) - Optional description
  • data.metadata (object) - Optional metadata

Returns: Promise<Resource>

Example:

create-example.ts
const resource = await sdk.create({
name: "My Resource",
description: "A new resource",
metadata: {
tags: ["example"],
},
});

All methods support async/await and return Promises for easy integration with modern JavaScript.

Error Handling

The SDK includes typed error classes:

errors.ts
class SDKError extends Error {
code: string;
statusCode?: number;
details?: unknown;
}
class NotFoundError extends SDKError {}
class ValidationError extends SDKError {}
class AuthenticationError extends SDKError {}
class RateLimitError extends SDKError {}

Type Definitions

Data

types.ts
interface Data {
id: string;
name: string;
description?: string;
createdAt: Date;
updatedAt: Date;
metadata?: Record<string, unknown>;
}

Resource

types.ts
interface Resource {
id: string;
name: string;
description?: string;
status: "active" | "inactive" | "pending";
createdAt: Date;
updatedAt: Date;
}

Next Steps