Leer proyecto
Devuelve un proyecto con sus asignaciones en modo lectura. Opcionalmente puede incluir la matriz mensual de horas asignadas por recurso.
GET /api/v1/projects/:id
Path parameters
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
id |
integer | Sí | ID del proyecto en Kordia. |
Query parameters
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
include |
string | No |
Usa monthly_hours para incluir la matriz mensual de horas asignadas. |
curl "https://app.example.com/api/v1/projects/10?include=monthly_hours" \
-H "Authorization: Bearer $KORDIA_API_KEY" \
-H "Accept: application/json"const response = await fetch(
"https://app.example.com/api/v1/projects/10?include=monthly_hours",
{ headers: { Authorization: `Bearer ${process.env.KORDIA_API_KEY}` } }
)
const project = (await response.json()).dataimport os
import requests
response = requests.get(
"https://app.example.com/api/v1/projects/10?include=monthly_hours",
headers={"Authorization": f"Bearer {os.environ['KORDIA_API_KEY']}"},
)
project = response.json()["data"]Req.get!(
"https://app.example.com/api/v1/projects/10?include=monthly_hours",
headers: [authorization: "Bearer #{System.fetch_env!("KORDIA_API_KEY")}"]
).body["data"]Respuesta
{
"data": {
"id": 10,
"external_id": "third-party-project-123",
"title": "Proyecto Atlas",
"start_date": "2026-06-01",
"end_date": "2026-09-30",
"budgeted_hours": 320,
"budgeted_cost": "16000.00",
"status": "active",
"tags": [],
"assignments": [
{
"id": 42,
"project_id": 10,
"project_title": "Proyecto Atlas",
"resource_id": 7,
"resource_name": "Ana García",
"start_date": "2026-06-01",
"end_date": "2026-06-30",
"daily_hours": 4.0,
"cost_per_hour": "50.00",
"cost_source": "contract_default"
}
],
"monthly_hours": {
"months": ["2026-06", "2026-07", "2026-08", "2026-09"],
"resources": [
{
"resource_id": 7,
"resource_name": "Ana García",
"months": {
"2026-06": 78.9,
"2026-07": 80,
"2026-08": 0,
"2026-09": 0
},
"total_hours": 158.9
}
],
"totals": {
"2026-06": 78.9,
"2026-07": 80,
"2026-08": 0,
"2026-09": 0
},
"grand_total": 158.9
}
}
}
Notas sobre asignaciones
Las asignaciones se devuelven para sincronización externa, reporting o lectura operativa. No se pueden modificar por API.
Notas sobre horas mensuales
monthly_hours usa el mismo cálculo que la pantalla de asignaciones de Kordia: divide cada asignación por mes y aplica el convenio anual del contrato del recurso. Si no se pide include=monthly_hours, la respuesta no incluye esta matriz.