Duplicate an Item
Definition¶
POST /apis/v2/{SERVICE_ID}/item/duplicate
Description¶
Duplicate a specific item.
Details:
- It will create a new item with the content of the initial one but with a new identifier.
- The name must be different and the application key should be the user’s selected application key.
Permissions¶
The user needs to have the permissions:
SERVICE_ID=read && SERVICE_ID=edit
To duplicate an item, the two conditions below must be verified:
- the user needs to have the Application Profile associated with the old application key, if not the item’s content mode must be set to any value but NONE.
- the user need to have the Application Profile associated with the new application key.
Parameters¶
The body parameter is a JSON object containing the old and the new identifiers.
The new name must validate the rules of the service’s item’s name.
Example:
{
    "oldId": {
         "appKey": "",
         "name": "Well-Network-Plant-Approver"
    },
    "newId": {
         "appKey": "",
         "name": "Well-Network-Plant-Approver_Duplicated"
    }
}
Response¶
| HTTP code | Reason | 
|---|---|
| 200 | Success | 
| 400 | Invalid parameter count or content | 
| 403 | Unauthorized | 
| 404 | Not found | 
| 500 | Unexpected exception | 
When the query is successful, the HTTP response is a 200 OK and returns the facade of the duplicated item.
{
    "appKey": "",
    "name": "Well-Network-Plant-Approver_Duplicated",
    "description": "Well-Network-Plant-Approver",
    "calculatedContentMode": "EDITABLE",
    "appInfo": "",
    "lastModifiedBy": "roxane.mace@amalto.com",
    "lastModifiedDate": 1520933597027,
    "revisionId": "8d20bda1ce77b3ff0ce02da0b8e9b48d"
}
If the request parameter is null, the HTTP response is a 400 Invalid parameter:
{
    "status": 400,
    "code": 400,
    "message": "Unexpected error duplicating the item in the configuration!",
    "link": null,
    "developerMessage": "Invalid parameter count or content: the ids cannot be null.",
    "conflictInformation": null
}
If the user does not have the right permissions, the HTTP Response will be a 403 Unauthorized:
{
    "status": 403,
    "code": 403,
    "message": "Unauthorized: you need to have permission tables=edit-table.",
    "link": null,
    "developerMessage": "Requires permission tables=edit-table",
    "conflictInformation": null
}
If the original item is not found, it will return a 404 Not found:
{
    "status": 404,
    "code": 404,
    "message": "Unexpected error duplicating the item in the configuration! Item 'Well-Network-Plant-Approver' is not found.",
    "link": null,
    "developerMessage": "Not found: the item 'Well-Network-Plant-Approver' is not found.",
    "conflictInformation": null
}