Contents
On this page
List Transfers - Plugixa Inventory
GET /plugixa-inventory/v1/transfers
List transfers, drafts and finalized, one page at a time.
The user needs the plugixa_inventory_view capability (administrators have every inventory capability). With Pro Roles and permissions enforcing, their role must also allow reading transfers. Needs Plugixa Inventory Pro with the Warehouse transfers app on in Plugixa Inventory -> App Manager; with it off, this route answers 404.
Request
GET https://your-site.example/wp-json/plugixa-inventory/v1/transfers?status__in=draft
Query parameters
Plus the list parameters every paged list accepts. search matches reference, details. orderby accepts id, reference, transfer_date, status, created_at, modified_at. view=trash lists the trash instead.
The filters this list accepts: status, from_warehouse_id, to_warehouse_id, transfer_date, created_at, modified_at.
Responses
200 OK. data is one page of transfers.
{
"success": true,
"data": [
{
"id": 12,
"reference": "",
"from_warehouse_id": 1,
"to_warehouse_id": 2,
"transfer_date": "2026-11-12 10:30:00",
"status": "draft",
"finalized_at": null,
"finalized_by": null,
"batch_id": "",
"line_count": 1,
"total_quantity": 0.0,
"total_cost": 0.0,
"details": "",
"attachments": null,
"assigned_user_id": null,
"created_by": 1,
"modified_by": 1,
"created_at": "2026-11-12 09:30:00",
"modified_at": "2026-11-12 09:30:00",
"deleted_at": null,
"from_warehouse_name": "Main warehouse",
"to_warehouse_name": "Shop floor"
}
],
"meta": {
"total": 1,
"pages": 1
}
}
| Field | Type | Meaning |
|---|---|---|
data.status |
string |
draft or finalized |
data[].from_warehouse_name |
string|null |
The source warehouse’s name |
data[].to_warehouse_name |
string|null |
The destination warehouse’s name |
data[].line_count |
integer |
Lines on the document, counted live on a draft |
meta.total |
integer |
Transfers matching, before paging |
meta.pages |
integer |
Number of pages at this per_page |
List rows do not carry the lines. Get Transfer does.
Errors
Plus the errors every endpoint can return.
Examples
curl -s "https://your-site.example/wp-json/plugixa-inventory/v1/transfers?status__in=draft" \
-u "admin:$WP_APP_PASSWORD"
<?php
$query = http_build_query(['status__in' => 'draft']);
$ch = curl_init('https://your-site.example/wp-json/plugixa-inventory/v1/transfers?' . $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 = 'Basic ' + btoa(`admin:${process.env.WP_APP_PASSWORD}`);
const query = new URLSearchParams({ status__in: 'draft' });
const response = await fetch(`https://your-site.example/wp-json/plugixa-inventory/v1/transfers?${query}`, {
headers: { 'Authorization': auth },
});
const { data, meta } = await response.json();
Quick Links
Share