Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Esteban-Mendez-j/Proyecto-Docker/llms.txt

Use this file to discover all available pages before exploring further.

The applications API handles the full lifecycle of a job application. Candidates can apply to vacancies, track their own submission history, and cancel or reactivate applications. Companies can retrieve the list of applicants for each vacancy and update application statuses.

EstadoPostulacion values

Application status is stored as a string and maps to the following enum:
ValueDescription
ESPERAApplication is pending review.
ACEPTADAApplication has been accepted by the company.
RECHAZADAApplication has been rejected by the company.
CANCELADAApplication was cancelled by the candidate.
SINPOSTULACIONNo active application exists.

PostuladoDTO fields

nPostulacion
integer
Unique application ID.
fechaPostulacion
string (ISO date)
required
Date the application was submitted (YYYY-MM-DD).
estado
string
required
Current application status. One of the EstadoPostulacion values above. Max 10 characters.
isActive
boolean
Whether the application is currently active (not cancelled).
vacanteIsActive
boolean
Whether the associated vacancy is still active.
porcentajePrediccion
number
ML match score (0–100) between the candidate’s profile and the vacancy.
vacante
object
Summary of the associated vacancy (VacanteResumenDTO), including ID, title, company name, and city.
candidato
object
Summary of the candidate (CandidatoResumenDTO), including ID, name, and CV link.

Endpoints

List all applications (admin)

Returns the full, unfiltered list of all applications in the system.
GET /api/postulados
This endpoint is intended for administrative use. It returns all applications regardless of ownership.
ResponsePostuladoDTO[]
[
  {
    "nPostulacion": 1,
    "fechaPostulacion": "2025-04-10",
    "estado": "ESPERA",
    "isActive": true,
    "vacante": { "nvacantes": 7, "titulo": "Backend Developer" },
    "candidato": { "id": 3, "nombre": "Ana Torres" }
  }
]

List applicants for a vacancy

Returns a paginated list of candidates who have applied to a specific vacancy. Only the company that owns the vacancy may call this endpoint.
GET /api/postulados/lista
Requires a valid jwtToken cookie. Returns 403 Forbidden if the authenticated company does not own the requested vacancy.
Query parameters
nvacantes
integer
required
The vacancy ID to query applicants for.
estado
string
Filter by application status (e.g. ESPERA, ACEPTADA, RECHAZADA).
fechaMinima
string (ISO date)
Only return applications submitted on or after this date (YYYY-MM-DD).
nombreCandidato
string
Filter by candidate name (partial match).
page
integer
default:"0"
Zero-based page number.
size
integer
default:"10"
Number of results per page.
Response
{
  "content": [ /* PostuladoDTO[] */ ],
  "totalElements": 18,
  "totalPages": 2,
  "number": 0,
  "size": 10
}
Example
curl -X GET "https://api.searchjobs.dev/api/postulados/lista?nvacantes=7&estado=ESPERA&page=0&size=10" \
  -H "Cookie: jwtToken=<company-token>"

List candidate’s own applications

Returns a paginated history of applications submitted by the authenticated candidate.
GET /api/postulados/lista/candidato
Requires a valid jwtToken cookie belonging to a candidate account.
Query parameters
estado
string
Filter by application status.
fechaMinima
string (ISO date)
Only return applications submitted on or after this date.
tituloVacante
string
Filter by vacancy title (partial match).
empresa
string
Filter by company name (partial match).
page
integer
default:"0"
Zero-based page number.
size
integer
default:"10"
Number of results per page.
Response — paginated map of PostuladoDTO objects. Example
curl -X GET "https://api.searchjobs.dev/api/postulados/lista/candidato?estado=ESPERA" \
  -H "Cookie: jwtToken=<candidate-token>"

Apply to a vacancy

Submits a new application for the authenticated candidate to the specified vacancy.
POST /api/postulados/add/{nvacantes}
Requires a valid jwtToken cookie belonging to a candidate account. The candidate must have a CV uploaded (curriculo not null) and must not have an existing active application for the same vacancy.
Path parameters
nvacantes
integer
required
ID of the vacancy to apply to.
Response On success:
{
  "status": "success",
  "message": "Postulación realizada con éxito."
}
When the candidate already has an active application:
{
  "status": "error",
  "message": "Ya postulaste a esta vacante."
}
When the candidate has no CV uploaded:
{
  "status": "info",
  "message": "Debes subir tu currículum para postularte."
}
Example
curl -X POST "https://api.searchjobs.dev/api/postulados/add/7" \
  -H "Cookie: jwtToken=<candidate-token>"

Get application by ID

Returns the full details of a single application.
GET /api/postulados/edit/{nPostulacion}
Path parameters
nPostulacion
integer
required
Application ID.
ResponsePostuladoDTO object.

Update application

Updates the data of an existing application — typically used by a company to change the application status.
PUT /api/postulados/edit/{nPostulacion}
Path parameters
nPostulacion
integer
required
Application ID to update.
Request bodyapplication/jsonPostuladoDTO
estado
string
required
New application status. One of: ESPERA, ACEPTADA, RECHAZADA.
fechaPostulacion
string (ISO date)
required
Original application date.
vacante
object
required
Associated vacancy summary.
Response — the updated nPostulacion (integer). Example
curl -X PUT "https://api.searchjobs.dev/api/postulados/edit/12" \
  -H "Cookie: jwtToken=<company-token>" \
  -H "Content-Type: application/json" \
  -d '{"estado":"ACEPTADA","fechaPostulacion":"2025-04-10","vacante":{"nvacantes":7}}'

Cancel or reactivate an application

Sets the active state of an application without performing a full update. Used by candidates to withdraw or re-submit an existing application.
PATCH /api/postulados/cancelar/{nPostulacion}
Path parameters
nPostulacion
integer
required
Application ID.
Query parameters
estado
boolean
required
Pass false to cancel (deactivate) the application, true to reactivate it.
nvacante
integer
required
ID of the vacancy associated with the application.
Response204 No Content. Example
curl -X PATCH "https://api.searchjobs.dev/api/postulados/cancelar/12?estado=false&nvacante=7" \
  -H "Cookie: jwtToken=<candidate-token>"

Build docs developers (and LLMs) love