@farohq/sdk
v0.1.0
Published
TypeScript SDK for FaroHQ Core App API - Generated from OpenAPI specification
Maintainers
Readme
@farohq/sdk
TypeScript SDK for FaroHQ Core App API. This package is automatically generated from the OpenAPI specification.
Installation
npm install @farohq/sdkUsage
import { Configuration, BrandsApi, FilesApi, TenantsApi } from '@farohq/sdk';
// Create configuration with your API base URL and auth token
const configuration = new Configuration({
basePath: 'https://api.farohq.com', // or 'http://localhost:8080' for local
accessToken: async () => {
// Get your Clerk JWT token here
return 'your-jwt-token';
},
});
// Create API instances
const brandsApi = new BrandsApi(configuration);
const filesApi = new FilesApi(configuration);
const tenantsApi = new TenantsApi(configuration);
// Use the APIs
try {
// List brands
const brands = await brandsApi.listBrands();
console.log(brands);
// Create a brand
const newBrand = await brandsApi.createBrand({
domain: 'example.com',
primary_color: '#3B82F6',
theme_json: {},
});
// Generate pre-signed URL for file upload
const signResponse = await filesApi.signFile({
agency_id: 'your-agency-id',
asset: 'logo.png',
});
} catch (error) {
console.error('API Error:', error);
}Authentication
The SDK expects a Bearer token (Clerk JWT) to be provided via the accessToken function in the Configuration. The token is automatically included in the Authorization header for all requests.
Example with Clerk in Next.js:
import { auth } from '@clerk/nextjs/server';
import { Configuration, BrandsApi } from '@farohq/sdk';
const { getToken } = await auth();
const token = await getToken();
const configuration = new Configuration({
basePath: process.env.NEXT_PUBLIC_API_URL,
accessToken: async () => token || '',
});
const brandsApi = new BrandsApi(configuration);
const brands = await brandsApi.listBrands();API Reference
This SDK provides typed access to all FaroHQ Core App API endpoints:
- Brands: Brand management and white-labeling
- Files: File upload and management (S3 integration)
- Tenants: Tenant (agency) management
See the OpenAPI specification at services/core-app/api/openapi.yaml for detailed API documentation.
Development
To regenerate the SDK from the OpenAPI spec:
cd packages/sdk
npm run generate
npm run buildLicense
Proprietary - FaroHQ
