CRM APIs
People, contacts, and progression management
CRM APIs
Endpoints for managing people profiles, contacts, and progression tracking.
Base URL: https://ycwadelaide.adenmgb.com
Authentication: All endpoints require Authorization: Bearer <token> header.
People API
GET /api/staff/people
Retrieve all people/team members (both published and draft).
Response:
Notes:
- Results ordered by
displayOrderASC, thenidASC imageUrlandbriefMessageare optionaldisplayOrdercontrols the order they appear on the website
POST /api/staff/people
Create a new person/team member.
Request Body:
Required Fields:
name- Person's namerole- Their role/position
PUT /api/staff/people/:id
Update an existing person.
Request Body: (All fields optional)
Notes:
- Partial updates supported
displayOrdercan be updated to reorder team members
DELETE /api/staff/people/:id
Delete a person/team member.
Notes:
- This action cannot be undone
- Consider implementing a confirmation dialog
Contacts API
GET /api/staff/contacts
Retrieve all contacts in the CRM system.
Response:
Query Parameters:
status(optional) - Filter by statusprogressionStage(optional) - Filter by progression stagetag(optional) - Filter by tag
Notes:
- Results ordered by
createdAtDESC statuscan be:"Contact","Member","Event Attendee","Prospect","Inactive"- Includes current progression stage
POST /api/staff/contacts
Create a new contact.
Request Body:
Required Fields:
name- Contact name
Notes:
email,phone,status,tags,notesare optional- Default
statusis"Event Attendee"
GET /api/staff/contacts/:id
Get a single contact with full details including progression timeline.
Response:
Notes:
- Includes progression timeline
- Includes email history
- Includes pending follow-ups
PUT /api/staff/contacts/:id
Update an existing contact.
Request Body: (All fields optional)
DELETE /api/staff/contacts/:id
Delete a contact.
Warning: This also deletes all progression entries and history.
Progression Stages API
GET /api/staff/progression-stages
Retrieve all progression stages.
Response:
Notes:
- Results ordered by
orderASC - Stages define the progression workflow
POST /api/staff/progression-stages
Create a new progression stage.
Request Body:
PUT /api/staff/progression-stages/:id
Update an existing progression stage.
DELETE /api/staff/progression-stages/:id
Delete a progression stage.
Contact Progression API
POST /api/staff/contacts/:id/progression
Add a progression entry to a contact.
Request Body:
Required Fields:
stageId- Progression stage ID
Notes:
- Creates a timeline entry
- Updates contact's current progression stage
interactionTypeis optional
GET /api/staff/contacts/:id/progression
Get all progression entries for a contact.
Response:
Follow-up Rules API
GET /api/staff/follow-up-rules
Retrieve all follow-up automation rules.
Response:
Notes:
- Rules automatically create follow-up reminders
- Triggered when contacts reach certain stages
POST /api/staff/follow-up-rules
Create a new follow-up rule.
Request Body:
Notes:
triggerStageId- Stage that triggers the follow-updaysAfter- Number of days after reaching the stagecatchupType- Type of follow-up interactionemailTemplateId- Optional email template to send
Follow-up Dashboard API
GET /api/staff/follow-up-dashboard
Get pending and overdue follow-ups.
Response:
Notes:
- Shows follow-ups that need attention
- Organized by status (pending, overdue, completed)
Bulk Import API
POST /api/staff/contacts/bulk-import
Import multiple contacts from CSV.
Headers:
Request Body (FormData):
CSV Format:
Success Response:
Notes:
- CSV should have header row
- Required column:
name - Optional columns:
email,phone,status,tags - Duplicate emails are skipped
Related Guides
- Content APIs - Content management
- Email APIs - Email management