Duplicate a module

POST/products/{product_id}/modules/{module_id}/copies

Starts an asynchronous operation that copies the module, including its contents, into the product given in target_product_id. Optionally, use parent_id to place the copy inside a group of the target product and name to rename it.

Requires the modules.create permission on the target product. Replicated modules cannot be copied, and modules cannot be copied into replicated products; both cases return the replica_readonly error code.

The Idempotency-Key header is required. Track progress through the returned operation; when it completes, the item result contains copy_id, the public ID of the new module.

AuthorizationBearer <token>

Autonomous mode: the API credential secret, sent as a bearer token. Credential secrets are identified by a fixed prefix.

In: header

Path Parameters

product_id*string

Public ID of the product, prefixed with prd_.

module_id*string

Public ID of the module, prefixed with mod_.

Header Parameters

Idempotency-Key*string

Client-generated key that makes the request safe to retry. Must be 1 to 128 characters from [A-Za-z0-9._:-]. Required by this operation: a missing key returns idempotency_key_required, and a malformed key returns idempotency_key_invalid. Repeating the request with the same key and the same body returns the stored result with Idempotent-Replayed: true.

X-Client-Request-Id?string

Optional client-generated identifier of the request, up to 64 characters from [A-Za-z0-9._-]. Echoed back in the response and recorded in the request log; it never replaces the server-generated X-Request-Id.

Lengthlength <= 64

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/products/string/modules/string/copies" \  -H "Idempotency-Key: string" \  -H "Content-Type: application/json" \  -d '{    "target_product_id": "string"  }'
{  "data": {    "attempt": {      "number": 0,      "status": "running"    },    "cancellation_requested": true,    "created_at": "2019-08-24T14:15:22Z",    "error": {      "code": "worker_error",      "field": "string",      "message": "string",      "reason": "string",      "resource_id": "string"    },    "expires_at": "2019-08-24T14:15:22Z",    "finished_at": "2019-08-24T14:15:22Z",    "id": "string",    "items_url": "string",    "object": "operation",    "progress": {      "done": 0,      "failed": 0,      "total": 0    },    "result_url": "string",    "started_at": "2019-08-24T14:15:22Z",    "status": "queued",    "type": "string"  }}