Assignment Repository
API Contract
REST
/api/v1/assignments
7 endpoints
GET
/api/v1/assignments/api/v1/assignments
List all assignments
Public
Response Example
{
"data": [
{
"assignment_id": "asgn-0055",
"contact_id": "c-00123",
"assigned_to": "user-034",
"status": "active",
"assigned_at": "2025-10-01T08:00:00Z",
"updated_at": "2026-02-10T10:00:00Z"
},
{
"assignment_id": "asgn-0048",
"contact_id": "c-00109",
"assigned_to": "user-077",
"status": "completed",
"assigned_at": "2025-08-12T09:00:00Z",
"updated_at": "2026-01-18T14:30:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 83
}
}
GET
/api/v1/assignments/api/v1/assignments/:id
Get assignment by ID
Public
Response Example
{
"assignment_id": "asgn-0055",
"contact_id": "c-00123",
"assigned_to": "user-034",
"status": "active",
"notes": "Priority outreach — chapter onboarding",
"assigned_at": "2025-10-01T08:00:00Z",
"updated_at": "2026-02-10T10:00:00Z"
}
POST
/api/v1/assignments/api/v1/assignments
Create a new assignment
Public
Request Example
{
"contact_id": "c-00201",
"assigned_to": "user-055",
"status": "active",
"notes": "New member — initial contact required"
}
Response Example
{
"assignment_id": "asgn-0102",
"contact_id": "c-00201",
"assigned_to": "user-055",
"status": "active",
"notes": "New member — initial contact required",
"assigned_at": "2026-03-26T11:30:00Z",
"updated_at": "2026-03-26T11:30:00Z"
}
PUT
/api/v1/assignments/api/v1/assignments/:id
Update assignment status (updateAssignmentStatus)
Public
Request Example
{
"status": "completed",
"notes": "Onboarding successfully completed"
}
Response Example
{
"assignment_id": "asgn-0055",
"contact_id": "c-00123",
"assigned_to": "user-034",
"status": "completed",
"notes": "Onboarding successfully completed",
"updated_at": "2026-03-26T12:40:00Z"
}
DELETE
/api/v1/assignments/api/v1/assignments/:id
Delete an assignment
Public
Response Example
{
"assignment_id": "asgn-0102",
"deleted": true,
"deleted_at": "2026-03-26T13:05:00Z"
}
GET
/api/v1/assignments/api/v1/assignments/contact/:contactId
Get assignment for a contact (getAssignmentByContactId)
Public
Response Example
{
"assignment_id": "asgn-0055",
"contact_id": "c-00123",
"assigned_to": "user-034",
"status": "active",
"notes": "Priority outreach — chapter onboarding",
"assigned_at": "2025-10-01T08:00:00Z",
"updated_at": "2026-02-10T10:00:00Z"
}
GET
/api/v1/assignments/api/v1/assignments/contact/:contactId/history
Get assignment history for a contact (getAssignmentHistory)
Public
Response Example
{
"data": [
{
"history_id": "ah-0301",
"assignment_id": "asgn-0055",
"contact_id": "c-00123",
"assigned_to": "user-034",
"status": "active",
"changed_at": "2025-10-01T08:00:00Z",
"changed_by": "user-001"
},
{
"history_id": "ah-0288",
"assignment_id": "asgn-0031",
"contact_id": "c-00123",
"assigned_to": "user-019",
"status": "completed",
"changed_at": "2025-07-15T10:30:00Z",
"changed_by": "user-001"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 4
}
}