Import an entire connector from a JSON connector output. Used to duplicate an existing connector.
Using the output of GET /connectors/{publicId}, paste it into the new endpoint, and it will create a new connector with * VCS * Application config * Individual config * Authentications * Secrets * Run timeout tier After the new connector is created, it's name will have the - Copy suffix. VCS will need to be updated with the proper authentication
Sign in to run requests against the CDE API.
Authorization
oAuth2AuthCode AuthorizationBearer <token>
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://cde.staging.productsup.com/connectors/copy" \ -H "Content-Type: application/json" \ -d '{ "name": "Test Import", "type": "datasource", "description": "this is a imported connector", "flow": "default", "versions": [ { "config": { "execution": { "execution-mode": "as-env-variables" }, "application": { "command": "php", "arguments": "app.php import", "health-check": "--help" }, "vcs": { "authorization": "basic", "url": "https://github.com/some-repo.git", "branch": "main", "username": "username", "token": "token" } } } ] }'{
"message": "Connector created.",
"resource": "connector",
"data": {
"id": "4d6f54f7-98ec-450e-b517-b591ca8e4a74",
"type": "datasource",
"name": "Test Import - Copy",
"description": "this is a imported connector",
"readme": null,
"flow": "default",
"main-version-number": null,
"owner": "01a10fc7-dccc-7f8d-889a-588b7129e4fe",
"integrator": "01a10fc7-dccc-7f8d-889a-588b7129e4fe",
"versions": [
{
"name": "Test Import - Copy",
"description": "this is a imported connector",
"readme": null,
"version": "1.0.0",
"logo": null,
"created-at": "2026-10-06T07:55:18+02:00",
"updated-at": "2026-10-06T07:55:18+02:00",
"deleted-at": null,
"state": "updated",
"config": {
"update-progress": [
"vcs-config",
"application-config"
],
"secret-registrations": [],
"authentication-registrations": [],
"authentication-registrations-additional-fields": [],
"application": {
"command": "php",
"arguments": "app.php import",
"health-check": "--help"
},
"vcs": {
"authorization": "public",
"url": "https://github.com/some-repo.git",
"branch": "main",
"username": null,
"deploy-key-public": null,
"latest-commit": null
},
"docker": {
"image-name": null,
"image-tag": null,
"registry-url": null
},
"individuals": [],
"migration": null,
"execution": {
"execution-mode": "as-env-variables",
"run-timeout-tier": "standard",
"container-api-image": "test.domain.docker/test/container-api-image:1.0.0",
"docker-host": "unix:///var/run/docker.sock",
"container-api": {
"image": null,
"version-constraint": "^0.25"
}
},
"export": null,
"data-service": null,
"datasource": {
"categories": [
"miscellaneous"
]
},
"buckets": [],
"feature-flags": [],
"container-api-config": null
},
"platform_dev_reference": {
"account": null,
"project": null,
"executable": null,
"platform-connector": null,
"site": null,
"site-processing-cluster": null,
"assigned-to-site": null,
"assigned-to-channel": null,
"assigned-to-channel-site": null,
"assigned-to-channel-site-destination": null,
"runtime": {
"environment": "cre",
"version": null
}
},
"platform_prod_reference": {
"executable": null,
"platform-connector": null,
"target-accounts": [],
"target-projects": [],
"target-sites": [],
"enabled-for-accounts": [],
"enabled-for-projects": [],
"enabled-for-sites": [],
"assigned-to-sites": [],
"released": false,
"version": null,
"runtime": {
"environment": "cre",
"version": null
}
},
"prod_config": null,
"dev_config": null
}
],
"main": null
}
}{
"message": "Bad request.",
"errors": {
"run-timeout-tier": "Invalid run timeout tier provided. Valid options are: \"short\", \"standard\", \"long\"."
}
}{
"message": "You have to be authorized to access this resource."
}{
"message": "Access denied for user."
}How is this guide?