Skip to main content

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.
PUT /jobs/:id

Path Parameters

id
string
required
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.
PATCH /jobs/:id

Path Parameters

id
string
required
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 " }

Build docs developers (and LLMs) love