Documentation Index
Fetch the complete documentation index at: https://mintlify.com/mauroperez055/infoJobs/llms.txt
Use this file to discover all available pages before exploring further.
The API exposes two update verbs for job listings. PUT /jobs/:id performs a full replacement — the entire job record is overwritten with the supplied payload (while preserving the original id); note that PUT does not pass through the Zod validation middleware. PATCH /jobs/:id performs a partial update — only the fields present in the request body are merged into the existing record; all other fields are left unchanged, and the body is validated with Zod’s .partial() schema. Both methods return a 404 when the target job does not exist.
PUT /jobs/:id — Full Update
Use PUT when you want to replace all fields of an existing job in a single operation. The request body follows the same schema as POST /jobs and must include all required fields. Unlike POST and PATCH, the PUT route does not run through the Zod validation middleware — the payload is passed directly to the model.
Path Parameters
The UUID of the job listing to replace.
Request Body
The body must contain all fields required by the job schema (same as POST /jobs): titulo, empresa, ubicacion, data, and content. The id field is taken from the URL and cannot be changed.
Example Request
curl -X PUT http://localhost:1234/jobs/c3f2a1b4-9d87-4e56-b123-0f7a6c2d8e91 \
-H "Content-Type: application/json" \
-d '{
"titulo": "Senior Frontend Developer",
"empresa": "Acme Corp",
"ubicacion": "Barcelona, Spain",
"descripcion": "Updated role with on-site option.",
"data": {
"technology": ["react", "typescript", "vite"],
"modalidad": "híbrido",
"nivel": "senior"
},
"content": {
"description": "Lead our frontend team in building scalable UI systems.",
"responsibilities": "Architecture decisions, code review, mentoring junior devs.",
"requirements": "5+ years React, strong system design skills.",
"about": "Acme Corp is a fast-growing SaaS startup based in Barcelona."
}
}'
200 Response
{
"message": "Job Updated",
"data": {
"id": "c3f2a1b4-9d87-4e56-b123-0f7a6c2d8e91",
"titulo": "Senior Frontend Developer",
"empresa": "Acme Corp",
"ubicacion": "Barcelona, Spain",
"descripcion": "Updated role with on-site option.",
"data": {
"technology": ["react", "typescript", "vite"],
"modalidad": "híbrido",
"nivel": "senior"
},
"content": {
"description": "Lead our frontend team in building scalable UI systems.",
"responsibilities": "Architecture decisions, code review, mentoring junior devs.",
"requirements": "5+ years React, strong system design skills.",
"about": "Acme Corp is a fast-growing SaaS startup based in Barcelona."
}
}
}
PATCH /jobs/:id — Partial Update
Use PATCH when you only need to change one or more fields without supplying the full object. All body fields are optional — the Zod schema is applied with .partial() via the validateUpdate middleware, making every field optional for this method. Submitted fields are shallow-merged into the existing record.
Path Parameters
The UUID of the job listing to partially update.
Request Body
Any subset of the job fields. Only the keys present in the body will be updated.
Example Request
Update only the ubicacion field:
curl -X PATCH http://localhost:1234/jobs/c3f2a1b4-9d87-4e56-b123-0f7a6c2d8e91 \
-H "Content-Type: application/json" \
-d '{
"ubicacion": "Madrid, Spain"
}'
200 Response
{
"message": "Job Parcial Updated",
"data": {
"id": "c3f2a1b4-9d87-4e56-b123-0f7a6c2d8e91",
"titulo": "Senior Frontend Developer",
"empresa": "Acme Corp",
"ubicacion": "Madrid, Spain",
"descripcion": "Updated role with on-site option.",
"data": {
"technology": ["react", "typescript", "vite"],
"modalidad": "híbrido",
"nivel": "senior"
},
"content": {
"description": "Lead our frontend team in building scalable UI systems.",
"responsibilities": "Architecture decisions, code review, mentoring junior devs.",
"requirements": "5+ years React, strong system design skills.",
"about": "Acme Corp is a fast-growing SaaS startup based in Barcelona."
}
}
}
404 Response — PUT
Returned when no job with the given ID exists in the store.
{ "error": "Job Not Found" }
404 Response — PATCH
Returned when no job with the given ID exists in the store. Note the trailing space in the error string — this matches the exact string returned by the controller.
{ "error": "Job Not Found " }