Contents
Duplicate Map - Plugixa Image Map
POST /plugixa-image-map/v1/maps/{id}/duplicate
Copy a map. The copy is a draft titled after the original with (copy) added, with a new id and a new uid.
Any signed-in user with both plugixa_image_map_create and plugixa_image_map_view. See Roles and permissions.
Request
POST https://your-site.example/wp-json/plugixa-image-map/v1/maps/12/duplicate
Path parameters
| Name | Type | Description |
|---|---|---|
id |
integer |
The id of the map to copy |
Responses
201 Created. data is the copy.
{
"success": true,
"data": {
"id": 13,
"uid": "e41d0a77-2b9c-4c55-8f0e-6a3d9b1c7f20",
"title": "Ground floor (copy)",
"status": "draft",
"image_id": 58,
"doc": {
"schema": 1,
"image": {
"attachment_id": 58,
"width": 1600,
"height": 1000,
"alt": "Ground floor plan"
},
"settings": {
"general": {
"responsive": true
},
"tooltips": {
"enabled": true,
"trigger": "hover",
"sticky": false,
"constrain": true,
"animation": "fade"
},
"effects": {
"pageload": "none"
},
"zoom": {
"enabled": false,
"max": 4.0,
"buttons": true,
"wheel": "ctrl",
"fullscreen": false
},
"list": {
"enabled": false,
"position": "right",
"search": true,
"title": ""
}
},
"objects": [
{
"id": "o_3f9a1c2e",
"type": "spot",
"name": "Reception",
"geometry": {
"x": 42.5,
"y": 61.25,
"w": 3.0
},
"style": {
"default": {
"fill": "#1976d2",
"fill_opacity": 0.4,
"stroke": "#ffffff",
"stroke_opacity": 1.0,
"stroke_width": 0.0,
"radius": 4.0,
"opacity": 1.0,
"icon": "pin",
"icon_color": "#ffffff",
"shadow": false
},
"hover": []
},
"action": {
"type": "none",
"new_tab": false,
"url": "",
"event": ""
},
"tooltip": {
"enabled": true,
"position": "auto",
"width": 260,
"offset_x": 0.0,
"offset_y": 0.0,
"content": "<p>Reception desk, open 8:00 to 18:00.</p>"
},
"a11y": {
"label": "Reception",
"description": ""
},
"visible": true,
"locked": false,
"group": "",
"ext": []
}
],
"groups": [],
"ext": []
},
"doc_version": 1,
"trusted_html": true,
"object_count": 1,
"rev": 1,
"created_by": 1,
"modified_by": 1,
"created_at": "2026-11-12 11:45:00",
"modified_at": "2026-11-12 11:45:00",
"deleted_at": null,
"doc_error": false,
"image_url": "https://your-site.example/wp-content/uploads/2026/11/ground-floor.png",
"shortcode": "[plugixa_image_map id=\"13\"]",
"thumbnail_url": "https://your-site.example/wp-content/uploads/2026/11/ground-floor-150x150.png"
},
"meta": {
"warnings": []
}
}
| Field | Type | Meaning |
|---|---|---|
data.id |
integer |
The copy’s id |
data.status |
string |
Always draft |
data.title |
string |
The original title with (copy) added, cut to fit 255 characters |
data.rev |
integer |
1: the copy starts its own history |
meta.warnings |
array |
What the cleaning changed or dropped, one { "path", "code" } per change. Empty when the document was taken as sent |
Errors
| Status | Code | When |
|---|---|---|
404 |
plugixa_image_map_not_found |
No map with that id, or the map is in the trash. |
Plus the errors every endpoint can return.
Examples
curl -s -X POST "https://your-site.example/wp-json/plugixa-image-map/v1/maps/12/duplicate" \
-u "admin:$WP_APP_PASSWORD"
<?php
$ch = curl_init('https://your-site.example/wp-json/plugixa-image-map/v1/maps/12/duplicate');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERPWD => 'admin:' . getenv('WP_APP_PASSWORD'),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
const response = await fetch('https://your-site.example/wp-json/plugixa-image-map/v1/maps/12/duplicate', {
method: 'POST',
headers: {
'Authorization': 'Basic ' + btoa(`admin:${process.env.WP_APP_PASSWORD}`),
},
});
const { data } = await response.json();
Quick Links
Share