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