Introduction
Base URL: https://api.upip-academy.com/v1
Protocol: HTTPS only
Format: JSON
Version: 1.0.0
Welcome to the UPIP Academy API! This RESTful API allows developers to integrate our education-tutoring platform into their applications. You can manage students, lessons, tutoring sessions, track progress, and more.
Getting Started
- Sign up for a developer account at developer.upip-academy.com
- Create an application and obtain your API key
- Review the authentication methods below
- Start making requests!
Authentication
The UPIP Academy API uses API key authentication. Include your API key in the request header:
Obtaining an API Key
1. Log in to your developer dashboard
2. Navigate to Settings → API Keys
3. Click "Generate New Key"
4. Copy and securely store your key
Authentication Example
Students Endpoints
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| page optional | integer | Page number (default: 1) |
| limit optional | integer | Items per page (default: 20, max: 100) |
| grade optional | string | Filter by grade level |
Response Example
Response Example
Request Body
| Field | Type | Description |
|---|---|---|
| name required | string | Student's full name |
| email required | string | Valid email address |
| grade required | string | Grade level (e.g., "10th") |
| parent_email optional | string | Parent/guardian email |
Request Example
Lessons Endpoints
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| subject optional | string | Filter by subject (math, science, english, history) |
| difficulty optional | string | Filter by difficulty (beginner, intermediate, advanced) |
Request Body
Tutoring Session Endpoints
Request Body
Progress Tracking Endpoints
Response Example
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| period required | string | weekly, monthly, quarterly |
| format optional | string | json, pdf (default: json) |
Webhooks
Webhooks allow you to receive real-time notifications when events occur in your UPIP Academy account.
Supported Events
| Event | Description |
|---|---|
| student.created | New student registered |
| lesson.completed | Student completed a lesson |
| achievement.unlocked | Student unlocked an achievement |
| session.booked | Tutoring session scheduled |
| session.completed | Tutoring session finished |
Webhook Payload Example
Configuring Webhooks
- Go to Developer Dashboard → Webhooks
- Click "Add Endpoint"
- Enter your endpoint URL
- Select events to subscribe to
- Save and test
Rate Limits
To ensure fair usage and system stability, the API enforces the following rate limits:
| Plan | Requests per Hour | Burst Limit |
|---|---|---|
| Free | 1,000 | 50/min |
| Basic | 10,000 | 200/min |
| Pro | 100,000 | 500/min |
| Enterprise | Unlimited | Custom |
Rate Limit Headers
Error Codes
The API uses standard HTTP status codes and returns detailed error messages:
| Code | Status | Description |
|---|---|---|
| 200 | OK | Request succeeded |
| 201 | Created | Resource created successfully |
| 400 | Bad Request | Invalid request format or parameters |
| 401 | Unauthorized | Invalid or missing API key |
| 403 | Forbidden | Insufficient permissions |
| 404 | Not Found | Resource not found |
| 429 | Too Many Requests | Rate limit exceeded |
| 500 | Internal Server Error | Server error occurred |
Error Response Format
Interactive API Tester
Test API endpoints directly from this documentation: