Contents
On this page

List Categories - Plugixa FAQ

GET /plugixa-faq/v1/categories

List categories one page at a time, each with its number of FAQs.

Any signed-in user with the plugixa_faq_manage capability or WordPress’s edit_posts (Contributors and up, by default).

Request

GET https://your-site.example/wp-json/plugixa-faq/v1/categories?orderby=menu_order&order=ASC&limit=50

Query parameters

Name Type Default Description
search string Text found in the name or description. Same as filter[search].
filter[has_color] string yes for categories with a colour, any other value for those without.
filter[faq_count_min] integer At least this many FAQs.
filter[faq_count_max] integer At most this many FAQs.
filter[language] string One language code. Only with WPML or Polylang active.
group_by_translation boolean false With WPML or Polylang active: default-language rows only, each with a translations list.

Plus the list parameters every paged list accepts. orderby accepts id, name, slug, menu_order and created_at; anything else falls back to menu_order.

Responses

200 OK. data.items is one page of categories.

{
  "success": true,
  "message": "",
  "data": {
    "items": [
      {
        "id": "3",
        "name": "Shipping",
        "slug": "shipping",
        "description": "Delivery times and costs.",
        "icon": "",
        "color": "#2271b1",
        "menu_order": "0",
        "feedback_enabled": "1",
        "created_at": "2026-11-12 09:30:00",
        "created_by": "1",
        "modified_at": null,
        "modified_by": null,
        "language_code": null,
        "translation_group": null,
        "faq_count": "12"
      }
    ],
    "total": 1,
    "state": {
      "filter": [],
      "limit": 50,
      "offset": 0,
      "orderby": "menu_order",
      "order": "ASC"
    }
  }
}
Field Type Meaning
data.items[].id string The category’s id
data.items[].slug string Used by the category parameter of shortcodes and of Get Rendered FAQ Page
data.items[].color string|null Hex colour
data.items[].feedback_enabled string "1" or "0"
data.items[].faq_count string FAQs in the category, any status
data.total integer Categories matching the filters, before paging
data.state object The filters, paging and sorting that were applied

Errors

Plus the errors every endpoint can return.

Examples

curl -s "https://your-site.example/wp-json/plugixa-faq/v1/categories?orderby=menu_order&order=ASC&limit=50" \
  -u "admin:$WP_APP_PASSWORD"
<?php
$query = http_build_query([
    'orderby' => 'menu_order',
    'order'   => 'ASC',
    'limit'   => '50',
]);
$ch = curl_init('https://your-site.example/wp-json/plugixa-faq/v1/categories?' . $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 query = new URLSearchParams({ orderby: 'menu_order', order: 'ASC', limit: '50' });
const response = await fetch(`https://your-site.example/wp-json/plugixa-faq/v1/categories?${query}`, {
  headers: {
    'Authorization': 'Basic ' + btoa(`admin:${process.env.WP_APP_PASSWORD}`),
  },
});
const { data } = await response.json();

Quick Links

Share