Skip to main content
POST
/
api
/
citas
Create Appointment
curl --request POST \
  --url https://api.example.com/api/citas \
  --header 'Content-Type: application/json' \
  --data '
{
  "nombres": "<string>",
  "apellidos": "<string>",
  "telefono": "<string>",
  "email": "<string>",
  "fecha_solicitada": "<string>",
  "hora_solicitada": "<string>",
  "sintomas": "<string>"
}
'
{
  "message": "<string>",
  "cita": {
    "cita.id": 123,
    "cita.cliente_id": 123,
    "cita.fecha_solicitada": "<string>",
    "cita.hora_solicitada": "<string>",
    "cita.sintomas": "<string>",
    "cita.estado": "<string>"
  },
  "400 Bad Request": {},
  "500 Internal Server Error": {}
}
This endpoint allows public clients to create appointment requests. It creates both a public client record and an appointment in pendiente (pending) status.

Authentication

No authentication required - this is a public endpoint.

Request Body

nombres
string
required
Client’s first name(s)
apellidos
string
Client’s last name(s)
telefono
string
required
Client’s phone number
email
string
Client’s email address
fecha_solicitada
string
required
Requested appointment date in YYYY-MM-DD format
hora_solicitada
string
required
Requested appointment time in HH:MM format (24-hour)
sintomas
string
Description of symptoms or reason for appointment

Response

message
string
Success message: “Cita registrada”
cita
object
The created appointment object
cita.id
number
Appointment ID
cita.cliente_id
number
ID of the created public client
cita.fecha_solicitada
string
Requested appointment date
cita.hora_solicitada
string
Requested appointment time
cita.sintomas
string
Symptoms description
cita.estado
string
Appointment status (always “pendiente” on creation)

Error Responses

400 Bad Request
object
Returned when required fields are missing
{
  "message": "Datos obligatorios incompletos"
}
500 Internal Server Error
object
Returned when a server error occurs
{
  "message": "Error al registrar cita"
}

Example Request

curl -X POST https://api.example.com/api/citas \
  -H "Content-Type: application/json" \
  -d '{
    "nombres": "Juan",
    "apellidos": "Pérez",
    "telefono": "+502 5555-1234",
    "email": "[email protected]",
    "fecha_solicitada": "2026-03-15",
    "hora_solicitada": "10:30",
    "sintomas": "Dolor de cabeza persistente"
  }'

Example Response

{
  "message": "Cita registrada",
  "cita": {
    "id": 123,
    "cliente_id": 45,
    "fecha_solicitada": "2026-03-15T00:00:00.000Z",
    "hora_solicitada": "1970-01-01T10:30:00.000Z",
    "sintomas": "Dolor de cabeza persistente",
    "estado": "pendiente",
    "medico_id": null,
    "fecha_confirmada": null,
    "hora_confirmada": null,
    "created_at": "2026-03-05T14:30:00.000Z"
  }
}

Build docs developers (and LLMs) love