Contents
On this page

Get Testimonial - Plugixa Testimonial

GET /plugixatestimonial/v1/testimonials/{id}

Read one testimonial with its categories, photo, custom field values and author name.

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

Request

GET https://your-site.example/wp-json/plugixatestimonial/v1/testimonials/42

Path parameters

Name Type Description
id integer The testimonial’s id

Responses

200 OK. data is the testimonial.

{
  "success": true,
  "message": "",
  "data": {
    "id": "42",
    "language_code": null,
    "translation_group": null,
    "client_name": "Sarah Johnson",
    "client_role": "Marketing Director",
    "client_company": "Northwind Studio",
    "testimonial_text": "<p>Setup took ten minutes and our reviews finally look professional.</p>",
    "rating": "5",
    "client_photo_id": "118",
    "video_url": null,
    "website_url": "https://northwind.example",
    "status": "approved",
    "is_featured": "1",
    "display_order": "0",
    "source": "manual",
    "external_id": null,
    "view_count": "214",
    "created_at": "2026-11-12 09:30:00",
    "created_by": "1",
    "modified_at": "2026-11-12 10:15:00",
    "modified_by": "1",
    "approved_at": "2026-11-12 09:30:00",
    "approved_by": "1",
    "categories": [
      {
        "id": 3,
        "name": "Agencies",
        "slug": "agencies"
      }
    ],
    "client_photo": {
      "id": 118,
      "url": "https://your-site.example/wp-content/uploads/2026/11/sarah.jpg",
      "thumbnail": "https://your-site.example/wp-content/uploads/2026/11/sarah-150x150.jpg",
      "alt": "",
      "title": "sarah"
    },
    "custom_fields": {
      "project_type": "Website redesign"
    },
    "author_name": "Jordan Smith"
  }
}
Field Type Meaning
data.id string The testimonial’s id
data.client_name string Who gave the testimonial
data.testimonial_text string The testimonial, HTML
data.rating string 1 to 5
data.status string pending, approved, rejected or draft. Only approved is shown on the site
data.is_featured string 1 or 0
data.display_order string Position in the global manual order
data.source string Where it came from: manual, frontend_form, import, or a review source in Pro
data.view_count string Times it was returned by the public list endpoint
data.created_at string Site-time datetime
data.approved_at string|null When it was last approved
data.categories object[] { id, name, slug } for each category, by name
data.client_photo object|null { id, url, thumbnail, alt, title } of the photo, null without one
data.custom_fields object Stored values keyed by field key, {} when there are none
data.author_name string Display name of the user who created it, or Unknown

With WPML or Polylang active, data.translations lists { id, language_code } for every row in its translation group.

Errors

Status Code When
404 rest_error No testimonial with that id.

Plus the errors every endpoint can return.

Examples

curl -s "https://your-site.example/wp-json/plugixatestimonial/v1/testimonials/42" \
  -u "admin:$WP_APP_PASSWORD"
<?php
$ch = curl_init('https://your-site.example/wp-json/plugixatestimonial/v1/testimonials/42');
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 response = await fetch('https://your-site.example/wp-json/plugixatestimonial/v1/testimonials/42', {
  headers: {
    'Authorization': 'Basic ' + btoa(`admin:${process.env.WP_APP_PASSWORD}`),
  },
});
const { data } = await response.json();

Quick Links

Share