API Reference
Applications
Track and retrieve individual job application results including status, ATS responses, and error details.
Get Application
Retrieves a specific application by its ID. Returns the full application record including status, ATS type, candidate email, submission results, and any error details.
/applications/:applicationIdcurl https://apply-api.boringproject.ai/api/v1/applications/app_abc123 \
-H "Authorization: Bearer bp_live_..."{
"application_id": "app_abc123",
"job_url": "https://boards.greenhouse.io/acme/jobs/12345",
"job_title": "Senior Software Engineer",
"company_name": "Acme Corp",
"ats_type": "greenhouse",
"status": "SUCCESS",
"candidate_email": "john@example.com",
"search_id": "srch_abc123",
"result": {
"confirmationUrl": "https://boards.greenhouse.io/acme/jobs/12345/confirmation"
},
"questions_and_answers": {
"Are you authorized to work in the US?": "Yes",
"Years of experience with Python?": "5"
},
"error": null,
"created_at": "2024-02-14T11:00:00Z",
"updated_at": "2024-02-14T11:05:00Z"
}List Applications
Returns a paginated list of applications with an aggregate summary. Filter by status or session ID to narrow results.
/applications| Name | Type | Required | Description |
|---|---|---|---|
status | string | Optional | Filter by status: QUEUED, PROCESSING, SUCCESS, FAILED, CANCELLED, SKIPPED |
sessionId | string | Optional | Filter by session ID |
page | integer | Optional | Page number (default: 1) |
limit | integer | Optional | Items per page, 1-100 (default: 20) |
curl "https://apply-api.boringproject.ai/api/v1/applications?status=FAILED&page=1&limit=20" \
-H "Authorization: Bearer bp_live_..."{
"data": [
{
"application_id": "app_def456",
"job_url": "https://jobs.lever.co/company/abc123",
"job_title": "Backend Developer",
"company_name": "Startup Inc",
"ats_type": "lever",
"status": "FAILED",
"candidate_email": "john@example.com",
"search_id": null,
"result": null,
"questions_and_answers": null,
"error": { "code": "FORM_ERROR", "message": "Some required fields could not be completed automatically." },
"created_at": "2024-02-14T11:00:00Z",
"updated_at": "2024-02-14T11:10:00Z"
}
],
"summary": {
"totalSuccessful": 380,
"totalFailed": 12,
"totalCancelled": 3,
"totalQueued": 0,
"totalProcessing": 0,
"totalSkipped": 5
},
"pagination": { "page": 1, "limit": 20, "total": 12, "totalPages": 1 }
}Application Status Values
Applications move through the following statuses:
**QUEUED** — Application has been accepted and is waiting to be processed.
**PROCESSING** — Application is actively being submitted to the ATS.
**SUCCESS** — Application was successfully submitted.
**FAILED** — Submission failed. Check the `error` field for details.
**SKIPPED** — Application was skipped (e.g. duplicate detected).
**CANCELLED** — Application was cancelled before processing (e.g. session was stopped).
Related docs