Measure MapAPI

Copy a project

POST/projects/{pid}/copy
projects:write EnterpriseOpen GuestSince v2

Makes a copy of a project, or a new job from a template, in your account or a member's, with or without its measurements. As the app's Duplicate: the copy has its own photos, layers and picture. A copy of an Open Guest project is an ordinary project, never billed as a guest's.

Without folderId the copy goes in the original's folder, when its new owner may use it; root puts it at the top level.

Path parameters

  • pidstringrequired
    The project's ID, the part after /p/ in its address in the app.

Request body application/jsonoptional

Fields of ProjectCopy:

  • uidstring
    Whose library the copy goes in, a member of your organisation's or yours. Yours when left out.
  • namestring
    The copy's name. The original's when left out or blank.
    at most 200 characters
  • descriptionstring
    at most 5000 characters
  • folderIdstring
    A folder of yours or your members' to put it in, or root for the top level. The original's folder when left out, if the copy's owner may use it.
  • withGeometryboolean
    false to copy the project without its measurements.
    Defaulttrue

Responses

  • Project:

    • typestringrequired
      Always"project"
    • idstringrequired
      The project's ID.
    • creatorUidstringrequired
      The account that owns the project.
    • folderIdstringor null
      The folder it is filed in; empty or absent at the top level.
    • namestringrequired
    • descriptionstring
    • createdOninteger(int64)required
      When it was created, in milliseconds since 1 January 1970 (UTC).
    • thumbnailUrlstring(uri)
      A picture of the project's map, when one has been drawn.
    • totalPolygonsinteger
      How many areas and lines it holds.
    • totalSpotsinteger
      How many spots it holds.
    • membersarray of string
      The accounts that can open it, its owner included.
    • commentsEnabledboolean
      Whether comments can be left on its map.
    • defaultProductIdstring
      The product new shapes start with.
    • accessLevelstringv2
      Who can open the project. private: only its members. view_only and public: anyone with the link or an embed can look at it. open_guest: a guest project of an Open Guest plan.
      One ofprivateview_onlypublicopen_guest
    • isTemplatebooleanv2
      A reusable starting point, listed apart from the projects in the app. Copy it to start a job.
    • trashedbooleanv2
      In the trash. Still readable, not shown in the app's project list.
    • updatedOninteger(int64)v2
      When it last changed, in milliseconds since 1 January 1970 (UTC); 0 when unknown.
    • lastOpenedOninteger(int64)v2
      When someone last opened it in the app; 0 when unknown.
    • teamIdsarray of stringv2
      The organisation's teams it is assigned to (Enterprise). See List teams.

Errors

A failed request answers with one of these, in an Error body.

400invalid_bodyA value in the request body is missing, has the wrong type, is too long or is not one of the accepted values.
401unauthorized_actionThe item is not on your account or your members', the request came from a web page on a website the key does not allow, or the action is not allowed for this person.
403insufficient_scopeThe key does not have the access this endpoint needs. Create a key with that access.
403invalid_api_keyNo key was sent in the Authorization header, or the key is unknown, revoked, or past the time it kept working after being replaced.
404project_not_foundThe project does not exist.

Try it

This key is

The key stays in this tab and goes only to the API. Use a sandbox key while you try things: requests are real, and what they change is changed.

The project's ID, the part after `/p/` in its address in the app.
POST https://api.measuremaponline.com/api/v2/projects/Xr7Lp2Qm9KdT4wZs/copy

Fill in your API key to send.

As a cURL command
Shell
curl -X POST 'https://api.measuremaponline.com/api/v2/projects/Xr7Lp2Qm9KdT4wZs/copy' \
  -H "Authorization: $MMO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "uid": "m3K8qZxLpV4NrT2w",
  "name": "22 Mill Lane",
  "folderId": "fld_8Jk2LmQ4",
  "withGeometry": true
}'