{"openapi":"3.1.0","info":{"title":"API de Kaptativa","version":"1.1.0","description":"Los recursos de la cuenta, con los permisos de la persona dueña del token y los alcances del token. El token se crea en Administración > API y MCP y va en el encabezado Authorization. Cada token puede hacer hasta 120 pedidos por minuto y la cuenta, entre todos sus tokens, hasta 600. Los listados se paginan con limite y cursor. Las operaciones que cambian algo aceptan Idempotency-Key: el reintento con la misma clave y la misma entrada devuelve la respuesta del primero. Es detección de repetidos y no una transacción: si el primero se cortó a medio hacer, el reintento responde 409 y conviene consultar el recurso antes de insistir con otra clave."},"servers":[{"url":"https://panel.kaptativa.app/api"}],"security":[{"token":[]}],"tags":[{"name":"General"},{"name":"Gestión"},{"name":"Administración"},{"name":"Configuración"},{"name":"Inmobiliaria"},{"name":"Bandeja"},{"name":"Tienda"},{"name":"Alquileres"},{"name":"Turnos"},{"name":"Herramientas","description":"Cada operación por su nombre, como la usan el MCP y el asistente"},{"name":"Webhooks"}],"paths":{"/v1":{"get":{"operationId":"cuenta","summary":"La cuenta y el token con el que se llama, con sus alcances","tags":["General"],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas":{"get":{"operationId":"herramientas","summary":"Las herramientas que puede usar este token, con el esquema de su entrada y su recurso","tags":["General"],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/gestion/tickets":{"get":{"operationId":"gestion_ticket_listar","summary":"Lista los tickets de soporte de la cuenta con su estado, por grupo (abiertos, nuevos, resueltos, cerrados) y tipo.","tags":["Gestión"],"x-kaptativa-herramienta":"gestion.ticket.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"gestion-tickets.ver","x-kaptativa-alcance":"gestion:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"grupo","in":"query","required":false,"description":"Qué tickets: abiertos por defecto","schema":{"type":"string","enum":["todos","nuevos","abiertos","resueltos","cerrados"]}},{"name":"tipo","in":"query","required":false,"schema":{"type":"string","enum":["error","mejora","consulta","urgente","tarea"]}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"gestion_ticket_abrir","summary":"Abre un ticket de soporte para el equipo de Kaptativa: un error, una mejora, una consulta.","tags":["Gestión"],"x-kaptativa-herramienta":"gestion.ticket.abrir","x-kaptativa-clase":"accion_irreversible","x-kaptativa-permiso":"gestion-tickets.crear","x-kaptativa-alcance":"gestion:escritura","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"asunto":{"type":"string","minLength":3,"maxLength":120},"tipo":{"type":"string","enum":["error","mejora","consulta","urgente","tarea"]},"modulo":{"description":"El módulo afectado, por ejemplo Sitio o Inmobiliaria","type":"string"},"descripcion":{"type":"string","minLength":10,"maxLength":4000}},"required":["asunto","tipo","descripcion"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/gestion/tickets/{numero}":{"get":{"operationId":"gestion_ticket_ver","summary":"Muestra un ticket de soporte con su estado y la conversación con el equipo de Kaptativa.","tags":["Gestión"],"x-kaptativa-herramienta":"gestion.ticket.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"gestion-tickets.ver","x-kaptativa-alcance":"gestion:lectura","parameters":[{"name":"numero","in":"path","required":true,"description":"El número del ticket: 2 para TIC-00002","schema":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/gestion/tickets/{numero}/mensajes":{"post":{"operationId":"gestion_ticket_responder","summary":"Le escribe al equipo de Kaptativa en la conversación de un ticket.","tags":["Gestión"],"x-kaptativa-herramienta":"gestion.ticket.responder","x-kaptativa-clase":"accion_irreversible","x-kaptativa-permiso":"gestion-tickets.crear","x-kaptativa-alcance":"gestion:escritura","parameters":[{"name":"numero","in":"path","required":true,"description":"El número del ticket: 2 para TIC-00002","schema":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"texto":{"type":"string","minLength":2,"maxLength":4000}},"required":["texto"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/gestion/tickets/{numero}/verificar":{"post":{"operationId":"gestion_ticket_verificar","summary":"Confirma que un ticket resuelto quedó bien: pasa a Verificado y se cierra.","tags":["Gestión"],"x-kaptativa-herramienta":"gestion.ticket.verificar","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"gestion-tickets.editar","x-kaptativa-alcance":"gestion:escritura","parameters":[{"name":"numero","in":"path","required":true,"description":"El número del ticket: 2 para TIC-00002","schema":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/gestion/tickets/{numero}/reabrir":{"post":{"operationId":"gestion_ticket_reabrir","summary":"Reabre un ticket resuelto porque el problema sigue, con un mensaje para el equipo.","tags":["Gestión"],"x-kaptativa-herramienta":"gestion.ticket.reabrir","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"gestion-tickets.editar","x-kaptativa-alcance":"gestion:escritura","parameters":[{"name":"numero","in":"path","required":true,"description":"El número del ticket: 2 para TIC-00002","schema":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"texto":{"type":"string","minLength":2,"maxLength":4000}},"required":["texto"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/gestion/tickets/{numero}/calificacion":{"post":{"operationId":"gestion_ticket_calificar","summary":"Califica la atención de un ticket resuelto con pulgar arriba o abajo.","tags":["Gestión"],"x-kaptativa-herramienta":"gestion.ticket.calificar","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"gestion-tickets.editar","x-kaptativa-alcance":"gestion:escritura","parameters":[{"name":"numero","in":"path","required":true,"description":"El número del ticket: 2 para TIC-00002","schema":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"calificacion":{"type":"string","enum":["arriba","abajo"]}},"required":["calificacion"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/gestion/clientes":{"get":{"operationId":"gestion_cliente_buscar","summary":"Busca clientes por nombre, email o documento y muestra su tipo, contacto y vendedor; sin texto, los más recientes.","tags":["Gestión"],"x-kaptativa-herramienta":"gestion.cliente.buscar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"gestion-clientes.ver","x-kaptativa-alcance":"gestion:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"buscar","in":"query","required":false,"schema":{"type":"string","maxLength":80}},{"name":"sinVerificar","in":"query","required":false,"description":"Solo los No clientes con el email sin verificar, para fusionar","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"gestion_cliente_crear","summary":"Da de alta un cliente con nombre y, si se sabe, apellido, email y teléfono; queda con el tipo Cliente.","tags":["Gestión"],"x-kaptativa-herramienta":"gestion.cliente.crear","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"gestion-clientes.crear","x-kaptativa-alcance":"gestion:escritura","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"nombre":{"type":"string","minLength":1,"maxLength":120},"apellido":{"type":"string","maxLength":120},"email":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"telefono":{"type":"string","maxLength":40}},"required":["nombre"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/gestion/clientes/{id}":{"get":{"operationId":"gestion_cliente_ver","summary":"Muestra la ficha de un cliente: datos personales y comerciales, campos propios y direcciones.","tags":["Gestión"],"x-kaptativa-herramienta":"gestion.cliente.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"gestion-clientes.ver","x-kaptativa-alcance":"gestion:lectura","parameters":[{"name":"id","in":"path","required":true,"description":"El id que devuelve gestion.cliente.buscar","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/gestion/proveedores":{"get":{"operationId":"gestion_proveedor_buscar","summary":"Busca proveedores por nombre, razón social o CUIT y muestra su rubro, contacto y horario de atención.","tags":["Gestión"],"x-kaptativa-herramienta":"gestion.proveedor.buscar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"gestion-proveedores.ver","x-kaptativa-alcance":"gestion:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"buscar","in":"query","required":false,"schema":{"type":"string","maxLength":80}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/gestion/proveedores/{id}":{"get":{"operationId":"gestion_proveedor_ver","summary":"Muestra la ficha de un proveedor: datos impositivos, contacto, dirección, horarios y archivos.","tags":["Gestión"],"x-kaptativa-herramienta":"gestion.proveedor.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"gestion-proveedores.ver","x-kaptativa-alcance":"gestion:lectura","parameters":[{"name":"id","in":"path","required":true,"description":"El id que devuelve gestion.proveedor.buscar","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/gestion/tarjetas":{"get":{"operationId":"gestion_tarjeta_buscar","summary":"Busca tarjetas por título o descripción en todos los tableros que la persona ve, con su tablero, columna, estado, prioridad y vencimiento.","tags":["Gestión"],"x-kaptativa-herramienta":"gestion.tarjeta.buscar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"gestion-tableros.ver","x-kaptativa-alcance":"gestion:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"buscar","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":80}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"gestion_tarjeta_crear","summary":"Agrega una tarjeta al pie de una columna de un tablero, con vencimiento si se lo dicen.","tags":["Gestión"],"x-kaptativa-herramienta":"gestion.tarjeta.crear","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"gestion-tableros.editar","x-kaptativa-alcance":"gestion:escritura","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"tablero":{"type":"string","minLength":1,"maxLength":80,"description":"El nombre del tablero"},"columna":{"description":"El nombre de la columna; sin decirla, la primera","type":"string","maxLength":60},"titulo":{"type":"string","minLength":1,"maxLength":200},"vence":{"description":"La fecha de vencimiento, como 2026-10-30","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["tablero","titulo"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/gestion/importaciones":{"get":{"operationId":"gestion_importacion_listar","summary":"Lista las últimas importaciones de clientes y proveedores con su estado y cuántos registros creó, actualizó o tuvieron error.","tags":["Gestión"],"x-kaptativa-herramienta":"gestion.importacion.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"gestion-importaciones.ver","x-kaptativa-alcance":"gestion:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/administracion/usuarios":{"get":{"operationId":"administracion_usuario_listar","summary":"Lista el equipo de la cuenta: nombre, apodo, tipo de usuario, email y si está habilitado.","tags":["Administración"],"x-kaptativa-herramienta":"administracion.usuario.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"administracion-usuarios.ver","x-kaptativa-alcance":"administracion:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"buscar","in":"query","required":false,"schema":{"type":"string","maxLength":60}},{"name":"habilitado","in":"query","required":false,"schema":{"type":"string","enum":["si","no"]}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/administracion/notificaciones":{"get":{"operationId":"administracion_notificacion_listar","summary":"Lista los avisos de quien pregunta en la cuenta: los sin leer o todos.","tags":["Administración"],"x-kaptativa-herramienta":"administracion.notificacion.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"administracion-notificaciones.ver","x-kaptativa-alcance":"administracion:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"soloSinLeer","in":"query","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/administracion/notificaciones/leidas":{"post":{"operationId":"administracion_notificacion_marcar_leidas","summary":"Marca como leídos todos los avisos de quien pregunta.","tags":["Administración"],"x-kaptativa-herramienta":"administracion.notificacion.marcar_leidas","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"administracion-notificaciones.ver","x-kaptativa-alcance":"administracion:escritura","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/administracion/plan":{"get":{"operationId":"administracion_plan_ver","summary":"Muestra lo contratado con su precio, el consumo del mes de cada medidor y los abonos.","tags":["Administración"],"x-kaptativa-herramienta":"administracion.plan.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"administracion-plan-consumo.ver","x-kaptativa-alcance":"administracion:lectura","parameters":[],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/administracion/perfiles":{"get":{"operationId":"administracion_perfil_listar","summary":"Lista los tipos de usuario de la cuenta con cuántas personas tiene cada uno y su alcance.","tags":["Administración"],"x-kaptativa-herramienta":"administracion.perfil.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"administracion-perfiles.ver","x-kaptativa-alcance":"administracion:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/administracion/actividad":{"get":{"operationId":"administracion_actividad_buscar","summary":"Busca en la actividad de la cuenta quién hizo qué, sobre qué y cuándo.","tags":["Administración"],"x-kaptativa-herramienta":"administracion.actividad.buscar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"administracion-actividad.ver","x-kaptativa-alcance":"administracion:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"buscar","in":"query","required":false,"schema":{"type":"string","maxLength":80}},{"name":"desde","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"hasta","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"modulo","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/configuracion/ajustes-propiedades":{"get":{"operationId":"configuracion_ajuste_propiedades_ver","summary":"Muestra los parámetros de Inmobiliaria > Configuración: prefijos de código, cintas, fotos recomendadas, tipos y más.","tags":["Configuración"],"x-kaptativa-herramienta":"configuracion.ajuste_propiedades.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"configuracion-propiedades.ver","x-kaptativa-alcance":"configuracion:lectura","parameters":[],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/configuracion/ajustes-propiedades/{clave}":{"patch":{"operationId":"configuracion_ajuste_propiedades_cambiar","summary":"Cambia un parámetro de Inmobiliaria > Configuración. Queda en el historial y se puede deshacer.","tags":["Configuración"],"x-kaptativa-herramienta":"configuracion.ajuste_propiedades.cambiar","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"configuracion-propiedades.editar","x-kaptativa-alcance":"configuracion:escritura","parameters":[{"name":"clave","in":"path","required":true,"schema":{"type":"string","enum":["prefijoVenta","prefijoAlquiler","advertirIncompletas","bloquearIncompletas","fotosRecomendadas","cintaReservada","diasCintaVendida","diasCintaAlquilada","marcaPosicion","marcaOpacidad","marcaTamano","umbralBajaPrecio","mensajeWhatsapp","tiempoRespuesta","ventanaAgrupacion","motivosCierre","brochureConDatos","mostrarDesarrollista","margenBusqueda","topeDiario"]}},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"valor":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"type":"string"}}]}},"required":["valor"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/configuracion/archivos":{"get":{"operationId":"configuracion_archivo_buscar","summary":"Busca imágenes o documentos subidos a la cuenta por nombre.","tags":["Configuración"],"x-kaptativa-herramienta":"configuracion.archivo.buscar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"configuracion-archivos.ver","x-kaptativa-alcance":"configuracion:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"espacio","in":"query","required":true,"schema":{"type":"string","enum":["imagenes","archivos"]}},{"name":"buscar","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":80}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/configuracion/resguardo":{"get":{"operationId":"configuracion_resguardo_ver","summary":"Muestra el último respaldo, el respaldo automático programado y los últimos respaldos con su estado.","tags":["Configuración"],"x-kaptativa-herramienta":"configuracion.resguardo.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"configuracion-resguardo.ver","x-kaptativa-alcance":"configuracion:lectura","parameters":[],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/configuracion/resguardo/respaldos":{"post":{"operationId":"configuracion_resguardo_respaldar","summary":"Pide un respaldo de la base de datos y los archivos de la cuenta. Lo arma el sistema en unos minutos.","tags":["Configuración"],"x-kaptativa-herramienta":"configuracion.resguardo.respaldar","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"configuracion-resguardo.crear","x-kaptativa-alcance":"configuracion:escritura","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/configuracion/dominios":{"get":{"operationId":"configuracion_dominio_listar","summary":"Lista los dominios de la cuenta con su estado, cuál es el principal, el certificado y el vencimiento.","tags":["Configuración"],"x-kaptativa-herramienta":"configuracion.dominio.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"configuracion-dominio-correo.ver","x-kaptativa-alcance":"configuracion:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/configuracion/dominios/{dominio}/verificar":{"post":{"operationId":"configuracion_dominio_verificar","summary":"Verifica un dominio propio pendiente: busca el registro TXT y, si está, lo activa.","tags":["Configuración"],"x-kaptativa-herramienta":"configuracion.dominio.verificar","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"configuracion-dominio-correo.editar","x-kaptativa-alcance":"configuracion:escritura","parameters":[{"name":"dominio","in":"path","required":true,"schema":{"type":"string","minLength":4,"maxLength":253}},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/configuracion/casillas":{"get":{"operationId":"configuracion_casilla_listar","summary":"Lista las casillas de correo con el dominio de la cuenta, con su responsable, espacio y estado.","tags":["Configuración"],"x-kaptativa-herramienta":"configuracion.casilla.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"configuracion-dominio-correo.ver","x-kaptativa-alcance":"configuracion:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/inmobiliaria/ventas":{"get":{"operationId":"inmobiliaria_venta_listar","summary":"Lista las propiedades en venta con código, estado, precio, zona y si están publicadas; filtra por texto, estado y fichas incompletas.","tags":["Inmobiliaria"],"x-kaptativa-herramienta":"inmobiliaria.venta.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"inmobiliaria-venta.ver","x-kaptativa-alcance":"inmobiliaria:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"buscar","in":"query","required":false,"schema":{"type":"string","maxLength":80}},{"name":"estado","in":"query","required":false,"schema":{"type":"string","enum":["disponible","reservada","vendida","suspendida"]}},{"name":"incompletas","in":"query","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/inmobiliaria/ventas/{codigo}":{"get":{"operationId":"inmobiliaria_venta_ver","summary":"Muestra la ficha de una propiedad en venta: datos, precio, ubicación, estado, fotos y lo que le falta.","tags":["Inmobiliaria"],"x-kaptativa-herramienta":"inmobiliaria.venta.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"inmobiliaria-venta.ver","x-kaptativa-alcance":"inmobiliaria:lectura","parameters":[{"name":"codigo","in":"path","required":true,"description":"El código de la propiedad, como VEN-0042","schema":{"type":"string","minLength":3,"maxLength":20}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/inmobiliaria/ventas/{codigo}/publicacion":{"patch":{"operationId":"inmobiliaria_venta_publicar","summary":"Publica en el sitio o pausa una propiedad en venta. Pausada no se ve y queda guardada.","tags":["Inmobiliaria"],"x-kaptativa-herramienta":"inmobiliaria.venta.publicar","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"inmobiliaria-venta.publicar","x-kaptativa-alcance":"inmobiliaria:escritura","parameters":[{"name":"codigo","in":"path","required":true,"description":"El código de la propiedad, como VEN-0042","schema":{"type":"string","minLength":3,"maxLength":20}},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"publicada":{"type":"boolean"}},"required":["publicada"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/inmobiliaria/ventas/{codigo}/estado":{"patch":{"operationId":"inmobiliaria_venta_cambiar_estado","summary":"Cambia el estado comercial de una propiedad en venta. Para cerrarla hacen falta el precio y la fecha de cierre.","tags":["Inmobiliaria"],"x-kaptativa-herramienta":"inmobiliaria.venta.cambiar_estado","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"inmobiliaria-venta.cambiar_estado","x-kaptativa-alcance":"inmobiliaria:escritura","parameters":[{"name":"codigo","in":"path","required":true,"description":"El código de la propiedad, como VEN-0042","schema":{"type":"string","minLength":3,"maxLength":20}},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"estado":{"type":"string","enum":["disponible","reservada","vendida","suspendida"]},"cierre":{"description":"Precio (en la moneda, sin centavos) y fecha del cierre","type":"object","properties":{"importe":{"type":"number","exclusiveMinimum":0},"moneda":{"type":"string","enum":["ARS","USD"]},"fecha":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["importe","moneda","fecha"]}},"required":["estado"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/inmobiliaria/ventas/{codigo}/precio":{"patch":{"operationId":"inmobiliaria_venta_cambiar_precio","summary":"Cambia el precio de una propiedad en venta, en dólares, en pesos o los dos. Queda en el historial de precios.","tags":["Inmobiliaria"],"x-kaptativa-herramienta":"inmobiliaria.venta.cambiar_precio","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"inmobiliaria-venta.editar","x-kaptativa-alcance":"inmobiliaria:escritura","parameters":[{"name":"codigo","in":"path","required":true,"description":"El código de la propiedad, como VEN-0042","schema":{"type":"string","minLength":3,"maxLength":20}},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"precioUsd":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"precioArs":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":[]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/inmobiliaria/alquileres":{"get":{"operationId":"inmobiliaria_alquiler_listar","summary":"Lista las propiedades en alquiler con código, estado, precio, zona y si están publicadas; filtra por texto, estado y fichas incompletas.","tags":["Inmobiliaria"],"x-kaptativa-herramienta":"inmobiliaria.alquiler.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"inmobiliaria-alquiler.ver","x-kaptativa-alcance":"inmobiliaria:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"buscar","in":"query","required":false,"schema":{"type":"string","maxLength":80}},{"name":"estado","in":"query","required":false,"schema":{"type":"string","enum":["disponible","reservada","alquilada","suspendida"]}},{"name":"incompletas","in":"query","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/inmobiliaria/alquileres/{codigo}":{"get":{"operationId":"inmobiliaria_alquiler_ver","summary":"Muestra la ficha de una propiedad en alquiler: datos, precio, ubicación, estado, fotos y lo que le falta.","tags":["Inmobiliaria"],"x-kaptativa-herramienta":"inmobiliaria.alquiler.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"inmobiliaria-alquiler.ver","x-kaptativa-alcance":"inmobiliaria:lectura","parameters":[{"name":"codigo","in":"path","required":true,"description":"El código de la propiedad, como VEN-0042","schema":{"type":"string","minLength":3,"maxLength":20}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/inmobiliaria/alquileres/{codigo}/publicacion":{"patch":{"operationId":"inmobiliaria_alquiler_publicar","summary":"Publica en el sitio o pausa una propiedad en alquiler. Pausada no se ve y queda guardada.","tags":["Inmobiliaria"],"x-kaptativa-herramienta":"inmobiliaria.alquiler.publicar","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"inmobiliaria-alquiler.publicar","x-kaptativa-alcance":"inmobiliaria:escritura","parameters":[{"name":"codigo","in":"path","required":true,"description":"El código de la propiedad, como VEN-0042","schema":{"type":"string","minLength":3,"maxLength":20}},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"publicada":{"type":"boolean"}},"required":["publicada"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/inmobiliaria/alquileres/{codigo}/estado":{"patch":{"operationId":"inmobiliaria_alquiler_cambiar_estado","summary":"Cambia el estado comercial de una propiedad en alquiler. Para cerrarla hacen falta el precio y la fecha de cierre.","tags":["Inmobiliaria"],"x-kaptativa-herramienta":"inmobiliaria.alquiler.cambiar_estado","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"inmobiliaria-alquiler.cambiar_estado","x-kaptativa-alcance":"inmobiliaria:escritura","parameters":[{"name":"codigo","in":"path","required":true,"description":"El código de la propiedad, como VEN-0042","schema":{"type":"string","minLength":3,"maxLength":20}},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"estado":{"type":"string","enum":["disponible","reservada","alquilada","suspendida"]},"cierre":{"description":"Precio (en la moneda, sin centavos) y fecha del cierre","type":"object","properties":{"importe":{"type":"number","exclusiveMinimum":0},"moneda":{"type":"string","enum":["ARS","USD"]},"fecha":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["importe","moneda","fecha"]}},"required":["estado"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/inmobiliaria/alquileres/{codigo}/precio":{"patch":{"operationId":"inmobiliaria_alquiler_cambiar_precio","summary":"Cambia el precio de una propiedad en alquiler, en dólares, en pesos o los dos. Queda en el historial de precios.","tags":["Inmobiliaria"],"x-kaptativa-herramienta":"inmobiliaria.alquiler.cambiar_precio","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"inmobiliaria-alquiler.editar","x-kaptativa-alcance":"inmobiliaria:escritura","parameters":[{"name":"codigo","in":"path","required":true,"description":"El código de la propiedad, como VEN-0042","schema":{"type":"string","minLength":3,"maxLength":20}},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"precioUsd":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"precioArs":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":[]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/inmobiliaria/consultas":{"get":{"operationId":"inmobiliaria_consulta_listar","summary":"Lista las consultas por propiedades: las de hoy, las abiertas o por estado, con la persona, la propiedad, el canal, el asesor y si está demorada.","tags":["Inmobiliaria"],"x-kaptativa-herramienta":"inmobiliaria.consulta.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"inmobiliaria-consultas.ver","x-kaptativa-alcance":"inmobiliaria:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"hoy","in":"query","required":false,"description":"Solo las que entraron hoy","schema":{"type":"boolean"}},{"name":"estado","in":"query","required":false,"schema":{"type":"string","enum":["abiertas","nueva","respondida","visita_agendada","visito","cerrada"]}},{"name":"propiedad","in":"query","required":false,"description":"El código, como VEN-0042","schema":{"type":"string","maxLength":20}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"inmobiliaria_consulta_registrar","summary":"Registra una consulta que llegó por teléfono o en la oficina, por una propiedad (con su código) o una tasación, con el nombre y el contacto de la persona.","tags":["Inmobiliaria"],"x-kaptativa-herramienta":"inmobiliaria.consulta.registrar","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"inmobiliaria-consultas.crear","x-kaptativa-alcance":"inmobiliaria:escritura","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"propiedad":{"description":"El código; sin código es una tasación","type":"string","maxLength":20},"nombre":{"type":"string","minLength":1,"maxLength":120},"telefono":{"type":"string","maxLength":40},"email":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"mensaje":{"type":"string","maxLength":2000},"canal":{"type":"string","enum":["telefono","oficina"]}},"required":["nombre"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/inmobiliaria/interesados":{"get":{"operationId":"inmobiliaria_interesado_listar","summary":"Lista quién busca qué: cada búsqueda activa con la persona, lo que busca y cuántas propiedades nuevas coinciden.","tags":["Inmobiliaria"],"x-kaptativa-herramienta":"inmobiliaria.interesado.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"inmobiliaria-interesados.ver","x-kaptativa-alcance":"inmobiliaria:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"buscar","in":"query","required":false,"schema":{"type":"string","maxLength":80}},{"name":"conNuevas","in":"query","required":false,"description":"Solo las que tienen coincidencias sin mandar","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/inmobiliaria/emprendimientos":{"get":{"operationId":"inmobiliaria_emprendimiento_listar","summary":"Lista los emprendimientos con su estado de obra, avance, entrega, unidades disponibles y precio desde.","tags":["Inmobiliaria"],"x-kaptativa-herramienta":"inmobiliaria.emprendimiento.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"inmobiliaria-emprendimientos.ver","x-kaptativa-alcance":"inmobiliaria:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"buscar","in":"query","required":false,"schema":{"type":"string","maxLength":80}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/inmobiliaria/emprendimientos/{nombre}":{"get":{"operationId":"inmobiliaria_emprendimiento_ver","summary":"Muestra la disponibilidad de un emprendimiento por tipología y unidad, con el estado de cada una.","tags":["Inmobiliaria"],"x-kaptativa-herramienta":"inmobiliaria.emprendimiento.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"inmobiliaria-emprendimientos.ver","x-kaptativa-alcance":"inmobiliaria:lectura","parameters":[{"name":"nombre","in":"path","required":true,"description":"El nombre o parte del nombre","schema":{"type":"string","minLength":2,"maxLength":120}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/bandeja/conversaciones/sin-contestar":{"get":{"operationId":"bandeja_conversacion_sin_contestar","summary":"Lista las conversaciones de WhatsApp que esperan respuesta en las líneas que la persona ve, con el contacto, la línea, quién la tiene y el último mensaje.","tags":["Bandeja"],"x-kaptativa-herramienta":"bandeja.conversacion.sin_contestar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"bandeja-whatsapp.ver","x-kaptativa-alcance":"bandeja:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"mias","in":"query","required":false,"description":"Solo las asignadas a la persona","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/bandeja/envios":{"post":{"operationId":"bandeja_envio_programar","summary":"Programa un mensaje de WhatsApp para una conversación que ya existe, a una fecha y hora. Se puede cancelar hasta que sale.","tags":["Bandeja"],"x-kaptativa-herramienta":"bandeja.envio.programar","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"bandeja-whatsapp.crear","x-kaptativa-alcance":"bandeja:escritura","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"contacto":{"type":"string","minLength":2,"maxLength":80,"description":"El nombre o el teléfono del contacto"},"texto":{"type":"string","minLength":1,"maxLength":4096},"cuando":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}$","description":"La fecha y hora en Buenos Aires, como 2026-10-30T10:00"}},"required":["contacto","texto","cuando"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/bandeja/respuestas":{"get":{"operationId":"bandeja_respuesta_buscar","summary":"Busca entre las respuestas rápidas que la persona ve (las compartidas y las suyas) por atajo, título o texto, para partir de ellas al preparar un borrador.","tags":["Bandeja"],"x-kaptativa-herramienta":"bandeja.respuesta.buscar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"bandeja-respuestas.ver","x-kaptativa-alcance":"bandeja:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"buscar","in":"query","required":false,"schema":{"type":"string","maxLength":80}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/tienda/productos":{"get":{"operationId":"tienda_producto_listar","summary":"Lista los productos del catálogo con su categoría, marca, precio, stock total y si se ven en el sitio; filtra por texto (título, SKU o código de barras), categoría, marca, ocultos y archivados.","tags":["Tienda"],"x-kaptativa-herramienta":"tienda.producto.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"tienda-productos.ver","x-kaptativa-alcance":"tienda:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"buscar","in":"query","required":false,"schema":{"type":"string","maxLength":80}},{"name":"categoriaId","in":"query","required":false,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"name":"marcaId","in":"query","required":false,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"name":"ocultos","in":"query","required":false,"description":"Solo los que no se ven en el sitio","schema":{"type":"boolean"}},{"name":"archivados","in":"query","required":false,"description":"Los archivados en lugar de los vigentes","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"tienda_producto_crear","summary":"Da de alta un producto simple, sin variantes: título, textos, categoría, marca, moneda, precio, SKU, código de barras y peso. Las variantes, las fotos y el resto se cargan desde el panel.","tags":["Tienda"],"x-kaptativa-herramienta":"tienda.producto.crear","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"tienda-productos.crear","x-kaptativa-alcance":"tienda:escritura","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"titulo":{"type":"string","minLength":1,"maxLength":120},"subtitulo":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"descripcionCorta":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}]},"descripcion":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}]},"categoriaId":{"description":"El id que devuelve tienda.categoria.listar. Sin categoría el producto no se ve en el sitio","anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"marcaId":{"description":"El id que devuelve tienda.marca.listar","anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"visibleMinoristas":{"type":"boolean"},"visibleMayoristas":{"type":"boolean"},"destacado":{"type":"boolean"},"precio":{"description":"El precio de venta, en la moneda del producto","anyOf":[{"type":"number","minimum":0,"maximum":10000000000},{"type":"null"}]},"precioAnterior":{"description":"El precio tachado","anyOf":[{"type":"number","minimum":0,"maximum":10000000000},{"type":"null"}]},"sku":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}]},"codigoBarras":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}]},"pesoGramos":{"description":"Las tarifas de envío van por rango de peso","anyOf":[{"type":"integer","minimum":0,"maximum":10000000},{"type":"null"}]},"moneda":{"type":"string","enum":["ARS","USD"]},"alicuotaIva":{"type":"string","enum":["0","21","27","10.5","exento","no_gravado"]}},"required":["titulo"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/tienda/productos/{id}":{"get":{"operationId":"tienda_producto_ver","summary":"Muestra la ficha de un producto: textos, categoría, marca, moneda, visibilidad y sus variantes con precio, SKU, código de barras y peso.","tags":["Tienda"],"x-kaptativa-herramienta":"tienda.producto.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"tienda-productos.ver","x-kaptativa-alcance":"tienda:lectura","parameters":[{"name":"id","in":"path","required":true,"description":"El id que devuelve tienda.producto.listar","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"patch":{"operationId":"tienda_producto_editar","summary":"Cambia los datos básicos de un producto: título, textos, categoría, marca y visibilidad; en un producto sin variantes, también el precio, el SKU, el código de barras y el peso. Lo que no se manda queda como está.","tags":["Tienda"],"x-kaptativa-herramienta":"tienda.producto.editar","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"tienda-productos.editar","x-kaptativa-alcance":"tienda:escritura","parameters":[{"name":"id","in":"path","required":true,"description":"El id que devuelve tienda.producto.listar","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"titulo":{"type":"string","minLength":1,"maxLength":120},"subtitulo":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"descripcionCorta":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}]},"descripcion":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}]},"categoriaId":{"description":"El id que devuelve tienda.categoria.listar. Sin categoría el producto no se ve en el sitio","anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"marcaId":{"description":"El id que devuelve tienda.marca.listar","anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"visibleMinoristas":{"type":"boolean"},"visibleMayoristas":{"type":"boolean"},"destacado":{"type":"boolean"},"precio":{"description":"El precio de venta, en la moneda del producto","anyOf":[{"type":"number","minimum":0,"maximum":10000000000},{"type":"null"}]},"precioAnterior":{"description":"El precio tachado","anyOf":[{"type":"number","minimum":0,"maximum":10000000000},{"type":"null"}]},"sku":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}]},"codigoBarras":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}]},"pesoGramos":{"description":"Las tarifas de envío van por rango de peso","anyOf":[{"type":"integer","minimum":0,"maximum":10000000},{"type":"null"}]}},"required":[]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/tienda/categorias":{"get":{"operationId":"tienda_categoria_listar","summary":"Lista las categorías y subcategorías del catálogo con su id, su tipo (de productos o de servicios), si están visibles y cuántos productos tienen.","tags":["Tienda"],"x-kaptativa-herramienta":"tienda.categoria.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"tienda-categorias.ver","x-kaptativa-alcance":"tienda:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/tienda/marcas":{"get":{"operationId":"tienda_marca_listar","summary":"Lista las marcas del catálogo con su id, si están visibles y cuántos productos tienen.","tags":["Tienda"],"x-kaptativa-herramienta":"tienda.marca.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"tienda-marcas.ver","x-kaptativa-alcance":"tienda:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/tienda/productos/{id}/stock":{"get":{"operationId":"tienda_stock_ver","summary":"Muestra el stock de un producto: cada variante con su id, su total y cuánto hay en cada depósito.","tags":["Tienda"],"x-kaptativa-herramienta":"tienda.stock.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"tienda-stock.ver","x-kaptativa-alcance":"tienda:lectura","parameters":[{"name":"id","in":"path","required":true,"description":"El id del producto, el que devuelve tienda.producto.listar","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/tienda/depositos":{"get":{"operationId":"tienda_deposito_listar","summary":"Lista los depósitos con su id, si están disponibles, cuál es el del sitio y cuántos productos tienen stock ahí.","tags":["Tienda"],"x-kaptativa-herramienta":"tienda.deposito.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"tienda-stock.ver","x-kaptativa-alcance":"tienda:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/tienda/stock/ajustes":{"post":{"operationId":"tienda_stock_ajustar","summary":"Ajusta el stock de una variante en un depósito al número contado: registra la diferencia como un movimiento de ajuste en el libro de stock.","tags":["Tienda"],"x-kaptativa-herramienta":"tienda.stock.ajustar","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"tienda-stock.ajustar","x-kaptativa-alcance":"tienda:escritura","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"varianteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id de la variante, el que devuelve tienda.stock.ver"},"depositoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve tienda.deposito.listar"},"stockReal":{"type":"number","minimum":0,"maximum":1000000000,"description":"Lo que se contó, en unidades"},"motivo":{"description":"Sin esto, Inventario físico","type":"string","enum":["Inventario físico","Otros"]},"observaciones":{"type":"string","maxLength":500},"clave":{"type":"string","minLength":8,"maxLength":80,"description":"Una clave propia de quien llama, como alta-2026-0001: repetir el pedido con la misma clave no mueve el stock dos veces"}},"required":["varianteId","depositoId","stockReal"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/tienda/stock/movimientos":{"post":{"operationId":"tienda_movimiento_stock_registrar","summary":"Registra un ingreso, un egreso o una transferencia entre depósitos de una variante. Un egreso mayor que el stock del depósito no se registra.","tags":["Tienda"],"x-kaptativa-herramienta":"tienda.movimiento_stock.registrar","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"tienda-stock.crear","x-kaptativa-alcance":"tienda:escritura","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"tipo":{"type":"string","enum":["ingreso","egreso","transferencia"]},"varianteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id de la variante, el que devuelve tienda.stock.ver"},"depositoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El depósito donde entra o de donde sale"},"destinoId":{"description":"En una transferencia, el depósito que recibe","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"cantidad":{"type":"number","exclusiveMinimum":0,"maximum":1000000000,"description":"En unidades"},"motivo":{"type":"string","minLength":1,"maxLength":120,"description":"Por ejemplo Compra a proveedor, Producto dañado o Reposición"},"numero":{"description":"El número del comprobante, si hay","type":"string","maxLength":60},"observaciones":{"type":"string","maxLength":500},"clave":{"type":"string","minLength":8,"maxLength":80,"description":"Una clave propia de quien llama, como alta-2026-0001: repetir el pedido con la misma clave no mueve el stock dos veces"}},"required":["tipo","varianteId","depositoId","cantidad","motivo"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"get":{"operationId":"tienda_movimiento_stock_listar","summary":"Lista el libro de stock, del movimiento más nuevo al más viejo: producto, depósito, tipo, cantidad, stock anterior y nuevo, motivo y quién lo hizo; filtra por texto y por fechas.","tags":["Tienda"],"x-kaptativa-herramienta":"tienda.movimiento_stock.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"tienda-stock.ver","x-kaptativa-alcance":"tienda:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"buscar","in":"query","required":false,"description":"Por título o SKU","schema":{"type":"string","maxLength":80}},{"name":"desde","in":"query","required":false,"description":"Una fecha, como 2026-11-30","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"hasta","in":"query","required":false,"description":"Una fecha, como 2026-11-30","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/tienda/pedidos":{"get":{"operationId":"tienda_pedido_listar","summary":"Lista los pedidos, del más nuevo al más viejo, con su código, cliente, total y los tres estados (pedido, pago y entrega); filtra por texto (código o cliente), por cada estado y por canal.","tags":["Tienda"],"x-kaptativa-herramienta":"tienda.pedido.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"tienda-pedidos.ver","x-kaptativa-alcance":"tienda:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"buscar","in":"query","required":false,"schema":{"type":"string","maxLength":80}},{"name":"estado","in":"query","required":false,"schema":{"type":"string","enum":["borrador","pendiente","finalizado","aprobado","cancelado","arrepentido"]}},{"name":"estadoPago","in":"query","required":false,"schema":{"type":"string","enum":["pendiente","realizado","aprobado","rechazado","anulado","reembolsado","cuenta_corriente"]}},{"name":"estadoEntrega","in":"query","required":false,"schema":{"type":"string","enum":["sin_preparar","empaquetada","preparada","en_camino","enviada","retirada"]}},{"name":"canal","in":"query","required":false,"schema":{"type":"string","enum":["sitio","sistema","mercado_libre","local","instagram","whatsapp"]}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/tienda/pedidos/{id}":{"get":{"operationId":"tienda_pedido_ver","summary":"Muestra un pedido: el comprador, los productos, los importes, lo pagado y el saldo, la entrega con su transporte y seguimiento, y a qué estados puede pasar.","tags":["Tienda"],"x-kaptativa-herramienta":"tienda.pedido.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"tienda-pedidos.ver","x-kaptativa-alcance":"tienda:lectura","parameters":[{"name":"id","in":"path","required":true,"description":"El id que devuelve tienda.pedido.listar","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/tienda/pedidos/{id}/estado":{"patch":{"operationId":"tienda_pedido_cambiar_estado","summary":"Pasa un pedido a Pendiente, Aprobado o Finalizado, según lo que permitan su pago y su entrega. Reabrir uno cancelado pide el motivo. Para cancelarlo está tienda.pedido.cancelar.","tags":["Tienda"],"x-kaptativa-herramienta":"tienda.pedido.cambiar_estado","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"tienda-pedidos.editar","x-kaptativa-alcance":"tienda:escritura","parameters":[{"name":"id","in":"path","required":true,"description":"El id que devuelve tienda.pedido.listar","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"estado":{"type":"string","enum":["pendiente","aprobado","finalizado"]},"motivo":{"type":"string","maxLength":500}},"required":["estado"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/tienda/pedidos/{id}/cancelacion":{"post":{"operationId":"tienda_pedido_cancelar","summary":"Cancela un pedido con su motivo, o lo marca Arrepentido si el comprador usó su derecho de arrepentimiento. No toca el pago: si estaba pagado queda la alerta Cancelado con pago para resolverla en el panel.","tags":["Tienda"],"x-kaptativa-herramienta":"tienda.pedido.cancelar","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"tienda-pedidos.cancelar","x-kaptativa-alcance":"tienda:escritura","parameters":[{"name":"id","in":"path","required":true,"description":"El id que devuelve tienda.pedido.listar","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"motivo":{"type":"string","minLength":2,"maxLength":500},"arrepentimiento":{"description":"El comprador se arrepintió de la compra","type":"boolean"}},"required":["motivo"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/tienda/pedidos/{id}/entrega":{"patch":{"operationId":"tienda_pedido_cambiar_entrega","summary":"Avanza la entrega de un pedido (empaquetada, preparada, en camino, enviada o retirada), con el transporte y el número de seguimiento si los hay. Si la cuenta avisa los cambios por correo, el comprador recibe el aviso que ya manda el panel.","tags":["Tienda"],"x-kaptativa-herramienta":"tienda.pedido.cambiar_entrega","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"tienda-pedidos.cambiar_entrega","x-kaptativa-alcance":"tienda:escritura","parameters":[{"name":"id","in":"path","required":true,"description":"El id que devuelve tienda.pedido.listar","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"estado":{"type":"string","enum":["sin_preparar","empaquetada","preparada","en_camino","enviada","retirada"]},"transporte":{"type":"string","maxLength":120},"tracking":{"description":"El número de seguimiento del envío","type":"string","maxLength":120}},"required":["estado"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/alquileres/contratos":{"get":{"operationId":"alquileres_contrato_listar","summary":"Lista los contratos de alquiler, del más nuevo al más viejo, con el inmueble, el inquilino titular, el estado, las fechas, el alquiler vigente y la deuda vencida; filtra por estado, por texto y por los que vencen en 60 días.","tags":["Alquileres"],"x-kaptativa-herramienta":"alquileres.contrato.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"alq-contratos.ver","x-kaptativa-alcance":"alquileres:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"estado","in":"query","required":false,"schema":{"type":"string","enum":["borrador","vigente","finalizado","rescindido"]}},{"name":"buscar","in":"query","required":false,"description":"Por inmueble, número de contrato o inquilino","schema":{"type":"string","maxLength":80}},{"name":"porVencer","in":"query","required":false,"description":"Solo los vigentes que terminan en los próximos 60 días","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/alquileres/contratos/{id}":{"get":{"operationId":"alquileres_contrato_ver","summary":"Muestra un contrato de alquiler: inmueble, inquilinos, fechas, alquiler vigente, cómo se ajusta y cuándo es el próximo ajuste, la deuda vencida con punitorios y el saldo a favor.","tags":["Alquileres"],"x-kaptativa-herramienta":"alquileres.contrato.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"alq-contratos.ver","x-kaptativa-alcance":"alquileres:lectura","parameters":[{"name":"id","in":"path","required":true,"description":"El id que devuelve alquileres.contrato.listar","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/alquileres/contratos/{id}/mensualidades":{"get":{"operationId":"alquileres_contrato_listar_mensualidades","summary":"Lista las mensualidades de un contrato, de la más vieja a la más nueva, con su vencimiento, total, pagado, saldo, punitorios al día y estado.","tags":["Alquileres"],"x-kaptativa-herramienta":"alquileres.contrato.listar_mensualidades","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"alq-contratos.ver","x-kaptativa-alcance":"alquileres:lectura","parameters":[{"name":"id","in":"path","required":true,"description":"El id que devuelve alquileres.contrato.listar","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/alquileres/mensualidades":{"get":{"operationId":"alquileres_mensualidad_listar","summary":"Lista las mensualidades de un mes de todos los contratos, con el inquilino, el inmueble, el saldo y los punitorios al día; filtra por estado y por texto. Sin período, el mes en curso.","tags":["Alquileres"],"x-kaptativa-herramienta":"alquileres.mensualidad.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"alq-mensualidades.ver","x-kaptativa-alcance":"alquileres:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"periodo","in":"query","required":false,"description":"El mes, como 2026-11","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}$"}},{"name":"estado","in":"query","required":false,"schema":{"type":"string","enum":["pendiente","vencida","parcial","pagada","anulada"]}},{"name":"buscar","in":"query","required":false,"description":"Por inquilino, inmueble o número de contrato","schema":{"type":"string","maxLength":80}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/alquileres/pagos":{"get":{"operationId":"alquileres_pago_listar","summary":"Lista los pagos de alquiler registrados entre dos fechas, del más nuevo al más viejo, con el recibo, el contrato, el inquilino, el medio y el importe. Sin fechas, los del mes en curso.","tags":["Alquileres"],"x-kaptativa-herramienta":"alquileres.pago.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"alq-cobranzas.ver","x-kaptativa-alcance":"alquileres:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"desde","in":"query","required":false,"description":"Una fecha, como 2026-11-30","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"hasta","in":"query","required":false,"description":"Una fecha, como 2026-11-30","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"medio","in":"query","required":false,"schema":{"type":"string","enum":["efectivo","transferencia","mercado_pago","debito","red_cobranza","deposito","otro"]}},{"name":"buscar","in":"query","required":false,"description":"Por inquilino, inmueble o número de recibo","schema":{"type":"string","maxLength":80}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/alquileres/contratos/{id}/pagos":{"post":{"operationId":"alquileres_pago_registrar","summary":"Registra un pago que ya se recibió de un contrato: lo reparte de la mensualidad más vieja a la más nueva, congela los punitorios a la fecha y deja el recibo. No manda el recibo por correo: ese aviso sale solo cuando el pago se carga desde el panel, desde donde también se puede reenviar. Sin monto toma lo adeudado a esa fecha. Con la misma clave no se registra dos veces: devuelve el recibo que ya hizo.","tags":["Alquileres"],"x-kaptativa-herramienta":"alquileres.pago.registrar","x-kaptativa-clase":"cobro","x-kaptativa-permiso":"alq-cobranzas.crear","x-kaptativa-alcance":"alquileres:escritura","parameters":[{"name":"id","in":"path","required":true,"description":"El id que devuelve alquileres.contrato.listar","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"fecha":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"El día en que se recibió el pago, como 2026-11-10; no puede ser futura"},"medio":{"type":"string","enum":["efectivo","transferencia","mercado_pago","debito","red_cobranza","deposito","otro"]},"monto":{"description":"En la moneda del contrato. Sin esto, lo adeudado a la fecha","type":"number","exclusiveMinimum":0,"maximum":1000000000000},"referencia":{"description":"El número de la transferencia o del comprobante","type":"string","maxLength":120},"quienPago":{"description":"Sin esto, el inquilino","type":"string","enum":["inquilino","garante","tercero"]},"notas":{"type":"string","maxLength":500},"clave":{"description":"Una clave propia de quien llama, como cobro-2026-11-0001: repetir el pedido con la misma clave no registra el pago dos veces","type":"string","minLength":8,"maxLength":80}},"required":["fecha","medio"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/alquileres/morosos":{"get":{"operationId":"alquileres_moroso_listar","summary":"Lista los contratos con mensualidades vencidas pasados los días de gracia: inquilino, inmueble, cuántos períodos debe y desde cuándo, capital, punitorios al día, último pago y en qué está la gestión.","tags":["Alquileres"],"x-kaptativa-herramienta":"alquileres.moroso.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"alq-morosos.ver","x-kaptativa-alcance":"alquileres:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"minimo","in":"query","required":false,"description":"Solo los que deben al menos esta cantidad de períodos","schema":{"type":"integer","minimum":1,"maximum":60}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/turnos/servicios":{"get":{"operationId":"turnos_servicio_listar","summary":"Lista los servicios para los que se puede cargar un turno, con su id y cuántas sesiones trae cada uno.","tags":["Turnos"],"x-kaptativa-herramienta":"turnos.servicio.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"turnos-calendario.ver","x-kaptativa-alcance":"turnos:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/turnos/sucursales":{"get":{"operationId":"turnos_sucursal_listar","summary":"Lista las sucursales de la cuenta con su id, la principal primero.","tags":["Turnos"],"x-kaptativa-herramienta":"turnos.sucursal.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"turnos-calendario.ver","x-kaptativa-alcance":"turnos:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/turnos/profesionales":{"get":{"operationId":"turnos_profesional_listar","summary":"Lista los profesionales que atienden turnos, con su id y si están activos.","tags":["Turnos"],"x-kaptativa-herramienta":"turnos.profesional.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"turnos-calendario.ver","x-kaptativa-alcance":"turnos:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/turnos/programaciones":{"get":{"operationId":"turnos_programacion_listar","summary":"Lista las programaciones (las agendas): el servicio y la sucursal, entre qué fechas y horas se atiende, qué días, cuánto dura cada turno, el cupo y los profesionales asignados.","tags":["Turnos"],"x-kaptativa-herramienta":"turnos.programacion.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"turnos-programaciones.ver","x-kaptativa-alcance":"turnos:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"archivadas","in":"query","required":false,"description":"Las archivadas en lugar de las vigentes","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/turnos/disponibilidad":{"get":{"operationId":"turnos_disponibilidad_consultar","summary":"Consulta los horarios de un servicio en una sucursal y un día: cada uno con su franjaId, la hora, cuántos lugares le quedan y qué profesionales están libres. sinProgramacion avisa que ese día el servicio no se atiende ahí.","tags":["Turnos"],"x-kaptativa-herramienta":"turnos.disponibilidad.consultar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"turnos-calendario.ver","x-kaptativa-alcance":"turnos:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"servicioId","in":"query","required":true,"description":"El id que devuelve turnos.servicio.listar","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"name":"sucursalId","in":"query","required":true,"description":"El id que devuelve turnos.sucursal.listar","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"name":"fecha","in":"query","required":true,"description":"Una fecha, como 2026-11-30","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/turnos/sesiones":{"get":{"operationId":"turnos_sesion_listar","summary":"Lista las sesiones de los turnos, por horario (las que todavía no tienen horario van primero), con el cliente, el servicio, el profesional, el estado y qué se puede hacer con cada una; filtra por fechas, estado, servicio, sucursal, profesional y texto.","tags":["Turnos"],"x-kaptativa-herramienta":"turnos.sesion.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"turnos-seguimiento.ver","x-kaptativa-alcance":"turnos:lectura","parameters":[{"name":"limite","in":"query","required":false,"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","schema":{"type":"string","maxLength":200}},{"name":"desde","in":"query","required":false,"description":"Una fecha, como 2026-11-30","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"hasta","in":"query","required":false,"description":"Una fecha, como 2026-11-30","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"estado","in":"query","required":false,"description":"El estado de la sesión o el de sala","schema":{"type":"string","enum":["sin_asignar","pendiente","confirmado","finalizado","cancelado","en_espera","atendido","ausente"]}},{"name":"servicioId","in":"query","required":false,"description":"El id que devuelve turnos.servicio.listar","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"name":"sucursalId","in":"query","required":false,"description":"El id que devuelve turnos.sucursal.listar","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"name":"profesionalId","in":"query","required":false,"description":"El id que devuelve turnos.profesional.listar","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"name":"buscar","in":"query","required":false,"description":"Por cliente, email o código del turno","schema":{"type":"string","maxLength":80}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listado"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/turnos/turnos/{id}":{"get":{"operationId":"turnos_turno_ver","summary":"Muestra un turno: el cliente, el servicio, la sucursal y cada una de sus sesiones con su fecha, hora, profesional y estado.","tags":["Turnos"],"x-kaptativa-herramienta":"turnos.turno.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"turnos-calendario.ver","x-kaptativa-alcance":"turnos:lectura","parameters":[{"name":"id","in":"path","required":true,"description":"El id del turno, el que devuelven turnos.turno.crear y turnos.sesion.listar (turnoId)","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}],"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/turnos/turnos":{"post":{"operationId":"turnos_turno_crear","summary":"Carga un turno para un cliente que ya existe (clienteId) o uno nuevo (nuevo), de un servicio en una sucursal. Las sesiones que traen horario nacen confirmadas; las demás quedan por agendar. El turno nace sin cobro.","tags":["Turnos"],"x-kaptativa-herramienta":"turnos.turno.crear","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"turnos-calendario.crear","x-kaptativa-alcance":"turnos:escritura","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"servicioId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve turnos.servicio.listar"},"sucursalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve turnos.sucursal.listar"},"clienteId":{"description":"El id que devuelve gestion.cliente.buscar","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"nuevo":{"description":"Los datos de un cliente nuevo, si no se manda clienteId","type":"object","properties":{"nombre":{"type":"string","minLength":1,"maxLength":120},"apellido":{"type":"string","maxLength":120},"email":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"telefono":{"type":"string","maxLength":40}},"required":["nombre"]},"sesiones":{"description":"Un horario por sesión; sin ninguno, el turno queda por agendar","maxItems":20,"type":"array","items":{"type":"object","properties":{"franjaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El franjaId del horario elegido, el que devuelve turnos.disponibilidad.consultar"},"profesionalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve turnos.profesional.listar"}},"required":["franjaId"]}},"notas":{"type":"string","maxLength":2000}},"required":["servicioId","sucursalId"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/turnos/sesiones/{id}/horario":{"patch":{"operationId":"turnos_sesion_reprogramar","summary":"Le da horario a una sesión que estaba por agendar o la pasa a otro: libera el lugar anterior y toma el nuevo. Una sesión finalizada, cancelada o marcada ausente no se reprograma.","tags":["Turnos"],"x-kaptativa-herramienta":"turnos.sesion.reprogramar","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"turnos-calendario.editar","x-kaptativa-alcance":"turnos:escritura","parameters":[{"name":"id","in":"path","required":true,"description":"El id de la sesión, el que devuelven turnos.sesion.listar y turnos.turno.ver","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"franjaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El franjaId del horario elegido, el que devuelve turnos.disponibilidad.consultar"},"profesionalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve turnos.profesional.listar"}},"required":["franjaId"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/turnos/sesiones/{id}/cancelacion":{"post":{"operationId":"turnos_sesion_cancelar","summary":"Cancela una sesión pendiente, confirmada o por agendar y devuelve su lugar a la agenda. Si hay lista de espera para ese horario, el lugar que se libera se le ofrece al primero de la lista. Se puede reabrir desde el panel.","tags":["Turnos"],"x-kaptativa-herramienta":"turnos.sesion.cancelar","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"turnos-seguimiento.cancelar","x-kaptativa-alcance":"turnos:escritura","parameters":[{"name":"id","in":"path","required":true,"description":"El id de la sesión, el que devuelven turnos.sesion.listar y turnos.turno.ver","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"motivo":{"type":"string","maxLength":200}},"required":[]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/gestion.ticket.listar":{"post":{"operationId":"herramienta_gestion_ticket_listar","summary":"Lista los tickets de soporte de la cuenta con su estado, por grupo (abiertos, nuevos, resueltos, cerrados) y tipo.","tags":["Herramientas"],"x-kaptativa-herramienta":"gestion.ticket.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"gestion-tickets.ver","x-kaptativa-alcance":"gestion:lectura","description":"Es la misma operación que GET /v1/gestion/tickets, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"grupo":{"description":"Qué tickets: abiertos por defecto","type":"string","enum":["todos","nuevos","abiertos","resueltos","cerrados"]},"tipo":{"type":"string","enum":["error","mejora","consulta","urgente","tarea"]}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/gestion.ticket.ver":{"post":{"operationId":"herramienta_gestion_ticket_ver","summary":"Muestra un ticket de soporte con su estado y la conversación con el equipo de Kaptativa.","tags":["Herramientas"],"x-kaptativa-herramienta":"gestion.ticket.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"gestion-tickets.ver","x-kaptativa-alcance":"gestion:lectura","description":"Es la misma operación que GET /v1/gestion/tickets/{numero}, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"numero":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"El número del ticket: 2 para TIC-00002"}},"required":["numero"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/gestion.ticket.abrir":{"post":{"operationId":"herramienta_gestion_ticket_abrir","summary":"Abre un ticket de soporte para el equipo de Kaptativa: un error, una mejora, una consulta.","tags":["Herramientas"],"x-kaptativa-herramienta":"gestion.ticket.abrir","x-kaptativa-clase":"accion_irreversible","x-kaptativa-permiso":"gestion-tickets.crear","x-kaptativa-alcance":"gestion:escritura","description":"Es la misma operación que POST /v1/gestion/tickets, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"asunto":{"type":"string","minLength":3,"maxLength":120},"tipo":{"type":"string","enum":["error","mejora","consulta","urgente","tarea"]},"modulo":{"description":"El módulo afectado, por ejemplo Sitio o Inmobiliaria","type":"string"},"descripcion":{"type":"string","minLength":10,"maxLength":4000}},"required":["asunto","tipo","descripcion"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/gestion.ticket.responder":{"post":{"operationId":"herramienta_gestion_ticket_responder","summary":"Le escribe al equipo de Kaptativa en la conversación de un ticket.","tags":["Herramientas"],"x-kaptativa-herramienta":"gestion.ticket.responder","x-kaptativa-clase":"accion_irreversible","x-kaptativa-permiso":"gestion-tickets.crear","x-kaptativa-alcance":"gestion:escritura","description":"Es la misma operación que POST /v1/gestion/tickets/{numero}/mensajes, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"numero":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"El número del ticket: 2 para TIC-00002"},"texto":{"type":"string","minLength":2,"maxLength":4000}},"required":["numero","texto"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/gestion.ticket.verificar":{"post":{"operationId":"herramienta_gestion_ticket_verificar","summary":"Confirma que un ticket resuelto quedó bien: pasa a Verificado y se cierra.","tags":["Herramientas"],"x-kaptativa-herramienta":"gestion.ticket.verificar","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"gestion-tickets.editar","x-kaptativa-alcance":"gestion:escritura","description":"Es la misma operación que POST /v1/gestion/tickets/{numero}/verificar, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"numero":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"El número del ticket: 2 para TIC-00002"}},"required":["numero"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/gestion.ticket.reabrir":{"post":{"operationId":"herramienta_gestion_ticket_reabrir","summary":"Reabre un ticket resuelto porque el problema sigue, con un mensaje para el equipo.","tags":["Herramientas"],"x-kaptativa-herramienta":"gestion.ticket.reabrir","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"gestion-tickets.editar","x-kaptativa-alcance":"gestion:escritura","description":"Es la misma operación que POST /v1/gestion/tickets/{numero}/reabrir, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"numero":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"El número del ticket: 2 para TIC-00002"},"texto":{"type":"string","minLength":2,"maxLength":4000}},"required":["numero","texto"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/gestion.ticket.calificar":{"post":{"operationId":"herramienta_gestion_ticket_calificar","summary":"Califica la atención de un ticket resuelto con pulgar arriba o abajo.","tags":["Herramientas"],"x-kaptativa-herramienta":"gestion.ticket.calificar","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"gestion-tickets.editar","x-kaptativa-alcance":"gestion:escritura","description":"Es la misma operación que POST /v1/gestion/tickets/{numero}/calificacion, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"numero":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"El número del ticket: 2 para TIC-00002"},"calificacion":{"type":"string","enum":["arriba","abajo"]}},"required":["numero","calificacion"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/gestion.cliente.buscar":{"post":{"operationId":"herramienta_gestion_cliente_buscar","summary":"Busca clientes por nombre, email o documento y muestra su tipo, contacto y vendedor; sin texto, los más recientes.","tags":["Herramientas"],"x-kaptativa-herramienta":"gestion.cliente.buscar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"gestion-clientes.ver","x-kaptativa-alcance":"gestion:lectura","description":"Es la misma operación que GET /v1/gestion/clientes, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"buscar":{"type":"string","maxLength":80},"sinVerificar":{"description":"Solo los No clientes con el email sin verificar, para fusionar","type":"boolean"}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/gestion.cliente.ver":{"post":{"operationId":"herramienta_gestion_cliente_ver","summary":"Muestra la ficha de un cliente: datos personales y comerciales, campos propios y direcciones.","tags":["Herramientas"],"x-kaptativa-herramienta":"gestion.cliente.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"gestion-clientes.ver","x-kaptativa-alcance":"gestion:lectura","description":"Es la misma operación que GET /v1/gestion/clientes/{id}, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve gestion.cliente.buscar"}},"required":["id"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/gestion.cliente.crear":{"post":{"operationId":"herramienta_gestion_cliente_crear","summary":"Da de alta un cliente con nombre y, si se sabe, apellido, email y teléfono; queda con el tipo Cliente.","tags":["Herramientas"],"x-kaptativa-herramienta":"gestion.cliente.crear","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"gestion-clientes.crear","x-kaptativa-alcance":"gestion:escritura","description":"Es la misma operación que POST /v1/gestion/clientes, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"nombre":{"type":"string","minLength":1,"maxLength":120},"apellido":{"type":"string","maxLength":120},"email":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"telefono":{"type":"string","maxLength":40}},"required":["nombre"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/gestion.proveedor.buscar":{"post":{"operationId":"herramienta_gestion_proveedor_buscar","summary":"Busca proveedores por nombre, razón social o CUIT y muestra su rubro, contacto y horario de atención.","tags":["Herramientas"],"x-kaptativa-herramienta":"gestion.proveedor.buscar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"gestion-proveedores.ver","x-kaptativa-alcance":"gestion:lectura","description":"Es la misma operación que GET /v1/gestion/proveedores, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"buscar":{"type":"string","maxLength":80}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/gestion.proveedor.ver":{"post":{"operationId":"herramienta_gestion_proveedor_ver","summary":"Muestra la ficha de un proveedor: datos impositivos, contacto, dirección, horarios y archivos.","tags":["Herramientas"],"x-kaptativa-herramienta":"gestion.proveedor.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"gestion-proveedores.ver","x-kaptativa-alcance":"gestion:lectura","description":"Es la misma operación que GET /v1/gestion/proveedores/{id}, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve gestion.proveedor.buscar"}},"required":["id"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/gestion.tarjeta.buscar":{"post":{"operationId":"herramienta_gestion_tarjeta_buscar","summary":"Busca tarjetas por título o descripción en todos los tableros que la persona ve, con su tablero, columna, estado, prioridad y vencimiento.","tags":["Herramientas"],"x-kaptativa-herramienta":"gestion.tarjeta.buscar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"gestion-tableros.ver","x-kaptativa-alcance":"gestion:lectura","description":"Es la misma operación que GET /v1/gestion/tarjetas, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"buscar":{"type":"string","minLength":2,"maxLength":80}},"required":["buscar"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/gestion.tarjeta.crear":{"post":{"operationId":"herramienta_gestion_tarjeta_crear","summary":"Agrega una tarjeta al pie de una columna de un tablero, con vencimiento si se lo dicen.","tags":["Herramientas"],"x-kaptativa-herramienta":"gestion.tarjeta.crear","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"gestion-tableros.editar","x-kaptativa-alcance":"gestion:escritura","description":"Es la misma operación que POST /v1/gestion/tarjetas, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"tablero":{"type":"string","minLength":1,"maxLength":80,"description":"El nombre del tablero"},"columna":{"description":"El nombre de la columna; sin decirla, la primera","type":"string","maxLength":60},"titulo":{"type":"string","minLength":1,"maxLength":200},"vence":{"description":"La fecha de vencimiento, como 2026-10-30","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["tablero","titulo"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/gestion.importacion.listar":{"post":{"operationId":"herramienta_gestion_importacion_listar","summary":"Lista las últimas importaciones de clientes y proveedores con su estado y cuántos registros creó, actualizó o tuvieron error.","tags":["Herramientas"],"x-kaptativa-herramienta":"gestion.importacion.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"gestion-importaciones.ver","x-kaptativa-alcance":"gestion:lectura","description":"Es la misma operación que GET /v1/gestion/importaciones, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/administracion.usuario.listar":{"post":{"operationId":"herramienta_administracion_usuario_listar","summary":"Lista el equipo de la cuenta: nombre, apodo, tipo de usuario, email y si está habilitado.","tags":["Herramientas"],"x-kaptativa-herramienta":"administracion.usuario.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"administracion-usuarios.ver","x-kaptativa-alcance":"administracion:lectura","description":"Es la misma operación que GET /v1/administracion/usuarios, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"buscar":{"type":"string","maxLength":60},"habilitado":{"type":"string","enum":["si","no"]}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/administracion.notificacion.listar":{"post":{"operationId":"herramienta_administracion_notificacion_listar","summary":"Lista los avisos de quien pregunta en la cuenta: los sin leer o todos.","tags":["Herramientas"],"x-kaptativa-herramienta":"administracion.notificacion.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"administracion-notificaciones.ver","x-kaptativa-alcance":"administracion:lectura","description":"Es la misma operación que GET /v1/administracion/notificaciones, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"soloSinLeer":{"type":"boolean"}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/administracion.notificacion.marcar_leidas":{"post":{"operationId":"herramienta_administracion_notificacion_marcar_leidas","summary":"Marca como leídos todos los avisos de quien pregunta.","tags":["Herramientas"],"x-kaptativa-herramienta":"administracion.notificacion.marcar_leidas","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"administracion-notificaciones.ver","x-kaptativa-alcance":"administracion:escritura","description":"Es la misma operación que POST /v1/administracion/notificaciones/leidas, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/administracion.plan.ver":{"post":{"operationId":"herramienta_administracion_plan_ver","summary":"Muestra lo contratado con su precio, el consumo del mes de cada medidor y los abonos.","tags":["Herramientas"],"x-kaptativa-herramienta":"administracion.plan.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"administracion-plan-consumo.ver","x-kaptativa-alcance":"administracion:lectura","description":"Es la misma operación que GET /v1/administracion/plan, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/administracion.perfil.listar":{"post":{"operationId":"herramienta_administracion_perfil_listar","summary":"Lista los tipos de usuario de la cuenta con cuántas personas tiene cada uno y su alcance.","tags":["Herramientas"],"x-kaptativa-herramienta":"administracion.perfil.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"administracion-perfiles.ver","x-kaptativa-alcance":"administracion:lectura","description":"Es la misma operación que GET /v1/administracion/perfiles, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/administracion.actividad.buscar":{"post":{"operationId":"herramienta_administracion_actividad_buscar","summary":"Busca en la actividad de la cuenta quién hizo qué, sobre qué y cuándo.","tags":["Herramientas"],"x-kaptativa-herramienta":"administracion.actividad.buscar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"administracion-actividad.ver","x-kaptativa-alcance":"administracion:lectura","description":"Es la misma operación que GET /v1/administracion/actividad, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"buscar":{"type":"string","maxLength":80},"desde":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"hasta":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"modulo":{"type":"string"}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/configuracion.ajuste_propiedades.ver":{"post":{"operationId":"herramienta_configuracion_ajuste_propiedades_ver","summary":"Muestra los parámetros de Inmobiliaria > Configuración: prefijos de código, cintas, fotos recomendadas, tipos y más.","tags":["Herramientas"],"x-kaptativa-herramienta":"configuracion.ajuste_propiedades.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"configuracion-propiedades.ver","x-kaptativa-alcance":"configuracion:lectura","description":"Es la misma operación que GET /v1/configuracion/ajustes-propiedades, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/configuracion.ajuste_propiedades.cambiar":{"post":{"operationId":"herramienta_configuracion_ajuste_propiedades_cambiar","summary":"Cambia un parámetro de Inmobiliaria > Configuración. Queda en el historial y se puede deshacer.","tags":["Herramientas"],"x-kaptativa-herramienta":"configuracion.ajuste_propiedades.cambiar","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"configuracion-propiedades.editar","x-kaptativa-alcance":"configuracion:escritura","description":"Es la misma operación que PATCH /v1/configuracion/ajustes-propiedades/{clave}, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"clave":{"type":"string","enum":["prefijoVenta","prefijoAlquiler","advertirIncompletas","bloquearIncompletas","fotosRecomendadas","cintaReservada","diasCintaVendida","diasCintaAlquilada","marcaPosicion","marcaOpacidad","marcaTamano","umbralBajaPrecio","mensajeWhatsapp","tiempoRespuesta","ventanaAgrupacion","motivosCierre","brochureConDatos","mostrarDesarrollista","margenBusqueda","topeDiario"]},"valor":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"type":"string"}}]}},"required":["clave","valor"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/configuracion.archivo.buscar":{"post":{"operationId":"herramienta_configuracion_archivo_buscar","summary":"Busca imágenes o documentos subidos a la cuenta por nombre.","tags":["Herramientas"],"x-kaptativa-herramienta":"configuracion.archivo.buscar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"configuracion-archivos.ver","x-kaptativa-alcance":"configuracion:lectura","description":"Es la misma operación que GET /v1/configuracion/archivos, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"espacio":{"type":"string","enum":["imagenes","archivos"]},"buscar":{"type":"string","minLength":1,"maxLength":80}},"required":["espacio","buscar"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/configuracion.resguardo.ver":{"post":{"operationId":"herramienta_configuracion_resguardo_ver","summary":"Muestra el último respaldo, el respaldo automático programado y los últimos respaldos con su estado.","tags":["Herramientas"],"x-kaptativa-herramienta":"configuracion.resguardo.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"configuracion-resguardo.ver","x-kaptativa-alcance":"configuracion:lectura","description":"Es la misma operación que GET /v1/configuracion/resguardo, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/configuracion.resguardo.respaldar":{"post":{"operationId":"herramienta_configuracion_resguardo_respaldar","summary":"Pide un respaldo de la base de datos y los archivos de la cuenta. Lo arma el sistema en unos minutos.","tags":["Herramientas"],"x-kaptativa-herramienta":"configuracion.resguardo.respaldar","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"configuracion-resguardo.crear","x-kaptativa-alcance":"configuracion:escritura","description":"Es la misma operación que POST /v1/configuracion/resguardo/respaldos, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/configuracion.dominio.listar":{"post":{"operationId":"herramienta_configuracion_dominio_listar","summary":"Lista los dominios de la cuenta con su estado, cuál es el principal, el certificado y el vencimiento.","tags":["Herramientas"],"x-kaptativa-herramienta":"configuracion.dominio.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"configuracion-dominio-correo.ver","x-kaptativa-alcance":"configuracion:lectura","description":"Es la misma operación que GET /v1/configuracion/dominios, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/configuracion.dominio.verificar":{"post":{"operationId":"herramienta_configuracion_dominio_verificar","summary":"Verifica un dominio propio pendiente: busca el registro TXT y, si está, lo activa.","tags":["Herramientas"],"x-kaptativa-herramienta":"configuracion.dominio.verificar","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"configuracion-dominio-correo.editar","x-kaptativa-alcance":"configuracion:escritura","description":"Es la misma operación que POST /v1/configuracion/dominios/{dominio}/verificar, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"dominio":{"type":"string","minLength":4,"maxLength":253}},"required":["dominio"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/configuracion.casilla.listar":{"post":{"operationId":"herramienta_configuracion_casilla_listar","summary":"Lista las casillas de correo con el dominio de la cuenta, con su responsable, espacio y estado.","tags":["Herramientas"],"x-kaptativa-herramienta":"configuracion.casilla.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"configuracion-dominio-correo.ver","x-kaptativa-alcance":"configuracion:lectura","description":"Es la misma operación que GET /v1/configuracion/casillas, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/inmobiliaria.venta.listar":{"post":{"operationId":"herramienta_inmobiliaria_venta_listar","summary":"Lista las propiedades en venta con código, estado, precio, zona y si están publicadas; filtra por texto, estado y fichas incompletas.","tags":["Herramientas"],"x-kaptativa-herramienta":"inmobiliaria.venta.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"inmobiliaria-venta.ver","x-kaptativa-alcance":"inmobiliaria:lectura","description":"Es la misma operación que GET /v1/inmobiliaria/ventas, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"buscar":{"type":"string","maxLength":80},"estado":{"type":"string","enum":["disponible","reservada","vendida","suspendida"]},"incompletas":{"type":"boolean"}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/inmobiliaria.venta.ver":{"post":{"operationId":"herramienta_inmobiliaria_venta_ver","summary":"Muestra la ficha de una propiedad en venta: datos, precio, ubicación, estado, fotos y lo que le falta.","tags":["Herramientas"],"x-kaptativa-herramienta":"inmobiliaria.venta.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"inmobiliaria-venta.ver","x-kaptativa-alcance":"inmobiliaria:lectura","description":"Es la misma operación que GET /v1/inmobiliaria/ventas/{codigo}, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"codigo":{"type":"string","minLength":3,"maxLength":20,"description":"El código de la propiedad, como VEN-0042"}},"required":["codigo"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/inmobiliaria.venta.publicar":{"post":{"operationId":"herramienta_inmobiliaria_venta_publicar","summary":"Publica en el sitio o pausa una propiedad en venta. Pausada no se ve y queda guardada.","tags":["Herramientas"],"x-kaptativa-herramienta":"inmobiliaria.venta.publicar","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"inmobiliaria-venta.publicar","x-kaptativa-alcance":"inmobiliaria:escritura","description":"Es la misma operación que PATCH /v1/inmobiliaria/ventas/{codigo}/publicacion, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"codigo":{"type":"string","minLength":3,"maxLength":20,"description":"El código de la propiedad, como VEN-0042"},"publicada":{"type":"boolean"}},"required":["codigo","publicada"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/inmobiliaria.venta.cambiar_estado":{"post":{"operationId":"herramienta_inmobiliaria_venta_cambiar_estado","summary":"Cambia el estado comercial de una propiedad en venta. Para cerrarla hacen falta el precio y la fecha de cierre.","tags":["Herramientas"],"x-kaptativa-herramienta":"inmobiliaria.venta.cambiar_estado","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"inmobiliaria-venta.cambiar_estado","x-kaptativa-alcance":"inmobiliaria:escritura","description":"Es la misma operación que PATCH /v1/inmobiliaria/ventas/{codigo}/estado, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"codigo":{"type":"string","minLength":3,"maxLength":20,"description":"El código de la propiedad, como VEN-0042"},"estado":{"type":"string","enum":["disponible","reservada","vendida","suspendida"]},"cierre":{"description":"Precio (en la moneda, sin centavos) y fecha del cierre","type":"object","properties":{"importe":{"type":"number","exclusiveMinimum":0},"moneda":{"type":"string","enum":["ARS","USD"]},"fecha":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["importe","moneda","fecha"]}},"required":["codigo","estado"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/inmobiliaria.venta.cambiar_precio":{"post":{"operationId":"herramienta_inmobiliaria_venta_cambiar_precio","summary":"Cambia el precio de una propiedad en venta, en dólares, en pesos o los dos. Queda en el historial de precios.","tags":["Herramientas"],"x-kaptativa-herramienta":"inmobiliaria.venta.cambiar_precio","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"inmobiliaria-venta.editar","x-kaptativa-alcance":"inmobiliaria:escritura","description":"Es la misma operación que PATCH /v1/inmobiliaria/ventas/{codigo}/precio, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"codigo":{"type":"string","minLength":3,"maxLength":20,"description":"El código de la propiedad, como VEN-0042"},"precioUsd":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"precioArs":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["codigo"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/inmobiliaria.alquiler.listar":{"post":{"operationId":"herramienta_inmobiliaria_alquiler_listar","summary":"Lista las propiedades en alquiler con código, estado, precio, zona y si están publicadas; filtra por texto, estado y fichas incompletas.","tags":["Herramientas"],"x-kaptativa-herramienta":"inmobiliaria.alquiler.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"inmobiliaria-alquiler.ver","x-kaptativa-alcance":"inmobiliaria:lectura","description":"Es la misma operación que GET /v1/inmobiliaria/alquileres, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"buscar":{"type":"string","maxLength":80},"estado":{"type":"string","enum":["disponible","reservada","alquilada","suspendida"]},"incompletas":{"type":"boolean"}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/inmobiliaria.alquiler.ver":{"post":{"operationId":"herramienta_inmobiliaria_alquiler_ver","summary":"Muestra la ficha de una propiedad en alquiler: datos, precio, ubicación, estado, fotos y lo que le falta.","tags":["Herramientas"],"x-kaptativa-herramienta":"inmobiliaria.alquiler.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"inmobiliaria-alquiler.ver","x-kaptativa-alcance":"inmobiliaria:lectura","description":"Es la misma operación que GET /v1/inmobiliaria/alquileres/{codigo}, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"codigo":{"type":"string","minLength":3,"maxLength":20,"description":"El código de la propiedad, como VEN-0042"}},"required":["codigo"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/inmobiliaria.alquiler.publicar":{"post":{"operationId":"herramienta_inmobiliaria_alquiler_publicar","summary":"Publica en el sitio o pausa una propiedad en alquiler. Pausada no se ve y queda guardada.","tags":["Herramientas"],"x-kaptativa-herramienta":"inmobiliaria.alquiler.publicar","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"inmobiliaria-alquiler.publicar","x-kaptativa-alcance":"inmobiliaria:escritura","description":"Es la misma operación que PATCH /v1/inmobiliaria/alquileres/{codigo}/publicacion, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"codigo":{"type":"string","minLength":3,"maxLength":20,"description":"El código de la propiedad, como VEN-0042"},"publicada":{"type":"boolean"}},"required":["codigo","publicada"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/inmobiliaria.alquiler.cambiar_estado":{"post":{"operationId":"herramienta_inmobiliaria_alquiler_cambiar_estado","summary":"Cambia el estado comercial de una propiedad en alquiler. Para cerrarla hacen falta el precio y la fecha de cierre.","tags":["Herramientas"],"x-kaptativa-herramienta":"inmobiliaria.alquiler.cambiar_estado","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"inmobiliaria-alquiler.cambiar_estado","x-kaptativa-alcance":"inmobiliaria:escritura","description":"Es la misma operación que PATCH /v1/inmobiliaria/alquileres/{codigo}/estado, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"codigo":{"type":"string","minLength":3,"maxLength":20,"description":"El código de la propiedad, como VEN-0042"},"estado":{"type":"string","enum":["disponible","reservada","alquilada","suspendida"]},"cierre":{"description":"Precio (en la moneda, sin centavos) y fecha del cierre","type":"object","properties":{"importe":{"type":"number","exclusiveMinimum":0},"moneda":{"type":"string","enum":["ARS","USD"]},"fecha":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["importe","moneda","fecha"]}},"required":["codigo","estado"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/inmobiliaria.alquiler.cambiar_precio":{"post":{"operationId":"herramienta_inmobiliaria_alquiler_cambiar_precio","summary":"Cambia el precio de una propiedad en alquiler, en dólares, en pesos o los dos. Queda en el historial de precios.","tags":["Herramientas"],"x-kaptativa-herramienta":"inmobiliaria.alquiler.cambiar_precio","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"inmobiliaria-alquiler.editar","x-kaptativa-alcance":"inmobiliaria:escritura","description":"Es la misma operación que PATCH /v1/inmobiliaria/alquileres/{codigo}/precio, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"codigo":{"type":"string","minLength":3,"maxLength":20,"description":"El código de la propiedad, como VEN-0042"},"precioUsd":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"precioArs":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["codigo"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/inmobiliaria.consulta.listar":{"post":{"operationId":"herramienta_inmobiliaria_consulta_listar","summary":"Lista las consultas por propiedades: las de hoy, las abiertas o por estado, con la persona, la propiedad, el canal, el asesor y si está demorada.","tags":["Herramientas"],"x-kaptativa-herramienta":"inmobiliaria.consulta.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"inmobiliaria-consultas.ver","x-kaptativa-alcance":"inmobiliaria:lectura","description":"Es la misma operación que GET /v1/inmobiliaria/consultas, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"hoy":{"description":"Solo las que entraron hoy","type":"boolean"},"estado":{"type":"string","enum":["abiertas","nueva","respondida","visita_agendada","visito","cerrada"]},"propiedad":{"description":"El código, como VEN-0042","type":"string","maxLength":20}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/inmobiliaria.consulta.registrar":{"post":{"operationId":"herramienta_inmobiliaria_consulta_registrar","summary":"Registra una consulta que llegó por teléfono o en la oficina, por una propiedad (con su código) o una tasación, con el nombre y el contacto de la persona.","tags":["Herramientas"],"x-kaptativa-herramienta":"inmobiliaria.consulta.registrar","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"inmobiliaria-consultas.crear","x-kaptativa-alcance":"inmobiliaria:escritura","description":"Es la misma operación que POST /v1/inmobiliaria/consultas, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"propiedad":{"description":"El código; sin código es una tasación","type":"string","maxLength":20},"nombre":{"type":"string","minLength":1,"maxLength":120},"telefono":{"type":"string","maxLength":40},"email":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"mensaje":{"type":"string","maxLength":2000},"canal":{"type":"string","enum":["telefono","oficina"]}},"required":["nombre"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/inmobiliaria.interesado.listar":{"post":{"operationId":"herramienta_inmobiliaria_interesado_listar","summary":"Lista quién busca qué: cada búsqueda activa con la persona, lo que busca y cuántas propiedades nuevas coinciden.","tags":["Herramientas"],"x-kaptativa-herramienta":"inmobiliaria.interesado.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"inmobiliaria-interesados.ver","x-kaptativa-alcance":"inmobiliaria:lectura","description":"Es la misma operación que GET /v1/inmobiliaria/interesados, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"buscar":{"type":"string","maxLength":80},"conNuevas":{"description":"Solo las que tienen coincidencias sin mandar","type":"boolean"}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/inmobiliaria.emprendimiento.listar":{"post":{"operationId":"herramienta_inmobiliaria_emprendimiento_listar","summary":"Lista los emprendimientos con su estado de obra, avance, entrega, unidades disponibles y precio desde.","tags":["Herramientas"],"x-kaptativa-herramienta":"inmobiliaria.emprendimiento.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"inmobiliaria-emprendimientos.ver","x-kaptativa-alcance":"inmobiliaria:lectura","description":"Es la misma operación que GET /v1/inmobiliaria/emprendimientos, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"buscar":{"type":"string","maxLength":80}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/inmobiliaria.emprendimiento.ver":{"post":{"operationId":"herramienta_inmobiliaria_emprendimiento_ver","summary":"Muestra la disponibilidad de un emprendimiento por tipología y unidad, con el estado de cada una.","tags":["Herramientas"],"x-kaptativa-herramienta":"inmobiliaria.emprendimiento.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"inmobiliaria-emprendimientos.ver","x-kaptativa-alcance":"inmobiliaria:lectura","description":"Es la misma operación que GET /v1/inmobiliaria/emprendimientos/{nombre}, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"nombre":{"type":"string","minLength":2,"maxLength":120,"description":"El nombre o parte del nombre"}},"required":["nombre"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/bandeja.conversacion.sin_contestar":{"post":{"operationId":"herramienta_bandeja_conversacion_sin_contestar","summary":"Lista las conversaciones de WhatsApp que esperan respuesta en las líneas que la persona ve, con el contacto, la línea, quién la tiene y el último mensaje.","tags":["Herramientas"],"x-kaptativa-herramienta":"bandeja.conversacion.sin_contestar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"bandeja-whatsapp.ver","x-kaptativa-alcance":"bandeja:lectura","description":"Es la misma operación que GET /v1/bandeja/conversaciones/sin-contestar, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"mias":{"description":"Solo las asignadas a la persona","type":"boolean"}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/bandeja.envio.programar":{"post":{"operationId":"herramienta_bandeja_envio_programar","summary":"Programa un mensaje de WhatsApp para una conversación que ya existe, a una fecha y hora. Se puede cancelar hasta que sale.","tags":["Herramientas"],"x-kaptativa-herramienta":"bandeja.envio.programar","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"bandeja-whatsapp.crear","x-kaptativa-alcance":"bandeja:escritura","description":"Es la misma operación que POST /v1/bandeja/envios, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"contacto":{"type":"string","minLength":2,"maxLength":80,"description":"El nombre o el teléfono del contacto"},"texto":{"type":"string","minLength":1,"maxLength":4096},"cuando":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}$","description":"La fecha y hora en Buenos Aires, como 2026-10-30T10:00"}},"required":["contacto","texto","cuando"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/bandeja.respuesta.buscar":{"post":{"operationId":"herramienta_bandeja_respuesta_buscar","summary":"Busca entre las respuestas rápidas que la persona ve (las compartidas y las suyas) por atajo, título o texto, para partir de ellas al preparar un borrador.","tags":["Herramientas"],"x-kaptativa-herramienta":"bandeja.respuesta.buscar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"bandeja-respuestas.ver","x-kaptativa-alcance":"bandeja:lectura","description":"Es la misma operación que GET /v1/bandeja/respuestas, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"buscar":{"type":"string","maxLength":80}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/tienda.producto.listar":{"post":{"operationId":"herramienta_tienda_producto_listar","summary":"Lista los productos del catálogo con su categoría, marca, precio, stock total y si se ven en el sitio; filtra por texto (título, SKU o código de barras), categoría, marca, ocultos y archivados.","tags":["Herramientas"],"x-kaptativa-herramienta":"tienda.producto.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"tienda-productos.ver","x-kaptativa-alcance":"tienda:lectura","description":"Es la misma operación que GET /v1/tienda/productos, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"buscar":{"type":"string","maxLength":80},"categoriaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"marcaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"ocultos":{"description":"Solo los que no se ven en el sitio","type":"boolean"},"archivados":{"description":"Los archivados en lugar de los vigentes","type":"boolean"}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/tienda.producto.ver":{"post":{"operationId":"herramienta_tienda_producto_ver","summary":"Muestra la ficha de un producto: textos, categoría, marca, moneda, visibilidad y sus variantes con precio, SKU, código de barras y peso.","tags":["Herramientas"],"x-kaptativa-herramienta":"tienda.producto.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"tienda-productos.ver","x-kaptativa-alcance":"tienda:lectura","description":"Es la misma operación que GET /v1/tienda/productos/{id}, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve tienda.producto.listar"}},"required":["id"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/tienda.producto.crear":{"post":{"operationId":"herramienta_tienda_producto_crear","summary":"Da de alta un producto simple, sin variantes: título, textos, categoría, marca, moneda, precio, SKU, código de barras y peso. Las variantes, las fotos y el resto se cargan desde el panel.","tags":["Herramientas"],"x-kaptativa-herramienta":"tienda.producto.crear","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"tienda-productos.crear","x-kaptativa-alcance":"tienda:escritura","description":"Es la misma operación que POST /v1/tienda/productos, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"titulo":{"type":"string","minLength":1,"maxLength":120},"subtitulo":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"descripcionCorta":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}]},"descripcion":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}]},"categoriaId":{"description":"El id que devuelve tienda.categoria.listar. Sin categoría el producto no se ve en el sitio","anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"marcaId":{"description":"El id que devuelve tienda.marca.listar","anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"visibleMinoristas":{"type":"boolean"},"visibleMayoristas":{"type":"boolean"},"destacado":{"type":"boolean"},"precio":{"description":"El precio de venta, en la moneda del producto","anyOf":[{"type":"number","minimum":0,"maximum":10000000000},{"type":"null"}]},"precioAnterior":{"description":"El precio tachado","anyOf":[{"type":"number","minimum":0,"maximum":10000000000},{"type":"null"}]},"sku":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}]},"codigoBarras":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}]},"pesoGramos":{"description":"Las tarifas de envío van por rango de peso","anyOf":[{"type":"integer","minimum":0,"maximum":10000000},{"type":"null"}]},"moneda":{"type":"string","enum":["ARS","USD"]},"alicuotaIva":{"type":"string","enum":["0","21","27","10.5","exento","no_gravado"]}},"required":["titulo"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/tienda.producto.editar":{"post":{"operationId":"herramienta_tienda_producto_editar","summary":"Cambia los datos básicos de un producto: título, textos, categoría, marca y visibilidad; en un producto sin variantes, también el precio, el SKU, el código de barras y el peso. Lo que no se manda queda como está.","tags":["Herramientas"],"x-kaptativa-herramienta":"tienda.producto.editar","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"tienda-productos.editar","x-kaptativa-alcance":"tienda:escritura","description":"Es la misma operación que PATCH /v1/tienda/productos/{id}, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve tienda.producto.listar"},"titulo":{"type":"string","minLength":1,"maxLength":120},"subtitulo":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"descripcionCorta":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}]},"descripcion":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}]},"categoriaId":{"description":"El id que devuelve tienda.categoria.listar. Sin categoría el producto no se ve en el sitio","anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"marcaId":{"description":"El id que devuelve tienda.marca.listar","anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"visibleMinoristas":{"type":"boolean"},"visibleMayoristas":{"type":"boolean"},"destacado":{"type":"boolean"},"precio":{"description":"El precio de venta, en la moneda del producto","anyOf":[{"type":"number","minimum":0,"maximum":10000000000},{"type":"null"}]},"precioAnterior":{"description":"El precio tachado","anyOf":[{"type":"number","minimum":0,"maximum":10000000000},{"type":"null"}]},"sku":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}]},"codigoBarras":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}]},"pesoGramos":{"description":"Las tarifas de envío van por rango de peso","anyOf":[{"type":"integer","minimum":0,"maximum":10000000},{"type":"null"}]}},"required":["id"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/tienda.categoria.listar":{"post":{"operationId":"herramienta_tienda_categoria_listar","summary":"Lista las categorías y subcategorías del catálogo con su id, su tipo (de productos o de servicios), si están visibles y cuántos productos tienen.","tags":["Herramientas"],"x-kaptativa-herramienta":"tienda.categoria.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"tienda-categorias.ver","x-kaptativa-alcance":"tienda:lectura","description":"Es la misma operación que GET /v1/tienda/categorias, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/tienda.marca.listar":{"post":{"operationId":"herramienta_tienda_marca_listar","summary":"Lista las marcas del catálogo con su id, si están visibles y cuántos productos tienen.","tags":["Herramientas"],"x-kaptativa-herramienta":"tienda.marca.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"tienda-marcas.ver","x-kaptativa-alcance":"tienda:lectura","description":"Es la misma operación que GET /v1/tienda/marcas, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/tienda.stock.ver":{"post":{"operationId":"herramienta_tienda_stock_ver","summary":"Muestra el stock de un producto: cada variante con su id, su total y cuánto hay en cada depósito.","tags":["Herramientas"],"x-kaptativa-herramienta":"tienda.stock.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"tienda-stock.ver","x-kaptativa-alcance":"tienda:lectura","description":"Es la misma operación que GET /v1/tienda/productos/{id}/stock, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id del producto, el que devuelve tienda.producto.listar"}},"required":["id"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/tienda.deposito.listar":{"post":{"operationId":"herramienta_tienda_deposito_listar","summary":"Lista los depósitos con su id, si están disponibles, cuál es el del sitio y cuántos productos tienen stock ahí.","tags":["Herramientas"],"x-kaptativa-herramienta":"tienda.deposito.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"tienda-stock.ver","x-kaptativa-alcance":"tienda:lectura","description":"Es la misma operación que GET /v1/tienda/depositos, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/tienda.stock.ajustar":{"post":{"operationId":"herramienta_tienda_stock_ajustar","summary":"Ajusta el stock de una variante en un depósito al número contado: registra la diferencia como un movimiento de ajuste en el libro de stock.","tags":["Herramientas"],"x-kaptativa-herramienta":"tienda.stock.ajustar","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"tienda-stock.ajustar","x-kaptativa-alcance":"tienda:escritura","description":"Es la misma operación que POST /v1/tienda/stock/ajustes, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"varianteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id de la variante, el que devuelve tienda.stock.ver"},"depositoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve tienda.deposito.listar"},"stockReal":{"type":"number","minimum":0,"maximum":1000000000,"description":"Lo que se contó, en unidades"},"motivo":{"description":"Sin esto, Inventario físico","type":"string","enum":["Inventario físico","Otros"]},"observaciones":{"type":"string","maxLength":500},"clave":{"type":"string","minLength":8,"maxLength":80,"description":"Una clave propia de quien llama, como alta-2026-0001: repetir el pedido con la misma clave no mueve el stock dos veces"}},"required":["varianteId","depositoId","stockReal"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/tienda.movimiento_stock.registrar":{"post":{"operationId":"herramienta_tienda_movimiento_stock_registrar","summary":"Registra un ingreso, un egreso o una transferencia entre depósitos de una variante. Un egreso mayor que el stock del depósito no se registra.","tags":["Herramientas"],"x-kaptativa-herramienta":"tienda.movimiento_stock.registrar","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"tienda-stock.crear","x-kaptativa-alcance":"tienda:escritura","description":"Es la misma operación que POST /v1/tienda/stock/movimientos, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"tipo":{"type":"string","enum":["ingreso","egreso","transferencia"]},"varianteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id de la variante, el que devuelve tienda.stock.ver"},"depositoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El depósito donde entra o de donde sale"},"destinoId":{"description":"En una transferencia, el depósito que recibe","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"cantidad":{"type":"number","exclusiveMinimum":0,"maximum":1000000000,"description":"En unidades"},"motivo":{"type":"string","minLength":1,"maxLength":120,"description":"Por ejemplo Compra a proveedor, Producto dañado o Reposición"},"numero":{"description":"El número del comprobante, si hay","type":"string","maxLength":60},"observaciones":{"type":"string","maxLength":500},"clave":{"type":"string","minLength":8,"maxLength":80,"description":"Una clave propia de quien llama, como alta-2026-0001: repetir el pedido con la misma clave no mueve el stock dos veces"}},"required":["tipo","varianteId","depositoId","cantidad","motivo"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/tienda.movimiento_stock.listar":{"post":{"operationId":"herramienta_tienda_movimiento_stock_listar","summary":"Lista el libro de stock, del movimiento más nuevo al más viejo: producto, depósito, tipo, cantidad, stock anterior y nuevo, motivo y quién lo hizo; filtra por texto y por fechas.","tags":["Herramientas"],"x-kaptativa-herramienta":"tienda.movimiento_stock.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"tienda-stock.ver","x-kaptativa-alcance":"tienda:lectura","description":"Es la misma operación que GET /v1/tienda/stock/movimientos, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"buscar":{"description":"Por título o SKU","type":"string","maxLength":80},"desde":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Una fecha, como 2026-11-30"},"hasta":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Una fecha, como 2026-11-30"}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/tienda.pedido.listar":{"post":{"operationId":"herramienta_tienda_pedido_listar","summary":"Lista los pedidos, del más nuevo al más viejo, con su código, cliente, total y los tres estados (pedido, pago y entrega); filtra por texto (código o cliente), por cada estado y por canal.","tags":["Herramientas"],"x-kaptativa-herramienta":"tienda.pedido.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"tienda-pedidos.ver","x-kaptativa-alcance":"tienda:lectura","description":"Es la misma operación que GET /v1/tienda/pedidos, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"buscar":{"type":"string","maxLength":80},"estado":{"type":"string","enum":["borrador","pendiente","finalizado","aprobado","cancelado","arrepentido"]},"estadoPago":{"type":"string","enum":["pendiente","realizado","aprobado","rechazado","anulado","reembolsado","cuenta_corriente"]},"estadoEntrega":{"type":"string","enum":["sin_preparar","empaquetada","preparada","en_camino","enviada","retirada"]},"canal":{"type":"string","enum":["sitio","sistema","mercado_libre","local","instagram","whatsapp"]}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/tienda.pedido.ver":{"post":{"operationId":"herramienta_tienda_pedido_ver","summary":"Muestra un pedido: el comprador, los productos, los importes, lo pagado y el saldo, la entrega con su transporte y seguimiento, y a qué estados puede pasar.","tags":["Herramientas"],"x-kaptativa-herramienta":"tienda.pedido.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"tienda-pedidos.ver","x-kaptativa-alcance":"tienda:lectura","description":"Es la misma operación que GET /v1/tienda/pedidos/{id}, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve tienda.pedido.listar"}},"required":["id"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/tienda.pedido.cambiar_estado":{"post":{"operationId":"herramienta_tienda_pedido_cambiar_estado","summary":"Pasa un pedido a Pendiente, Aprobado o Finalizado, según lo que permitan su pago y su entrega. Reabrir uno cancelado pide el motivo. Para cancelarlo está tienda.pedido.cancelar.","tags":["Herramientas"],"x-kaptativa-herramienta":"tienda.pedido.cambiar_estado","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"tienda-pedidos.editar","x-kaptativa-alcance":"tienda:escritura","description":"Es la misma operación que PATCH /v1/tienda/pedidos/{id}/estado, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve tienda.pedido.listar"},"estado":{"type":"string","enum":["pendiente","aprobado","finalizado"]},"motivo":{"type":"string","maxLength":500}},"required":["id","estado"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/tienda.pedido.cancelar":{"post":{"operationId":"herramienta_tienda_pedido_cancelar","summary":"Cancela un pedido con su motivo, o lo marca Arrepentido si el comprador usó su derecho de arrepentimiento. No toca el pago: si estaba pagado queda la alerta Cancelado con pago para resolverla en el panel.","tags":["Herramientas"],"x-kaptativa-herramienta":"tienda.pedido.cancelar","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"tienda-pedidos.cancelar","x-kaptativa-alcance":"tienda:escritura","description":"Es la misma operación que POST /v1/tienda/pedidos/{id}/cancelacion, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve tienda.pedido.listar"},"motivo":{"type":"string","minLength":2,"maxLength":500},"arrepentimiento":{"description":"El comprador se arrepintió de la compra","type":"boolean"}},"required":["id","motivo"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/tienda.pedido.cambiar_entrega":{"post":{"operationId":"herramienta_tienda_pedido_cambiar_entrega","summary":"Avanza la entrega de un pedido (empaquetada, preparada, en camino, enviada o retirada), con el transporte y el número de seguimiento si los hay. Si la cuenta avisa los cambios por correo, el comprador recibe el aviso que ya manda el panel.","tags":["Herramientas"],"x-kaptativa-herramienta":"tienda.pedido.cambiar_entrega","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"tienda-pedidos.cambiar_entrega","x-kaptativa-alcance":"tienda:escritura","description":"Es la misma operación que PATCH /v1/tienda/pedidos/{id}/entrega, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve tienda.pedido.listar"},"estado":{"type":"string","enum":["sin_preparar","empaquetada","preparada","en_camino","enviada","retirada"]},"transporte":{"type":"string","maxLength":120},"tracking":{"description":"El número de seguimiento del envío","type":"string","maxLength":120}},"required":["id","estado"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/alquileres.contrato.listar":{"post":{"operationId":"herramienta_alquileres_contrato_listar","summary":"Lista los contratos de alquiler, del más nuevo al más viejo, con el inmueble, el inquilino titular, el estado, las fechas, el alquiler vigente y la deuda vencida; filtra por estado, por texto y por los que vencen en 60 días.","tags":["Herramientas"],"x-kaptativa-herramienta":"alquileres.contrato.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"alq-contratos.ver","x-kaptativa-alcance":"alquileres:lectura","description":"Es la misma operación que GET /v1/alquileres/contratos, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"estado":{"type":"string","enum":["borrador","vigente","finalizado","rescindido"]},"buscar":{"description":"Por inmueble, número de contrato o inquilino","type":"string","maxLength":80},"porVencer":{"description":"Solo los vigentes que terminan en los próximos 60 días","type":"boolean"}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/alquileres.contrato.ver":{"post":{"operationId":"herramienta_alquileres_contrato_ver","summary":"Muestra un contrato de alquiler: inmueble, inquilinos, fechas, alquiler vigente, cómo se ajusta y cuándo es el próximo ajuste, la deuda vencida con punitorios y el saldo a favor.","tags":["Herramientas"],"x-kaptativa-herramienta":"alquileres.contrato.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"alq-contratos.ver","x-kaptativa-alcance":"alquileres:lectura","description":"Es la misma operación que GET /v1/alquileres/contratos/{id}, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve alquileres.contrato.listar"}},"required":["id"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/alquileres.contrato.listar_mensualidades":{"post":{"operationId":"herramienta_alquileres_contrato_listar_mensualidades","summary":"Lista las mensualidades de un contrato, de la más vieja a la más nueva, con su vencimiento, total, pagado, saldo, punitorios al día y estado.","tags":["Herramientas"],"x-kaptativa-herramienta":"alquileres.contrato.listar_mensualidades","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"alq-contratos.ver","x-kaptativa-alcance":"alquileres:lectura","description":"Es la misma operación que GET /v1/alquileres/contratos/{id}/mensualidades, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve alquileres.contrato.listar"}},"required":["id"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/alquileres.mensualidad.listar":{"post":{"operationId":"herramienta_alquileres_mensualidad_listar","summary":"Lista las mensualidades de un mes de todos los contratos, con el inquilino, el inmueble, el saldo y los punitorios al día; filtra por estado y por texto. Sin período, el mes en curso.","tags":["Herramientas"],"x-kaptativa-herramienta":"alquileres.mensualidad.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"alq-mensualidades.ver","x-kaptativa-alcance":"alquileres:lectura","description":"Es la misma operación que GET /v1/alquileres/mensualidades, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"periodo":{"description":"El mes, como 2026-11","type":"string","pattern":"^\\d{4}-\\d{2}$"},"estado":{"type":"string","enum":["pendiente","vencida","parcial","pagada","anulada"]},"buscar":{"description":"Por inquilino, inmueble o número de contrato","type":"string","maxLength":80}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/alquileres.pago.listar":{"post":{"operationId":"herramienta_alquileres_pago_listar","summary":"Lista los pagos de alquiler registrados entre dos fechas, del más nuevo al más viejo, con el recibo, el contrato, el inquilino, el medio y el importe. Sin fechas, los del mes en curso.","tags":["Herramientas"],"x-kaptativa-herramienta":"alquileres.pago.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"alq-cobranzas.ver","x-kaptativa-alcance":"alquileres:lectura","description":"Es la misma operación que GET /v1/alquileres/pagos, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"desde":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Una fecha, como 2026-11-30"},"hasta":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Una fecha, como 2026-11-30"},"medio":{"type":"string","enum":["efectivo","transferencia","mercado_pago","debito","red_cobranza","deposito","otro"]},"buscar":{"description":"Por inquilino, inmueble o número de recibo","type":"string","maxLength":80}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/alquileres.pago.registrar":{"post":{"operationId":"herramienta_alquileres_pago_registrar","summary":"Registra un pago que ya se recibió de un contrato: lo reparte de la mensualidad más vieja a la más nueva, congela los punitorios a la fecha y deja el recibo. No manda el recibo por correo: ese aviso sale solo cuando el pago se carga desde el panel, desde donde también se puede reenviar. Sin monto toma lo adeudado a esa fecha. Con la misma clave no se registra dos veces: devuelve el recibo que ya hizo.","tags":["Herramientas"],"x-kaptativa-herramienta":"alquileres.pago.registrar","x-kaptativa-clase":"cobro","x-kaptativa-permiso":"alq-cobranzas.crear","x-kaptativa-alcance":"alquileres:escritura","description":"Es la misma operación que POST /v1/alquileres/contratos/{id}/pagos, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve alquileres.contrato.listar"},"fecha":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"El día en que se recibió el pago, como 2026-11-10; no puede ser futura"},"medio":{"type":"string","enum":["efectivo","transferencia","mercado_pago","debito","red_cobranza","deposito","otro"]},"monto":{"description":"En la moneda del contrato. Sin esto, lo adeudado a la fecha","type":"number","exclusiveMinimum":0,"maximum":1000000000000},"referencia":{"description":"El número de la transferencia o del comprobante","type":"string","maxLength":120},"quienPago":{"description":"Sin esto, el inquilino","type":"string","enum":["inquilino","garante","tercero"]},"notas":{"type":"string","maxLength":500},"clave":{"description":"Una clave propia de quien llama, como cobro-2026-11-0001: repetir el pedido con la misma clave no registra el pago dos veces","type":"string","minLength":8,"maxLength":80}},"required":["id","fecha","medio"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/alquileres.moroso.listar":{"post":{"operationId":"herramienta_alquileres_moroso_listar","summary":"Lista los contratos con mensualidades vencidas pasados los días de gracia: inquilino, inmueble, cuántos períodos debe y desde cuándo, capital, punitorios al día, último pago y en qué está la gestión.","tags":["Herramientas"],"x-kaptativa-herramienta":"alquileres.moroso.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"alq-morosos.ver","x-kaptativa-alcance":"alquileres:lectura","description":"Es la misma operación que GET /v1/alquileres/morosos, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"minimo":{"description":"Solo los que deben al menos esta cantidad de períodos","type":"integer","minimum":1,"maximum":60}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/turnos.servicio.listar":{"post":{"operationId":"herramienta_turnos_servicio_listar","summary":"Lista los servicios para los que se puede cargar un turno, con su id y cuántas sesiones trae cada uno.","tags":["Herramientas"],"x-kaptativa-herramienta":"turnos.servicio.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"turnos-calendario.ver","x-kaptativa-alcance":"turnos:lectura","description":"Es la misma operación que GET /v1/turnos/servicios, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/turnos.sucursal.listar":{"post":{"operationId":"herramienta_turnos_sucursal_listar","summary":"Lista las sucursales de la cuenta con su id, la principal primero.","tags":["Herramientas"],"x-kaptativa-herramienta":"turnos.sucursal.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"turnos-calendario.ver","x-kaptativa-alcance":"turnos:lectura","description":"Es la misma operación que GET /v1/turnos/sucursales, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/turnos.profesional.listar":{"post":{"operationId":"herramienta_turnos_profesional_listar","summary":"Lista los profesionales que atienden turnos, con su id y si están activos.","tags":["Herramientas"],"x-kaptativa-herramienta":"turnos.profesional.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"turnos-calendario.ver","x-kaptativa-alcance":"turnos:lectura","description":"Es la misma operación que GET /v1/turnos/profesionales, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/turnos.programacion.listar":{"post":{"operationId":"herramienta_turnos_programacion_listar","summary":"Lista las programaciones (las agendas): el servicio y la sucursal, entre qué fechas y horas se atiende, qué días, cuánto dura cada turno, el cupo y los profesionales asignados.","tags":["Herramientas"],"x-kaptativa-herramienta":"turnos.programacion.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"turnos-programaciones.ver","x-kaptativa-alcance":"turnos:lectura","description":"Es la misma operación que GET /v1/turnos/programaciones, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"archivadas":{"description":"Las archivadas en lugar de las vigentes","type":"boolean"}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/turnos.disponibilidad.consultar":{"post":{"operationId":"herramienta_turnos_disponibilidad_consultar","summary":"Consulta los horarios de un servicio en una sucursal y un día: cada uno con su franjaId, la hora, cuántos lugares le quedan y qué profesionales están libres. sinProgramacion avisa que ese día el servicio no se atiende ahí.","tags":["Herramientas"],"x-kaptativa-herramienta":"turnos.disponibilidad.consultar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"turnos-calendario.ver","x-kaptativa-alcance":"turnos:lectura","description":"Es la misma operación que GET /v1/turnos/disponibilidad, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"servicioId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve turnos.servicio.listar"},"sucursalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve turnos.sucursal.listar"},"fecha":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Una fecha, como 2026-11-30"}},"required":["servicioId","sucursalId","fecha"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/turnos.sesion.listar":{"post":{"operationId":"herramienta_turnos_sesion_listar","summary":"Lista las sesiones de los turnos, por horario (las que todavía no tienen horario van primero), con el cliente, el servicio, el profesional, el estado y qué se puede hacer con cada una; filtra por fechas, estado, servicio, sucursal, profesional y texto.","tags":["Herramientas"],"x-kaptativa-herramienta":"turnos.sesion.listar","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"turnos-seguimiento.ver","x-kaptativa-alcance":"turnos:lectura","description":"Es la misma operación que GET /v1/turnos/sesiones, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limite":{"description":"Cuántos trae, de 1 a 100. Sin esto, 25.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"El valor de paginacion.siguiente de la respuesta anterior, para traer la página que sigue.","type":"string","maxLength":200},"desde":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Una fecha, como 2026-11-30"},"hasta":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Una fecha, como 2026-11-30"},"estado":{"description":"El estado de la sesión o el de sala","type":"string","enum":["sin_asignar","pendiente","confirmado","finalizado","cancelado","en_espera","atendido","ausente"]},"servicioId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve turnos.servicio.listar"},"sucursalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve turnos.sucursal.listar"},"profesionalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve turnos.profesional.listar"},"buscar":{"description":"Por cliente, email o código del turno","type":"string","maxLength":80}}}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/turnos.turno.ver":{"post":{"operationId":"herramienta_turnos_turno_ver","summary":"Muestra un turno: el cliente, el servicio, la sucursal y cada una de sus sesiones con su fecha, hora, profesional y estado.","tags":["Herramientas"],"x-kaptativa-herramienta":"turnos.turno.ver","x-kaptativa-clase":"consulta","x-kaptativa-permiso":"turnos-calendario.ver","x-kaptativa-alcance":"turnos:lectura","description":"Es la misma operación que GET /v1/turnos/turnos/{id}, con toda la entrada en el cuerpo.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id del turno, el que devuelven turnos.turno.crear y turnos.sesion.listar (turnoId)"}},"required":["id"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/turnos.turno.crear":{"post":{"operationId":"herramienta_turnos_turno_crear","summary":"Carga un turno para un cliente que ya existe (clienteId) o uno nuevo (nuevo), de un servicio en una sucursal. Las sesiones que traen horario nacen confirmadas; las demás quedan por agendar. El turno nace sin cobro.","tags":["Herramientas"],"x-kaptativa-herramienta":"turnos.turno.crear","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"turnos-calendario.crear","x-kaptativa-alcance":"turnos:escritura","description":"Es la misma operación que POST /v1/turnos/turnos, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"servicioId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve turnos.servicio.listar"},"sucursalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve turnos.sucursal.listar"},"clienteId":{"description":"El id que devuelve gestion.cliente.buscar","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"nuevo":{"description":"Los datos de un cliente nuevo, si no se manda clienteId","type":"object","properties":{"nombre":{"type":"string","minLength":1,"maxLength":120},"apellido":{"type":"string","maxLength":120},"email":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"telefono":{"type":"string","maxLength":40}},"required":["nombre"]},"sesiones":{"description":"Un horario por sesión; sin ninguno, el turno queda por agendar","maxItems":20,"type":"array","items":{"type":"object","properties":{"franjaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El franjaId del horario elegido, el que devuelve turnos.disponibilidad.consultar"},"profesionalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve turnos.profesional.listar"}},"required":["franjaId"]}},"notas":{"type":"string","maxLength":2000}},"required":["servicioId","sucursalId"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/turnos.sesion.reprogramar":{"post":{"operationId":"herramienta_turnos_sesion_reprogramar","summary":"Le da horario a una sesión que estaba por agendar o la pasa a otro: libera el lugar anterior y toma el nuevo. Una sesión finalizada, cancelada o marcada ausente no se reprograma.","tags":["Herramientas"],"x-kaptativa-herramienta":"turnos.sesion.reprogramar","x-kaptativa-clase":"accion_reversible","x-kaptativa-permiso":"turnos-calendario.editar","x-kaptativa-alcance":"turnos:escritura","description":"Es la misma operación que PATCH /v1/turnos/sesiones/{id}/horario, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id de la sesión, el que devuelven turnos.sesion.listar y turnos.turno.ver"},"franjaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El franjaId del horario elegido, el que devuelve turnos.disponibilidad.consultar"},"profesionalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id que devuelve turnos.profesional.listar"}},"required":["id","franjaId"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/herramientas/turnos.sesion.cancelar":{"post":{"operationId":"herramienta_turnos_sesion_cancelar","summary":"Cancela una sesión pendiente, confirmada o por agendar y devuelve su lugar a la agenda. Si hay lista de espera para ese horario, el lugar que se libera se le ofrece al primero de la lista. Se puede reabrir desde el panel.","tags":["Herramientas"],"x-kaptativa-herramienta":"turnos.sesion.cancelar","x-kaptativa-clase":"cambio_de_estado","x-kaptativa-permiso":"turnos-seguimiento.cancelar","x-kaptativa-alcance":"turnos:escritura","description":"Es la misma operación que POST /v1/turnos/sesiones/{id}/cancelacion, con toda la entrada en el cuerpo.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"El id de la sesión, el que devuelven turnos.sesion.listar y turnos.turno.ver"},"motivo":{"type":"string","maxLength":200}},"required":["id"]}}}},"responses":{"200":{"description":"Hecho","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"},"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Idempotent-Replayed":{"$ref":"#/components/headers/Repetido"}},"content":{"application/json":{"schema":{"type":"object","required":["resultado"],"properties":{"resultado":{}}}}}},"400":{"description":"El cuerpo no es JSON válido (cuerpo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta el token o no vale (token)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"El token no tiene el alcance (alcance), la persona no tiene el permiso (sin_permiso) o la cuenta no tiene el submódulo (no_activo)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"El recurso o la herramienta no existe (no_existe), o el registro no existe en la cuenta (no_encontrado)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"El servicio no lo permite, lo explica el mensaje (servicio), o el pedido con esa Idempotency-Key sigue en curso (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"La entrada no es válida, con el detalle por campo (entrada), o la Idempotency-Key ya se usó con otro pedido (idempotencia)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiados pedidos (limite)","headers":{"x-kaptativa-pedido":{"$ref":"#/components/headers/Pedido"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"webhooks":{"inmobiliaria.propiedad.publicada":{"post":{"operationId":"webhook_inmobiliaria_propiedad_publicada","summary":"Propiedad publicada o despublicada. Cuando una propiedad se publica en el sitio o deja de estarlo. publicada dice cuál de las dos.","tags":["Webhooks"],"security":[],"parameters":[{"$ref":"#/components/parameters/WebhookId"},{"$ref":"#/components/parameters/WebhookTimestamp"},{"$ref":"#/components/parameters/WebhookSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Webhook"},{"type":"object","properties":{"tipo":{"const":"inmobiliaria.propiedad.publicada"},"datos":{"type":"object","properties":{"propiedad_id":{"type":"string","minLength":1,"maxLength":100},"codigo":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"publicada":{"type":"boolean"},"motivo":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]}},"required":["propiedad_id","codigo","publicada","motivo"],"additionalProperties":false}}}]}}}},"responses":{"2XX":{"description":"Recibido. Cualquier otra respuesta, o ninguna en 10 segundos, cuenta como falla y se reintenta."}}}},"inmobiliaria.propiedad.precio_cambiado":{"post":{"operationId":"webhook_inmobiliaria_propiedad_precio_cambiado","summary":"Precio de una propiedad cambiado. Cuando cambia el precio en pesos o en dólares de una propiedad.","tags":["Webhooks"],"security":[],"parameters":[{"$ref":"#/components/parameters/WebhookId"},{"$ref":"#/components/parameters/WebhookTimestamp"},{"$ref":"#/components/parameters/WebhookSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Webhook"},{"type":"object","properties":{"tipo":{"const":"inmobiliaria.propiedad.precio_cambiado"},"datos":{"type":"object","properties":{"propiedad_id":{"type":"string","minLength":1,"maxLength":100},"codigo":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"precio_ars":{"type":"object","properties":{"antes":{"type":["number","null"]},"despues":{"type":["number","null"]}},"required":["antes","despues"],"additionalProperties":false},"precio_usd":{"type":"object","properties":{"antes":{"type":["number","null"]},"despues":{"type":["number","null"]}},"required":["antes","despues"],"additionalProperties":false}},"required":["propiedad_id","codigo","precio_ars","precio_usd"],"additionalProperties":false}}}]}}}},"responses":{"2XX":{"description":"Recibido. Cualquier otra respuesta, o ninguna en 10 segundos, cuenta como falla y se reintenta."}}}},"inmobiliaria.propiedad.estado_cambiado":{"post":{"operationId":"webhook_inmobiliaria_propiedad_estado_cambiado","summary":"Estado de una propiedad cambiado. Cuando una propiedad pasa de un estado a otro: disponible, reservada, vendida, alquilada.","tags":["Webhooks"],"security":[],"parameters":[{"$ref":"#/components/parameters/WebhookId"},{"$ref":"#/components/parameters/WebhookTimestamp"},{"$ref":"#/components/parameters/WebhookSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Webhook"},{"type":"object","properties":{"tipo":{"const":"inmobiliaria.propiedad.estado_cambiado"},"datos":{"type":"object","properties":{"propiedad_id":{"type":"string","minLength":1,"maxLength":100},"codigo":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"antes":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"despues":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"operacion":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]}},"required":["propiedad_id","codigo","antes","despues","operacion"],"additionalProperties":false}}}]}}}},"responses":{"2XX":{"description":"Recibido. Cualquier otra respuesta, o ninguna en 10 segundos, cuenta como falla y se reintenta."}}}},"inmobiliaria.consulta.recibida":{"post":{"operationId":"webhook_inmobiliaria_consulta_recibida","summary":"Consulta recibida. Cuando entra una consulta por una propiedad o un tema. Los datos de quien escribió se piden por la API.","tags":["Webhooks"],"security":[],"parameters":[{"$ref":"#/components/parameters/WebhookId"},{"$ref":"#/components/parameters/WebhookTimestamp"},{"$ref":"#/components/parameters/WebhookSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Webhook"},{"type":"object","properties":{"tipo":{"const":"inmobiliaria.consulta.recibida"},"datos":{"type":"object","properties":{"consulta_id":{"type":"string","minLength":1,"maxLength":100},"sobre":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"canal":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]}},"required":["consulta_id","sobre","canal"],"additionalProperties":false}}}]}}}},"responses":{"2XX":{"description":"Recibido. Cualquier otra respuesta, o ninguna en 10 segundos, cuenta como falla y se reintenta."}}}},"inmobiliaria.consulta.cerrada":{"post":{"operationId":"webhook_inmobiliaria_consulta_cerrada","summary":"Consulta cerrada. Cuando alguien del equipo cierra una consulta, con su resultado.","tags":["Webhooks"],"security":[],"parameters":[{"$ref":"#/components/parameters/WebhookId"},{"$ref":"#/components/parameters/WebhookTimestamp"},{"$ref":"#/components/parameters/WebhookSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Webhook"},{"type":"object","properties":{"tipo":{"const":"inmobiliaria.consulta.cerrada"},"datos":{"type":"object","properties":{"consulta_id":{"type":"string","minLength":1,"maxLength":100},"resultado":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]}},"required":["consulta_id","resultado"],"additionalProperties":false}}}]}}}},"responses":{"2XX":{"description":"Recibido. Cualquier otra respuesta, o ninguna en 10 segundos, cuenta como falla y se reintenta."}}}},"tienda.pedido.creado":{"post":{"operationId":"webhook_tienda_pedido_creado","summary":"Pedido creado. Cuando se carga un pedido, desde el panel o desde el sitio, con sus productos.","tags":["Webhooks"],"security":[],"parameters":[{"$ref":"#/components/parameters/WebhookId"},{"$ref":"#/components/parameters/WebhookTimestamp"},{"$ref":"#/components/parameters/WebhookSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Webhook"},{"type":"object","properties":{"tipo":{"const":"tienda.pedido.creado"},"datos":{"type":"object","properties":{"pedido_id":{"type":"string","minLength":1,"maxLength":100},"codigo":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"cliente_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"canal":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"items":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"variante_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"cantidad":{"type":["number","null"]},"precio":{"type":["number","null"]}},"required":["variante_id","cantidad","precio"],"additionalProperties":false}}},"required":["pedido_id","codigo","cliente_id","canal","items"],"additionalProperties":false}}}]}}}},"responses":{"2XX":{"description":"Recibido. Cualquier otra respuesta, o ninguna en 10 segundos, cuenta como falla y se reintenta."}}}},"tienda.pedido.pago_confirmado":{"post":{"operationId":"webhook_tienda_pedido_pago_confirmado","summary":"Pago de un pedido confirmado. Cuando se acredita un pago. pago_completo dice si con este pago el pedido quedó saldado.","tags":["Webhooks"],"security":[],"parameters":[{"$ref":"#/components/parameters/WebhookId"},{"$ref":"#/components/parameters/WebhookTimestamp"},{"$ref":"#/components/parameters/WebhookSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Webhook"},{"type":"object","properties":{"tipo":{"const":"tienda.pedido.pago_confirmado"},"datos":{"type":"object","properties":{"pedido_id":{"type":"string","minLength":1,"maxLength":100},"codigo":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"cliente_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"canal":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"importe_pago":{"type":["number","null"]},"pagado_acumulado":{"type":["number","null"]},"saldo":{"type":["number","null"]},"pago_completo":{"type":"boolean"}},"required":["pedido_id","codigo","cliente_id","canal","importe_pago","pagado_acumulado","saldo","pago_completo"],"additionalProperties":false}}}]}}}},"responses":{"2XX":{"description":"Recibido. Cualquier otra respuesta, o ninguna en 10 segundos, cuenta como falla y se reintenta."}}}},"tienda.pedido.pago_revertido":{"post":{"operationId":"webhook_tienda_pedido_pago_revertido","summary":"Pago de un pedido revertido. Cuando se da marcha atrás con un pago que estaba acreditado.","tags":["Webhooks"],"security":[],"parameters":[{"$ref":"#/components/parameters/WebhookId"},{"$ref":"#/components/parameters/WebhookTimestamp"},{"$ref":"#/components/parameters/WebhookSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Webhook"},{"type":"object","properties":{"tipo":{"const":"tienda.pedido.pago_revertido"},"datos":{"type":"object","properties":{"pedido_id":{"type":"string","minLength":1,"maxLength":100},"codigo":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"cliente_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"canal":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"importe_pago":{"type":["number","null"]},"pagado_acumulado":{"type":["number","null"]},"saldo":{"type":["number","null"]}},"required":["pedido_id","codigo","cliente_id","canal","importe_pago","pagado_acumulado","saldo"],"additionalProperties":false}}}]}}}},"responses":{"2XX":{"description":"Recibido. Cualquier otra respuesta, o ninguna en 10 segundos, cuenta como falla y se reintenta."}}}},"tienda.pedido.cancelado":{"post":{"operationId":"webhook_tienda_pedido_cancelado","summary":"Pedido cancelado. Cuando un pedido se cancela, vence sin pagarse, se elimina o el cliente se arrepiente.","tags":["Webhooks"],"security":[],"parameters":[{"$ref":"#/components/parameters/WebhookId"},{"$ref":"#/components/parameters/WebhookTimestamp"},{"$ref":"#/components/parameters/WebhookSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Webhook"},{"type":"object","properties":{"tipo":{"const":"tienda.pedido.cancelado"},"datos":{"type":"object","properties":{"pedido_id":{"type":"string","minLength":1,"maxLength":100},"codigo":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"cliente_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"canal":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]}},"required":["pedido_id","codigo","cliente_id","canal"],"additionalProperties":false}}}]}}}},"responses":{"2XX":{"description":"Recibido. Cualquier otra respuesta, o ninguna en 10 segundos, cuenta como falla y se reintenta."}}}},"turnos.turno.creado":{"post":{"operationId":"webhook_turnos_turno_creado","summary":"Turno creado. Cuando se crea un turno, con una o varias sesiones, desde el panel, el sitio o una compra.","tags":["Webhooks"],"security":[],"parameters":[{"$ref":"#/components/parameters/WebhookId"},{"$ref":"#/components/parameters/WebhookTimestamp"},{"$ref":"#/components/parameters/WebhookSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Webhook"},{"type":"object","properties":{"tipo":{"const":"turnos.turno.creado"},"datos":{"type":"object","properties":{"turno_id":{"type":"string","minLength":1,"maxLength":100},"codigo":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"cliente_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"servicio_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"sesiones":{"type":["number","null"]},"canal":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"pedido_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]}},"required":["turno_id","codigo","cliente_id","servicio_id","sesiones","canal","pedido_id"],"additionalProperties":false}}}]}}}},"responses":{"2XX":{"description":"Recibido. Cualquier otra respuesta, o ninguna en 10 segundos, cuenta como falla y se reintenta."}}}},"turnos.sesion.agendada":{"post":{"operationId":"webhook_turnos_sesion_agendada","summary":"Sesión agendada. Cuando una sesión de un turno queda con día y hora.","tags":["Webhooks"],"security":[],"parameters":[{"$ref":"#/components/parameters/WebhookId"},{"$ref":"#/components/parameters/WebhookTimestamp"},{"$ref":"#/components/parameters/WebhookSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Webhook"},{"type":"object","properties":{"tipo":{"const":"turnos.sesion.agendada"},"datos":{"type":"object","properties":{"sesion_id":{"type":"string","minLength":1,"maxLength":100},"turno_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"cliente_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"inicio":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"canal":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]}},"required":["sesion_id","turno_id","cliente_id","inicio","canal"],"additionalProperties":false}}}]}}}},"responses":{"2XX":{"description":"Recibido. Cualquier otra respuesta, o ninguna en 10 segundos, cuenta como falla y se reintenta."}}}},"turnos.sesion.cancelada":{"post":{"operationId":"webhook_turnos_sesion_cancelada","summary":"Sesión cancelada. Cuando una sesión se cancela o se saca de la agenda. por_agendar dice si queda para darle otro horario.","tags":["Webhooks"],"security":[],"parameters":[{"$ref":"#/components/parameters/WebhookId"},{"$ref":"#/components/parameters/WebhookTimestamp"},{"$ref":"#/components/parameters/WebhookSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Webhook"},{"type":"object","properties":{"tipo":{"const":"turnos.sesion.cancelada"},"datos":{"type":"object","properties":{"sesion_id":{"type":"string","minLength":1,"maxLength":100},"turno_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"cliente_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"inicio":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"por_agendar":{"type":"boolean"}},"required":["sesion_id","turno_id","cliente_id","inicio","por_agendar"],"additionalProperties":false}}}]}}}},"responses":{"2XX":{"description":"Recibido. Cualquier otra respuesta, o ninguna en 10 segundos, cuenta como falla y se reintenta."}}}},"sitio.respuesta_formulario.recibida":{"post":{"operationId":"webhook_sitio_respuesta_formulario_recibida","summary":"Respuesta de un formulario. Cuando alguien completa un formulario del sitio. Lo que respondió se pide por la API.","tags":["Webhooks"],"security":[],"parameters":[{"$ref":"#/components/parameters/WebhookId"},{"$ref":"#/components/parameters/WebhookTimestamp"},{"$ref":"#/components/parameters/WebhookSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Webhook"},{"type":"object","properties":{"tipo":{"const":"sitio.respuesta_formulario.recibida"},"datos":{"type":"object","properties":{"respuesta_id":{"type":"string","minLength":1,"maxLength":100},"formulario_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"formulario":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"numero":{"type":["number","null"]},"cliente_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]}},"required":["respuesta_id","formulario_id","formulario","numero","cliente_id"],"additionalProperties":false}}}]}}}},"responses":{"2XX":{"description":"Recibido. Cualquier otra respuesta, o ninguna en 10 segundos, cuenta como falla y se reintenta."}}}},"gestion.tarjeta.creada":{"post":{"operationId":"webhook_gestion_tarjeta_creada","summary":"Tarjeta creada. Cuando se agrega una tarjeta a un tablero que quien creó el destino puede ver.","tags":["Webhooks"],"security":[],"parameters":[{"$ref":"#/components/parameters/WebhookId"},{"$ref":"#/components/parameters/WebhookTimestamp"},{"$ref":"#/components/parameters/WebhookSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Webhook"},{"type":"object","properties":{"tipo":{"const":"gestion.tarjeta.creada"},"datos":{"type":"object","properties":{"tarjeta_id":{"type":"string","minLength":1,"maxLength":100},"tablero_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"titulo":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"columna":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"copia_de":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]}},"required":["tarjeta_id","tablero_id","titulo","columna","copia_de"],"additionalProperties":false}}}]}}}},"responses":{"2XX":{"description":"Recibido. Cualquier otra respuesta, o ninguna en 10 segundos, cuenta como falla y se reintenta."}}}},"gestion.tarjeta.movida":{"post":{"operationId":"webhook_gestion_tarjeta_movida","summary":"Tarjeta movida. Cuando una tarjeta pasa de una columna a otra.","tags":["Webhooks"],"security":[],"parameters":[{"$ref":"#/components/parameters/WebhookId"},{"$ref":"#/components/parameters/WebhookTimestamp"},{"$ref":"#/components/parameters/WebhookSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Webhook"},{"type":"object","properties":{"tipo":{"const":"gestion.tarjeta.movida"},"datos":{"type":"object","properties":{"tarjeta_id":{"type":"string","minLength":1,"maxLength":100},"tablero_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"titulo":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"de":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"a":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]}},"required":["tarjeta_id","tablero_id","titulo","de","a"],"additionalProperties":false}}}]}}}},"responses":{"2XX":{"description":"Recibido. Cualquier otra respuesta, o ninguna en 10 segundos, cuenta como falla y se reintenta."}}}},"gestion.proveedor.creado":{"post":{"operationId":"webhook_gestion_proveedor_creado","summary":"Proveedor creado. Cuando se da de alta un proveedor. Sus datos se piden por la API.","tags":["Webhooks"],"security":[],"parameters":[{"$ref":"#/components/parameters/WebhookId"},{"$ref":"#/components/parameters/WebhookTimestamp"},{"$ref":"#/components/parameters/WebhookSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Webhook"},{"type":"object","properties":{"tipo":{"const":"gestion.proveedor.creado"},"datos":{"type":"object","properties":{"proveedor_id":{"type":"string","minLength":1,"maxLength":100}},"required":["proveedor_id"],"additionalProperties":false}}}]}}}},"responses":{"2XX":{"description":"Recibido. Cualquier otra respuesta, o ninguna en 10 segundos, cuenta como falla y se reintenta."}}}},"alquileres.pago.registrado":{"post":{"operationId":"webhook_alquileres_pago_registrado","summary":"Pago de alquiler registrado. Cuando se registra un cobro de un contrato, con su recibo.","tags":["Webhooks"],"security":[],"parameters":[{"$ref":"#/components/parameters/WebhookId"},{"$ref":"#/components/parameters/WebhookTimestamp"},{"$ref":"#/components/parameters/WebhookSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Webhook"},{"type":"object","properties":{"tipo":{"const":"alquileres.pago.registrado"},"datos":{"type":"object","properties":{"pago_id":{"type":"string","minLength":1,"maxLength":100},"recibo":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"monto":{"type":["number","null"]},"moneda":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"contrato":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]}},"required":["pago_id","recibo","monto","moneda","contrato"],"additionalProperties":false}}}]}}}},"responses":{"2XX":{"description":"Recibido. Cualquier otra respuesta, o ninguna en 10 segundos, cuenta como falla y se reintenta."}}}},"alquileres.mensualidad.generada":{"post":{"operationId":"webhook_alquileres_mensualidad_generada","summary":"Mensualidad generada. Cuando se genera la mensualidad de un contrato para un período.","tags":["Webhooks"],"security":[],"parameters":[{"$ref":"#/components/parameters/WebhookId"},{"$ref":"#/components/parameters/WebhookTimestamp"},{"$ref":"#/components/parameters/WebhookSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Webhook"},{"type":"object","properties":{"tipo":{"const":"alquileres.mensualidad.generada"},"datos":{"type":"object","properties":{"mensualidad_id":{"type":"string","minLength":1,"maxLength":100},"contrato":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"periodo":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]}},"required":["mensualidad_id","contrato","periodo"],"additionalProperties":false}}}]}}}},"responses":{"2XX":{"description":"Recibido. Cualquier otra respuesta, o ninguna en 10 segundos, cuenta como falla y se reintenta."}}}},"webhook.prueba":{"post":{"operationId":"webhook_webhook_prueba","summary":"Prueba. Lo manda el botón Probar de un destino: no trae nada de la cuenta.","tags":["Webhooks"],"security":[],"parameters":[{"$ref":"#/components/parameters/WebhookId"},{"$ref":"#/components/parameters/WebhookTimestamp"},{"$ref":"#/components/parameters/WebhookSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Webhook"},{"type":"object","properties":{"tipo":{"const":"webhook.prueba"},"datos":{"type":"object","properties":{"mensaje":{"type":"string"},"destino":{"type":"string","maxLength":60}},"required":["mensaje","destino"],"additionalProperties":false}}}]}}}},"responses":{"2XX":{"description":"Recibido. Cualquier otra respuesta, o ninguna en 10 segundos, cuenta como falla y se reintenta."}}}}},"components":{"securitySchemes":{"token":{"type":"http","scheme":"bearer","description":"Un token kpt_ de Administración > API y MCP"}},"parameters":{"IdempotencyKey":{"name":"Idempotency-Key","in":"header","required":false,"description":"Una clave única por operación, de hasta 200 caracteres. Se recuerda 24 horas por token.","schema":{"type":"string","minLength":1,"maxLength":200}},"WebhookId":{"name":"webhook-id","in":"header","required":true,"description":"El id del evento: el mismo en todos los reintentos","schema":{"type":"string"}},"WebhookTimestamp":{"name":"webhook-timestamp","in":"header","required":true,"description":"Cuándo se mandó, en segundos","schema":{"type":"string"}},"WebhookSignature":{"name":"webhook-signature","in":"header","required":true,"description":"v1, y el HMAC-SHA256 en base64 de \"id.timestamp.cuerpo\" con el secreto del destino","schema":{"type":"string"}}},"headers":{"RateLimitLimit":{"description":"Los pedidos por minuto del tope más ajustado: el del token o el de la cuenta","schema":{"type":"integer"}},"RateLimitRemaining":{"description":"Los que quedan en esta ventana","schema":{"type":"integer"}},"RateLimitReset":{"description":"En cuántos segundos vuelve a haber lugar","schema":{"type":"integer"}},"RetryAfter":{"description":"Cuántos segundos esperar antes de reintentar","schema":{"type":"integer"}},"Pedido":{"description":"El identificador del pedido: mandalo cuando pidas ayuda","schema":{"type":"string","pattern":"^ped_[0-9a-f]{32}$"}},"Repetido":{"description":"true cuando la respuesta es la guardada de un pedido anterior con la misma Idempotency-Key","schema":{"type":"string","enum":["true"]}}},"schemas":{"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["codigo","mensaje","pedido"],"properties":{"codigo":{"type":"string","description":"Estable: sirve para decidir qué hacer"},"mensaje":{"type":"string","description":"Para una persona; puede cambiar"},"pedido":{"type":"string"},"detalles":{"type":"array","description":"Qué campo de la entrada está mal","items":{"type":"object","required":["campo","mensaje"],"properties":{"campo":{"type":"string"},"mensaje":{"type":"string"}}}}}}}},"Paginacion":{"type":"object","required":["siguiente","total"],"properties":{"siguiente":{"type":["string","null"],"description":"El cursor de la página que sigue; null en la última"},"total":{"type":"integer","description":"Cuántos hay con estos filtros"}}},"Listado":{"type":"object","required":["datos","paginacion"],"description":"Hasta 100 por página; 25 si no se pide otra cosa. Algunos listados suman contadores","properties":{"datos":{"type":"array","items":{"type":"object"}},"paginacion":{"$ref":"#/components/schemas/Paginacion"}}},"Webhook":{"type":"object","required":["id","tipo","version","creado","datos"],"properties":{"id":{"type":"string"},"tipo":{"type":"string"},"version":{"type":"integer"},"creado":{"type":"string","format":"date-time"},"datos":{"type":"object"}}}}}}