Contents
On this page
Get Recipe - Plugixa Recipe
GET /plugixa-recipe/v1/recipes/{id}
Read one recipe in any status, with its taxonomy, ingredients, instructions and nutrition.
Needs a signed-in user who can open Plugixa Recipe: the plugixa_recipe_manage capability, or WordPress’s edit_posts (Contributor and up).
Request
GET https://your-site.example/wp-json/plugixa-recipe/v1/recipes/12
Path parameters
| Name | Type | Description |
|---|---|---|
id |
integer |
The recipe’s id |
Responses
200 OK. data is the recipe.
{
"success": true,
"message": "",
"data": {
"id": "12",
"language_code": "",
"translation_group": "",
"title": "Lemon Pancakes",
"slug": "lemon-pancakes",
"description": "<p>Light, fluffy pancakes with lemon zest.</p>",
"excerpt": "",
"notes": "",
"tips": "",
"image_id": "345",
"gallery": null,
"tags": [
"breakfast",
"brunch"
],
"equipment": [
"Frying pan"
],
"video_url": "",
"servings": "4",
"servings_unit": "servings",
"yield_amount": "",
"yield_unit": "",
"prep_time": "10",
"cook_time": "15",
"rest_time": null,
"total_time": "25",
"difficulty": "easy",
"cost": "budget",
"season": "",
"status": "published",
"is_featured": "0",
"is_editor_pick": "0",
"display_order": "0",
"source": "",
"source_url": "",
"author_name": "",
"view_count": "0",
"rating_average": "0.00",
"rating_count": "0",
"like_count": "0",
"enable_schema": "1",
"canonical_post_id": null,
"seo_score": null,
"seo_title": null,
"seo_description": null,
"seo_keywords": null,
"focus_keyword": null,
"is_vegetarian": "1",
"is_vegan": "0",
"is_gluten_free": "0",
"is_dairy_free": "0",
"is_keto": "0",
"is_low_carb": "0",
"is_nut_free": "0",
"is_paleo": "0",
"is_sugar_free": "0",
"is_halal": "0",
"is_kosher": "0",
"published_at": "2026-11-12 09:30:00",
"created_at": "2026-11-12 09:30:00",
"created_by": "1",
"submission_ip": null,
"modified_at": null,
"modified_by": null,
"image_url": "https://your-site.example/wp-content/uploads/2026/11/lemon-pancakes-1024x683.jpg",
"image_thumbnail": "https://your-site.example/wp-content/uploads/2026/11/lemon-pancakes-150x150.jpg",
"equipment_items": [
{
"name": "Frying pan",
"link_url": ""
}
],
"categories": [
{
"id": "3",
"language_code": "",
"translation_group": "",
"name": "Breakfast",
"slug": "breakfast",
"description": "",
"image_id": null,
"display_order": "0",
"created_at": "2026-11-01 08:00:00"
}
],
"cuisines": [],
"courses": [
{
"id": "8",
"name": "Breakfast",
"slug": "breakfast",
"description": null,
"display_order": "7"
}
],
"category_id": 3,
"category_ids": [
3
],
"cuisine_id": 0,
"course_id": 8,
"ingredients": [
{
"id": "101",
"recipe_id": "12",
"group_name": "",
"group_order": "0",
"sort_order": "0",
"quantity": "2",
"unit": "cups",
"name": "flour",
"notes": "",
"link_url": "",
"amount": "2.000",
"amount_max": null,
"is_optional": "0",
"substitution": ""
},
{
"id": "102",
"recipe_id": "12",
"group_name": "",
"group_order": "0",
"sort_order": "1",
"quantity": "1 1/2",
"unit": "cups",
"name": "milk",
"notes": "",
"link_url": "",
"amount": "1.500",
"amount_max": null,
"is_optional": "0",
"substitution": "oat milk"
}
],
"instructions": [
{
"id": "201",
"recipe_id": "12",
"group_name": "",
"group_order": "0",
"sort_order": "0",
"title": "",
"instruction_text": "Whisk the flour, milk and lemon zest.",
"image_id": null,
"video_url": "",
"duration": null,
"timer_seconds": null,
"tip": "",
"text": "Whisk the flour, milk and lemon zest."
},
{
"id": "202",
"recipe_id": "12",
"group_name": "",
"group_order": "0",
"sort_order": "1",
"title": "",
"instruction_text": "Cook each pancake for 2 minutes a side.",
"image_id": null,
"video_url": "",
"duration": "4",
"timer_seconds": "240",
"tip": "",
"text": "Cook each pancake for 2 minutes a side."
}
],
"nutrition": null
}
}
| Field | Type | Meaning |
|---|---|---|
data.id |
string |
The recipe’s id, as a numeric string |
data.status |
string |
draft, pending, published or archived |
data.slug |
string |
Unique among recipes |
data.prep_time, data.cook_time, data.rest_time |
string|null |
Minutes |
data.total_time |
string |
Minutes: prep + cook + rest, worked out by the database |
data.difficulty |
string |
easy, medium, hard or expert |
data.cost |
string |
budget, moderate, expensive or premium |
data.tags |
string[] |
Tags, decoded |
data.equipment |
string[] |
Equipment names |
data.equipment_items |
object[] |
The same equipment with each item’s optional link_url |
data.gallery |
string|null |
The stored gallery, as JSON text. gallery_ids and gallery_urls are added when it is set |
data.image_url, data.image_thumbnail |
string |
Only present when the recipe has an image |
data.categories, data.cuisines, data.courses |
object[] |
The linked terms, every column |
data.category_ids |
integer[] |
Ids of the linked categories |
data.category_id, data.cuisine_id, data.course_id |
integer |
The first linked term of each kind, 0 when none |
data.ingredients |
object[] |
In group order, then position. See List Ingredients |
data.instructions |
object[] |
In group order, then position, each with a text copy of instruction_text |
data.nutrition |
object|null |
The nutrition row, or null |
data.published_at |
string|null |
Site-time datetime the recipe first went live |
data.custom_fields |
object |
Pro, with Custom Fields on: field key to value |
data.page_layout |
string |
Pro, with Recipe Layouts on: the recipe’s own layout, empty for the site default |
Also present: every other stored column, such as view_count, rating_average, rating_count, like_count, seo_score, created_by and submission_ip (the address a front-end submission came from).
Errors
| Status | Code | When |
|---|---|---|
404 |
rest_error |
No recipe with that id. |
Plus the errors every endpoint can return.
Examples
curl -s "https://your-site.example/wp-json/plugixa-recipe/v1/recipes/12" \
-u "admin:$WP_APP_PASSWORD"
<?php
$ch = curl_init('https://your-site.example/wp-json/plugixa-recipe/v1/recipes/12');
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/recipes/12', {
headers: {
'Authorization': auth,
},
});
const { data } = await response.json();
Quick Links
Share