DevAPI Hub documentation
Guides and references for integrating DevAPI Hub APIs into your applications.
Quick start
1. Create an account
Sign up for a DevAPI Hub account to get started. You can register using your email address or connect with GitHub/Google for faster access.
2. Subscribe to an API
Browse the API catalogue and subscribe to the APIs you need. Each API has detailed documentation, code examples, and usage information.
3. Generate an API key
Once subscribed, open API Keys in your dashboard and generate a key for the subscribed API. You can create multiple keys for different projects.
4. Make your first API call
Include your API key in the request header:
curl -X GET "https://devapi.autoplannerx.com/api/v1/quotes-api/random" \
-H "X-API-Key: YOUR_API_KEY"Example response
{
"quote": "The only way to do great work is to love what you do.",
"author": "Steve Jobs",
"category": "motivational"
}Authentication
API key authentication
All API requests require authentication using an API key. Include your API key in the request header:
X-API-Key: YOUR_API_KEYThe header name is case-insensitive — both X-API-Key and x-api-key work. You can also pass the key as a query parameter: ?api_key=YOUR_API_KEY
Example request
curl -X GET "https://devapi.autoplannerx.com/api/v1/quotes-api/random" \
-H "X-API-Key: your-api-key-here"Important: each API key is tied to a specific API. Make sure you generate a key for the API you want to use from your dashboard.
Security best practices
- Never expose your API key in client-side code or public repositories
- Rotate your keys regularly for enhanced security
- Use different keys for different projects or environments
- Revoke compromised keys immediately from your dashboard
Error responses
If authentication fails, you'll receive one of these error responses:
// 401 Unauthorized - Missing API Key
{
"error": true,
"message": "API Key is missing"
}
// 401 Unauthorized - Invalid API Key
{
"error": true,
"message": "Invalid API Key"
}
// 401 Unauthorized - API Key not for this service
{
"error": true,
"message": "Invalid API Key for this service"
}
// 404 Not Found - API not found
{
"error": true,
"message": "API not found"
}| Message | Meaning |
|---|---|
API Key is missing | The X-API-Key header was not provided |
Invalid API Key | The API key does not exist or is inactive |
Invalid API Key for this service | The key is valid but not associated with the requested API — generate a key for that API |
Code examples
Ready-to-use examples for different languages. Each API's detail page includes examples for all of its endpoints.
JavaScript (Fetch API)
fetch('https://devapi.autoplannerx.com/api/v1/quotes-api/random', {
method: 'GET',
headers: {
'X-API-Key': 'YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => {
console.log(data);
})
.catch(error => {
console.error('Error:', error);
});Python (requests)
import requests
url = 'https://devapi.autoplannerx.com/api/v1/quotes-api/random'
headers = {
'X-API-Key': 'YOUR_API_KEY'
}
response = requests.get(url, headers=headers)
data = response.json()
print(data)PHP (cURL)
$apiKey = "YOUR_API_KEY";
$apiUrl = "https://devapi.autoplannerx.com/api/v1/quotes-api/list";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-API-Key: " . $apiKey,
"Content-Type: application/json"
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode === 200) {
$quotes = json_decode($response, true);
foreach ($quotes as $quote) {
echo $quote['quote'] . " - " . $quote['author'] . "\n";
}
} else {
$error = json_decode($response, true);
echo "Error: " . $error['message'];
}Node.js (axios)
const axios = require('axios');
axios.get('https://devapi.autoplannerx.com/api/v1/quotes-api/random', {
headers: {
'X-API-Key': 'YOUR_API_KEY'
}
})
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error('Error:', error.response?.data || error.message);
});Quotes API endpoints
| Endpoint | Description |
|---|---|
GET /api/v1/quotes-api/random | Get a random quote |
GET /api/v1/quotes-api/list | Get all available quotes |
GET /api/v1/quotes-api/category/{category} | Get a random quote from a category |
Available categories: motivational, success, wisdom, life, technology
Example: get all quotes
curl -X GET "https://devapi.autoplannerx.com/api/v1/quotes-api/list" \
-H "X-API-Key: YOUR_API_KEY"Example response (list)
[
{
"quote": "The only way to do great work is to love what you do.",
"author": "Steve Jobs",
"category": "motivational"
},
{
"quote": "Success is walking from failure to failure with no loss of enthusiasm.",
"author": "Winston Churchill",
"category": "success"
}
]E-Signature API
Send a PDF, list signers, and we handle the rest. Use the same X-API-Key header.
| Endpoint | Description |
|---|---|
POST /api/v1/e-signature/send | Upload, create the request, and email signers |
GET /api/v1/e-signature/requests/{id} | Check status |
GET /api/v1/e-signature/requests/{id}/download | Download the signed PDF |
curl -X POST "https://devapi.autoplannerx.com/api/v1/e-signature/send" \
-H "X-API-Key: YOUR_API_KEY" \
-F "file=@contract.pdf" \
-F "title=Employment Contract" \
-F "signers=[{\"name\":\"Jane Doe\",\"email\":\"jane@example.com\"}]"Visit any API's detail page to see code examples for all of its endpoints in multiple languages.
Rate limits
Rate limits ensure fair usage and system stability. Limits are applied per API key and reset based on your plan's period.
Rate limit tiers
| Plan | Requests | Period |
|---|---|---|
| Free | 100 | Hour |
| Premium | 1,000 | Hour |
| Enterprise | 10,000+ | Hour |
Rate limit headers
Every API response includes rate limit information in the headers:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 987
X-RateLimit-Reset: 1640995200Handling rate limits
When you exceed your rate limit, you'll receive a 429 Too Many Requests response:
{
"error": true,
"message": "Rate limit exceeded",
"retry_after": 3600
}Best practices
- Monitor your rate limit headers to avoid hitting limits
- Implement exponential backoff when you receive 429 errors
- Cache responses when possible to reduce API calls
- Upgrade your plan if you consistently hit rate limits
Troubleshooting
401 Unauthorized
Problem: your API key is missing or invalid.
- Verify you're including the
X-API-Keyheader in your request (header name is case-insensitive) - Check that your API key is correct and hasn't been revoked
- Ensure you're subscribed to the API you're trying to access
- Each API key is tied to a specific API. If you get "Invalid API Key for this service", generate a new key for that API from your dashboard
429 Rate limit exceeded
Problem: you've exceeded your plan's rate limit.
- Wait for the rate limit window to reset (check the
X-RateLimit-Resetheader) - Implement request caching to reduce API calls
- Upgrade your plan for higher rate limits
- Use multiple API keys to distribute load (Premium/Enterprise plans)
404 Not found
Problem: the API endpoint doesn't exist or the API is inactive.
- Verify the endpoint URL is correct
- Check the API documentation for the correct endpoint path
- Check the API's current status on the status page
500 Internal server error
Problem: an error occurred on our servers.
- Retry the request after a few moments
- Check the status page for any ongoing issues
- If the problem persists, contact support with the request details
CORS Browser requests blocked
Problem: cross-origin requests are blocked in the browser.
- Make API calls from your backend server instead of directly from the browser
- Use a proxy server to handle CORS
- For Enterprise plans, contact us about CORS configuration
Getting help
- Check the API documentation for specific endpoint details
- Review your dashboard for usage statistics and errors
- Contact our support team through the contact page
Quick reference
- Base URL
- https://devapi.autoplannerx.com/api/v1/
- Authentication
- X-API-Key: YOUR_API_KEY
- Response format
- JSON
- HTTP methods
- GET, POST, PUT, DELETE
No matching docs
Try a different search term, or browse the API catalogue.