API Overview
Build powerful integrations with the RCManager API
Build on RCManager
The RCManager API opens up endless possibilities for integrating your RC data with other tools and services. Whether you're building a custom dashboard, automating maintenance workflows, or creating mobile apps, our RESTful API provides comprehensive access to your vehicles, parts, and analytics. With robust authentication, real-time webhooks, and extensive documentation, you can build exactly what you need.
RESTful Design
Standard HTTP methods
Secure Access
OAuth 2.0 & API keys
Global & Fast
CDN-backed endpoints
Getting Started
Quick Start Guide
- 1Create an API Application
Go to Settings → API → Create New App
- 2Get Your API Keys
Copy your Client ID and Secret (keep them secure!)
- 3Make Your First Request
Use the example below to fetch your vehicles
API Basics
Base URL
All API requests are made to:
https://api.propitbox.app/v1
Always use HTTPS for secure communication
Request & Response Format
The API uses JSON for all requests and responses:
Request Headers
Content-Type: application/json Authorization: Bearer YOUR_TOKEN Accept: application/json
Response Example
{ "data": {...}, "meta": { "timestamp": "2024-12-25T10:00:00Z" } }
HTTP Methods
Standard RESTful methods for different operations:
Method | Usage |
---|---|
GET | Retrieve resources |
POST | Create new resources |
PUT | Update entire resources |
PATCH | Partial updates |
DELETE | Remove resources |
Example Request
Get Your Vehicles
Here's a simple example to fetch all your vehicles:
cURL
curl -X GET https://api.propitbox.app/v1/vehicles \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Accept: application/json"
JavaScript
fetch('https://api.propitbox.app/v1/vehicles', { headers: { 'Authorization': 'Bearer YOUR_API_TOKEN', 'Accept': 'application/json' } }) .then(response => response.json()) .then(data => console.log(data));
Response
{ "data": [ { "id": "veh_123abc", "name": "Traxxas Slash 4x4", "type": "short_course_truck", "scale": "1/10", "created_at": "2024-01-15T10:00:00Z", "last_run": "2024-12-23T14:30:00Z", "stats": { "total_sessions": 47, "total_runtime": "89.4 hours" } } ], "meta": { "total": 5, "page": 1, "per_page": 20 } }
Available Endpoints
Vehicles
- GET /vehicles
- GET /vehicles/:id
- POST /vehicles
- PUT /vehicles/:id
- DELETE /vehicles/:id
Parts Inventory
- GET /parts
- GET /parts/:id
- POST /parts
- PATCH /parts/:id/stock
- GET /parts/low-stock
Maintenance
- GET /maintenance
- GET /maintenance/due
- POST /maintenance
- PATCH /maintenance/:id/complete
- GET /maintenance/history
Analytics
- GET /analytics/summary
- GET /analytics/costs
- GET /analytics/usage
- GET /analytics/performance
- POST /analytics/reports
Rate Limiting
API Limits
To ensure fair usage and system stability, the API has rate limits:
Plan | Requests/Hour | Burst Limit |
---|---|---|
Free | 1,000 | 50/minute |
Pro | 10,000 | 200/minute |
Enterprise | Unlimited | Custom |
Rate limit headers are included in every response:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 950
X-RateLimit-Reset: 1640995200
Error Handling
The API uses standard HTTP status codes and returns detailed error messages:
Success
Request completed successfully
Client Error
Invalid request (bad data, auth, etc.)
Server Error
Something went wrong on our end
Error Response Format
{ "error": { "code": "invalid_request", "message": "The vehicle ID provided is invalid", "details": { "field": "vehicle_id", "value": "invalid-id" } } }
SDKs & Libraries
Official SDKs to get you started quickly:
JavaScript/TypeScript
Full TypeScript support with type definitions
npm install @propitbox/sdk
Python
Pythonic interface with async support
pip install propitbox
Ruby
Ruby gem with Rails integration
gem install propitbox
API Best Practices
Building Robust Integrations
Start Building
Ready to integrate with RCManager? Here's what to do next: