API Documentation
"Build with our blockchain-powered developer platform"
Introduction
Elld.IO provides a powerful REST API for developers to programmatically access its decentralized blog platform. This documentation covers authentication, available endpoints, and implementation guidelines.
Getting Started
Create an account and retrieve your API key
Endpoints
Explore our full list of available API paths
Examples
Sample code in various programming languages
Authentication
API Keys
To access the Elld.IO API, you'll need to obtain an API key from your developer dashboard. Each API key can be configured with different scope permissions.
curl -X POST https://api.elld.io/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"username": "dev@example.com", "password": "..." }'
Returns a JSON Web Token with 24-hour expiration
Security Tokens
All API requests require a token in the Authorization header. Use Bearer token authentication with the format: Bearer {token}
Token Scope
- read:posts
- read:users
- write:posts
Rate Limits
Available Endpoints
Retrieve all public posts
curl -X GET https://api.elld.io/v1/posts \
-H "Authorization: Bearer {token}"
Create new post
curl -X POST https://api.elld.io/v1/posts \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"title": "My Post", "content": "..." }'
Get information about the authenticated user
curl -X GET https://api.elld.io/v1/users/me \
-H "Authorization: Bearer {token}"
Get site statistics
curl -X GET https://api.elld.io/v1/stats \
-H "Authorization: Bearer {token}"
Code Examples
Node.js
const fetch = require('node-fetch');
const apiToken = 'your-api-token';
const response = await fetch('https://api.elld.io/v1/posts', {
headers: {'Authorization': 'Bearer ' + apiToken}
});
return await response.json();
}
Python
import requests
api_token = 'your-token'
def get_user_info():
headers = {'Authorization': f'Bearer {api_token}'}
response = requests.get('https://api.elld.io/v1/users/me', headers=headers)
return response.json()
Best Practices
Use Pagination
Always include page and limit parameters for listing operations to avoid performance issues.
?page=1&limit=20
Cache Smart
Use the Last-Modified
header for read operations to optimize performance.
Error Handling
Always handle rate limiting and authentication errors gracefully with retry strategies.
if response.status == 429:
wait(3000) # Wait 3 seconds on rate limit
Secure Storage
Never embed tokens in client-side apps. Always use server-side storage for API credentials.