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