Repasos · API PÚBLICA V1

Actualizar un repaso

Actualiza los campos editables sin cambiar proyecto, código ni estado.

Conectar con un entornoSin token

La petición sale de tu navegador hacia el entorno indicado. La API key y el token permanecen en la memoria de esta página.

Introduce las credenciales del entorno que quieras probar.
PUT/api/public/v1/snag-points/{id}
snag-points:write

Parámetros

id

Repaso.

Body de entrada

PublicSnagPointUpdate

Actualizar repaso

Campos editables. No permite cambiar proyecto, código ni estado.

PropiedadTipoDescripción
titleobligatoriostringTítulo del repaso.
descriptionstring | nullDescripción editable.
situationIduuid | nullUbicación del proyecto.
categoryIduuid | nullCategoría.
responsibleCompanyIduuid | nullEmpresa responsable.
prioritystring | nullPrioridad.
resolutionCostnumber | nullCoste de resolución.
Ejemplo JSON
{
  "title": "Humedad en el portal",
  "description": "Revisada por mantenimiento",
  "priority": "medium"
}

Respuesta

200Repaso actualizado.

PublicSnagPoint

Repaso

Ficha pública con contadores; las colecciones se consultan por separado.

PropiedadTipoDescripción
idobligatoriouuidIdentificador estable.
codeobligatoriointegerCódigo generado en el proyecto.
projectIdobligatoriouuidProyecto.
titleobligatoriostringTítulo.
descriptionstring | nullDescripción.
stateobligatoriostringEstado.
prioritystring | nullPrioridad.
photoCountobligatoriointegerNúmero de fotos.
commentCountobligatoriointegerNúmero de comentarios.
stateHistoryCountobligatoriointegerNúmero de estados.
createdAtobligatoriodate-timeCreación.
modifiedAtobligatoriodate-timeÚltimo cambio del repaso o de sus colecciones.
Ejemplo JSON
{
  "id": "cbefdbb8-acde-49f9-8cc5-390024315c2b",
  "code": 42,
  "projectId": "0d3fa80a-d8aa-4a95-84b7-8f6a157005ea",
  "projectCode": "OBR-2026-0042",
  "projectName": "Reforma Gran Vía",
  "title": "Humedad en el portal",
  "description": "Aparece después de llover",
  "state": "pending",
  "priority": "high",
  "photoCount": 2,
  "commentCount": 1,
  "stateHistoryCount": 1,
  "createdAt": "2026-10-10T12:00:00",
  "modifiedAt": "2026-10-10T12:00:00"
}
Ejemplo de respuesta
{
  "id": "cbefdbb8-acde-49f9-8cc5-390024315c2b",
  "code": 42,
  "projectId": "0d3fa80a-d8aa-4a95-84b7-8f6a157005ea",
  "projectCode": "OBR-2026-0042",
  "projectName": "Reforma Gran Vía",
  "title": "Humedad en el portal",
  "description": "Aparece después de llover",
  "state": "pending",
  "priority": "high",
  "photoCount": 2,
  "commentCount": 1,
  "stateHistoryCount": 1,
  "createdAt": "2026-10-10T12:00:00",
  "modifiedAt": "2026-10-10T12:00:00"
}

Errores

400Solicitud incorrectaapplication/json
401Autenticación inválida o no proporcionadaapplication/json
403Permisos insuficientesapplication/json
404Recurso no encontradoapplication/json
409Conflicto con el estado actualapplication/json
410Recurso ya no disponibleapplication/json
422Error de validaciónapplication/json
429Límite de solicitudes excedidoapplication/json
Ver modelo de error

PublicApiError

Error de API

Formato estable de los errores públicos.

PropiedadTipoDescripción
statusobligatoriointegerCódigo HTTP.
codeobligatoriostringCódigo estable para tratamiento automático.
messageobligatoriostringMensaje legible.
correlationIdobligatoriostringIdentificador para soporte y trazabilidad.
currentConcurrencyTokenstring | nullToken actual cuando existe un conflicto.
validationErrorsobject<string,string[]>Errores agrupados por campo.
Ejemplo JSON
{
  "status": 422,
  "code": "validation_error",
  "message": "The request is invalid.",
  "correlationId": "01J9EXAMPLE",
  "validationErrors": {
    "unitCode": [
      "The unit does not exist."
    ]
  }
}
Probar endpointPetición directa desde el navegador

JSON resultante

{}

Petición

RespuestaSin ejecutar
Configura la conexión y ejecuta la petición.