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 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" }, "authentication-registrations": [ 20, 30 ], "authentication-registrations-additional-fields": [ "option-1", "option-2", "option-3" ], "secret-registrations": [ { "vault_secret": "amazon/seller" }, { "vault_secret": "google/io/shopping" } ], "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" }, "individuals": [ { "command-option": "host", "field-type": "input", "field-name": "Host", "field-required": false, "field-placeholder": "Host url", "field-description": "A url to host", "order": 1 }, { "command-option": "port-number", "field-type": "input", "field-name": "Port", "field-required": false, "field-placeholder": "Port number", "field-description": "Port number", "order": 2 }, { "command-option": "db-name", "field-type": "input", "field-name": "Db-name", "field-required": false, "field-placeholder": "Database name", "field-description": "Database name", "field-default-value": "MYSQL", "field-config": "some config", "order": 3 } ] } } ] }'{
"message": "Connector created.",
"resource": "connector",
"data": {
"id": "00d8c347-0dec-480f-8c99-7f7dfcfb06bf",
"type": "datasource",
"name": "Test Import - Copy",
"description": "this is a imported connector",
"readme": null,
"flow": "default",
"main-version-number": null,
"owner": "019e16f3-fb75-7948-ac07-7d74f60d8cc2",
"integrator": "019e16f3-fb75-7948-ac07-7d74f60d8cc2",
"versions": [
{
"name": "Test Import - Copy",
"description": "this is a imported connector",
"readme": null,
"version": "1.0.0",
"logo": null,
"created-at": "2026-05-11T14:12:28+02:00",
"updated-at": "2026-05-11T14:12:29+02:00",
"deleted-at": null,
"state": "updated",
"config": {
"update-progress": [
"vcs-config",
"application-config"
],
"secret-registrations": [
{
"ini_header": "amazon::seller",
"vault_secret": "amazon/seller",
"fields": [
"ini_header",
"seller",
"marketplace"
]
},
{
"ini_header": "google-io::shopping",
"vault_secret": "google/io/shopping",
"fields": [
"id",
"ini_header",
"secret"
]
}
],
"authentication-registrations": [
20,
30
],
"authentication-registrations-additional-fields": [
"pup-auth-option-1",
"pup-auth-option-2",
"pup-auth-option-3"
],
"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": [
{
"command-option": "host",
"field-type": "input",
"field-name": "Host",
"field-required": false,
"field-placeholder": "Host url",
"field-description": "A url to host",
"field-default-value": null,
"field-config": null,
"order": 1,
"created-at": "2026-05-11T14:12:28+02:00",
"updated-at": "2026-05-11T14:12:28+02:00"
},
{
"command-option": "port-number",
"field-type": "input",
"field-name": "Port",
"field-required": false,
"field-placeholder": "Port number",
"field-description": "Port number",
"field-default-value": null,
"field-config": null,
"order": 2,
"created-at": "2026-05-11T14:12:28+02:00",
"updated-at": "2026-05-11T14:12:28+02:00"
},
{
"command-option": "db-name",
"field-type": "input",
"field-name": "Db-name",
"field-required": false,
"field-placeholder": "Database name",
"field-description": "Database name",
"field-default-value": "MYSQL",
"field-config": "some config",
"order": 3,
"created-at": "2026-05-11T14:12:28+02:00",
"updated-at": "2026-05-11T14:12:28+02:00"
},
{
"command-option": "authentication_select",
"field-type": "authentication_select",
"field-name": "",
"field-required": false,
"field-placeholder": null,
"field-description": null,
"field-default-value": null,
"field-config": null,
"order": 4,
"created-at": "2026-05-11T14:12:28+02:00",
"updated-at": "2026-05-11T14:12:28+02:00"
}
],
"migration": null,
"execution": {
"execution-mode": "as-env-variables",
"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": {
"secretRegistrations[0]": "Secret doesn't exist in the store."
}
}{
"message": "You have to be authorized to access this resource."
}{
"message": "Access denied for user."
}How is this guide?