Sets the properties for a customer origin on the HTTP Small platform.
Updating a customer origin will overwrite the entire customer origin configuration. This will occur regardless of whether a request parameter has been excluded from the request.
This endpoint cannot be used to update the directory assigned to a customer origin configuration that has been associated with an edge CNAME.
A request to update a customer origin configuration is described below.
HTTP Method | Request URI |
---|---|
PUT |
https://api.edgecast.com/v2/mcc/customers/AccountNumber/origins/httpsmall/CustomerOriginID |
Define the following variable when submitting the above request.
VariableA variable represents a value that must be replaced. A variable consists of either a URL segment (e.g., "0001" in /0001/) or a query string value (e.g., "3" in mediaTypes=3). | Description |
---|---|
Required |
|
Required |
Replace this variable with the system-defined ID of the customer origin configuration that you would like to retrieve. A list of HTTP Small customer origin configurations and their corresponding system-defined IDs can be retrieved through the following endpoint: |
This endpointIdentifies a request's connection point to our REST API service. only takes advantage of common request headers.
A valid customer origin configuration must meet the following requirements:
Pass the following request body parameters:
An indented parameter indicates that it is a property of the request parameter directly above it. When submitting a request, you will need to use the proper syntax to indicate this relationship. Please refer to the parent request parameter for more information.
Name | Data Type | Description |
---|---|---|
DirectoryName Required |
String |
Defines the directory name that will be assigned to the customer origin configuration. This alphanumeric name is appended to the end of the base CDN URL that points to the customer origin server. Example: http://wac.0001.edgecastcdn.net/800001/CustomerOriginThis variable represents the directory name assigned to your customer origin configuration.
This setting is read-only for a customer origin configuration that has been associated with at least one edge CNAME configuration. In this scenario, make sure that this response parameter is set to the directory name currently assigned to the customer origin configuration. |
HostHeader Required |
String |
Defines the value that will be assigned to the Host header for all requests to this customer origin configuration. A host header is especially useful when there are multiple virtual hostnames hosted on a single physical server or load-balanced set of servers. Use one of the following formats when setting the Host header value:
A protocol should not be specified when setting this parameter. |
HttpHostnames Required for HTTP requests. |
Array |
This request parameter contains the set of hostnames/IP addresses to which HTTP requests for this customer origin configuration may be fulfilled. Key information:
|
Name Required for HTTP requests. |
String |
HttpHostnames array Identifies the hostname/IP address of an origin server that will be associated with the customer origin configuration being created. Use one of the following formats to identify an origin server:
|
HttpLoadBalancing Required for HTTP requests. |
String |
Determines how HTTP requests will be load balanced across the specified hostnames/IP addresses. Valid values are:
Key information:
|
HttpsHostnames Required for HTTPS requests. |
Array |
This request parameter contains the set of hostnames/IP addresses to which HTTPS requests for this customer origin configuration may be fulfilled. Key information:
This request parameter is only available for customers that have purchased an SSL certificate or the HTTPS feature. |
Name Required for HTTPS requests. |
String |
HttpsHostnames array Identifies the hostname/IP address of an origin server that will be associated with the customer origin configuration being created. Use one of the following formats to identify an origin server:
End-to-end data encryption is sacrificed when the HTTP protocol is used to serve HTTPS requests. |
HttpsLoadBalancing Required for HTTPS requests. |
String |
Determines how HTTPS requests will be load balanced across the specified hostnames/IP addresses. Valid values are:
Key information:
|
ShieldPOPs |
Array |
The Origin Shield feature, which must be purchased separately, can be used to reduce the number of requests that must be handled by your customer origin server. If you choose to protect your customer origin with this feature, then you will need to specify each point-of-presence (POP) location where Origin Shield servers will be used to provide an intermediate cache layer between our edge servers and your customer origin. Specify each desired Origin Shield location as an object containing the following key-value pair: 'POPCode': "Origin Shield Location"
If you would like to configure the Origin Shield feature to produce an optimal reduction in requests to your customer origin server, then you should only specify a single location. The specified location should be the POP closest to your customer origin server. Turn off Origin Shield by specifying an empty array. Do not specify more than 4 Origin Shield locations. |
POPCode |
String |
ShieldPOPs array Defines an Origin Shield configuration for this customer origin. This configuration is defined through a three or four letter code. Specify each desired location using uppercase letters. |
networkConfiguration |
Integer |
Determines how hostnames associated with this customer origin configuration will be resolved to an IP address. Valid values are:
|
The response to the above request includes an HTTP status code, response headers, and a response body.
A status code indicates whether the request was successfully performed.
The response for this endpoint only includes standard HTTP response headers.
The response body for a successful request does not contain a response parameter.
The response body for an unsuccessful request may contain an error parameter that provides additional information.
A sample JSON request is shown below.
PUT https://api.edgecast.com/v2/mcc/customers/0001/origins/httpsmall/123456 HTTP/1.1
Authorization: TOK:12345678-1234-1234-1234-1234567890ab
Accept: application/json
Content-Type: application/json
Host:api.edgecast.com
Content-Length: 413
{ "DirectoryName" : "MyCustomerOrigin", "HostHeader" : "images.example.com:80", "HttpHostnames" : [{ "Name" : "http:\/\/images1.example.com:80" }, { "Name" : "http:\/\/images2.example.com:80" } ], "HttpLoadBalancing" : "RR", "HttpsHostnames" : [{ "Name" : "https:\/\/images.example.com:443" } ], "HttpsLoadBalancing" : "PF", "ShieldPOPs" : [{ "POPCode" : "OXR" } ] }
A sample JSON response is shown below.
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: application/json; charset=utf-8
Date: Thu, 15 Apr 2021 12:00:00 GMT
Content-Length: 0
A sample XML request is shown below.
PUT https://api.edgecast.com/v2/mcc/customers/0001/origins/httpsmall/123456 HTTP/1.1
Authorization: TOK:12345678-1234-1234-1234-1234567890ab
Accept: application/xml
Content-Type: application/xml
Host:api.edgecast.com
Content-Length: 422
<CustomerOriginParameter xmlns="http://www.whitecdn.com/schemas/apiservices/"> <DirectoryName>MyCustomerOrigin</DirectoryName> <HostHeader>images.example.com:80</HostHeader> <HttpHostnames> <Hostname> <Name>http://images1.example.com:80</Name> </Hostname> <Hostname> <Name>http://images2.example.com:80</Name> </Hostname> </HttpHostnames> <HttpLoadBalancing>RR</HttpLoadBalancing> <HttpsHostnames> <Hostname> <Name>https://images.example.com:443</Name> </Hostname> </HttpsHostnames> <HttpsLoadBalancing>PF</HttpsLoadBalancing> <ShieldPOPs> <ShieldPOP> <POPCode>OXR</POPCode> </ShieldPOP> </ShieldPOPs> </CustomerOriginParameter>
A sample XML response is shown below.
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: application/xml; charset=utf-8
Date: Thu, 15 Apr 2021 12:00:00 GMT
Content-Length: 0