API Reference
Complete SDK and REST API documentation for all Arky modules
Complete reference documentation for all Arky SDK modules and their corresponding REST API endpoints.
SDK Modules
The Arky SDK is organized into 20 domain-specific modules:
| Module | Description |
|---|---|
| User | Authentication (magic links), sessions, account management |
| Business | Business settings, subscriptions, integrations, webhooks |
| E-shop | Products, orders, checkout, payments |
| CMS | Content nodes and blocks |
| Booking | Services, providers, bookings, availability |
| Media | File uploads, image management |
| Notification | Trigger emails, track delivery |
| Promo Codes | Discount codes, conditions |
| Database | Key-value storage, scripts |
| Location | Business locations, zones, and countries/states reference data |
| Workflow | Automation workflows, DAG execution, scheduling |
| CRM | Customers, customer auth, and audience subscriptions |
| Reactions | Likes, ratings, comments, and reviews |
| Email Templates | Reusable email templates with Handlebars |
| Forms | Form builder and submission collection |
| Taxonomies | Hierarchical categories and filters |
| AI Agents | Conversational AI with chat management |
| Shipping | Shipping rates and label purchasing |
| Platform | Currencies, integration services, webhook events |
Base URL
All API endpoints are accessed through:
https://api.arky.io
Authentication
Most endpoints require authentication via Bearer token:
Authorization: Bearer YOUR_ACCESS_TOKEN
Tip
The SDK handles authentication automatically. Just configure getToken and setToken callbacks during initialization, and token refresh is handled for you.
Request Format
- All request bodies use JSON format
- Use
Content-Type: application/jsonheader - All timestamps are Unix timestamps (seconds)
- All monetary amounts are in minor units (cents)
Response Format
Successful responses return the requested data directly:
{
"id": "prod_abc123",
"name": "Product Name",
"createdAt": 1704067200
}
Paginated responses include cursor-based pagination:
{
"items": [...],
"cursor": "next_page_cursor"
}
Error Handling
Errors return appropriate HTTP status codes with details:
{
"error": "VALIDATION_ERROR",
"message": "Invalid email format",
"details": {
"field": "email",
"reason": "must be a valid email address"
}
}
See the Error Handling Guide for more details.