PHP2Shell: Is Your Joomla Site Safe? What to Do Today Introducing Next Boards: Kanban project and task boards for Joomla Next Exams 6.2.0: Exam Studio, six visual question types, exam embeds and six new languages Building the Future of Joomla Extensions
NextSoftware

List Tags

GET /v1/nextexams/tags

List tags

Scope questions:read.

Request

GET https://your-site.example/api/index.php/v1/nextexams/tags?limit=<integer>&offset=<integer>&search=<string>&published=<integer>

Parameters

Name Type In Required Description
limit integer query No Page size. (min 1) Defaults to 20.
offset integer query No Rows to skip. (min 0) Defaults to 0.
search string query No Matches the title (and, for questions, the stem).
published integer query No 1 for published only, 0 for unpublished only. One of 0, 1.

Responses

200 — A page of tags.

{
    "data": [
        {
            "id": 1,
            "title": "string",
            "alias": "string",
            "ordering": 1,
            "published": true,
            "created": "2026-01-01T12:00:00Z",
            "modified": "2026-01-01T12:00:00Z"
        }
    ],
    "meta": {
        "total": 1
    }
}
Field Type Meaning
data[].id integer
data[].title string
data[].alias string
data[].ordering integer
data[].published boolean
data[].created string|null ISO 8601 in UTC, or null when not set. (date-time)
data[].modified string|null ISO 8601 in UTC, or null when not set. (date-time)
meta.total integer Matching records in all pages.

Errors

Status Code When
401 INVALID_TOKEN No token (MISSING_TOKEN), or one that is wrong, expired, revoked, or whose owner can no longer sign in (INVALID_TOKEN).
403 MISSING_SCOPE The token is valid but this request is not allowed, and code says why: MISSING_SCOPE (the token lacks the scope), FORBIDDEN (the owner's role does not allow it), ACCESS_DENIED (the owner cannot manage Next Exams), API_DISABLED (the API Tokens app is off), APP_DISABLED (the feature's app is off — meta.app names it), ACCOUNT_UNUSABLE (the owner is blocked or must reset their password), DEMO_LOCKED (a demo site).

Examples

curl

curl -s "https://your-site.example/api/index.php/v1/nextexams/tags" \
  -H "Authorization: Bearer $API_TOKEN"

PHP

<?php
$ch = curl_init('https://your-site.example/api/index.php/v1/nextexams/tags?limit=<integer>&offset=<integer>&search=<string>&published=<integer>');

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer ' . getenv('API_TOKEN'),
    ],
]);

$response = json_decode(curl_exec($ch), true);
curl_close($ch);

JavaScript

const API_TOKEN = process.env.API_TOKEN;

const response = await fetch("https://your-site.example/api/index.php/v1/nextexams/tags?limit=<integer>&offset=<integer>&search=<string>&published=<integer>", {
  headers: {
    "Authorization": `Bearer ${API_TOKEN}`,
  },
});
const data = await response.json();

All Extensions