This document outlines all the available API endpoints in the Placify application. Because Placify is built on FastAPI, an interactive, auto-generated version of this documentation is always available by running the app and navigating to /docs (e.g., http://localhost:8000/docs).
- Purpose: Fetches the interview questions for the user based on the selected mode.
- Modes:
fast(quick test) ordetailed(comprehensive test).
- Purpose: Uploads and extracts text from the user's resume PDF.
- Payload:
multipart/form-datawithfile: <pdf>.
- Purpose: Runs the core AI matching engine to grade the user's answers and recommend matching companies.
- Payload: JSON containing extracted resume text, selected mode, and structured Q&A answers.
- Purpose: Downloads the final assessment report as a formatted PDF file.
- Purpose: Securely updates the product database by dynamically injecting new entries found in
companies.jsondirectly into the Postgres database. Old data is preserved. - Query Params:
secret(Must match theADMIN_SECRETenvironment variable, ordefault_dev_secretif unset).
These endpoints are used for reading and manually modifying internal database tables. They are extremely useful when testing the UI in /docs.
GET /api/dev/companiesβ Lists all companies in the DB.POST /api/dev/companiesβ Adds a single new company manually.GET /api/dev/companies/searchβ Searches for companies by name or role.GET /api/dev/companies/{id}β Gets details for a specific company ID.PUT /api/dev/companies/{id}β Updates/edits a specific company ID.DELETE /api/dev/companies/{id}β Deletes a specific company ID.
GET /api/dev/resumesβ Lists all uploaded resumes.GET /api/dev/resumes/searchβ Search resumes by filename.GET /api/dev/resumes/{id}/textβ Returns the raw extracted text of a past resume.GET /api/dev/resumes/{id}/pdfβ Downloads the original PDF of a past resume.
GET /api/dev/assessmentsβ Lists all past AI assessment runs and their generated match scores.GET /api/dev/assessments/{id}β Views a specific assessment's full JSON results.GET /api/dev/assessments/{id}/pdfβ Re-downloads the PDF report for a specific past assessment.
To test these right now without leaving your browser or using Postman:
- Run
docker-compose uporpython main.py - Open http://localhost:8000/docs