Contents
On this page

List Shopping Lists - Plugixa Recipe

GET /plugixa-recipe/v1/shopping-lists

List the caller’s own shopping lists, with how many items each has and how many are ticked.

Needs a signed-in user who can open Plugixa Recipe: the plugixa_recipe_manage capability, or WordPress’s edit_posts (Contributor and up). Needs Plugixa Recipe Pro with the Shopping Lists app on. Each user only ever sees and changes their own lists: another user’s list answers 404.

Request

GET https://your-site.example/wp-json/plugixa-recipe/v1/shopping-lists

Query parameters

Name Type Default Description
search string Matches the name.
status string Exact status, such as active.

Plus the list parameters every list accepts. orderby accepts name, created_at (the default), modified_at and status.

Responses

200 OK. data.items is one page of lists.

{
  "success": true,
  "message": "",
  "data": {
    "items": [
      {
        "id": "9",
        "user_id": "1",
        "name": "Saturday shop",
        "status": "active",
        "created_at": "2026-11-12 09:30:00",
        "modified_at": null,
        "total_items": 2,
        "checked_items": 0,
        "title": "Saturday shop",
        "author_name": "Site Admin"
      }
    ],
    "total": 1,
    "limit": 20,
    "offset": 0
  }
}
Field Type Meaning
data.items[].total_items integer Lines on the list
data.items[].checked_items integer Lines ticked off
data.items[].title string A copy of name
data.total integer The caller’s lists matching the filters

The list kept by My Shopping List appears here too, with status personal.

Errors

Plus the errors every endpoint can return.

Examples

curl -s "https://your-site.example/wp-json/plugixa-recipe/v1/shopping-lists" \
  -u "admin:$WP_APP_PASSWORD"
<?php
$ch = curl_init('https://your-site.example/wp-json/plugixa-recipe/v1/shopping-lists');
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 response = await fetch('https://your-site.example/wp-json/plugixa-recipe/v1/shopping-lists', {
  headers: {
    'Authorization': auth,
  },
});
const { data } = await response.json();

Quick Links

Share