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 POST /jobs endpoint creates a new job listing and appends it to the in-memory store. The request body is validated with a Zod schema before any write occurs — if validation fails, the server returns a 400 with the individual field errors so clients can surface them directly to users.
POST /jobs
Jobs are stored in memory. All records — including newly created ones — are lost when the server restarts. This is an intentional design for the development environment; a persistent database layer is on the roadmap.

Request Body Parameters

titulo
string
required
Job title. Must be between 3 and 100 characters long.
empresa
string
required
Name of the company offering the position.
ubicacion
string
required
Job location or remote designation (e.g. "Remote", "Madrid, Spain").
descripcion
string
Short summary description of the role. Optional.
data
object
required
Structured metadata for the job listing.
content
object
required
Long-form structured content for the listing page.

Example Request

curl -X POST http://localhost:1234/jobs \
  -H "Content-Type: application/json" \
  -d '{
    "titulo": "Frontend Developer",
    "empresa": "Acme Corp",
    "ubicacion": "Remote",
    "descripcion": "We are looking for a passionate frontend developer.",
    "data": {
      "technology": ["react", "typescript"],
      "modalidad": "remoto",
      "nivel": "senior"
    },
    "content": {
      "description": "You will build and maintain our customer-facing React application.",
      "responsibilities": "Develop new UI features, write unit tests, collaborate with design.",
      "requirements": "3+ years of React experience, strong TypeScript skills.",
      "about": "Acme Corp is a fast-growing SaaS startup based in Barcelona."
    }
  }'

201 Response

A successful creation returns HTTP 201 with the full job object, including the server-generated UUID.
{
  "message": "Job Created",
  "data": {
    "id": "c3f2a1b4-9d87-4e56-b123-0f7a6c2d8e91",
    "titulo": "Frontend Developer",
    "empresa": "Acme Corp",
    "ubicacion": "Remote",
    "descripcion": "We are looking for a passionate frontend developer.",
    "data": {
      "technology": ["react", "typescript"],
      "modalidad": "remoto",
      "nivel": "senior"
    },
    "content": {
      "description": "You will build and maintain our customer-facing React application.",
      "responsibilities": "Develop new UI features, write unit tests, collaborate with design.",
      "requirements": "3+ years of React experience, strong TypeScript skills.",
      "about": "Acme Corp is a fast-growing SaaS startup based in Barcelona."
    }
  }
}

400 Validation Error

Returned when the request body fails Zod schema validation. The details array contains one entry per failing field.
{
  "error": "Invalid request",
  "details": [
    {
      "code": "too_small",
      "minimum": 3,
      "type": "string",
      "inclusive": true,
      "exact": false,
      "message": "El título debe tener al menos 3 caracteres",
      "path": ["titulo"]
    }
  ]
}

Build docs developers (and LLMs) love