Skip to main content

Clone Service

Available since
  • v5.4.2 and later

Endpoint: POST /api/registry/service/{name}/clone

Creates a copy of an existing Remote Service definition under a new name. The clone includes all methods, request parameters, configuration, circuit breaker settings, and authentication metadata from the source service.

Path parameters

ParameterDescriptionTypeRequired/ Optional
nameThe name of the service to clone.stringRequired.

Query parameters

ParameterDescriptionTypeRequired/ Optional
newNameThe name for the cloned service.stringRequired.

Response

Returns the full service definition of the newly created clone, including all methods, configuration, circuit breaker settings, and authentication metadata.

Examples

Clone a service

Request

curl -X 'POST' \
'https://<YOUR-SERVER-URL>/api/registry/service/http-services/clone?newName=http-services-2' \
-H 'accept: application/json' \
-H 'X-Authorization: <TOKEN>' \
-d ''

Response

{
"name": "http-services-2",
"type": "HTTP",
"serviceURI": "https://petstore.swagger.io/v2/swagger.json",
"methods": [
{
"operationName": "pet",
"methodName": "/v2/pet/{petId}/uploadImage",
"methodType": "POST",
"inputType": "uploadFile",
"outputType": "uploadFile",
"requestParams": [
{
"name": "petId",
"type": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"deprecated": false
},
{
"operationName": "pet",
"methodName": "/v2/pet",
"methodType": "PUT",
"inputType": "updatePet",
"requestParams": [],
"deprecated": false
},
{
"operationName": "pet",
"methodName": "/v2/pet",
"methodType": "POST",
"inputType": "addPet",
"requestParams": [],
"deprecated": false
},
{
"operationName": "pet",
"methodName": "/v2/pet/findByStatus",
"methodType": "GET",
"outputType": "findPetsByStatus",
"requestParams": [
{
"name": "status",
"type": "query",
"required": true,
"schema": {
"type": "array"
}
}
],
"deprecated": false
},
{
"operationName": "pet",
"methodName": "/v2/pet/findByTags",
"methodType": "GET",
"outputType": "findPetsByTags",
"requestParams": [
{
"name": "tags",
"type": "query",
"required": true,
"schema": {
"type": "array"
}
}
],
"deprecated": false
},
{
"operationName": "pet",
"methodName": "/v2/pet/{petId}",
"methodType": "GET",
"outputType": "getPetById",
"requestParams": [
{
"name": "petId",
"type": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"deprecated": false
},
{
"operationName": "pet",
"methodName": "/v2/pet/{petId}",
"methodType": "DELETE",
"requestParams": [
{
"name": "api_key",
"type": "header",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "petId",
"type": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"deprecated": false
},
{
"operationName": "pet",
"methodName": "/v2/pet/{petId}",
"methodType": "POST",
"inputType": "updatePetWithForm",
"requestParams": [
{
"name": "petId",
"type": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"deprecated": false
},
{
"operationName": "store",
"methodName": "/v2/store/inventory",
"methodType": "GET",
"outputType": "getInventory",
"requestParams": [],
"deprecated": false
},
{
"operationName": "store",
"methodName": "/v2/store/order",
"methodType": "POST",
"inputType": "placeOrder",
"outputType": "placeOrder",
"requestParams": [],
"deprecated": false
},
{
"operationName": "store",
"methodName": "/v2/store/order/{orderId}",
"methodType": "GET",
"outputType": "getOrderById",
"requestParams": [
{
"name": "orderId",
"type": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"deprecated": false
},
{
"operationName": "store",
"methodName": "/v2/store/order/{orderId}",
"methodType": "DELETE",
"requestParams": [
{
"name": "orderId",
"type": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"deprecated": false
},
{
"operationName": "user",
"methodName": "/v2/user/createWithList",
"methodType": "POST",
"inputType": "createUsersWithListInput",
"requestParams": [],
"deprecated": false
},
{
"operationName": "user",
"methodName": "/v2/user/{username}",
"methodType": "GET",
"outputType": "getUserByName",
"requestParams": [
{
"name": "username",
"type": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
},
{
"operationName": "user",
"methodName": "/v2/user/{username}",
"methodType": "DELETE",
"requestParams": [
{
"name": "username",
"type": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
},
{
"operationName": "user",
"methodName": "/v2/user/{username}",
"methodType": "PUT",
"inputType": "updateUser",
"requestParams": [
{
"name": "username",
"type": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
},
{
"operationName": "user",
"methodName": "/v2/user/login",
"methodType": "GET",
"outputType": "loginUser",
"requestParams": [
{
"name": "username",
"type": "query",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "password",
"type": "query",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
},
{
"operationName": "user",
"methodName": "/v2/user/logout",
"methodType": "GET",
"requestParams": [],
"deprecated": false
},
{
"operationName": "user",
"methodName": "/v2/user/createWithArray",
"methodType": "POST",
"inputType": "createUsersWithArrayInput",
"requestParams": [],
"deprecated": false
},
{
"operationName": "user",
"methodName": "/v2/user",
"methodType": "POST",
"inputType": "createUser",
"requestParams": [],
"deprecated": false
}
],
"requestParams": [],
"config": {
"circuitBreakerConfig": {
"failureRateThreshold": 50,
"slidingWindowSize": 100,
"minimumNumberOfCalls": 100,
"waitDurationInOpenState": 1000,
"permittedNumberOfCallsInHalfOpenState": 100,
"slowCallRateThreshold": 50,
"slowCallDurationThreshold": 100,
"automaticTransitionFromOpenToHalfOpenEnabled": true,
"maxWaitDurationInHalfOpenState": 1
}
},
"circuitBreakerEnabled": false,
"servers": [],
"useSSL": false,
"trustCert": false
}