Vexar API

Team

Invite operators, assign them to sites and set per-site permissions. The number of operators is plan-limited. Most endpoints require authentication; invite validation/acceptance is public.

GET /api/v1/team Auth

List all your operators across sites.

Response
{ "success": true, "operators": [ … ] }
POST /api/v1/team Auth

Invite/create an operator. Assign one or more site_ids and permissions.

Request body
{
  "email": "[email protected]",
  "name": "Operator",
  "password": "min 8 chars",
  "site_ids": [1, 2],
  "permissions": { "can_chat": true, "can_view_conversations": true },
  "send_invite": true
}
Response
{ "success": true }
GET /api/v1/sites/{id}/team Auth

List operators on a site.

Response
{ "success": true, "operators": [ … ], "owner_online": true }
GET /api/v1/sites/{id}/my-access Auth

Your own permissions on a site.

Response
{ "success": true, "permissions": { … } }
PUT /api/v1/team/{id} Auth

Update an operator (permissions, status, name, site_ids).

Request body
{ "permissions": { "can_chat": true }, "status": "active" }
Response
{ "success": true }
DELETE /api/v1/team/{id} Auth

Remove an operator.

Response
{ "success": true, "deleted": 1 }
POST /api/v1/team/{id}/resend-invite Auth

Resend the invitation email.

Response
{ "success": true }
GET /api/v1/team/validate-invite Public

Validate an invite token.

ParamTypeInDescription
tokenstringquery
Response
{ "success": true, "valid": true }
POST /api/v1/team/accept-invite Public

Accept an invite and set a password.

Request body
{ "token": "…", "password": "min 8 chars", "name": "Operator" }
Response
{ "success": true }