Contents
Export Testimonials as CSV - Plugixa Testimonial
GET /plugixatestimonial/v1/import-export/export/csv
Download testimonials as a CSV file, one row per testimonial, with a column per custom field.
Administrators only: the user needs WordPress’s manage_options capability. No plugin capability opens this route.
Note. The
langcolumn is always empty in 1.1.1: the language is not exported.translation_groupcarries the group id.
Request
GET https://your-site.example/wp-json/plugixatestimonial/v1/import-export/export/csv?status=approved
Query parameters
| Name | Type | Default | Description |
|---|---|---|---|
ids[] |
integer[] |
Export exactly these testimonials. When sent, every filter is ignored. | |
search |
string |
Text found in the name, the testimonial or the company. Same as filter[search]. |
|
status |
string |
pending, approved, rejected or draft. Same as filter[status]; send filter[status][] several times for more than one. |
|
filter[categories][] |
integer[] |
Testimonials in any of these categories. | |
filter[rating_min] |
integer |
At least this many stars. | |
filter[rating_max] |
integer |
At most this many stars. | |
filter[is_featured] |
integer |
1 for featured only, 0 for the rest. |
|
filter[date_from] |
string |
Created on or after this day, YYYY-MM-DD. |
|
filter[date_to] |
string |
Created on or before this day, YYYY-MM-DD. |
With no parameter, every testimonial in every status and language is exported, newest first. There is no paging. See Import and export.
Responses
200 OK. The body is the CSV file.
id,lang,translation_group,client_name,client_role,client_company,testimonial_text,rating,video_url,website_url,status,is_featured,source,categories,created_at,project_type
42,,,"Sarah Johnson","Marketing Director","Northwind Studio","<p>Setup took ten minutes and our reviews finally look professional.</p>",5,,https://northwind.example,approved,1,manual,Agencies,"2026-11-12 09:30:00","Website redesign"
The response is the file itself, not the JSON envelope, sent as an attachment named testimonials-export-YYYY-MM-DD.csv (UTC date) with caching turned off. The header row is followed by one column per custom field key defined on the site. Categories are joined by , . Fields are quoted the RFC 4180 way, so the file re-imports cleanly through Upload Import File.
Errors
| Status | Code | When |
|---|---|---|
404 |
rest_error |
“No testimonials to export”: nothing matched. |
Plus the errors every endpoint can return.
Examples
curl -sg "https://your-site.example/wp-json/plugixatestimonial/v1/import-export/export/csv?status=approved" \
-u "admin:$WP_APP_PASSWORD" \
-o testimonials.csv
<?php
$ch = curl_init('https://your-site.example/wp-json/plugixatestimonial/v1/import-export/export/csv?status=approved');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERPWD => 'admin:' . getenv('WP_APP_PASSWORD'),
]);
file_put_contents('testimonials.csv', curl_exec($ch));
curl_close($ch);
const response = await fetch('https://your-site.example/wp-json/plugixatestimonial/v1/import-export/export/csv?status=approved', {
headers: {
'Authorization': 'Basic ' + btoa(`admin:${process.env.WP_APP_PASSWORD}`),
},
});
const file = await response.blob();
Quick Links
Share