deliveryservice_requests
GET
Retrieves Delivery Service Requests.
- Auth. Required:
Yes
- Roles Required:
None
- Permissions Required:
DS-REQUEST:READ, DELIVERY-SERVICE:READ, USER:READ
- Response Type:
Array
Request Structure
Name |
Required |
Description |
---|---|---|
assignee |
no |
Filter for Delivery Service Requests that are assigned to the user identified by this username. |
assigneeId |
no |
Filter for Delivery Service Requests that are assigned to the user identified by this integral, unique identifier |
author |
no |
Filter for Delivery Service Requests submitted by the user identified by this username |
authorId |
no |
Filter for Delivery Service Requests submitted by the user identified by this integral, unique identifier |
changeType |
no |
Filter for Delivery Service Requests of the change type specified. Can be |
createdAt |
no |
Filter for Delivery Service Requests created on a certain date/time. Value must be RFC 3339 compliant. Eg. |
id |
no |
Filter for the Delivery Service Requests identified by this integral, unique identifier. |
status |
no |
Filter for Delivery Service Requests whose status is the status specified. The status can be |
xmlId |
no |
Filter for Delivery Service Requests that have the given xml_id. |
orderby |
no |
Choose the ordering of the results - must be the name of one of the fields of the objects in the |
sortOrder |
no |
Changes the order of sorting. Either ascending (default or “asc”) or descending (“desc”) |
limit |
no |
Choose the maximum number of results to return |
offset |
no |
The number of results to skip before beginning to return results. Must use in conjunction with limit |
page |
no |
Return the nth page of results, where “n” is the value of this parameter, pages are |
New in version ATCv6: The createdAt
query parameter was added to this in endpoint across all API versions in ATC version 6.0.0.
GET /api/4.1/deliveryservice_requests?status=draft HTTP/1.1
User-Agent: python-requests/2.22.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
Cookie: mojolicious=...
Response Structure
The response is an array of representations of Delivery Service Requests.
HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Set-Cookie, Cookie
Access-Control-Allow-Methods: POST,GET,OPTIONS,PUT,DELETE
Access-Control-Allow-Origin: *
Content-Encoding: gzip
Content-Type: application/json
Set-Cookie: mojolicious=...; Path=/; Expires=Mon, 24 Feb 2020 20:14:07 GMT; Max-Age=3600; HttpOnly
X-Server-Name: traffic_ops_golang/
Date: Mon, 24 Feb 2020 19:14:07 GMT
Content-Length: 872
{ "response": [{
"authorId": 2,
"author": "admin",
"changeType": "update",
"createdAt": "2020-02-24 19:11:12+00",
"id": 1,
"lastEditedBy": "admin",
"lastEditedById": 2,
"lastUpdated": "2020-02-24 19:11:12+00",
"requested": {
"active": false,
"anonymousBlockingEnabled": false,
"cacheurl": null,
"ccrDnsTtl": null,
"cdnId": 2,
"cdnName": "CDN-in-a-Box",
"checkPath": null,
"displayName": "Demo 1",
"dnsBypassCname": null,
"dnsBypassIp": null,
"dnsBypassIp6": null,
"dnsBypassTtl": null,
"dscp": 0,
"edgeHeaderRewrite": null,
"firstHeaderRewrite": null,
"geoLimit": 0,
"geoLimitCountries": null,
"geoLimitRedirectURL": null,
"geoProvider": 0,
"globalMaxMbps": null,
"globalMaxTps": null,
"httpBypassFqdn": null,
"id": 1,
"infoUrl": null,
"initialDispersion": 1,
"innerHeaderRewrite": null,
"ipv6RoutingEnabled": true,
"lastHeaderRewrite": null,
"lastUpdated": "0001-01-01T00:00:00Z",
"logsEnabled": true,
"longDesc": "Apachecon North America 2018",
"matchList": [
{
"type": "HOST_REGEXP",
"setNumber": 0,
"pattern": ".*\\.demo1\\..*"
}
],
"maxDnsAnswers": null,
"midHeaderRewrite": null,
"missLat": 42,
"missLong": -88,
"multiSiteOrigin": false,
"originShield": null,
"orgServerFqdn": "http://origin.infra.ciab.test",
"profileDescription": null,
"profileId": null,
"profileName": null,
"protocol": 2,
"qstringIgnore": 0,
"rangeRequestHandling": 0,
"regexRemap": null,
"regional": false,
"regionalGeoBlocking": false,
"remapText": null,
"requiredCapabilities": [],
"routingName": "video",
"signed": false,
"sslKeyVersion": 1,
"tenantId": 1,
"topology": null,
"type": "HTTP",
"typeId": 1,
"xmlId": "demo1",
"exampleURLs": [
"http://video.demo1.mycdn.ciab.test",
"https://video.demo1.mycdn.ciab.test"
],
"deepCachingType": "NEVER",
"fqPacingRate": null,
"signingAlgorithm": null,
"tenant": "root",
"trResponseHeaders": null,
"trRequestHeaders": null,
"consistentHashRegex": null,
"consistentHashQueryParams": [
"abc",
"pdq",
"xxx",
"zyx"
],
"maxOriginConnections": 0,
"ecsEnabled": false,
"tlsVersions": null
},
"status": "draft"
}]}
POST
Creates a new Delivery Service Request. “Closed” Delivery Service Requests cannot be created, an existing Delivery Service Request must be placed into a closed Status. A Delivery Service Request to create, modify or delete a Delivery Service cannot be created if an open Delivery Service Request exists for a Delivery Service with the same xml_id. Because of this, Delivery Service Requests cannot be used to change a Delivery Service’s xml_id.
- Auth. Required:
Yes
- Roles Required:
“admin”, “Federation”, “operations”, “Portal”, or “Steering”
- Permissions Required:
DS-REQUEST:CREATE, DELIVERY-SERVICE:READ, USER:READ
- Response Type:
Object
Request Structure
The request must be a well-formed representation of a Delivery Service Request, without any response-only fields, of course.
POST /api/4.1/deliveryservice_requests HTTP/1.1
User-Agent: python-requests/2.22.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
Cookie: mojolicious=...
Content-Length: 1979
{
"changeType": "update",
"status": "draft",
"requested": {
"active": false,
"anonymousBlockingEnabled": false,
"cacheurl": null,
"ccrDnsTtl": null,
"cdnId": 2,
"cdnName": "CDN-in-a-Box",
"checkPath": null,
"displayName": "Demo 1",
"dnsBypassCname": null,
"dnsBypassIp": null,
"dnsBypassIp6": null,
"dnsBypassTtl": null,
"dscp": 0,
"edgeHeaderRewrite": null,
"firstHeaderRewrite": null,
"geoLimit": 0,
"geoLimitCountries": null,
"geoLimitRedirectURL": null,
"geoProvider": 0,
"globalMaxMbps": null,
"globalMaxTps": null,
"httpBypassFqdn": null,
"id": 1,
"infoUrl": null,
"initialDispersion": 1,
"innerHeaderRewrite": null,
"ipv6RoutingEnabled": true,
"lastHeaderRewrite": null,
"lastUpdated": "2020-02-13T16:43:54Z",
"logsEnabled": true,
"longDesc": "Apachecon North America 2018",
"matchList": [
{
"type": "HOST_REGEXP",
"setNumber": 0,
"pattern": ".*\\.demo1\\..*"
}
],
"maxDnsAnswers": null,
"midHeaderRewrite": null,
"missLat": 42,
"missLong": -88,
"multiSiteOrigin": false,
"originShield": null,
"orgServerFqdn": "http://origin.infra.ciab.test",
"profileDescription": null,
"profileId": null,
"profileName": null,
"protocol": 2,
"qstringIgnore": 0,
"rangeRequestHandling": 0,
"regexRemap": null,
"regional": false,
"regionalGeoBlocking": false,
"remapText": null,
"requiredCapabilities": [],
"routingName": "video",
"signed": false,
"sslKeyVersion": 1,
"tenantId": 1,
"type": "HTTP",
"typeId": 1,
"xmlId": "demo1",
"exampleURLs": [
"http://video.demo1.mycdn.ciab.test",
"https://video.demo1.mycdn.ciab.test"
],
"deepCachingType": "NEVER",
"fqPacingRate": null,
"signingAlgorithm": null,
"tenant": "root",
"topology": null,
"trResponseHeaders": null,
"trRequestHeaders": null,
"consistentHashRegex": null,
"consistentHashQueryParams": [
"abc",
"pdq",
"xxx",
"zyx"
],
"maxOriginConnections": 0,
"ecsEnabled": false,
"serviceCategory": null,
"tlsVersions": null
}
}
Response Structure
The response will be a representation of the created Delivery Service Request.
HTTP/1.1 201 CREATED
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Set-Cookie, Cookie
Access-Control-Allow-Methods: POST,GET,OPTIONS,PUT,DELETE
Access-Control-Allow-Origin: *
Content-Encoding: gzip
Content-Type: application/json
Set-Cookie: mojolicious=...; Path=/; Expires=Mon, 24 Feb 2020 20:11:12 GMT; Max-Age=3600; HttpOnly
Location: /api/4.1/deliveryservice_requests/2
X-Server-Name: traffic_ops_golang/
Date: Mon, 24 Feb 2020 19:11:12 GMT
Content-Length: 901
{
"alerts": [
{
"text": "deliveryservice_request was created.",
"level": "success"
}
],
"response": {
"authorId": 2,
"author": null,
"changeType": "update",
"createdAt": null,
"id": 2,
"lastEditedBy": null,
"lastEditedById": 2,
"lastUpdated": "2020-02-24 19:11:12+00",
"requested": {
"active": false,
"anonymousBlockingEnabled": false,
"cacheurl": null,
"ccrDnsTtl": null,
"cdnId": 2,
"cdnName": "CDN-in-a-Box",
"checkPath": null,
"displayName": "Demo 1",
"dnsBypassCname": null,
"dnsBypassIp": null,
"dnsBypassIp6": null,
"dnsBypassTtl": null,
"dscp": 0,
"edgeHeaderRewrite": null,
"firstHeaderRewrite": null,
"geoLimit": 0,
"geoLimitCountries": null,
"geoLimitRedirectURL": null,
"geoProvider": 0,
"globalMaxMbps": null,
"globalMaxTps": null,
"httpBypassFqdn": null,
"id": 1,
"infoUrl": null,
"initialDispersion": 1,
"innerHeaderRewrite": null,
"ipv6RoutingEnabled": true,
"lastHeaderRewrite": null,
"lastUpdated": "0001-01-01T00:00:00Z",
"logsEnabled": true,
"longDesc": "Apachecon North America 2018",
"matchList": [
{
"type": "HOST_REGEXP",
"setNumber": 0,
"pattern": ".*\\.demo1\\..*"
}
],
"maxDnsAnswers": null,
"midHeaderRewrite": null,
"missLat": 42,
"missLong": -88,
"multiSiteOrigin": false,
"originShield": null,
"orgServerFqdn": "http://origin.infra.ciab.test",
"profileDescription": null,
"profileId": null,
"profileName": null,
"protocol": 2,
"qstringIgnore": 0,
"rangeRequestHandling": 0,
"regexRemap": null,
"regional": false,
"regionalGeoBlocking": false,
"remapText": null,
"requiredCapabilities": [],
"routingName": "video",
"signed": false,
"sslKeyVersion": 1,
"tenantId": 1,
"topology": null,
"type": "HTTP",
"typeId": 1,
"xmlId": "demo1",
"exampleURLs": [
"http://video.demo1.mycdn.ciab.test",
"https://video.demo1.mycdn.ciab.test"
],
"deepCachingType": "NEVER",
"fqPacingRate": null,
"signingAlgorithm": null,
"tenant": "root",
"trResponseHeaders": null,
"trRequestHeaders": null,
"consistentHashRegex": null,
"consistentHashQueryParams": [
"abc",
"pdq",
"xxx",
"zyx"
],
"maxOriginConnections": 0,
"ecsEnabled": false,
"tlsVersions": null
},
"original": {
"active": true,
"anonymousBlockingEnabled": false,
"cacheurl": null,
"ccrDnsTtl": null,
"cdnId": 2,
"cdnName": "CDN-in-a-Box",
"checkPath": null,
"displayName": "Demo 1",
"dnsBypassCname": null,
"dnsBypassIp": null,
"dnsBypassIp6": null,
"dnsBypassTtl": null,
"dscp": 0,
"edgeHeaderRewrite": null,
"firstHeaderRewrite": null,
"geoLimit": 0,
"geoLimitCountries": null,
"geoLimitRedirectURL": null,
"geoProvider": 0,
"globalMaxMbps": null,
"globalMaxTps": null,
"httpBypassFqdn": null,
"id": 1,
"infoUrl": null,
"initialDispersion": 1,
"innerHeaderRewrite": null,
"ipv6RoutingEnabled": true,
"lastHeaderRewrite": null,
"lastUpdated": "2020-02-13T16:43:54Z",
"logsEnabled": true,
"longDesc": "Apachecon North America 2018",
"matchList": [
{
"type": "HOST_REGEXP",
"setNumber": 0,
"pattern": ".*\\.demo1\\..*"
}
],
"maxDnsAnswers": null,
"midHeaderRewrite": null,
"missLat": 42,
"missLong": -88,
"multiSiteOrigin": false,
"originShield": null,
"orgServerFqdn": "http://origin.infra.ciab.test",
"profileDescription": null,
"profileId": null,
"profileName": null,
"protocol": 2,
"qstringIgnore": 0,
"rangeRequestHandling": 0,
"regexRemap": null,
"regional": false,
"regionalGeoBlocking": false,
"remapText": null,
"requiredCapabilities": [],
"routingName": "video",
"signed": false,
"sslKeyVersion": 1,
"tenantId": 1,
"type": "HTTP",
"typeId": 1,
"xmlId": "demo1",
"exampleURLs": [
"http://video.demo1.mycdn.ciab.test",
"https://video.demo1.mycdn.ciab.test"
],
"deepCachingType": "NEVER",
"fqPacingRate": null,
"signingAlgorithm": null,
"tenant": "root",
"topology": null,
"trResponseHeaders": null,
"trRequestHeaders": null,
"consistentHashRegex": null,
"consistentHashQueryParams": [
"abc",
"pdq",
"xxx",
"zyx"
],
"maxOriginConnections": 0,
"ecsEnabled": false,
"serviceCategory": null,
"tlsVersions": null
},
"status": "draft"
}
}
PUT
Updates an existing Delivery Service Request. Note that “closed” Delivery Service Requests are uneditable.
See also
The proper way to change a Delivery Service Request’s Status is by using the deliveryservice_requests/{{ID}}/status endpoint’s PUT
handler.
- Auth. Required:
Yes
- Roles Required:
“admin”, “Federation”, “operations”, “Portal”, or “Steering”
- Permissions Required:
DS-REQUEST:UPDATE, DELIVERY-SERVICE:READ, USER:READ
- Response Type:
Object
Request Structure
Name |
Required |
Description |
---|---|---|
id |
yes |
The integral, unique identifier of the Delivery Service Request that you want to update. |
The request body must be a representation of a Delivery Service Request without any response-only fields.
PUT /api/4.1/deliveryservice_requests?id=1 HTTP/1.1
User-Agent: python-requests/2.22.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
Cookie: mojolicious=...
Content-Length: 2256
{
"changeType": "update",
"requested": {
"active": true,
"cdnId": 2,
"ccrDnsTtl": 30,
"deepCachingType": "NEVER",
"displayName": "Demo 1 but I modified the DSR",
"dscp": 0,
"geoLimit": 0,
"geoProvider": 0,
"initialDispersion": 3,
"logsEnabled": false,
"longDesc": "long desc",
"regional": false,
"regionalGeoBlocking": false,
"tenantId": 1,
"typeId": 8,
"xmlId": "demo1",
"id": 1
},
"status": "draft"
}
Response Structure
The response is a full representation of the edited Delivery Service Request.
HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Set-Cookie, Cookie
Access-Control-Allow-Methods: POST,GET,OPTIONS,PUT,DELETE
Access-Control-Allow-Origin: *
Content-Encoding: gzip
Content-Type: application/json
Set-Cookie: mojolicious=...; Path=/; Expires=Mon, 24 Feb 2020 20:36:16 GMT; Max-Age=3600; HttpOnly
Whole-Content-Sha512: +W0vFm96yFkZUJqa0GAX7uzIpRKh/ohyBm0uH3egpiERTcxy5OfVVtoP3h8Ee2teLu8KFooDYXJ6rpQg6UhbNQ==
X-Server-Name: traffic_ops_golang/
Date: Mon, 24 Feb 2020 19:36:16 GMT
Content-Length: 913
{ "alerts": [{
"text": "Delivery Service Request #2 updated",
"level": "success"
}],
"response": {
"assignee": null,
"author": "",
"changeType": "update",
"createdAt": "2020-09-25T06:23:30.683058Z",
"id": null,
"lastEditedBy": "admin",
"lastUpdated": "2020-09-25T02:38:04.180237Z",
"original": {
"active": true,
"anonymousBlockingEnabled": false,
"cacheurl": null,
"ccrDnsTtl": null,
"cdnId": 2,
"cdnName": "CDN-in-a-Box",
"checkPath": null,
"displayName": "Demo 1",
"dnsBypassCname": null,
"dnsBypassIp": null,
"dnsBypassIp6": null,
"dnsBypassTtl": null,
"dscp": 0,
"edgeHeaderRewrite": null,
"geoLimit": 0,
"geoLimitCountries": null,
"geoLimitRedirectURL": null,
"geoProvider": 0,
"globalMaxMbps": null,
"globalMaxTps": null,
"httpBypassFqdn": null,
"id": 1,
"infoUrl": null,
"initialDispersion": 1,
"ipv6RoutingEnabled": true,
"lastUpdated": "2020-09-25T02:09:54Z",
"logsEnabled": true,
"longDesc": "Apachecon North America 2018",
"matchList": [
{
"type": "HOST_REGEXP",
"setNumber": 0,
"pattern": ".*\\.demo1\\..*"
}
],
"maxDnsAnswers": null,
"midHeaderRewrite": null,
"missLat": 42,
"missLong": -88,
"multiSiteOrigin": false,
"originShield": null,
"orgServerFqdn": "http://origin.infra.ciab.test",
"profileDescription": null,
"profileId": null,
"profileName": null,
"protocol": 2,
"qstringIgnore": 0,
"rangeRequestHandling": 0,
"regexRemap": null,
"regional": false,
"regionalGeoBlocking": false,
"remapText": null,
"requiredCapabilities": [],
"routingName": "video",
"signed": false,
"sslKeyVersion": 1,
"tenantId": 1,
"type": "HTTP",
"typeId": 1,
"xmlId": "demo1",
"exampleURLs": [
"http://video.demo1.mycdn.ciab.test",
"https://video.demo1.mycdn.ciab.test"
],
"deepCachingType": "NEVER",
"fqPacingRate": null,
"signingAlgorithm": null,
"tenant": "root",
"trResponseHeaders": null,
"trRequestHeaders": null,
"consistentHashRegex": null,
"consistentHashQueryParams": [
"abc",
"pdq",
"xxx",
"zyx"
],
"maxOriginConnections": 0,
"ecsEnabled": false,
"rangeSliceBlockSize": null,
"topology": "demo1-top",
"firstHeaderRewrite": null,
"innerHeaderRewrite": null,
"lastHeaderRewrite": null,
"serviceCategory": null,
"tlsVersions": null
},
"requested": {
"active": true,
"anonymousBlockingEnabled": false,
"cacheurl": null,
"ccrDnsTtl": 30,
"cdnId": 2,
"cdnName": null,
"checkPath": null,
"displayName": "Demo 1 but I modified the DSR",
"dnsBypassCname": null,
"dnsBypassIp": null,
"dnsBypassIp6": null,
"dnsBypassTtl": null,
"dscp": 0,
"edgeHeaderRewrite": null,
"geoLimit": 0,
"geoLimitCountries": null,
"geoLimitRedirectURL": null,
"geoProvider": 0,
"globalMaxMbps": null,
"globalMaxTps": null,
"httpBypassFqdn": null,
"id": 1,
"infoUrl": null,
"initialDispersion": 3,
"ipv6RoutingEnabled": null,
"lastUpdated": null,
"logsEnabled": false,
"longDesc": "long desc",
"matchList": null,
"maxDnsAnswers": null,
"midHeaderRewrite": null,
"missLat": null,
"missLong": null,
"multiSiteOrigin": null,
"originShield": null,
"orgServerFqdn": null,
"profileDescription": null,
"profileId": null,
"profileName": null,
"protocol": null,
"qstringIgnore": null,
"rangeRequestHandling": null,
"regexRemap": null,
"regional": false,
"regionalGeoBlocking": false,
"remapText": null,
"requiredCapabilities": [],
"routingName": "cdn",
"signed": false,
"sslKeyVersion": null,
"tenantId": 1,
"type": null,
"typeId": 8,
"xmlId": "demo1",
"exampleURLs": null,
"deepCachingType": "NEVER",
"fqPacingRate": null,
"signingAlgorithm": null,
"tenant": null,
"trResponseHeaders": null,
"trRequestHeaders": null,
"consistentHashRegex": null,
"consistentHashQueryParams": null,
"maxOriginConnections": 0,
"ecsEnabled": false,
"rangeSliceBlockSize": null,
"topology": null,
"firstHeaderRewrite": null,
"innerHeaderRewrite": null,
"lastHeaderRewrite": null,
"serviceCategory": null,
"tlsVersions": null
},
"status": "draft"
}}
DELETE
Deletes a Delivery Service Request.
- Auth. Required:
Yes
- Roles Required:
“admin”, “Federation”, “operations”, “Portal”, or “Steering”
- Permissions Required:
DS-REQUEST:DELETE, DELIVERY-SERVICE:READ, USER:READ
- Response Type:
Object
Request Structure
Name |
Required |
Description |
---|---|---|
id |
yes |
The integral, unique identifier of the Delivery Service Request that you want to delete. |
DELETE /api/4.1/deliveryservice_requests?id=1 HTTP/1.1
User-Agent: python-requests/2.22.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
Cookie: mojolicious=...
Content-Length: 0
Response Structure
The response is a full representation of the deleted Delivery Service Request.
HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Set-Cookie, Cookie
Access-Control-Allow-Methods: POST,GET,OPTIONS,PUT,DELETE
Access-Control-Allow-Origin: *
Content-Encoding: gzip
Content-Type: application/json
Set-Cookie: mojolicious=...; Path=/; Expires=Mon, 24 Feb 2020 20:48:55 GMT; Max-Age=3600; HttpOnly
Whole-Content-Sha512: jNCbNo8Tw+JMMaWpAYQgntSXPq2Xuj+n2zSEVRaDQFWMV1SYbT9djes6SPdwiBoKq6W0lNE04hOE92jBVcjtEw==
X-Server-Name: traffic_ops_golang/
Date: Mon, 24 Feb 2020 19:48:55 GMT
Content-Length: 96
{
"alerts": [
{
"text": "deliveryservice_request was deleted.",
"level": "success"
}
]
}