PATCH /api/v1/questions/{questionId}
Assigns the question to another OWNER or coach of the school. The assigned
coach is the one under whose name the answer is published. Allowed whatever the
status; it changes nothing on an answer already published. Only
assigneeUserId is read.
| Role in the organization | This endpoint |
|---|---|
OWNER | Allowed |
ADMIN | Allowed |
MEMBER | Allowed for an assigned coach, whatever the scope; otherwise refused — 403 |
| Requirement | Rule for this endpoint |
|---|---|
| Business role | coach (any scope) for a MEMBER; a reviewer is refused |
| Resource scope | A question of the key's organization |
| Participation | None |
| Resource state | Any status |
| Parameter | Type | Required | Description |
|---|---|---|---|
questionId | UUID | yes | Question identifier |
| Header | Required | Description |
|---|---|---|
x-api-key | yes | API key created for this organization |
Idempotency-Key | yes | Stable key for this assignment; a replay returns the first result |
X-Correlation-Id | no | Caller correlation id, returned or generated |
| Field | Type | Required | Nullable | Description |
|---|---|---|---|---|
assigneeUserId | UUID | yes | no | An OWNER of the school, or the holder of a coach assignment |
{"assigneeUserId": "2b3c4d5e-6f7a-4b8c-9d0e-1f2a3b4c5d6e"}curl -X PATCH "$COHORTE_API_BASE_URL/api/v1/questions/8c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f" \
-H "x-api-key: $COHORTE_API_KEY" \
-H "Idempotency-Key: assign-validation-001" \
-H "Content-Type: application/json" \
-d '{"assigneeUserId":"2b3c4d5e-6f7a-4b8c-9d0e-1f2a3b4c5d6e"}'200 OK — the question; replayed: true when it was already assigned to this person or the key was already used.400 Bad Request — missing Idempotency-Key, invalid JSON, or the person is neither an OWNER nor a coach of the school (an ADMIN who is not a coach cannot be assigned).401 Unauthorized — missing, unknown or expired key.403 Forbidden — the bearer is neither OWNER, ADMIN nor an assigned coach.404 Not Found — no such question in this organization.The fields of one item of List received questions.
{
"success": true,
"replayed": false,
"data": {
"id": "8c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
"programId": "3a1f7c2e-5b6d-4e8f-9a0b-1c2d3e4f5a6b",
"programName": "Agentic AI Developer",
"title": "Where should validation live?",
"body": "I hesitate between the server action and the service.",
"status": "to_do",
"authorUserId": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
"authorName": "Léa Vasseur",
"assigneeUserId": "2b3c4d5e-6f7a-4b8c-9d0e-1f2a3b4c5d6e",
"assigneeName": "Alice Moreau",
"answer": null,
"cancellation": null,
"createdAt": "2026-10-18T10:00:00.000Z",
"updatedAt": "2026-10-18T10:30:00.000Z"
},
"correlationId": "c0ffee00-1111-4222-8333-444455556666"
}video_question.assigned event. No notification is sent to the coach.