API Reference
Resumes
Upload and manage resume files using pre-signed S3 URLs for secure, direct-to-storage uploads.
Upload Flow
Resume uploads use a three-step flow: (1) Request a pre-signed upload URL from our API, (2) Upload the file directly to S3 using that URL, (3) Use the returned resumeUrl when creating or updating candidate profiles. This approach keeps large files off our servers and provides fast, reliable uploads.
Get Upload URL
Request a pre-signed S3 URL for uploading a resume file.
/resumes/upload-url| Name | Type | Required | Description |
|---|---|---|---|
filename | string | Required | Original filename (e.g., resume.pdf) |
contentType | string | Required | MIME type: application/pdf, application/msword, or application/vnd.openxmlformats-officedocument.wordprocessingml.document |
# Step 1: Get upload URL
curl -X POST https://apply-api.boringproject.ai/api/v1/resumes/upload-url \
-H "Authorization: Bearer bp_live_..." \
-H "Content-Type: application/json" \
-d '{"filename": "john_doe_resume.pdf", "contentType": "application/pdf"}'
# Step 2: Upload file to S3
curl -X PUT "<uploadUrl>" -H "Content-Type: application/pdf" --data-binary @resume.pdf{
"resumeId": "res_def456",
"uploadUrl": "https://s3.amazonaws.com/bucket/path?X-Amz-Algorithm=...",
"resumeUrl": "https://s3.amazonaws.com/bucket/path/resume.pdf",
"expiresIn": 3600
}Get Resume
Retrieve resume metadata and download URL by resume ID.
/resumes/:resumeId{
"resumeId": "res_def456",
"clientId": "client_xyz789",
"filename": "john_doe_resume.pdf",
"contentType": "application/pdf",
"resumeUrl": "https://s3.amazonaws.com/bucket/path/resume.pdf",
"uploadedAt": "2024-02-14T10:30:00Z"
}Delete Resume
Delete a resume file from S3. Note that deleting a resume will affect any profiles referencing this resume URL.
/resumes/:resumeIdRelated docs
Continue reading
Candidate Profiles
Manage candidate profiles containing personal information, work experience, education, skills, languages, certifications, achievements, miscellaneous details, and resumes.
Users
Create, retrieve, update, and delete users who apply for jobs through your platform.
Quickstart
Go from zero to submitting your first automated job application in under five minutes.