Skip to main content

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.

Authentication

Use API keys or OAuth2 tokens to authenticate your requests.

Learn more

Endpoints

RESTful endpoints for curricula, study items, and review sessions.

View endpoints

Base URL

All API requests should be made to:

https://api.scholium.io/v1

Authentication

Include your API key in the Authorization header of each request:

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.scholium.io/v1/curricula

You can generate API keys from your account settings.

Endpoints Overview

Here are the main API endpoints:

GET/api/v1/curricula
POST/api/v1/curricula
GET/api/v1/curricula/:id
GET/api/v1/curricula/:id/items
POST/api/v1/items
GET/api/v1/study/queue
POST/api/v1/study/review

Response 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.

Next Steps