In November 2020, the Apigee Edge API reference documentation will move to a new experience based on the Apigee integrated portal and visitors to this site will be redirected.

You are viewing the Apigee Edge API reference documentation. For the main product docs, and to search all docs, go to

Create a TargetServer

Resource Summary


Content Type

application/json, text/xml





Create a TargetServer

Create a TargetServer in the specified environment. TargetServers are used to decouple TargetEndpoint HTTPTargetConnections from concrete URLs for backend services.

To do so, an HTTPConnection can be configured to use a LoadBalancer that lists one or more 'named' TargetSevers. Using TargetServers, you can create an HTTPTargetConnection that calls a different backend server based on the environment where the API proxy is deployed. See also Load balancing across backend servers.

For example, instead of the following configuration:

 <TargetEndpoint name="default"> 

You can reference a TargetServer as follows:

  <TargetEndpoint name="default"> 
        <Server name="target1"/>

You can then set up a TargetServer called target1 in the 'test' environment that points to a test backend service, and a different TargetServer called target1 in the 'prod' environment that points to a production backend.

When you 'promote' the API proxy with this configuration from the test to the prod environment, the TargetEndpoint will use the appropriate backend service, without requiring any changes in the API proxy configuration.

Note: Characters you can use in the name are restricted to: A-Z0-9._\-$ %.


Resource URL /organizations/{org_name}/environments/{env_name}/targetservers

Header Parameters

Name Values Description

Specify the content type as application/json or text/xml.

Request Body

Name Description Default Required?
name The name of the target server. You can choose anything you like. N/A Yes
host The DNS name or IP address of the machine that this TargetServer will refer to. N/A Yes
port The port on which the backend service is configured to listen. If you don't specify a port, it defaults to zero, which is invalid. If you're not sure, try port 80. 0 Yes
isEnabled A boolean (true/false) that determines whether this TargetServer is enabled or not. You can use this setting to take TargetServers out of rotation, without requiring you to delete the TargetServer definition. false No
sSLInfo sub-properties
 enabled Enables one-way TLS. You must have defined a keystore containing the cert and private key. false No
 clientAuthEnabled Enables two-way, or client, TLS between Edge (as a client making the request) and the target (as a server). false No
 keyStore The name of the keystore on Edge. N/A No
 keyAlias The alias specified when you uploaded the JAR file containing the cert and private key to the keystore. N/A No
 trustStore The name of the truststore on Edge that contains the certificate or certificate chain used for two-way TLS. N/A No
 ignoreValidationErrors If true, specifies to ignore TLS certificate errors. This is similar to the "-k" option to cURL. false No
 ciphers Specifies the ciphers supported by the virtual host. If no ciphers are specified, then all ciphers available for the JVM will be permitted. All supported by the JVM No
 protocols Specifies the protocols supported by the target server. For example, SSLv3, TLSv1, TLSv1.1, TLSv1.2.

If no protocols are specified, then all protocols available for the JVM will be permitted.
All supported by the JVM No

org_name Mention the organization name true

env_name Mention the environment name true

HTTP Basic

OAuth 2.0



Make a request and see the response.

Make a request and see the response.

Make a request and see the response.


Help or comments?

  • If something's not working: Ask the Apigee Community or see Apigee Support.
  • If something's wrong with the docs: Click the "Send Feedback" button.
    (Incorrect? Unclear? Broken link? Typo?)