Partes de trabajo · API PÚBLICA V1

Listar partes

Lista partes mediante cursor, todos los filtros del mantenimiento y ordenación determinista. Los costes se omiten sin daily-reports:costs:read.

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.
GET/api/public/v1/daily-reports
daily-reports:read

Parámetros

limit

Número máximo de elementos por página. Por defecto 50, máximo 200.

cursor

Cursor opaco para continuar desde la respuesta anterior.

modifiedSince

Incluye registros creados o modificados después de esta fecha, interpretada en el timezone del tenant.

sort

Ordenación.

date-datenumber-numbercreatedAt-createdAtmodifiedAt-modifiedAt
from

Fecha inicial.

to

Fecha final.

projectId

Proyecto.

clientId

Cliente.

employeeId

EmployeeId GUID.

purchaseId

Compra.

workType

Tipo de trabajo.

byMeasurementbyAdministration
state

Estado.

pendingvalidatedrejected
numberingLineId

Serie.

number

Número exacto.

operatingCost

Gasto de explotación.

hourTypeIds

Identificadores de tipos de hora.

Respuesta

200Página de partes.

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
{
  "items": [
    {
      "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"
    }
  ],
  "nextCursor": "eyJ2ZXJzaW9uIjoxLCJvZmZzZXQiOjUwfQ",
  "hasMore": true
}

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

Petición

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