GET
daily-reports:read/api/public/v1/daily-reports/{id}Parámetros
idIdentificador del parte.
Respuesta
200Parte encontrado.
PublicDailyReport
Parte de trabajo
Ficha completa con campos personalizados e historial. costPerHour y totalCost solo aparecen con daily-reports:costs:read o all:read.
PropiedadTipoDescripción
idobligatoriouuidIdentificador del parte.numberstring | nullNúmero aplicado.dateobligatoriodate-time localFecha del parte.employeeIdobligatoriouuidGUID público del empleado.projectIdobligatoriouuidProyecto.timeInHoursobligatorionumberHoras.hourTypeIduuid | nullIdentificador del tipo de hora. Puede ser nulo en partes heredados.hourTypeSystemIdinteger | nullIdentificador opcional de un tipo predeterminado.workTypeobligatoriobyMeasurement | byAdministrationTipo de trabajo.stateobligatoriopending | validated | rejectedEstado actual.customFieldsobligatoriocustom field[]Valores personalizados.historyobligatoriohistory item[]Historial cronológico de estados.costPerHournumberCoste protegido por scope.totalCostnumberCoste total protegido por scope.createdAtobligatoriodate-timeCreación.modifiedAtobligatoriodate-timeÚltima modificación.Ejemplo JSON
{
"id": "29061c20-371c-4471-8648-c7332d57ed45",
"number": "PT-2026-0042",
"date": "2026-10-16T08:00:00",
"employeeId": "a5fc8a9c-66da-429d-9bed-5280a4185348",
"projectId": "0d3fa80a-d8aa-4a95-84b7-8f6a157005ea",
"timeInHours": 8,
"hourTypeId": "d886784c-c76f-4c76-9726-cf2f842c8c17",
"hourTypeSystemId": 1,
"workType": "byAdministration",
"state": "pending",
"customFields": [],
"history": [
{
"createdAt": "2026-10-10T12:00:00",
"state": "pending"
}
],
"createdAt": "2026-10-10T12:00:00",
"modifiedAt": "2026-10-10T12:00:00"
}Ejemplo de respuesta
{
"id": "29061c20-371c-4471-8648-c7332d57ed45",
"number": "PT-2026-0042",
"date": "2026-10-16T08:00:00",
"employeeId": "a5fc8a9c-66da-429d-9bed-5280a4185348",
"projectId": "0d3fa80a-d8aa-4a95-84b7-8f6a157005ea",
"timeInHours": 8,
"hourTypeId": "d886784c-c76f-4c76-9726-cf2f842c8c17",
"hourTypeSystemId": 1,
"workType": "byAdministration",
"state": "pending",
"customFields": [],
"history": [
{
"createdAt": "2026-10-10T12:00:00",
"state": "pending"
}
],
"createdAt": "2026-10-10T12:00:00",
"modifiedAt": "2026-10-10T12:00:00"
}Errores
400Solicitud incorrectaapplication/json401Autenticación inválida o no proporcionadaapplication/json403Permisos insuficientesapplication/json404Recurso no encontradoapplication/json409Conflicto con el estado actualapplication/json410Recurso ya no disponibleapplication/json422Error de validaciónapplication/json429Límite de solicitudes excedidoapplication/jsonVer 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."
]
}
}