> For the complete documentation index, see [llms.txt](https://docs.vcheckglobal.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.vcheckglobal.com/api-reference/monitoring/monitoring-group-participants.md).

# Monitoring Group Participants

Manage group participants - list, add, and remove participants, view group change logs, and list account emails.

## List Group Participants

> Returns all non-deleted participants for the specified monitoring group.\
> \
> \### Response fields\
> \
> \| Field | Type | Description |\
> \|-------|------|-------------|\
> \| \`id\` | integer | Participant identifier |\
> \| \`email\` | string | Email address |\
> \| \`name\` | string / null | Full name (null for email-only participants) |\
> \| \`user\_type\` | string / null | Internal, External, or null |\
> \| \`participant\_type\` | string | e.g. 'Email Only', 'Participant', 'Requester' |<br>

```json
{"openapi":"3.1.0","info":{"title":"Vcheck Global API","version":"5.4.0"},"tags":[{"name":"Monitoring Group Participants","description":"Manage group participants - list, add, and remove participants, view group change logs, and list account emails."}],"servers":[{"url":"https://api-platform.vcheckglobal.net/v2","description":"Vcheck platform (sandbox host issued first; production host after sign-off)"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Obtain a token via POST https://api-platform.vcheckglobal.net/v2/oauth2/token.\nInclude in all subsequent requests as `Authorization: Bearer <token>`.\nTokens expire after 3,600 seconds - cache and reuse; request a new one only when close to expiry.\n"}}},"paths":{"/monitoring/groups/{group_id}/participants":{"get":{"tags":["Monitoring Group Participants"],"operationId":"listGroupParticipants","summary":"List Group Participants","description":"Returns all non-deleted participants for the specified monitoring group.\n\n### Response fields\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `id` | integer | Participant identifier |\n| `email` | string | Email address |\n| `name` | string / null | Full name (null for email-only participants) |\n| `user_type` | string / null | Internal, External, or null |\n| `participant_type` | string | e.g. 'Email Only', 'Participant', 'Requester' |\n","parameters":[{"name":"group_id","in":"path","required":true,"description":"Unique monitoring group identifier.","schema":{"type":"integer"}}],"responses":{"200":{"description":"Participants retrieved successfully.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"description":"Participant identifier.","type":"integer"},"email":{"description":"Email address of the participant.","type":"string"},"name":{"description":"Full name. null for email-only participants.","type":["string","null"]},"user_type":{"description":"User type - Internal, External, or null for email-only.","type":["string","null"]},"participant_type":{"description":"Participant type (e.g. 'Email Only', 'Participant', 'Requester').","type":"string"}}}}}}},"403":{"description":"Forbidden - missing or invalid Client-ID credentials, insufficient scope, endpoint disabled via feature flag, or authenticated client has no linked account. Verify the scopes assigned to your credentials.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Authorization or access error message.","type":"string","default":"This endpoint is currently disabled."}}}}}},"404":{"description":"Not found - group does not exist or does not belong to the authenticated account.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Resource not found message.","type":"string","default":"Group not found."}}}}}},"500":{"description":"Internal server error - an unexpected error occurred. Please try again later or contact support if the issue persists.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Internal server error message.","type":"string","default":"An unexpected error occurred while processing the request."}}}}}}}}}}}
```

## Add Participants

> Adds one or more participants to the specified monitoring group by email.\
> \
> Duplicate emails are silently skipped. The requestor and portal system email cannot be added as participants.\
> \
> \### Request body\
> \
> \| Field | Type | Required | Description |\
> \|-------|------|----------|-------------|\
> \| \`email\_list\` | array\[string] | Yes | List of email addresses to add |\
> \
> \### Example Request\
> \
> \`\`\`json\
> {\
> &#x20; "email\_list": \["<user1@example.com>", "<user2@example.com>"]\
> }\
> \`\`\`<br>

````json
{"openapi":"3.1.0","info":{"title":"Vcheck Global API","version":"5.4.0"},"tags":[{"name":"Monitoring Group Participants","description":"Manage group participants - list, add, and remove participants, view group change logs, and list account emails."}],"servers":[{"url":"https://api-platform.vcheckglobal.net/v2","description":"Vcheck platform (sandbox host issued first; production host after sign-off)"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Obtain a token via POST https://api-platform.vcheckglobal.net/v2/oauth2/token.\nInclude in all subsequent requests as `Authorization: Bearer <token>`.\nTokens expire after 3,600 seconds - cache and reuse; request a new one only when close to expiry.\n"}}},"paths":{"/monitoring/groups/{group_id}/participants":{"post":{"tags":["Monitoring Group Participants"],"operationId":"addGroupParticipants","summary":"Add Participants","description":"Adds one or more participants to the specified monitoring group by email.\n\nDuplicate emails are silently skipped. The requestor and portal system email cannot be added as participants.\n\n### Request body\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `email_list` | array[string] | Yes | List of email addresses to add |\n\n### Example Request\n\n```json\n{\n  \"email_list\": [\"user1@example.com\", \"user2@example.com\"]\n}\n```\n","parameters":[{"name":"group_id","in":"path","required":true,"description":"Unique monitoring group identifier.","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"required":["email_list"],"type":"object","properties":{"email_list":{"description":"List of email addresses to add as participants.","type":"array","items":{"type":"string","format":"email"}}}}}}},"responses":{"201":{"description":"Participants added successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}}}}},"400":{"description":"Bad request - validation error or deletion forbidden.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Error message.","type":"string"}}}}}},"403":{"description":"Forbidden - missing or invalid Client-ID credentials, insufficient scope, endpoint disabled via feature flag, or authenticated client has no linked account. Verify the scopes assigned to your credentials.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Authorization or access error message.","type":"string","default":"This endpoint is currently disabled."}}}}}},"404":{"description":"Not found - group does not exist or does not belong to the authenticated account.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Resource not found message.","type":"string","default":"Group not found."}}}}}},"500":{"description":"Internal server error - an unexpected error occurred. Please try again later or contact support if the issue persists.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Internal server error message.","type":"string","default":"An unexpected error occurred while processing the request."}}}}}}}}}}}
````

## Remove Participant

> Removes a participant from the specified monitoring group.\
> \
> Provide \*\*exactly one\*\* of \`participant\_id\` or \`email\` in the request body to identify the participant to remove. This is useful for email-only participants who may not have a known ID.\
> \
> \*\*Deletion restrictions:\*\* The following participants cannot be removed:\
> \- Primary account representative\
> \- Requester (group creator)\
> \- System participants (Vcheck Intelligence, SF\_CASE)\
> \
> \### Request body\
> \
> \| Field | Type | Required | Description |\
> \|-------|------|----------|-------------|\
> \| \`participant\_id\` | integer | Conditional | ID of the participant to remove |\
> \| \`email\` | string | Conditional | Email of the participant to remove |\
> \
> \### Example Request (by participant\_id)\
> \
> \`\`\`json\
> {\
> &#x20; "participant\_id": 123\
> }\
> \`\`\`\
> \
> \### Example Request (by email)\
> \
> \`\`\`json\
> {\
> &#x20; "email": "<user@example.com>"\
> }\
> \`\`\`<br>

````json
{"openapi":"3.1.0","info":{"title":"Vcheck Global API","version":"5.4.0"},"tags":[{"name":"Monitoring Group Participants","description":"Manage group participants - list, add, and remove participants, view group change logs, and list account emails."}],"servers":[{"url":"https://api-platform.vcheckglobal.net/v2","description":"Vcheck platform (sandbox host issued first; production host after sign-off)"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Obtain a token via POST https://api-platform.vcheckglobal.net/v2/oauth2/token.\nInclude in all subsequent requests as `Authorization: Bearer <token>`.\nTokens expire after 3,600 seconds - cache and reuse; request a new one only when close to expiry.\n"}}},"paths":{"/monitoring/groups/{group_id}/participants/remove":{"delete":{"tags":["Monitoring Group Participants"],"operationId":"removeGroupParticipant","summary":"Remove Participant","description":"Removes a participant from the specified monitoring group.\n\nProvide **exactly one** of `participant_id` or `email` in the request body to identify the participant to remove. This is useful for email-only participants who may not have a known ID.\n\n**Deletion restrictions:** The following participants cannot be removed:\n- Primary account representative\n- Requester (group creator)\n- System participants (Vcheck Intelligence, SF_CASE)\n\n### Request body\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `participant_id` | integer | Conditional | ID of the participant to remove |\n| `email` | string | Conditional | Email of the participant to remove |\n\n### Example Request (by participant_id)\n\n```json\n{\n  \"participant_id\": 123\n}\n```\n\n### Example Request (by email)\n\n```json\n{\n  \"email\": \"user@example.com\"\n}\n```\n","parameters":[{"name":"group_id","in":"path","required":true,"description":"Unique monitoring group identifier.","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"participant_id":{"description":"ID of the participant to remove. Provide this OR email, not both.","type":"integer"},"email":{"description":"Email of the participant to remove. Provide this OR participant_id, not both.","type":"string","format":"email"}}}}}},"responses":{"200":{"description":"Participant removed successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}}}}},"400":{"description":"Bad request - validation error or deletion forbidden.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Error message.","type":"string"}}}}}},"403":{"description":"Forbidden - missing or invalid Client-ID credentials, insufficient scope, endpoint disabled via feature flag, or authenticated client has no linked account. Verify the scopes assigned to your credentials.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Authorization or access error message.","type":"string","default":"This endpoint is currently disabled."}}}}}},"404":{"description":"Not found - group does not exist or does not belong to the authenticated account.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Resource not found message.","type":"string","default":"Group not found."}}}}}},"500":{"description":"Internal server error - an unexpected error occurred. Please try again later or contact support if the issue persists.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Internal server error message.","type":"string","default":"An unexpected error occurred while processing the request."}}}}}}}}}}}
````

## Group Change Log

> Returns the combined change log for a monitoring group, including both project-level changes and participant-level changes (additions, removals, type updates, group name edits).\
> \
> \*\*Pagination:\*\* Fixed 50 records per page. Pass \`?page=N\` to navigate. Stop when \`next\` is \`null\`.\
> \
> \### Response fields\
> \
> \| Field | Type | Description |\
> \|-------|------|-------------|\
> \| \`id\` | integer | History entry identifier |\
> \| \`user\` | object / null | \`{name, email}\` of the user who made the change |\
> \| \`action\` | string | Action performed (e.g. 'participant\_added', 'group\_name\_edited') |\
> \| \`participant\` | object / null | \`{id, email}\` of the affected participant |\
> \| \`details\` | object / null | Additional change details |\
> \| \`date\_created\` | string (ISO 8601) | When the change occurred |\
> \| \`history\_type\` | string | 'project' or 'participant' |<br>

```json
{"openapi":"3.1.0","info":{"title":"Vcheck Global API","version":"5.4.0"},"tags":[{"name":"Monitoring Group Participants","description":"Manage group participants - list, add, and remove participants, view group change logs, and list account emails."}],"servers":[{"url":"https://api-platform.vcheckglobal.net/v2","description":"Vcheck platform (sandbox host issued first; production host after sign-off)"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Obtain a token via POST https://api-platform.vcheckglobal.net/v2/oauth2/token.\nInclude in all subsequent requests as `Authorization: Bearer <token>`.\nTokens expire after 3,600 seconds - cache and reuse; request a new one only when close to expiry.\n"}}},"paths":{"/monitoring/groups/{group_id}/change-log":{"get":{"tags":["Monitoring Group Participants"],"operationId":"getGroupChangeLog","summary":"Group Change Log","description":"Returns the combined change log for a monitoring group, including both project-level changes and participant-level changes (additions, removals, type updates, group name edits).\n\n**Pagination:** Fixed 50 records per page. Pass `?page=N` to navigate. Stop when `next` is `null`.\n\n### Response fields\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `id` | integer | History entry identifier |\n| `user` | object / null | `{name, email}` of the user who made the change |\n| `action` | string | Action performed (e.g. 'participant_added', 'group_name_edited') |\n| `participant` | object / null | `{id, email}` of the affected participant |\n| `details` | object / null | Additional change details |\n| `date_created` | string (ISO 8601) | When the change occurred |\n| `history_type` | string | 'project' or 'participant' |\n","parameters":[{"name":"group_id","in":"path","required":true,"description":"Unique monitoring group identifier.","schema":{"type":"integer"}},{"name":"page","in":"query","required":false,"description":"Page number to retrieve (1-indexed, default: 1). Each page returns up to 50 records.","schema":{"type":"integer"}}],"responses":{"200":{"description":"Change log retrieved successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"description":"Total number of records across all pages.","type":"integer"},"next":{"description":"Full URL to the next page. null on the last page.","type":["string","null"]},"previous":{"description":"Full URL to the previous page. null on the first page.","type":["string","null"]},"results":{"description":"Array of records for the current page (max 50).","type":"array","items":{"type":"object","properties":{"id":{"description":"History entry identifier.","type":"integer"},"user":{"type":["object","null"],"properties":{"name":{"description":"User full name.","type":"string"},"email":{"description":"User email address.","type":"string"}}},"action":{"description":"Action performed (e.g. 'participant_added', 'participant_removed', 'group_name_edited').","type":"string"},"participant":{"type":["object","null"],"properties":{"id":{"description":"Participant identifier.","type":"integer"},"email":{"description":"Participant email.","type":"string"}}},"details":{"description":"Additional details about the change (e.g. old/new group name).","type":["object","null"]},"date_created":{"description":"When the change occurred (ISO 8601).","type":"string","format":"date-time"},"history_type":{"description":"Whether this entry is a project-level or participant-level change.","type":"string","enum":["project","participant"]}}}}}}}}},"403":{"description":"Forbidden - missing or invalid Client-ID credentials, insufficient scope, endpoint disabled via feature flag, or authenticated client has no linked account. Verify the scopes assigned to your credentials.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Authorization or access error message.","type":"string","default":"This endpoint is currently disabled."}}}}}},"404":{"description":"Not found - group does not exist or does not belong to the authenticated account.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Resource not found message.","type":"string","default":"Group not found."}}}}}},"500":{"description":"Internal server error - an unexpected error occurred. Please try again later or contact support if the issue persists.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Internal server error message.","type":"string","default":"An unexpected error occurred while processing the request."}}}}}}}}}}}
```

## Account Emails

> Returns a deduplicated list of active users for the authenticated account. Useful for populating an email picker when adding participants to a monitoring group.<br>

```json
{"openapi":"3.1.0","info":{"title":"Vcheck Global API","version":"5.4.0"},"tags":[{"name":"Monitoring Group Participants","description":"Manage group participants - list, add, and remove participants, view group change logs, and list account emails."}],"servers":[{"url":"https://api-platform.vcheckglobal.net/v2","description":"Vcheck platform (sandbox host issued first; production host after sign-off)"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Obtain a token via POST https://api-platform.vcheckglobal.net/v2/oauth2/token.\nInclude in all subsequent requests as `Authorization: Bearer <token>`.\nTokens expire after 3,600 seconds - cache and reuse; request a new one only when close to expiry.\n"}}},"paths":{"/monitoring/groups/account-emails":{"get":{"tags":["Monitoring Group Participants"],"operationId":"getAccountEmails","summary":"Account Emails","description":"Returns a deduplicated list of active users for the authenticated account. Useful for populating an email picker when adding participants to a monitoring group.\n","responses":{"200":{"description":"Account emails retrieved successfully.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"name":{"description":"Full name of the user.","type":"string"},"email":{"description":"Email address.","type":"string"}}}}}}},"403":{"description":"Forbidden - missing or invalid Client-ID credentials, insufficient scope, endpoint disabled via feature flag, or authenticated client has no linked account. Verify the scopes assigned to your credentials.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Authorization or access error message.","type":"string","default":"This endpoint is currently disabled."}}}}}},"500":{"description":"Internal server error - an unexpected error occurred. Please try again later or contact support if the issue persists.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Internal server error message.","type":"string","default":"An unexpected error occurred while processing the request."}}}}}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.vcheckglobal.com/api-reference/monitoring/monitoring-group-participants.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
