Contents
On this page
List Groups - Plugixa Team
GET /plugixateam/v1/groups
List the groups members are sorted into, with how many members each one holds.
Needs the plugixa_team_edit capability, or any user who can write posts (edit_posts): the Team block offers groups as a choice in the post editor.
Request
GET https://your-site.example/wp-json/plugixateam/v1/groups?orderby=display_order&order=ASC&limit=0
Query parameters
| Name | Type | Default | Description |
|---|---|---|---|
search |
string |
Text found in the name or description. Same as filter[search]. |
|
filter[language] |
string |
With WPML or Polylang active: one language only. | |
filter[group_by_translation] |
boolean |
With WPML or Polylang active: one row per translated group, in the default language. |
Plus the list parameters. orderby accepts id, name, slug, display_order and created_at; any other value sorts by display_order. Left out, it is created_at, newest first: send orderby=display_order&order=ASC for the order set in the admin. limit=0 returns every group.
Responses
200 OK. data.items is one page of groups.
{
"success": true,
"message": "",
"data": {
"items": [
{
"id": "3",
"name": "Leadership",
"slug": "leadership",
"description": "The people who set direction.",
"display_order": "0",
"language_code": null,
"translation_group": null,
"created_at": "2026-11-12 09:30:00",
"modified_at": null,
"member_count": "4"
}
],
"total": 5,
"state": {
"filter": [],
"limit": 999999,
"offset": 0,
"orderby": "display_order",
"order": "ASC"
}
}
}
| Field | Type | Meaning |
|---|---|---|
data.items[].id |
string |
The group’s id, as a numeric string |
data.items[].name |
string |
The name |
data.items[].slug |
string |
Unique URL name, used by the shortcode and block group filters |
data.items[].description |
string|null |
Plain text |
data.items[].display_order |
string |
Position among the groups |
data.items[].member_count |
string |
Members in the group, whatever their status |
data.items[].language_code, data.items[].translation_group |
string|null |
Set when WPML or Polylang is active |
data.items[].created_at, data.items[].modified_at |
string|null |
Site-time datetimes |
data.total |
integer |
Groups matching the search, before paging |
data.state |
object |
The filters, paging and sort that were applied. limit=0 shows as 999999 |
Errors
| Status | Code | When |
|---|---|---|
400 |
rest_invalid_param |
order is not ASC or DESC (upper case). |
Plus the errors every endpoint can return.
Examples
curl -s "https://your-site.example/wp-json/plugixateam/v1/groups?orderby=display_order&order=ASC&limit=0" \
-u "admin:$WP_APP_PASSWORD"
<?php
$query = http_build_query([
'orderby' => 'display_order',
'order' => 'ASC',
'limit' => 0,
]);
$ch = curl_init('https://your-site.example/wp-json/plugixateam/v1/groups?' . $query);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERPWD => 'admin:' . getenv('WP_APP_PASSWORD'),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
const auth = btoa(`admin:${process.env.WP_APP_PASSWORD}`);
const query = new URLSearchParams({ orderby: 'display_order', order: 'ASC', limit: '0' });
const response = await fetch(`https://your-site.example/wp-json/plugixateam/v1/groups?${query}`, {
headers: {
'Authorization': `Basic ${auth}`,
},
});
const { data } = await response.json();
Quick Links
Share