MS
MinerSheets by Diofis
Sign In

Access Required

Sign in to access MinerSheets revolutionary features

Sign In Now
Dark Mode
Toggle theme

Access Required

Sign in to access MinerSheets revolutionary features

Sign In Now
Dark Mode
Toggle theme

Access Required

Sign in to access MinerSheets revolutionary features

Sign In Now
Dark Mode
Toggle theme

Access Required

Sign in to access MinerSheets revolutionary features

Sign In Now
Dark Mode
Toggle theme
↑↓ Navigate ↵ Select ESC Close
Powered by Fuse.js

API Documentation

Comprehensive REST API reference for MinerSheets platform

MinerSheets REST API

Getting Started

The MinerSheets API provides programmatic access to your dynamic Data Models, allowing you to create, read, update, and delete records through RESTful endpoints.

Base URL

https://your-domain.com/api/v1/

Authentication

All API requests require authentication using API tokens or session-based authentication.

Authorization Header

Authorization: Token your-api-token

Available Endpoints

MODELS Dynamic Models Management

GET /api/v1/models/
List all available models

Retrieve a list of all dynamic models with their metadata.

response:
{
  "count": 5,
  "results": [
    {
      "name": "Companies",
      "verbose_name": "Company Directory",
      "fields": ["name", "email", "phone"],
      "total_records": 42
    }
  ]
}
GET /api/v1/models/{model_name}/
Get model schema and records

Retrieve model schema details and all records for a specific model.

response:
{
  "model": {
    "name": "Companies",
    "verbose_name": "Company Directory",
    "fields": [
      {"name": "name", "type": "CharField", "required": true},
      {"name": "email", "type": "EmailField", "required": false}
    ]
  },
  "records": [
    {"id": 1, "name": "Acme Corp", "email": "info@acme.com"}
  ]
}
POST /api/v1/models/{model_name}/records/
Create new record

Create a new record in the specified model.

request Body:
{
  "name": "New Company",
  "email": "contact@newco.com",
  "phone": "+1234567890"
}
response:
{
  "id": 43,
  "name": "New Company",
  "email": "contact@newco.com",
  "phone": "+1234567890",
  "created_at": "2025-10-28T10:30:00Z"
}
PUT /api/v1/models/{model_name}/records/{id}/
Update existing record

Update an existing record by ID.

request Body:
{
  "name": "Updated Company Name",
  "email": "newemail@company.com"
}
DELETE /api/v1/models/{model_name}/records/{id}/
Delete record

Delete an existing record by ID.

response: 204 No Content

EXPORT data export Operations

GET /api/v1/models/{model_name}/export/
Export Model Data

Export Model Data in Various Formats (CSV, JSON, Excel).

Query Parameters:

  • format - csv, json, xlsx (default: json)
  • fields - comma-separated field names
  • limit - maximum number of records

SEARCH Search & Filtering

GET /api/v1/models/{model_name}/search/
Search records

Search and filter records using query parameters.

Search Parameters:

  • q - search query across all fields
  • field_name - filter by specific field value
  • ordering - sort by field (prefix with - for desc)
  • page - pagination page number

error Codes

HTTP status Codes

200 OK request successful
201 Created Resource created
400 Bad request Invalid request data
401 Unauthorized Authentication required
404 Not Found Resource not found

error response Format

error response:
{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Invalid field value",
    "details": {
      "field": "email",
      "issue": "Invalid email format"
    }
  }
}

Code Examples

🟨 JavaScript (Fetch API)

// Get All Models
const response = await fetch('/api/v1/models/', {
  headers: {
    'Authorization': 'Token your-api-token',
    'Content-Type': 'application/json'
  }
});
const models = await response.json();

// Create a new record
const newRecord = await fetch('/api/v1/models/Companies/records/', {
  method: 'POST',
  headers: {
    'Authorization': 'Token your-api-token',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    name: 'Tech Corp',
    email: 'info@techcorp.com'
  })
});
const record = await newRecord.json();

🐍 Python (Requests)

import requests

# API configuration
base_url = 'https://your-domain.com/api/v1'
headers = {
    'Authorization': 'Token your-api-token',
    'Content-Type': 'application/json'
}

# Get All Models
response = requests.get(f'{base_url}/models/', headers=headers)
models = response.json()

# Create new record
data = {
    'name': 'Tech Corp',
    'email': 'info@techcorp.com'
}
response = requests.post(
    f'{base_url}/models/Companies/records/',
    json=data,
    headers=headers
)
new_record = response.json()

💻 cURL

# Get All Models
curl -X GET "https://your-domain.com/api/v1/models/" \
  -H "Authorization: Token your-api-token" \
  -H "Content-Type: application/json"

# Create new record
curl -X POST "https://your-domain.com/api/v1/models/Companies/records/" \
  -H "Authorization: Token your-api-token" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Tech Corp",
    "email": "info@techcorp.com"
  }'

Rate Limiting & Best Practices

Rate Limits

Standard API

1000 requests per hour

Bulk Operations

100 requests per hour

Export API

50 requests per hour

Best Practices

  • ✓ Use pagination for large datasets
  • ✓ cache responses when possible
  • ✓ Handle rate limit errors gracefully
  • ✓ Use specific field selection to reduce payload
  • ✓ Implement proper error Handling

Try the API

Use our interactive API explorer to test endpoints and see real responses.

Get API Token
MS
MinerSheets

Revolutionary Data Management platform by Diofis Enterprise. Phenomenal artwork in technology that transforms how companies manage data.

Made with ❤️ in Bitung, North Sulawesi, Indonesia by Hendrik Mamarodia.

Quick Links

  • Dashboard
  • All Models
  • Model Factory

Support

  • User Guide
  • API Reference
  • Help Center
  • About Us
  • Site Map
  • Privacy Policy
  • Terms of Service

© 2025 MinerSheets by Diofis Enterprise (Data Infra Ekselen). All rights reserved.

LinkedIn Company Developer Bitung, Indonesia