Table of Contents
Authentication
All API requests require authentication using your organization's API token.
Header Authentication (Recommended)
Authorization: Bearer YOUR_API_TOKEN
Query Parameter
GET /api/v1/public/documents?api_token=YOUR_API_TOKEN
Documents API
GET /api/v1/public/documents
List all documents with pagination and filters
Parameters:
page- Page number (default: 1)per_page- Items per page (default: 50, max: 100)document_type- Filter by document typestatus- Filter by status
GET /api/v1/public/documents/search
Search documents by query
Parameters:
q- Search query (required)
GET /api/v1/public/documents/:id
Get detailed information about a specific document
PATCH /api/v1/public/documents/:id
Update document with support for approve/reject/transition
Action Types:
approve- Approve the documentreject- Reject the documenttransition- Change document status
Items API
GET /api/v1/public/items
List all items with pagination and filters
Parameters:
page- Page number (default: 1)per_page- Items per page (default: 50, max: 100)location_id- Filter by location UUIDcategory_id- Filter by category UUIDstatus- Filter by status (active, inactive)rfid_tag- Filter by exact RFID tag
GET /api/v1/public/items/search
Search items across multiple fields
Parameters:
qorquery- Search query (required)
GET /api/v1/public/items/:id
Get detailed information about a specific item
PATCH /api/v1/public/items/:id
Update item information
POST /api/v1/public/items/:id/update_image
Update item image (supports base64 or multipart upload)
Response Formats
Success Response
{
"success": true,
"data": {
"id": "uuid-here",
"name": "Item Name",
"status": "active"
},
"meta": {
"current_page": 1,
"total_pages": 10,
"total_count": 250
}
}
Rate Limiting
API requests are limited per organization. Default limit is 1000 requests per hour.
When rate limit is exceeded, API will return 429 Too Many Requests
Code Examples
cURL
# List items
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
"https://your-domain.com/api/v1/public/items"
# Search items
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
"https://your-domain.com/api/v1/public/items/search?q=laptop"
# Update item
curl -X PATCH \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"Updated Name","quantity":25}' \
"https://your-domain.com/api/v1/public/items/UUID"
JavaScript (Fetch)
const API_TOKEN = 'YOUR_API_TOKEN';
const BASE_URL = 'https://your-domain.com/api/v1/public';
// List items
async function listItems() {
const response = await fetch(`${BASE_URL}/items`, {
headers: {
'Authorization': `Bearer ${API_TOKEN}`
}
});
return await response.json();
}
// Search items
async function searchItems(query) {
const response = await fetch(`${BASE_URL}/items/search?q=${encodeURIComponent(query)}`, {
headers: {
'Authorization': `Bearer ${API_TOKEN}`
}
});
return await response.json();
}
Python
import requests
API_TOKEN = 'YOUR_API_TOKEN'
BASE_URL = 'https://your-domain.com/api/v1/public'
headers = {
'Authorization': f'Bearer {API_TOKEN}'
}
# List items
response = requests.get(f'{BASE_URL}/items', headers=headers)
items = response.json()
# Search items
response = requests.get(f'{BASE_URL}/items/search?q=laptop', headers=headers)
search_results = response.json()
# Update item
data = {'name': 'Updated Name', 'quantity': 25}
response = requests.patch(f'{BASE_URL}/items/item_uuid', json=data, headers=headers)
updated_item = response.json()
Complete API Reference
For detailed API documentation including all endpoints, parameters, and response formats, please refer to the full API documentation file.