Contents
On this page

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