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 IDoptions.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 namedata.description(string) - Optional descriptiondata.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
- See Authentication for auth setup
- Check Methods for detailed method docs
- View Examples for real-world usage