Sign in to access MinerSheets revolutionary features
Try searching with different keywords
The backbone of operational excellence
Complete RESTful API documentation for MinerSheets integration
The MinerSheets API is a RESTful API that allows you to programmatically interact with your dynamic data models. You can create, read, update, and delete records, as well as search, export, and validate data.
Base URL: http://your-domain.com/api/v1/
http://your-domain.com/api/v1/
MinerSheets API supports two authentication methods:
Use Django session cookies for browser-based applications.
// Login first to get session cookie fetch('/login/', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: 'username=admin&password=secret' }).then(() => { // Session cookie is now set // Make API requests normally });
Use API tokens for server-to-server or mobile applications.
// Include token in Authorization header fetch('/api/v1/models/', { headers: { 'Authorization': 'Token your-api-token-here', 'Content-Type': 'application/json' } });
Note: All API endpoints require authentication. Unauthenticated requests will receive a 401 or 302 response.
Retrieve a list of all available models in your MinerSheets instance.
{ "status": "success", "models": [ { "name": "Company", "verbose_name": "Company Directory", "record_count": 42, "fields": ["id", "name", "email", "phone"] }, { "name": "Employee", "verbose_name": "Employees", "record_count": 156, "fields": ["id", "name", "position", "company"] } ] }
Retrieve all records from a specific model with pagination support.
page
page_size
GET /api/v1/models/Company/?page=1&page_size=20
{ "status": "success", "model": "Company", "count": 42, "page": 1, "page_size": 20, "total_pages": 3, "records": [ { "id": 1, "name": "Diofis Enterprise", "email": "info@diofis.net", "phone": "+1234567890", "created_at": "2025-10-15T10:30:00Z" }, ... ] }
Create a new record in the specified model.
{ "name": "New Company Name", "email": "contact@company.com", "phone": "+1234567890", "website": "https://company.com" }
{ "status": "success", "message": "Record created successfully", "record": { "id": 43, "name": "New Company Name", "email": "contact@company.com", "phone": "+1234567890", "website": "https://company.com", "created_at": "2025-10-29T14:30:00Z" } }
{ "status": "error", "message": "Validation failed", "errors": { "email": ["This field is required"], "name": ["This field cannot be blank"] } }
Update an existing record. Only include fields you want to update.
{ "email": "newemail@company.com", "phone": "+9876543210" }
{ "status": "success", "message": "Record updated successfully", "record": { "id": 43, "name": "New Company Name", "email": "newemail@company.com", "phone": "+9876543210", "updated_at": "2025-10-29T15:45:00Z" } }
Permanently delete a record. This action cannot be undone.
{ "status": "success", "message": "Record deleted successfully" }
Warning: Deleting records with relationships may affect related data. Check cascade rules before deletion.
Search and filter records with advanced query options.
q
field_name
field_name__contains
field_name__gte
field_name__lte
GET /api/v1/models/Company/search/?q=enterprise&email__contains=@diofis
{ "status": "success", "count": 3, "results": [ { "id": 1, "name": "Diofis Enterprise", "email": "info@diofis.net" }, ... ] }
Export records in various formats (JSON, CSV).
format
fields
GET /api/v1/models/Company/export/?format=csv&fields=name,email,phone
Returns file download with appropriate Content-Type header.
Content-Type: application/json
Content-Type: text/csv
Current Limits: 1000 requests per hour per user
Rate limit headers are included in all responses:
X-RateLimit-Limit: 1000 X-RateLimit-Remaining: 987 X-RateLimit-Reset: 1635264000
// List all models const models = await fetch('/api/v1/models/', { headers: { 'Authorization': 'Token your-token-here' } }).then(res => res.json()); // Create a new record const newRecord = await fetch('/api/v1/models/Company/records/', { method: 'POST', headers: { 'Authorization': 'Token your-token-here', 'Content-Type': 'application/json' }, body: JSON.stringify({ name: 'New Company', email: 'info@company.com' }) }).then(res => res.json());
import requests BASE_URL = 'http://your-domain.com/api/v1' headers = {'Authorization': 'Token your-token-here'} # List all models response = requests.get(f'{BASE_URL}/models/', headers=headers) models = response.json() # Create a new record data = {'name': 'New Company', 'email': 'info@company.com'} response = requests.post( f'{BASE_URL}/models/Company/records/', json=data, headers=headers ) new_record = response.json()
# List all models curl -H "Authorization: Token your-token-here" \ http://your-domain.com/api/v1/models/ # Create a new record curl -X POST \ -H "Authorization: Token your-token-here" \ -H "Content-Type: application/json" \ -d '{"name":"New Company","email":"info@company.com"}' \ http://your-domain.com/api/v1/models/Company/records/
Quick start guide for developers
Understand the system design
Contact our support team