Introduction
The Pipeline Job Tracker API provides programmatic access to manage job applications, track your job search pipeline, and leverage AI-powered insights. The API follows RESTful principles and uses JSON for request and response bodies.Base URL
The API is available at the following base URLs:API Version
The current API version is v1.0.0. All endpoints are prefixed with/api/.
Request Format
Headers
All API requests should include the following headers:Set to
application/json for requests with a bodyBearer token for authenticated endpoints (see Authentication)
Request Body
Request bodies must be valid JSON. Example:Response Format
Success Responses
Successful responses return JSON with adata field containing the requested resource(s):
The requested resource or array of resources
Total count of resources (for paginated list endpoints)
Current page number (for paginated endpoints)
Number of items per page (for paginated endpoints)
Whether more pages are available (for paginated endpoints)
Example Success Response
Error Responses
Error responses include anerror object with details about what went wrong:
Machine-readable error code (e.g.,
UNAUTHORIZED, VALIDATION_ERROR, NOT_FOUND)Human-readable error message
Additional validation error details (for
VALIDATION_ERROR responses)Unique request identifier for debugging (optional)
Seconds to wait before retrying (for rate limit errors)
HTTP Status Codes
The API uses standard HTTP status codes to indicate the success or failure of requests:| Status Code | Meaning | Description |
|---|---|---|
200 | OK | Request succeeded |
201 | Created | Resource created successfully |
202 | Accepted | Request accepted for processing (async operations) |
400 | Bad Request | Invalid request format or parameters |
401 | Unauthorized | Authentication required or invalid credentials |
403 | Forbidden | Authenticated but not authorized for this resource |
404 | Not Found | Resource does not exist |
409 | Conflict | Resource conflict (e.g., email already exists) |
429 | Too Many Requests | Rate limit exceeded |
500 | Internal Server Error | Unexpected server error |
503 | Service Unavailable | Service temporarily unavailable |
Common Error Examples
Rate Limiting
The API implements rate limiting to ensure fair usage and prevent abuse:| Endpoint Type | Limit | Window |
|---|---|---|
| Standard | 100 requests | per minute |
| Authentication | 5 requests | per minute |
| Scraper endpoints | 10 requests | per hour |
| AI endpoints | 20 requests | per hour |
Rate Limit Headers
All responses include rate limit information in headers:Maximum number of requests allowed in the current window
Number of requests remaining in the current window
Unix timestamp when the rate limit resets
429 Too Many Requests response with a retry_after field indicating how long to wait.
Pagination
List endpoints support pagination using query parameters:Page number to retrieve (1-indexed)
Number of items per page (maximum: 500)
Pagination Example
Filtering and Sorting
Many list endpoints support filtering and sorting:Field to sort by (e.g.,
created_at, updated_at, company_name)Sort order:
asc or descSearch query (searches across relevant fields)
Filtering Example
Public Endpoints
The following endpoints do not require authentication:POST /api/auth/signup- Create accountPOST /api/auth/login- LoginGET /api/health- Health check
Authorization header.
Next Steps
Authentication
Learn how to authenticate and manage sessions
Jobs API
Create, update, and manage job applications
AI Features
Get AI-powered insights and job scoring
Analytics
Access dashboard and timeline analytics