API Reference
Build custom integrations and automate your learning workflow with the Scholium REST API.
API in Beta
Our API is currently in beta. Endpoints and response formats may change. We recommend pinning to a specific API version in production.
Overview
The Scholium API allows you to programmatically access and manage your study materials. You can create curricula, add flashcards, trigger study sessions, and sync data with external systems.
Base URL
All API requests should be made to:
https://api.scholium.io/v1Authentication
Include your API key in the Authorization header of each request:
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.scholium.io/v1/curriculaYou can generate API keys from your account settings.
Endpoints Overview
Here are the main API endpoints:
/api/v1/curricula/api/v1/curricula/api/v1/curricula/:id/api/v1/curricula/:id/items/api/v1/items/api/v1/study/queue/api/v1/study/reviewResponse Format
All responses are returned in JSON format. Successful responses include a data field with the requested resource. Error responses include an error field with a message and code.
Success Response
{
"data": {
"id": "curr_123abc",
"name": "Biology 101",
"created_at": "2024-01-15T10:30:00Z"
}
}Error Response
{
"error": {
"code": "unauthorized",
"message": "Invalid or expired API key"
}
}Rate Limiting
API requests are rate limited to ensure fair usage. The current limits are:
- Free tier: 100 requests per minute
- Pro tier: 1,000 requests per minute
- Enterprise: Custom limits available
Rate limit information is included in response headers: X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset.
Security
Keep your API keys secure
Never expose API keys in client-side code or public repositories. Use environment variables and server-side requests for API calls.
SDKs and Libraries
We provide official SDKs to make integration easier:
- JavaScript/TypeScript:
npm install @scholium/sdk - Python:
pip install scholium
Community-maintained libraries are also available for other languages.