Upload and Analyze Resume
Uploads a resume file and triggers asynchronous AI-powered analysis. The endpoint supports multiple file formats and includes built-in duplicate detection via content hash comparison.Endpoint
Authentication
This endpoint requires authentication. Include your authentication token in the request headers.Rate Limiting
Request
Headers
Must be
multipart/form-dataBody Parameters
The resume file to upload and analyze.Supported formats:
- PDF (
.pdf) - Microsoft Word (
.docx,.doc) - Plain text (
.txt) - Markdown (
.md)
Response
Status code.
200 indicates success.Response message. Returns “检测到相同简历,已返回历史分析结果” if duplicate is detected.
Response data containing resume upload and analysis information.
Examples
Response Examples
New Resume Upload (Success)
Duplicate Resume Detected
Error Responses
Error Response Example
Processing Flow
- File Validation: The system validates file type, size, and content
- Duplicate Detection: Content hash is calculated and checked against existing resumes
- Text Extraction: Resume text is parsed from the uploaded file
- Storage: File is stored in RustFS with a unique key
- Database Persistence: Resume metadata is saved with
PENDINGstatus - Async Analysis: Analysis task is queued to Redis Stream for background processing
- Response: Client receives immediate response with resume ID and storage info
Polling for Results: Since analysis is asynchronous, use the Get Resume Detail endpoint to poll for analysis completion. The
analyzeStatus field will change from PENDING to COMPLETED when ready.Notes
- Analysis typically completes within 10-30 seconds depending on resume complexity
- Duplicate detection uses SHA-256 content hashing
- If a duplicate is found with existing analysis results, they are returned immediately
- Failed analyses can be retried using the Reanalyze Resume endpoint
Reanalyze Resume
Manually trigger re-analysis of a previously uploaded resume. Useful for retrying failed analyses or getting updated results.Endpoint
Rate Limiting
Path Parameters
The unique identifier of the resume to reanalyze
Response
Status code.
200 indicates success.Response message
No data returned for this endpoint
Example Request
Success Response
Error Responses
Notes
- The resume status is reset to
PENDINGwhen reanalysis is triggered - Any previous analysis errors are cleared
- If resume text is not cached, the system will re-parse the original file from storage
- Poll the Get Resume Detail endpoint to check analysis progress
