Assignments
Upsert user assignments
POST /assignments
Authorization
bearerAuth AuthorizationBearer <token>
In: header
Query Parameters
expand?string
Comma-separated expansions (user, project, capability). Defaults to project,capability.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://loading/api/v1/assignments" \ -H "Content-Type: application/json" \ -d '{ "items": [ { "userId": "019cb675-c4df-7f8b-8a83-5f28581f5e7e", "projectId": "019cb675-c4d6-7e90-8806-25e5145c3a06", "capabilityId": null, "date": "2026-01-06", "hours": 8 } ] }'{
"data": [
{
"id": "019cb675-c4df-7f8b-8a83-5f28581f5e7e",
"userId": "019cb675-c4df-7f8b-8a83-5f28581f5e7e",
"projectId": "019cb675-c4d6-7e90-8806-25e5145c3a06",
"capabilityId": null,
"date": "2026-01-06",
"hours": 8,
"project": {
"id": "019cb675-c4d6-7e90-8806-25e5145c3a06",
"name": "CRM Sync",
"status": "active"
},
"capability": null
}
],
"warnings": [
{
"code": "time_off_overlap",
"message": "User Juan Méndez has approved time off 2026-05-10 → 2026-07-03 overlapping this assignment on 2026-05-24",
"details": {
"userId": "019cb675-c4df-7f8b-8a83-5f28581f5e7e",
"timeOffRequestId": "019cb675-c4df-7f8b-8a83-5f28581f5e7f",
"itemIndex": 0,
"date": "2026-05-24"
}
}
]
}Empty
Empty
Empty
Empty