API Documentation
Overview
JobHive provides a comprehensive RESTful API built with Django REST Framework. The API supports all platform features including interview management, AI analysis, user management, and billing operations.Base Information
API Base URL:https://api.jobhive.com/api/v1/Authentication: JWT Bearer Token
Content Type:
application/jsonAPI Version: v1
Authentication
JWT Token Authentication
All API endpoints require authentication using JWT tokens.Using Authentication Tokens
Token Refresh
Core API Endpoints
1. User Management
Get Current User Profile
Update User Profile
User Registration
2. Interview Management
Create Interview Session
Get Interview Sessions
Get Interview Details
Update Interview Session
End Interview Session
3. AI Analysis & Scoring
Get Benchmark Comparison
Get Sentiment Analysis
Get Skill Assessments
Get Score Weights
4. Recommendations & Learning
Get Recommendations
Get Learning Paths
5. Job Management
Get Job Listings
Create Job Posting
6. Billing & Subscriptions
Get Subscription Plans
Get User Subscription
Create Subscription
Get Billing Analytics
7. Analytics & Reporting
Get Interview Analytics
Get Historical Trends
Error Handling
Standard Error Response Format
Common HTTP Status Codes
| Status Code | Description | Usage |
|---|---|---|
| 200 | OK | Successful GET, PUT requests |
| 201 | Created | Successful POST requests |
| 204 | No Content | Successful DELETE requests |
| 400 | Bad Request | Validation errors, malformed requests |
| 401 | Unauthorized | Missing or invalid authentication |
| 403 | Forbidden | Insufficient permissions |
| 404 | Not Found | Resource doesn’t exist |
| 409 | Conflict | Resource conflict (e.g., duplicate) |
| 429 | Too Many Requests | Rate limit exceeded |
| 500 | Internal Server Error | Server-side errors |
Error Code Reference
| Error Code | Description |
|---|---|
VALIDATION_ERROR | Input validation failed |
AUTHENTICATION_REQUIRED | Valid authentication token required |
PERMISSION_DENIED | Insufficient permissions for action |
RESOURCE_NOT_FOUND | Requested resource doesn’t exist |
DUPLICATE_RESOURCE | Resource already exists |
RATE_LIMIT_EXCEEDED | API rate limit exceeded |
SUBSCRIPTION_REQUIRED | Feature requires active subscription |
INTERVIEW_IN_PROGRESS | Cannot modify active interview |
Rate Limiting
Rate Limit Headers
Rate Limits by Endpoint Category
| Endpoint Category | Rate Limit | Window |
|---|---|---|
| Authentication | 20 requests | 15 minutes |
| Interview Management | 100 requests | 1 hour |
| AI Analysis | 50 requests | 1 hour |
| Analytics | 200 requests | 1 hour |
| General API | 1000 requests | 1 hour |
Pagination
Standard Pagination Format
Pagination Parameters
limit: Number of results per page (default: 20, max: 100)offset: Number of results to skipordering: Sort field (use-prefix for descending)
WebSocket API
Connection
Message Types
SDK Examples
Python SDK
JavaScript SDK
Testing & Development
Sandbox Environment
Base URL:https://sandbox-api.jobhive.com/api/v1/Test Cards: Use Stripe test card numbers for billing tests
API Testing Tools
- Postman Collection: Available for download
- OpenAPI Specification: Swagger documentation at
/api/docs/ - Interactive Testing: Available at
/api/playground/
