Contents
On this page
Complete Meeting - Plugixa CRM
POST /plugixa-crm/v1/meetings/{id}/complete
Mark a meeting as completed: status becomes completed and completed_at is stamped with the current time.
Any user with access to Plugixa CRM. With Plugixa CRM Pro roles, the user’s role must also allow editing this meeting.
Note. Completing an already completed meeting stamps
completed_atagain. This is the only way to setcompleted_at: sendingstatus: completedto the update endpoint does not.
Request
POST https://your-site.example/wp-json/plugixa-crm/v1/meetings/40/complete
Path parameters
| Name | Type | Description |
|---|---|---|
id |
integer |
The meeting’s id |
Responses
200 OK. data is the completed meeting.
{
"success": true,
"data": {
"id": 40,
"name": "Quarterly review",
"status": "completed",
"location": "Seattle office",
"description": "",
"date_start": "2026-11-20 10:00:00",
"date_end": "2026-11-20 11:00:00",
"is_all_day": 0,
"color": "blue",
"parent_type": "account",
"parent_id": 12,
"account_id": 12,
"assigned_user_id": 3,
"completed_at": "2026-11-12 10:15:00",
"created_by": "1",
"modified_by": "1",
"created_at": "2026-11-12 09:30:00",
"modified_at": "2026-11-12 10:15:00",
"deleted_at": null,
"parent_name": "Northwind Traders",
"assigned_user_name": "Jordan Lee",
"participants": [
{
"id": 15,
"meeting_id": 40,
"participant_type": "contact",
"participant_id": 31,
"acceptance": "none",
"is_organizer": 0,
"created_at": "2026-11-12 09:30:00",
"participant_name": "Maria Anders"
},
{
"id": 16,
"meeting_id": 40,
"participant_type": "user",
"participant_id": 3,
"acceptance": "none",
"is_organizer": 0,
"created_at": "2026-11-12 09:30:00",
"participant_name": "Jordan Lee"
}
],
"reminders": [
{
"id": 9,
"seconds_before": 3600,
"sent": 0
}
]
}
}
| Field | Type | Meaning |
|---|---|---|
data.id |
integer |
The meeting’s id |
data.status |
string |
planned, completed or canceled |
data.location |
string|null |
Where it takes place |
data.date_start |
string|null |
Site time zone |
data.date_end |
string|null |
Site time zone |
data.parent_type |
string|null |
contact, account, opportunity or lead |
data.parent_id |
integer|null |
The record the meeting hangs off |
data.account_id |
integer|null |
The account the parent rolls up to, worked out for you |
data.completed_at |
string|null |
UTC datetime it was completed |
data.parent_name |
string|null |
The parent record’s name |
data.assigned_user_name |
string|null |
The owner’s display name |
Errors
| Status | Code | When |
|---|---|---|
404 |
plugixa_crm_not_found |
No meeting with that id, or it is in the trash. |
Plus the errors every endpoint can return.
Examples
curl -s -X POST "https://your-site.example/wp-json/plugixa-crm/v1/meetings/40/complete" \
-u "admin:$WP_APP_PASSWORD"
<?php
$ch = curl_init('https://your-site.example/wp-json/plugixa-crm/v1/meetings/40/complete');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERPWD => 'admin:' . getenv('WP_APP_PASSWORD'),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
const auth = 'Basic ' + btoa(`admin:${process.env.WP_APP_PASSWORD}`);
const response = await fetch('https://your-site.example/wp-json/plugixa-crm/v1/meetings/40/complete', {
method: 'POST',
headers: {
'Authorization': auth,
},
});
const { data } = await response.json();
Quick Links
Share