trafficcontrol-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mitchell...@apache.org
Subject [trafficcontrol] branch master updated: Cleaned up API endpoint documentation to point to DS overview (#3674)
Date Tue, 16 Jul 2019 20:42:06 GMT
This is an automated email from the ASF dual-hosted git repository.

mitchell852 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git


The following commit(s) were added to refs/heads/master by this push:
     new 43d0d07  Cleaned up API endpoint documentation to point to DS overview (#3674)
43d0d07 is described below

commit 43d0d072752ae800c6c75afe1a9c0ad766ec96c7
Author: ocket8888 <ocket8888@gmail.com>
AuthorDate: Tue Jul 16 15:42:00 2019 -0500

    Cleaned up API endpoint documentation to point to DS overview (#3674)
---
 docs/source/api/deliveryservices.rst               | 641 ++++++++-------------
 .../api/deliveryservices_hostname_name_sslkeys.rst |  12 +-
 docs/source/api/deliveryservices_id.rst            | 628 +++++++++-----------
 docs/source/api/deliveryservices_id_capacity.rst   |   8 +-
 docs/source/api/deliveryservices_id_health.rst     |  14 +-
 docs/source/api/deliveryservices_id_regexes.rst    |   9 +-
 .../source/api/deliveryservices_id_regexes_rid.rst |  11 +-
 docs/source/api/deliveryservices_id_routing.rst    |   8 +-
 docs/source/api/deliveryservices_id_safe.rst       | 405 ++++++-------
 docs/source/api/deliveryservices_sslkeys_add.rst   |   2 +-
 .../api/deliveryservices_sslkeys_generate.rst      |   4 +-
 docs/source/api/deliveryservices_xmlid_servers.rst |  12 +-
 .../api/deliveryservices_xmlid_urisignkeys.rst     | 275 ++++-----
 docs/source/api/servers_id_deliveryservices.rst    | 364 ++++++------
 .../api/user_id_deliveryservices_available.rst     |  10 +-
 docs/source/api/users_id_deliveryservices.rst      | 260 ++++-----
 docs/source/overview/delivery_services.rst         | 131 +++++
 17 files changed, 1258 insertions(+), 1536 deletions(-)

diff --git a/docs/source/api/deliveryservices.rst b/docs/source/api/deliveryservices.rst
index 4dfa8e2..c1e589b 100644
--- a/docs/source/api/deliveryservices.rst
+++ b/docs/source/api/deliveryservices.rst
@@ -21,183 +21,132 @@
 
 ``GET``
 =======
-Retrieves all :term:`Delivery Services`
+Retrieves :term:`Delivery Services`
 
 :Auth. Required: Yes
-:Roles Required: None\ [1]_
+:Roles Required: None\ [#tenancy]_
 :Response Type:  Array
 
 Request Structure
 -----------------
 .. table:: Request Query Parameters
 
-	+-------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------+
-	| Name        | Required | Description                                                                                                                                    |
-	+=============+==========+================================================================================================================================================+
-	| cdn         | no       | Show only the :term:`Delivery Service`\ s belonging to the CDN identified by this integral, unique identifier                                  |
-	+-------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------+
-	| id          | no       | Show only the :term:`Delivery Service` that has this integral, unique identifier                                                               |
-	+-------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------+
-	| logsEnabled | no       | If true, return only :term:`Delivery Service`\ s with logging enabled, otherwise return only :term:`Delivery Service`\ s with logging disabled |
-	+-------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------+
-	| profile     | no       | Return only :term:`Delivery Service`\ s using the :term:`Profile` identified by this integral, unique identifier                               |
-	+-------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------+
-	| tenant      | no       | Show only the :term:`Delivery Service`\ s belonging to the :term:`Tenant` identified by this integral, unique identifier                       |
-	+-------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------+
-	| type        | no       | Return only :term:`Delivery Service`\ s of the :term:`Delivery Service` type identified by this integral, unique identifier                    |
-	+-------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------+
+	+-------------+----------+-------------------------------------------------------------------------------------------------------------------------------------+
+	| Name        | Required | Description                                                                                                                         |
+	+=============+==========+=====================================================================================================================================+
+	| cdn         | no       | Show only the :term:`Delivery Services` belonging to the :ref:`ds-cdn` identified by this integral, unique identifier               |
+	+-------------+----------+-------------------------------------------------------------------------------------------------------------------------------------+
+	| id          | no       | Show only the :term:`Delivery Service` that has this integral, unique identifier                                                    |
+	+-------------+----------+-------------------------------------------------------------------------------------------------------------------------------------+
+	| logsEnabled | no       | Show only the :term:`Delivery Services` that have :ref:`ds-logs-enabled` set or not based on this boolean                           |
+	+-------------+----------+-------------------------------------------------------------------------------------------------------------------------------------+
+	| profile     | no       | Return only :term:`Delivery Services` using the :term:`Profile` identified by this integral, unique identifier                      |
+	+-------------+----------+-------------------------------------------------------------------------------------------------------------------------------------+
+	| tenant      | no       | Show only the :term:`Delivery Services` belonging to the :term:`Tenant` identified by this integral, unique identifier              |
+	+-------------+----------+-------------------------------------------------------------------------------------------------------------------------------------+
+	| type        | no       | Return only :term:`Delivery Services` of the :ref:`Delivery Service Type <ds-types>` identified by this integral, unique identifier |
+	+-------------+----------+-------------------------------------------------------------------------------------------------------------------------------------+
 
 Response Structure
 ------------------
-:active:                   ``true`` if the :term:`Delivery Service` is active, ``false`` otherwise
-:anonymousBlockingEnabled: ``true`` if :ref:`Anonymous Blocking <anonymous_blocking-qht>` has been configured for the :term:`Delivery Service`, ``false`` otherwise
-:cacheurl:                 A setting for a deprecated feature of now-unsupported Trafficserver versions
+:active:                   A boolean that defines :ref:`ds-active`.
+:anonymousBlockingEnabled: A boolean that defines :ref:`ds-anonymous-blocking`
+:cacheurl:                 A :ref:`ds-cacheurl`
 
 	.. deprecated:: ATCv3.0
 		This field has been deprecated in Traffic Control 3.x and is subject to removal in Traffic Control 4.x or later
 
-:ccrDnsTtl:           The Time To Live (TTL) of the DNS response for A or AAAA record queries requesting the IP address of the Traffic Router - named "ccrDnsTtl" for legacy reasons
-:cdnId:               The integral, unique identifier of the CDN to which the :term:`Delivery Service` belongs
-:cdnName:             Name of the CDN to which the :term:`Delivery Service` belongs
-:checkPath:           The path portion of the URL to check connections to this :term:`Delivery Service`'s origin server
-:consistentHashRegex: If defined, this is a regular expression used for the Pattern-Based Consistent Hashing feature.\ [#httpOnly]_
+:ccrDnsTtl:           The :ref:`ds-dns-ttl` - named "ccrDnsTtl" for legacy reasons
+:cdnId:               The integral, unique identifier of the :ref:`ds-cdn` to which the :term:`Delivery Service` belongs
+:cdnName:             Name of the :ref:`ds-cdn` to which the :term:`Delivery Service` belongs
+:checkPath:           A :ref:`ds-check-path`
+:consistentHashRegex: A :ref:`ds-consistent-hashing-regex`
 
 	.. versionadded:: 1.4
 
-:consistentHashQueryParams: A set (actually array due to limitations of JSON) of query parameters which will be considered by Traffic Router when using a client request to consistently find an :term:`Edge-tier cache server` to which to redirect them.\ [#httpOnly]_
+:consistentHashQueryParams: An array of :ref:`ds-consistent-hashing-qparams`
 
 	.. versionadded:: 1.4
 
-:displayName:       The display name of the :term:`Delivery Service`
-:dnsBypassCname:    Domain name to overflow requests for HTTP :term:`Delivery Service`\ s - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`\ [4]_
-:dnsBypassIp:       The IPv4 IP to use for bypass on a DNS :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`\ [4]_
-:dnsBypassIp6:      The IPv6 IP to use for bypass on a DNS :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`\ [4]_
-:dnsBypassTtl:      The time for which a DNS bypass of this :term:`Delivery Service`\ shall remain active\ [4]_
-:dscp:              The Differentiated Services Code Point (DSCP) with which to mark traffic as it leaves the CDN and reaches clients
-:edgeHeaderRewrite: Rewrite operations to be performed on TCP headers at the Edge-tier cache level - used by the Header Rewrite Apache Trafficserver plugin
-:fqPacingRate:      The Fair-Queuing Pacing Rate in Bytes per second set on the all TCP connection sockets in the :term:`Delivery Service` (see ``man tc-fc_codel`` for more information) - Linux only
-:geoLimit:          The setting that determines how content is geographically limited - this is an integer on the interval [0-2] where the values have these meanings:
-
-	0
-		None - no limitations
-	1
-		Only route when the client's IP is found in the Coverage Zone File (CZF)
-	2
-		Only route when the client's IP is found in the CZF, or when the client can be determined to be from the United States of America
-
-	.. warning:: This does not prevent access to content or make content secure; it merely prevents routing to the content through Traffic Router
-
-:geoLimitCountries:   A string containing a comma-separated list of country codes (e.g. "US,AU") which are allowed to request content through this :term:`Delivery Service`
-:geoLimitRedirectUrl: A URL to which clients blocked by :ref:`Regional Geographic Blocking <regionalgeo-qht>` or the ``geoLimit`` settings will be re-directed
-:geoProvider:         An integer that represents the provider of a database for mapping IPs to geographic locations; currently only the following values are supported:
-
-	0
-		The "Maxmind" GeoIP2 database (default)
-	1
-		Neustar
-
-:globalMaxMbps:       The maximum global bandwidth allowed on this :term:`Delivery Service`. If exceeded, traffic will be routed to ``dnsBypassIp`` (or ``dnsBypassIp6`` for IPv6 traffic) for DNS :term:`Delivery Service`\ s and to ``httpBypassFqdn`` for HTTP :term:`Delivery Service`\ s
-:globalMaxTps:        The maximum global transactions per second allowed on this :term:`Delivery Service`. When this is exceeded traffic will be sent to the ``dnsBypassIp`` (and/or ``dnsBypassIp6``) for DNS :term:`Delivery Service`\ s and to the httpBypassFqdn for HTTP :term:`Delivery Service`\ s
-:httpBypassFqdn:      The HTTP destination to use for bypass on an HTTP :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`
+:deepCachingType:     The :ref:`ds-deep-caching` setting for this :term:`Delivery Service`
+
+	.. versionadded:: 1.3
+
+:displayName:       The :ref:`ds-display-name`
+:dnsBypassCname:    A :ref:`ds-dns-bypass-cname`
+:dnsBypassIp:       A :ref:`ds-dns-bypass-ip`
+:dnsBypassIp6:      A :ref:`ds-dns-bypass-ipv6`
+:dnsBypassTtl:      The :ref:`ds-dns-bypass-ttl`
+:dscp:              A :ref:`ds-dscp` to be used within the :term:`Delivery Service`
+:edgeHeaderRewrite: A set of :ref:`ds-edge-header-rw-rules`
+:exampleURLs:       An array of :ref:`ds-example-urls`
+:fqPacingRate:      The :ref:`ds-fqpr`
+
+	.. versionadded:: 1.3
+
+:geoLimit:            An integer that defines the :ref:`ds-geo-limit`
+:geoLimitCountries:   A string containing a comma-separated list defining the :ref:`ds-geo-limit-countries`
+:geoLimitRedirectUrl: A :ref:`ds-geo-limit-redirect-url`
+:geoProvider:         The :ref:`ds-geo-provider`
+:globalMaxMbps:       The :ref:`ds-global-max-mbps`
+:globalMaxTps:        The :ref:`ds-global-max-tps`
+:httpBypassFqdn:      A :ref:`ds-http-bypass-fqdn`
 :id:                  An integral, unique identifier for this :term:`Delivery Service`
-:infoUrl:             This is a string which is expected to contain at least one URL pointing to more information about the :term:`Delivery Service`. Historically, this has been used to link relevant JIRA tickets
-:initialDispersion:  The number of caches between which traffic requesting the same object will be randomly split - meaning that if 4 clients all request the same object (one after another), then if this is above 4 there is a possibility that all 4 are cache misses. For most use-cases, this should be 1\ [#httpOnly]_
-:ipv6RoutingEnabled: If ``true``, clients that connect to Traffic Router using IPv6 will be given the IPv6 address of a suitable Edge-tier cache; if ``false`` all addresses will be IPv4, regardless of the client connection
-:lastUpdated:        The date and time at which this :term:`Delivery Service` was last updated, in a ``ctime``-like format
-:logsEnabled:        If ``true``, logging is enabled for this :term:`Delivery Service`, otherwise it is disabled
-:longDesc:           A description of the :term:`Delivery Service`
-:longDesc1:          A field used when more detailed information that that provided by ``longDesc`` is desired
-:longDesc2:          A field used when even more detailed information that that provided by either ``longDesc`` or ``longDesc1`` is desired
-:matchList:          An array of methods used by Traffic Router to determine whether or not a request can be serviced by this :term:`Delivery Service`
+:infoUrl:             An :ref:`ds-info-url`
+:initialDispersion:  The :ref:`ds-initial-dispersion`
+:ipv6RoutingEnabled: A boolean that defines the :ref:`ds-ipv6-routing` setting on this :term:`Delivery Service`
+:lastUpdated:        The date and time at which this :term:`Delivery Service` was last updated, in :rfc:`3339` format
+:logsEnabled:        A boolean that defines the :ref:`ds-logs-enabled` setting on this :term:`Delivery Service`
+:longDesc:           The :ref:`ds-longdesc` of this :term:`Delivery Service`
+:longDesc1:          The :ref:`ds-longdesc2` of this :term:`Delivery Service`
+:longDesc2:          The :ref:`ds-longdesc3` of this :term:`Delivery Service`
+:matchList:          The :term:`Delivery Service`'s :ref:`ds-matchlist`
 
 	:pattern:   A regular expression - the use of this pattern is dependent on the ``type`` field (backslashes are escaped)
-	:setNumber: An integral, unique identifier for the set of types to which the ``type`` field belongs
-	:type:      The type of match performed using ``pattern`` to determine whether or not to use this :term:`Delivery Service`
+	:setNumber: An integer that provides explicit ordering of :ref:`ds-matchlist` items - this is used as a priority ranking by Traffic Router, and is not guaranteed to correspond to the ordering of items in the array.
+	:type:      The type of match performed using ``pattern``.
 
-		HOST_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches the ``Host:`` HTTP header of an HTTP request, or the name requested for resolution in a DNS request
-		HEADER_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches an HTTP header (both the name and value) in an HTTP request\ [#httpOnly]_
-		PATH_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches the request path of this :term:`Delivery Service`'s URL\ [#httpOnly]_
-		STEERING_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches the ``xml_id`` of one of this :term:`Delivery Service`'s "Steering" target :term:`Delivery Service`
-
-:maxDnsAnswers:    The maximum number of IPs to put in responses to A/AAAA DNS record requests (0 means all available)\ [4]_
-:maxOriginConnections:      The maximum number of connections allowed to the origin (0 means no maximum).
+:maxDnsAnswers:        The :ref:`ds-max-dns-answers` allowed for this :term:`Delivery Service`
+:maxOriginConnections: The :ref:`ds-max-origin-connections`
 
 	.. versionadded:: 1.4
 
-:midHeaderRewrite: Rewrite operations to be performed on TCP headers at the Edge-tier cache level - used by the Header Rewrite Apache Trafficserver plugin
-:missLat:          The latitude to use when the client cannot be found in the CZF or a geographic IP lookup
-:missLong:         The longitude to use when the client cannot be found in the CZF or a geographic IP lookup
-:multiSiteOrigin:  ``true`` if the Multi Site Origin feature is enabled for this :term:`Delivery Service`, ``false`` otherwise\ [3]_
-:orgServerFqdn:    The URL of the :term:`Delivery Service`'s origin server for use in retrieving content from the origin server
-
-	.. note:: Despite the field name, this must truly be a full URL - including the protocol (e.g. ``http://`` or ``https://``) - **NOT** merely the server's Fully Qualified Domain Name (FQDN)
-
-:originShield:       An "origin shield" is a forward proxy that sits between Mid-tier caches and the origin and performs further caching beyond what's offered by a standard CDN. This field is a string of FQDNs to use as origin shields, delimited by ``|``
-:profileDescription: The description of the Traffic Router Profile with which this :term:`Delivery Service` is associated
-:profileId:          The integral, unique identifier for the Traffic Router profile with which this :term:`Delivery Service` is associated
-:profileName:        The name of the Traffic Router Profile with which this :term:`Delivery Service` is associated
-:protocol:           The protocol which clients will use to communicate with Edge-tier :term:`cache server` s\ [#httpOnly]_ - this is an integer on the interval [0-2] where the values have these meanings:
-
-	0
-		HTTP
-	1
-		HTTPS
-	2
-		Both HTTP and HTTPS
-
-:qstringIgnore: Tells caches whether or not to consider URLs with different query parameter strings to be distinct - this is an integer on the interval [0-2] where the values have these meanings:
-
-	0
-		URLs with different query parameter strings will be considered distinct for caching purposes, and query strings will be passed upstream to the origin
-	1
-		URLs with different query parameter strings will be considered identical for caching purposes, and query strings will be passed upstream to the origin
-	2
-		Query strings are stripped out by Edge-tier caches, and thus are neither taken into consideration for caching purposes, nor passed upstream in requests to the origin
-
-:rangeRequestHandling: Tells caches how to handle range requests\ [7]_ - this is an integer on the interval [0,2] where the values have these meanings:
-
-	0
-		Range requests will not be cached, but range requests that request ranges of content already cached will be served from the cache
-	1
-		Use the `background_fetch plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/background_fetch.en.html>`_ to service the range request while caching the whole object
-	2
-		Use the `experimental cache_range_requests plugin <https://github.com/apache/trafficserver/tree/master/plugins/experimental/cache_range_requests>`_ to treat unique ranges as unique objects
-
-:regexRemap: A regular expression remap rule to apply to this :term:`Delivery Service` at the Edge tier
+:midHeaderRewrite:     A set of :ref:`ds-mid-header-rw-rules`
+:missLat:              The :ref:`ds-geo-miss-default-latitude` used by this :term:`Delivery Service`
+:missLong:             The :ref:`ds-geo-miss-default-longitude` used by this :term:`Delivery Service`
+:multiSiteOrigin:      A boolean that defines the use of :ref:`ds-multi-site-origin` by this :term:`Delivery Service`
+:orgServerFqdn:        The :ref:`ds-origin-url`
+:originShield:         A :ref:`ds-origin-shield` string
+:profileDescription:   The description of the :term:`Delivery Service`'s :ref:`ds-profile`, if any
+:profileId:            The integral, unique identifier for :ref:`ds-profile` with which this :term:`Delivery Service` is associated, if any
+:profileName:          The name of the :ref:`ds-profile` with which this :term:`Delivery Service` is associated, if any
+:protocol:             An integral, unique identifier that corresponds to the :ref:`ds-protocol` used by this :term:`Delivery Service`
+:qstringIgnore:        An integral, unique identifier that corresponds to the :ref:`ds-qstring-handling` setting on this :term:`Delivery Service`
+:rangeRequestHandling: An integral, unique identifier that corresponds to the :ref:`ds-range-request-handling` setting on this :term:`Delivery Service`
+:regexRemap:           A :ref:`ds-regex-remap`
+:regionalGeoBlocking:  A boolean defining the :ref:`ds-regionalgeo` setting on this :term:`Delivery Service`
+:remapText:            :ref:`ds-raw-remap`
+:signed:               ``true`` if  and only if ``signingAlgorithm`` is not ``null``, ``false`` otherwise
+:signingAlgorithm:     Either a :ref:`ds-signing-algorithm` or ``null`` to indicate URL/URI signing is not implemented on this :term:`Delivery Service`
 
-	.. seealso:: `The Apache Trafficserver documentation for the Regex Remap plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_remap.en.html>`_
+	.. versionadded:: 1.3
 
-:regionalGeoBlocking: ``true`` if Regional Geo Blocking is in use within this :term:`Delivery Service`, ``false`` otherwise - see :ref:`regionalgeo-qht` for more information
-:remapText:           Additional, raw text to add to the remap line for caches
+:sslKeyVersion: This integer indicates the :ref:`ds-ssl-key-version`
+:tenantId:      The integral, unique identifier of the :ref:`ds-tenant` who owns this :term:`Delivery Service`
 
-	.. seealso:: `The Apache Trafficserver documentation for the Regex Remap plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_remap.en.html>`_
+	.. versionadded:: 1.3
 
-:signed:           ``true`` if token-based authentication is enabled for this :term:`Delivery Service`, ``false`` otherwise
-:signingAlgorithm: Type of URL signing method to sign the URLs, basically comes down to one of two plugins or ``null``:
+:trRequestHeaders: If defined, this defines the :ref:`ds-tr-req-headers` used by Traffic Router for this :term:`Delivery Service`
 
-	``null``
-		Token-based authentication is not enabled for this :term:`Delivery Service`
-	url_sig:
-		URL Signing token-based authentication is enabled for this :term:`Delivery Service`
-	uri_signing
-		URI Signing token-based authentication is enabled for this :term:`Delivery Service`
+	.. versionadded:: 1.3
 
-	.. seealso:: `The Apache Trafficserver documentation for the url_sig plugin <https://docs.trafficserver.apache.org/en/8.0.x/admin-guide/plugins/url_sig.en.html>`_ and `the draft RFC for uri_signing <https://tools.ietf.org/html/draft-ietf-cdni-uri-signing-16>`_ - note, however that the current implementation of uri_signing uses Draft 12 of that RFC document, **NOT** the latest
+:trResponseHeaders: If defined, this defines the :ref:`ds-tr-resp-headers` used by Traffic Router for this :term:`Delivery Service`
 
-:sslKeyVersion: This integer indicates the generation of keys in use by the :term:`Delivery Service` - if any - and is incremented by the Traffic Portal client whenever new keys are generated
+	.. versionadded:: 1.3
 
-	.. warning:: This number will not be correct if keys are manually replaced using the API, as the key generation API does not increment it!
-
-:tenantId:            The integral, unique identifier of the tenant who owns this :term:`Delivery Service`
-:trRequestHeaders:    If defined, this takes the form of a string of HTTP headers to be included in Traffic Router access logs for requests - it's a template where ``__RETURN__`` translates to a carriage return and line feed (``\r\n``)\ [#httpOnly]_
-:trResponseHeaders:   If defined, this takes the form of a string of HTTP headers to be included in Traffic Router responses - it's a template where ``__RETURN__`` translates to a carriage return and line feed (``\r\n``)\ [#httpOnly]_
-:type:                The name of the routing type of this :term:`Delivery Service` e.g. "HTTP"
-:typeId:              The integral, unique identifier of the routing type of this :term:`Delivery Service`
-:xmlId:               A unique string that describes this :term:`Delivery Service` - exists for legacy reasons
+:type:   The :ref:`ds-types` of this :term:`Delivery Service`
+:typeId: The integral, unique identifier of the :ref:`ds-types` of this :term:`Delivery Service`
+:xmlId:  This :term:`Delivery Service`'s :ref:`ds-xmlid`
 
 .. code-block:: http
 	:caption: Response Example
@@ -295,160 +244,110 @@ Response Structure
 		"maxOriginConnections": 0
 	}]}
 
-.. [1] Users with the roles "admin" and/or "operations" will be able to see *all* :term:`Delivery Services`, whereas any other user will only see the :term:`Delivery Services` their Tenant is allowed to see.
-.. [#httpOnly] This only applies to HTTP-:ref:`routed <ds-types>` :term:`Delivery Services`
-.. [3] See :ref:`ds-multi-site-origin`
-.. [4] This only applies to DNS-routed :term:`Delivery Services`
 
 ``POST``
 ========
 Allows users to create :term:`Delivery Service`.
 
 :Auth. Required: Yes
-:Roles Required: "admin" or "operations"
+:Roles Required: "admin" or "operations"\ [#tenancy]_
 :Response Type:  Array
 
 Request Structure
 -----------------
-:active:                   If ``true``, the :term:`Delivery Service` will immediately become active and serves traffic
-:anonymousBlockingEnabled: An optional field which, if defined and ``true`` will cause :ref:`Anonymous Blocking <anonymous_blocking-qht>` to be used with the new :term:`Delivery Service`
-:cacheurl:                 An optional setting for a deprecated feature of now-unsupported Trafficserver versions (read: "Don't use this")
+:active:                   A boolean that defines :ref:`ds-active`.
+:anonymousBlockingEnabled: A boolean that defines :ref:`ds-anonymous-blocking`
+:cacheurl:                 A :ref:`ds-cacheurl`
 
 	.. deprecated:: ATCv3.0
 		This field has been deprecated in Traffic Control 3.x and is subject to removal in Traffic Control 4.x or later
 
-:ccrDnsTtl:           The Time To Live (TTL) in seconds of the DNS response for A or AAAA record queries requesting the IP address of the Traffic Router - named "ccrDnsTtl" for legacy reasons
-:cdnId:               The integral, unique identifier for the CDN to which this :term:`Delivery Service`\ shall be assigned
-:checkPath:           The path portion of the URL which will be used to check connections to this :term:`Delivery Service`'s origin server
-:consistentHashRegex: If defined, this is a regular expression used for the Pattern-Based Consistent Hashing feature. It is only applicable for HTTP and Steering Delivery Services
+:ccrDnsTtl:           The :ref:`ds-dns-ttl` - named "ccrDnsTtl" for legacy reasons
+:cdnId:               The integral, unique identifier of the :ref:`ds-cdn` to which the :term:`Delivery Service` belongs
+:checkPath:           A :ref:`ds-check-path`
+:consistentHashRegex: A :ref:`ds-consistent-hashing-regex`
 
 	.. versionadded:: 1.4
 
-:consistentHashQueryParams: If defined, this is a set (encoded as an array, but duplicates are **not** allowed and order is not preserved) of query parameters which will be considered by Traffic Router when using a client request to consistently find an :term:`Edge-tier cache server` to which to redirect them.\ [#httpOnly]_
+:consistentHashQueryParams: An array of :ref:`ds-consistent-hashing-qparams`
 
 	.. versionadded:: 1.4
 
-:deepCachingType: A string describing when to do Deep Caching for this :term:`Delivery Service`:
-
-	NEVER
-		Deep Caching will never be used by this :term:`Delivery Service` (default)
-	ALWAYS
-		Deep Caching will always be used by this :term:`Delivery Service`
-
-:displayName:       The human-friendly name for this :term:`Delivery Service`
-:dnsBypassCname:    Domain name to overflow requests for HTTP :term:`Delivery Service`\ s - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`
-:dnsBypassIp:       The IPv4 IP to use for bypass on a DNS :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`
-:dnsBypassIp6:      The IPv6 IP to use for bypass on a DNS :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`
-:dnsBypassTtl:      The time for which a DNS bypass of this :term:`Delivery Service`\ shall remain active
-:dscp:              The Differentiated Services Code Point (DSCP) with which to mark downstream (EDGE -> customer) traffic. This should be zero in most cases
-:edgeHeaderRewrite: An optional string which, if present, defines rewrite operations to be performed on TCP headers at the Edge-tier cache level - used by the Header Rewrite Apache Trafficserver plugin
-:fqPacingRate:      An optional integer which, if present, sets the Fair-Queuing Pacing Rate in bytes per second set on the all TCP connection sockets in the :term:`Delivery Service` (see ``man tc-fc_codel`` for more information) - Linux only, defaults to 0 meaning "disabled"
-:geoLimit:          The setting that determines how content is geographically limited - this is an integer on the interval [0-2] where the values have these meanings:
-
-	0
-		None - no limitations
-	1
-		Only route when the client's IP is found in the Coverage Zone File (CZF)
-	2
-		Only route when the client's IP is found in the CZF, or when the client can be determined to be from the United States of America
-
-	.. warning:: This does not prevent access to content or make content secure; it merely prevents routing to the content through Traffic Router
-
-:geoLimitCountries:   A string containing a comma-separated list of country codes (e.g. "US,AU") which are allowed to request content through this :term:`Delivery Service`\ [5]_
-:geoLimitRedirectUrl: A URL to which clients blocked by :ref:`Regional Geographic Blocking <regionalgeo-qht>` or the ``geoLimit`` settings will be re-directed\ [5]_
-:geoProvider:         An integer that represents the provider of a database for mapping IPs to geographic locations; currently only the following values are supported:
-
-	0
-		The "Maxmind" GeoIP2 database (default)
-	1
-		Neustar
-
-:globalMaxMbps:      An optional integer that will set the maximum global bandwidth allowed on this :term:`Delivery Service`. If exceeded, traffic will be routed to ``dnsBypassIp`` (or ``dnsBypassIp6`` for IPv6 traffic) for DNS :term:`Delivery Service`\ s and to ``httpBypassFqdn`` for HTTP :term:`Delivery Service`\ s
-:globalMaxTps:       An optional integer that will set the maximum global transactions per second allowed on this :term:`Delivery Service`. When this is exceeded traffic will be sent to the ``dnsBpassIp`` (and/or ``dnsBypassIp6``)for DNS :term:`Delivery Service`\ s and to the ``httpBypassFqdn`` for HTTP :term:`Delivery Service`\ s
-:httpBypassFqdn:     An optional Fully Qualified Domain Name (FQDN) to use for bypass on an HTTP :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`\ [#httpOnly]_
-:infoUrl:            An optional string which, if present, is expected to contain at least one URL pointing to more information about the :term:`Delivery Service`. Historically, this has been used to link relevant JIRA tickets
-:initialDispersion:  The number of caches between which traffic requesting the same object will be randomly split - meaning that if 4 clients all request the same object (one after another), then if this is above 4 there is a possibility that all 4 are cache misses. For most use-cases, this should be 1\ [#httpOnly]_\ [6]_
-:ipv6RoutingEnabled: If ``true``, clients that connect to Traffic Router using IPv6 will be given the IPv6 address of a suitable :term:`Edge-tier cache server`; if ``false`` all addresses will be IPv4, regardless of the client connection - optional for ANY_MAP-:ref:`ds-types` :term:`Delivery Services`
-:logsEnabled:        If ``true``, logging is enabled for this :term:`Delivery Service`, otherwise it is disabled
-:longDesc:           An optional description of the :term:`Delivery Service`
-:longDesc1:          An optional field used when more detailed information that that provided by ``longDesc`` is desired
-:longDesc2:          An optional field used when even more detailed information that that provided by either ``longDesc`` or ``longDesc1`` is desired
-:maxDnsAnswers:      An optional field which, when present, specifies the maximum number of IPs to put in responses to A/AAAA DNS record requests - defaults to 0, meaning "no limit"\ [4]_
-:maxOriginConnections:      The maximum number of connections allowed to the origin (0 means no maximum).
-
-	.. versionadded:: 1.4
-
-:midHeaderRewrite: An optional string containing rewrite operations to be performed on TCP headers at the Edge-tier cache level - used by the Header Rewrite Apache Trafficserver plugin
-:missLat:          The latitude to use when the client cannot be found in the CZF or a geographic IP lookup\ [7]_
-:missLong:         The longitude to use when the client cannot be found in the CZF or a geographic IP lookup\ [7]_
-:multiSiteOrigin:  ``true`` if the Multi Site Origin feature is enabled for this :term:`Delivery Service`, ``false`` otherwise\ [3]_\ [7]_
-:orgServerFqdn:    The URL of the :term:`Delivery Service`'s origin server for use in retrieving content from the origin server\ [7]_
-
-	.. note:: Despite the field name, this must truly be a full URL - including the protocol (e.g. ``http://`` or ``https://``) - **NOT** merely the server's Fully Qualified Domain Name (FQDN)
-
-:originShield: An "origin shield" is a forward proxy that sits between Mid-tier caches and the origin and performs further caching beyond what's offered by a standard CDN. This optional field is a string of FQDNs to use as origin shields, delimited by ``|``
-:profileId:    An optional, integral, unique identifier for the Traffic Router profile with which this :term:`Delivery Service`\ shall be associated
-:protocol:     The protocol which clients will use to communicate with Edge-tier :term:`cache server` s - this is an (optional for ANY_MAP :term:`Delivery Service`\ s) integer on the interval [0,2] where the values have these meanings:
-
-	0
-		HTTP
-	1
-		HTTPS
-	2
-		Both HTTP and HTTPS
-
-:qstringIgnore: Tells caches whether or not to consider URLs with different query parameter strings to be distinct\ [7]_ - this is an integer on the interval [0-2] where the values have these meanings:
-
-	0
-		URLs with different query parameter strings will be considered distinct for caching purposes, and query strings will be passed upstream to the origin
-	1
-		URLs with different query parameter strings will be considered identical for caching purposes, and query strings will be passed upstream to the origin
-	2
-		Query strings are stripped out by Edge-tier caches, and thus are neither taken into consideration for caching purposes, nor passed upstream in requests to the origin
+:deepCachingType:     The :ref:`ds-deep-caching` setting for this :term:`Delivery Service`
+
+	.. versionadded:: 1.3
+
+:displayName:       The :ref:`ds-display-name`
+:dnsBypassCname:    A :ref:`ds-dns-bypass-cname`
+:dnsBypassIp:       A :ref:`ds-dns-bypass-ip`
+:dnsBypassIp6:      A :ref:`ds-dns-bypass-ipv6`
+:dnsBypassTtl:      The :ref:`ds-dns-bypass-ttl`
+:dscp:              A :ref:`ds-dscp` to be used within the :term:`Delivery Service`
+:edgeHeaderRewrite: A set of :ref:`ds-edge-header-rw-rules`
+:fqPacingRate:      The :ref:`ds-fqpr`
+
+	.. versionadded:: 1.3
+
+:geoLimit:            An integer that defines the :ref:`ds-geo-limit`
+:geoLimitCountries:   A string containing a comma-separated list defining the :ref:`ds-geo-limit-countries`\ [#geolimit]_
+:geoLimitRedirectUrl: A :ref:`ds-geo-limit-redirect-url`\ [#geolimit]_
+:geoProvider:         The :ref:`ds-geo-provider`
+:globalMaxMbps:       The :ref:`ds-global-max-mbps`
+:globalMaxTps:        The :ref:`ds-global-max-tps`
+:httpBypassFqdn:      A :ref:`ds-http-bypass-fqdn`
+:infoUrl:             An :ref:`ds-info-url`
+:initialDispersion:  The :ref:`ds-initial-dispersion`
+:ipv6RoutingEnabled: A boolean that defines the :ref:`ds-ipv6-routing` setting on this :term:`Delivery Service`
+:lastUpdated:        The date and time at which this :term:`Delivery Service` was last updated, in :rfc:`3339` format
+:logsEnabled:        A boolean that defines the :ref:`ds-logs-enabled` setting on this :term:`Delivery Service`
+:longDesc:           The :ref:`ds-longdesc` of this :term:`Delivery Service`
+:longDesc1:          The :ref:`ds-longdesc2` of this :term:`Delivery Service`
+:longDesc2:          The :ref:`ds-longdesc3` of this :term:`Delivery Service`
+:matchList:          The :term:`Delivery Service`'s :ref:`ds-matchlist`
 
-:rangeRequestHandling: Tells caches how to handle range requests\ [7]_ - this is an integer on the interval [0,2] where the values have these meanings:
-
-	0
-		Range requests will not be cached, but range requests that request ranges of content already cached will be served from the cache
-	1
-		Use the `background_fetch plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/background_fetch.en.html>`_ to service the range request while caching the whole object
-	2
-		Use the `experimental cache_range_requests plugin <https://github.com/apache/trafficserver/tree/master/plugins/experimental/cache_range_requests>`_ to treat unique ranges as unique objects
-
-:regexRemap: An optional, regular expression remap rule to apply to this :term:`Delivery Service` at the Edge tier
+	:pattern:   A regular expression - the use of this pattern is dependent on the ``type`` field (backslashes are escaped)
+	:setNumber: An integer that provides explicit ordering of :ref:`ds-matchlist` items - this is used as a priority ranking by Traffic Router, and is not guaranteed to correspond to the ordering of items in the array.
+	:type:      The type of match performed using ``pattern``.
 
-	.. seealso:: `The Apache Trafficserver documentation for the Regex Remap plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_remap.en.html>`_
+:maxDnsAnswers:        The :ref:`ds-max-dns-answers` allowed for this :term:`Delivery Service`
+:maxOriginConnections: The :ref:`ds-max-origin-connections`
 
-:regionalGeoBlocking: ``true`` if Regional Geo Blocking is in use within this :term:`Delivery Service`, ``false`` otherwise - see :ref:`regionalgeo-qht` for more information
-:remapText:           Optional, raw text to add to the remap line for caches
+	.. versionadded:: 1.4
 
-	.. seealso:: `The Apache Trafficserver documentation for the Regex Remap plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_remap.en.html>`_
+:midHeaderRewrite:     A set of :ref:`ds-mid-header-rw-rules`
+:missLat:              The :ref:`ds-geo-miss-default-latitude` used by this :term:`Delivery Service`
+:missLong:             The :ref:`ds-geo-miss-default-longitude` used by this :term:`Delivery Service`
+:multiSiteOrigin:      A boolean that defines the use of :ref:`ds-multi-site-origin` by this :term:`Delivery Service`
+:orgServerFqdn:        The :ref:`ds-origin-url`
+:originShield:         A :ref:`ds-origin-shield` string
+:profileId:            The integral, unique identifier for :ref:`ds-profile` with which this :term:`Delivery Service` is associated, if any
+:protocol:             An integral, unique identifier that corresponds to the :ref:`ds-protocol` used by this :term:`Delivery Service`
+:qstringIgnore:        An integral, unique identifier that corresponds to the :ref:`ds-qstring-handling` setting on this :term:`Delivery Service`
+:rangeRequestHandling: An integral, unique identifier that corresponds to the :ref:`ds-range-request-handling` setting on this :term:`Delivery Service`
+:regexRemap:           A :ref:`ds-regex-remap`
+:regionalGeoBlocking:  A boolean defining the :ref:`ds-regionalgeo` setting on this :term:`Delivery Service`
+:remapText:            :ref:`ds-raw-remap`
+:signed:               ``true`` if  and only if ``signingAlgorithm`` is not ``null``, ``false`` otherwise
+:signingAlgorithm:     Either a :ref:`ds-signing-algorithm` or ``null`` to indicate URL/URI signing is not implemented on this :term:`Delivery Service`
 
-:routingName:      The routing name of this :term:`Delivery Service`, used as the top-level part of the FQDN used by clients to request content from the :term:`Delivery Service` e.g. ``routingName.xml_id.CDNName.com``
-:signed:           An optional field which should be ``true`` if token-based authentication will be enabled for this :term:`Delivery Service`, ``false`` (default) otherwise
-:signingAlgorithm: Type of URL signing method to sign the URLs, basically comes down to one of two plugins or ``null``:
+	.. versionadded:: 1.3
 
-	``null``
-		Token-based authentication is not enabled for this :term:`Delivery Service`
-	url_sig:
-		URL Signing token-based authentication is enabled for this :term:`Delivery Service`
-	uri_signing
-		URI Signing token-based authentication is enabled for this :term:`Delivery Service`
+:sslKeyVersion: This integer indicates the :ref:`ds-ssl-key-version`
+:tenantId:      The integral, unique identifier of the :ref:`ds-tenant` who owns this :term:`Delivery Service`
 
-	.. seealso:: `The Apache Trafficserver documentation for the url_sig plugin <https://docs.trafficserver.apache.org/en/8.0.x/admin-guide/plugins/url_sig.en.html>`_ and `the draft RFC for uri_signing <https://tools.ietf.org/html/draft-ietf-cdni-uri-signing-16>`_ - note, however that the current implementation of uri_signing uses Draft 12 of that RFC document, **NOT** the latest
+	.. versionadded:: 1.3
 
-:sslKeyVersion: This optional integer indicates the generation of keys to be used by the :term:`Delivery Service` - if any - and is incremented by the Traffic Portal client whenever new keys are generated
+:trRequestHeaders: If defined, this defines the :ref:`ds-tr-req-headers` used by Traffic Router for this :term:`Delivery Service`
 
-	.. warning:: This number will not be correct if keys are manually replaced using the API, as the key generation API does not increment it!
+	.. versionadded:: 1.3
 
-:tenantId:            An optional, integral, unique identifier of the tenant who will own this :term:`Delivery Service`
-:trRequestHeaders:    If defined, this takes the form of a string of HTTP headers to be included in Traffic Router access logs for requests - it's a template where ``__RETURN__`` translates to a carriage return and line feed (``\r\n``)\ [#httpOnly]_
-:trResponseHeaders:   If defined, this takes the form of a string of HTTP headers to be included in Traffic Router responses - it's a template where ``__RETURN__`` translates to a carriage return and line feed (``\r\n``)\ [#httpOnly]_
-:typeId:              The integral, unique identifier for the routing type of this :term:`Delivery Service`
-:xmlId:               A unique string that describes this :term:`Delivery Service` - exists for legacy reasons
+:trResponseHeaders: If defined, this defines the :ref:`ds-tr-resp-headers` used by Traffic Router for this :term:`Delivery Service`
 
-	.. note:: This should almost never be different from the :term:`Delivery Service`'s ``displayName``
+	.. versionadded:: 1.3
 
+:type:   The :ref:`ds-types` of this :term:`Delivery Service`
+:typeId: The integral, unique identifier of the :ref:`ds-types` of this :term:`Delivery Service`
+:xmlId:  This :term:`Delivery Service`'s :ref:`ds-xmlid`
 
 .. code-block:: http
 	:caption: Request Example
@@ -465,22 +364,17 @@ Request Structure
 		"active": false,
 		"anonymousBlockingEnabled": false,
 		"cdnId": 2,
-		"cdnName": "CDN-in-a-Box",
 		"deepCachingType": "NEVER",
 		"displayName": "test",
-		"exampleURLs": [
-			"http://test.test.mycdn.ciab.test"
-		],
 		"dscp": 0,
 		"geoLimit": 0,
 		"geoProvider": 0,
 		"initialDispersion": 1,
 		"ipv6RoutingEnabled": false,
-		"lastUpdated": "2018-11-14 18:21:17+00",
 		"logsEnabled": true,
-		"longDesc": "A :term:`Delivery Service` created expressly for API documentation examples",
-		"missLat": -1,
-		"missLong": -1,
+		"longDesc": "A Delivery Service created expressly for API documentation examples",
+		"missLat": 0,
+		"missLong": 0,
 		"maxOriginConnections": 0,
 		"multiSiteOrigin": false,
 		"orgServerFqdn": "http://origin.infra.ciab.test",
@@ -496,161 +390,107 @@ Request Structure
 		"xmlId": "test"
 	}
 
-.. [5] These fields must be defined if and only if ``geoLimit`` is non-zero
-.. [6] These fields are required for HTTP-routed :term:`Delivery Service`\ s, and optional for all others
-.. [7] These fields are required for HTTP-routed and DNS-routed :term:`Delivery Service`\ s, but are optional for (and in fact may have no effect on) STEERING and ANY_MAP :term:`Delivery Service`\ s
 
 Response Structure
 ------------------
-:active:                   ``true`` if the :term:`Delivery Service` is active, ``false`` otherwise
-:anonymousBlockingEnabled: ``true`` if :ref:`Anonymous Blocking <anonymous_blocking-qht>` has been configured for the :term:`Delivery Service`, ``false`` otherwise
-:cacheurl:                 A setting for a deprecated feature of now-unsupported Trafficserver versions
+:active:                   A boolean that defines :ref:`ds-active`.
+:anonymousBlockingEnabled: A boolean that defines :ref:`ds-anonymous-blocking`
+:cacheurl:                 A :ref:`ds-cacheurl`
 
 	.. deprecated:: ATCv3.0
 		This field has been deprecated in Traffic Control 3.x and is subject to removal in Traffic Control 4.x or later
 
-:ccrDnsTtl:           The Time To Live (TTL) of the DNS response for A or AAAA record queries requesting the IP address of the Traffic Router - named "ccrDnsTtl" for legacy reasons
-:cdnId:               The integral, unique identifier of the CDN to which the :term:`Delivery Service` belongs
-:cdnName:             Name of the CDN to which the :term:`Delivery Service` belongs
-:checkPath:           The path portion of the URL to check connections to this :term:`Delivery Service`'s origin server
-:consistentHashRegex: If defined, this is a regular expression used for the Pattern-Based Consistent Hashing feature.\ [#httpOnly]_
+:ccrDnsTtl:           The :ref:`ds-dns-ttl` - named "ccrDnsTtl" for legacy reasons
+:cdnId:               The integral, unique identifier of the :ref:`ds-cdn` to which the :term:`Delivery Service` belongs
+:cdnName:             Name of the :ref:`ds-cdn` to which the :term:`Delivery Service` belongs
+:checkPath:           A :ref:`ds-check-path`
+:consistentHashRegex: A :ref:`ds-consistent-hashing-regex`
 
 	.. versionadded:: 1.4
 
-:consistentHashQueryParams: A set (actually array due to limitations of JSON) of query parameters which will be considered by Traffic Router when using a client request to consistently find an :term:`Edge-tier cache server` to which to redirect them.\ [#httpOnly]_
+:consistentHashQueryParams: An array of :ref:`ds-consistent-hashing-qparams`
 
 	.. versionadded:: 1.4
 
-:displayName:              The display name of the :term:`Delivery Service`
-:dnsBypassCname:           Domain name to overflow requests for HTTP :term:`Delivery Service`\ s - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`\ [4]_
-:dnsBypassIp:              The IPv4 IP to use for bypass on a DNS :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`\ [4]_
-:dnsBypassIp6:             The IPv6 IP to use for bypass on a DNS :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`\ [4]_
-:dnsBypassTtl:             The time for which a DNS bypass of this :term:`Delivery Service`\ shall remain active\ [4]_
-:dscp:                     The Differentiated Services Code Point (DSCP) with which to mark traffic as it leaves the CDN and reaches clients
-:edgeHeaderRewrite:        Rewrite operations to be performed on TCP headers at the Edge-tier cache level - used by the Header Rewrite Apache Trafficserver plugin
-:fqPacingRate:             The Fair-Queuing Pacing Rate in Bytes per second set on the all TCP connection sockets in the :term:`Delivery Service` (see ``man tc-fc_codel`` for more information) - Linux only
-:geoLimit:                 The setting that determines how content is geographically limited - this is an integer on the interval [0-2] where the values have these meanings:
-
-	0
-		None - no limitations
-	1
-		Only route when the client's IP is found in the Coverage Zone File (CZF)
-	2
-		Only route when the client's IP is found in the CZF, or when the client can be determined to be from the United States of America
-
-	.. warning:: This does not prevent access to content or make content secure; it merely prevents routing to the content through Traffic Router
-
-:geoLimitCountries:   A string containing a comma-separated list of country codes (e.g. "US,AU") which are allowed to request content through this :term:`Delivery Service`
-:geoLimitRedirectUrl: A URL to which clients blocked by :ref:`Regional Geographic Blocking <regionalgeo-qht>` or the ``geoLimit`` settings will be re-directed
-:geoProvider:         An integer that represents the provider of a database for mapping IPs to geographic locations; currently only the following values are supported:
-
-	0
-		The "Maxmind" GeoIP2 database (default)
-	1
-		Neustar
-
-:globalMaxMbps:       The maximum global bandwidth allowed on this :term:`Delivery Service`. If exceeded, traffic will be routed to ``dnsBypassIp`` (or ``dnsBypassIp6`` for IPv6 traffic) for DNS :term:`Delivery Service`\ s and to ``httpBypassFqdn`` for HTTP :term:`Delivery Service`\ s
-:globalMaxTps:        The maximum global transactions per second allowed on this :term:`Delivery Service`. When this is exceeded traffic will be sent to the ``dnsBypassIp`` (and/or ``dnsBypassIp6``) for DNS :term:`Delivery Service`\ s and to the httpBypassFqdn for HTTP :term:`Delivery Service`\ s
-:httpBypassFqdn:      The HTTP destination to use for bypass on an HTTP :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`
+:deepCachingType:     The :ref:`ds-deep-caching` setting for this :term:`Delivery Service`
+
+	.. versionadded:: 1.3
+
+:displayName:       The :ref:`ds-display-name`
+:dnsBypassCname:    A :ref:`ds-dns-bypass-cname`
+:dnsBypassIp:       A :ref:`ds-dns-bypass-ip`
+:dnsBypassIp6:      A :ref:`ds-dns-bypass-ipv6`
+:dnsBypassTtl:      The :ref:`ds-dns-bypass-ttl`
+:dscp:              A :ref:`ds-dscp` to be used within the :term:`Delivery Service`
+:edgeHeaderRewrite: A set of :ref:`ds-edge-header-rw-rules`
+:exampleURLs:       An array of :ref:`ds-example-urls`
+:fqPacingRate:      The :ref:`ds-fqpr`
+
+	.. versionadded:: 1.3
+
+:geoLimit:            An integer that defines the :ref:`ds-geo-limit`
+:geoLimitCountries:   A string containing a comma-separated list defining the :ref:`ds-geo-limit-countries`
+:geoLimitRedirectUrl: A :ref:`ds-geo-limit-redirect-url`
+:geoProvider:         The :ref:`ds-geo-provider`
+:globalMaxMbps:       The :ref:`ds-global-max-mbps`
+:globalMaxTps:        The :ref:`ds-global-max-tps`
+:httpBypassFqdn:      A :ref:`ds-http-bypass-fqdn`
 :id:                  An integral, unique identifier for this :term:`Delivery Service`
-:infoUrl:             This is a string which is expected to contain at least one URL pointing to more information about the :term:`Delivery Service`. Historically, this has been used to link relevant JIRA tickets
-:initialDispersion:  The number of caches between which traffic requesting the same object will be randomly split - meaning that if 4 clients all request the same object (one after another), then if this is above 4 there is a possibility that all 4 are cache misses. For most use-cases, this should be 1\ [#httpOnly]_
-:ipv6RoutingEnabled: If ``true``, clients that connect to Traffic Router using IPv6 will be given the IPv6 address of a suitable :term:`Edge-tier cache server`; if ``false`` all addresses will be IPv4, regardless of the client connection
-:lastUpdated:        The date and time at which this :term:`Delivery Service` was last updated, in a ``ctime``-like format
-:logsEnabled:        If ``true``, logging is enabled for this :term:`Delivery Service`, otherwise it is disabled
-:longDesc:           A description of the :term:`Delivery Service`
-:longDesc1:          A field used when more detailed information that that provided by ``longDesc`` is desired
-:longDesc2:          A field used when even more detailed information that that provided by either ``longDesc`` or ``longDesc1`` is desired
-:matchList:          An array of methods used by Traffic Router to determine whether or not a request can be serviced by this :term:`Delivery Service`
+:infoUrl:             An :ref:`ds-info-url`
+:initialDispersion:  The :ref:`ds-initial-dispersion`
+:ipv6RoutingEnabled: A boolean that defines the :ref:`ds-ipv6-routing` setting on this :term:`Delivery Service`
+:lastUpdated:        The date and time at which this :term:`Delivery Service` was last updated, in :rfc:`3339` format
+:logsEnabled:        A boolean that defines the :ref:`ds-logs-enabled` setting on this :term:`Delivery Service`
+:longDesc:           The :ref:`ds-longdesc` of this :term:`Delivery Service`
+:longDesc1:          The :ref:`ds-longdesc2` of this :term:`Delivery Service`
+:longDesc2:          The :ref:`ds-longdesc3` of this :term:`Delivery Service`
+:matchList:          The :term:`Delivery Service`'s :ref:`ds-matchlist`
 
 	:pattern:   A regular expression - the use of this pattern is dependent on the ``type`` field (backslashes are escaped)
-	:setNumber: An integral, unique identifier for the set of types to which the ``type`` field belongs
-	:type:      The type of match performed using ``pattern`` to determine whether or not to use this :term:`Delivery Service`
+	:setNumber: An integer that provides explicit ordering of :ref:`ds-matchlist` items - this is used as a priority ranking by Traffic Router, and is not guaranteed to correspond to the ordering of items in the array.
+	:type:      The type of match performed using ``pattern``.
 
-		HOST_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches the ``Host:`` HTTP header of an HTTP request, or the name requested for resolution in a DNS request
-		HEADER_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches an HTTP header (both the name and value) in an HTTP request\ [#httpOnly]_
-		PATH_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches the request path of this :term:`Delivery Service`'s URL\ [#httpOnly]_
-		STEERING_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches the ``xml_id`` of one of this :term:`Delivery Service`'s "Steering" target :term:`Delivery Service`
-
-:maxDnsAnswers:    The maximum number of IPs to put in responses to A/AAAA DNS record requests (0 means all available)\ [4]_
-:maxOriginConnections:      The maximum number of connections allowed to the origin (0 means no maximum).
+:maxDnsAnswers:        The :ref:`ds-max-dns-answers` allowed for this :term:`Delivery Service`
+:maxOriginConnections: The :ref:`ds-max-origin-connections`
 
 	.. versionadded:: 1.4
 
-:midHeaderRewrite: Rewrite operations to be performed on TCP headers at the Edge-tier cache level - used by the Header Rewrite Apache Trafficserver plugin
-:missLat:          The latitude to use when the client cannot be found in the CZF or a geographic IP lookup
-:missLong:         The longitude to use when the client cannot be found in the CZF or a geographic IP lookup
-:multiSiteOrigin:  ``true`` if the Multi Site Origin feature is enabled for this :term:`Delivery Service`, ``false`` otherwise\ [3]_
-:orgServerFqdn:    The URL of the :term:`Delivery Service`'s origin server for use in retrieving content from the origin server
-
-	.. note:: Despite the field name, this must truly be a full URL - including the protocol (e.g. ``http://`` or ``https://``) - **NOT** merely the server's Fully Qualified Domain Name (FQDN)
+:midHeaderRewrite:     A set of :ref:`ds-mid-header-rw-rules`
+:missLat:              The :ref:`ds-geo-miss-default-latitude` used by this :term:`Delivery Service`
+:missLong:             The :ref:`ds-geo-miss-default-longitude` used by this :term:`Delivery Service`
+:multiSiteOrigin:      A boolean that defines the use of :ref:`ds-multi-site-origin` by this :term:`Delivery Service`
+:orgServerFqdn:        The :ref:`ds-origin-url`
+:originShield:         A :ref:`ds-origin-shield` string
+:profileDescription:   The description of the :term:`Delivery Service`'s :ref:`ds-profile`, if any
+:profileId:            The integral, unique identifier for :ref:`ds-profile` with which this :term:`Delivery Service` is associated, if any
+:profileName:          The name of the :ref:`ds-profile` with which this :term:`Delivery Service` is associated, if any
+:protocol:             An integral, unique identifier that corresponds to the :ref:`ds-protocol` used by this :term:`Delivery Service`
+:qstringIgnore:        An integral, unique identifier that corresponds to the :ref:`ds-qstring-handling` setting on this :term:`Delivery Service`
+:rangeRequestHandling: An integral, unique identifier that corresponds to the :ref:`ds-range-request-handling` setting on this :term:`Delivery Service`
+:regexRemap:           A :ref:`ds-regex-remap`
+:regionalGeoBlocking:  A boolean defining the :ref:`ds-regionalgeo` setting on this :term:`Delivery Service`
+:remapText:            :ref:`ds-raw-remap`
+:signed:               ``true`` if  and only if ``signingAlgorithm`` is not ``null``, ``false`` otherwise
+:signingAlgorithm:     Either a :ref:`ds-signing-algorithm` or ``null`` to indicate URL/URI signing is not implemented on this :term:`Delivery Service`
 
-:originShield:       An "origin shield" is a forward proxy that sits between Mid-tier caches and the origin and performs further caching beyond what's offered by a standard CDN. This field is a string of FQDNs to use as origin shields, delimited by ``|``
-:profileDescription: The description of the Traffic Router Profile with which this :term:`Delivery Service` is associated
-:profileId:          The integral, unique identifier for the Traffic Router profile with which this :term:`Delivery Service` is associated
-:profileName:        The name of the Traffic Router Profile with which this :term:`Delivery Service` is associated
-:protocol:           The protocol which clients will use to communicate with Edge-tier :term:`cache server` s\ [#httpOnly]_ - this is an integer on the interval [0-2] where the values have these meanings:
+	.. versionadded:: 1.3
 
-	0
-		HTTP
-	1
-		HTTPS
-	2
-		Both HTTP and HTTPS
+:sslKeyVersion: This integer indicates the :ref:`ds-ssl-key-version`
+:tenantId:      The integral, unique identifier of the :ref:`ds-tenant` who owns this :term:`Delivery Service`
 
-:qstringIgnore: Tells caches whether or not to consider URLs with different query parameter strings to be distinct - this is an integer on the interval [0-2] where the values have these meanings:
+	.. versionadded:: 1.3
 
-	0
-		URLs with different query parameter strings will be considered distinct for caching purposes, and query strings will be passed upstream to the origin
-	1
-		URLs with different query parameter strings will be considered identical for caching purposes, and query strings will be passed upstream to the origin
-	2
-		Query strings are stripped out by Edge-tier caches, and thus are neither taken into consideration for caching purposes, nor passed upstream in requests to the origin
+:trRequestHeaders: If defined, this defines the :ref:`ds-tr-req-headers` used by Traffic Router for this :term:`Delivery Service`
 
-:rangeRequestHandling: Tells caches how to handle range requests\ [7]_ - this is an integer on the interval [0,2] where the values have these meanings:
+	.. versionadded:: 1.3
 
-	0
-		Range requests will not be cached, but range requests that request ranges of content already cached will be served from the cache
-	1
-		Use the `background_fetch plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/background_fetch.en.html>`_ to service the range request while caching the whole object
-	2
-		Use the `experimental cache_range_requests plugin <https://github.com/apache/trafficserver/tree/master/plugins/experimental/cache_range_requests>`_ to treat unique ranges as unique objects
+:trResponseHeaders: If defined, this defines the :ref:`ds-tr-resp-headers` used by Traffic Router for this :term:`Delivery Service`
 
-:regexRemap: A regular expression remap rule to apply to this :term:`Delivery Service` at the Edge tier
+	.. versionadded:: 1.3
 
-	.. seealso:: `The Apache Trafficserver documentation for the Regex Remap plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_remap.en.html>`_
-
-:regionalGeoBlocking: ``true`` if Regional Geo Blocking is in use within this :term:`Delivery Service`, ``false`` otherwise - see :ref:`regionalgeo-qht` for more information
-:remapText:           Additional, raw text to add to the remap line for caches
-
-	.. seealso:: `The Apache Trafficserver documentation for the Regex Remap plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_remap.en.html>`_
-
-:signed:           ``true`` if token-based authentication is enabled for this :term:`Delivery Service`, ``false`` otherwise
-:signingAlgorithm: Type of URL signing method to sign the URLs, basically comes down to one of two plugins or ``null``:
-
-	``null``
-		Token-based authentication is not enabled for this :term:`Delivery Service`
-	url_sig:
-		URL Signing token-based authentication is enabled for this :term:`Delivery Service`
-	uri_signing
-		URI Signing token-based authentication is enabled for this :term:`Delivery Service`
-
-	.. seealso:: `The Apache Trafficserver documentation for the url_sig plugin <https://docs.trafficserver.apache.org/en/8.0.x/admin-guide/plugins/url_sig.en.html>`_ and `the draft RFC for uri_signing <https://tools.ietf.org/html/draft-ietf-cdni-uri-signing-16>`_ - note, however that the current implementation of uri_signing uses Draft 12 of that RFC document, **NOT** the latest
-
-:sslKeyVersion:       This integer indicates the generation of keys in use by the :term:`Delivery Service` - if any - and is incremented by the Traffic Portal client whenever new keys are generated
-
-	.. warning:: This number will not be correct if keys are manually replaced using the API, as the key generation API does not increment it!
-
-:tenantId:            The integral, unique identifier of the tenant who owns this :term:`Delivery Service`
-:trRequestHeaders:    If defined, this takes the form of a string of HTTP headers to be included in Traffic Router access logs for requests - it's a template where ``__RETURN__`` translates to a carriage return and line feed (``\r\n``)\ [#httpOnly]_
-:trResponseHeaders:   If defined, this takes the form of a string of HTTP headers to be included in Traffic Router responses - it's a template where ``__RETURN__`` translates to a carriage return and line feed (``\r\n``)\ [#httpOnly]_
-:type:                The name of the routing type of this :term:`Delivery Service` e.g. "HTTP"
-:typeId:              The integral, unique identifier of the routing type of this :term:`Delivery Service`
-:xmlId:               A unique string that describes this :term:`Delivery Service` - exists for legacy reasons
+:type:   The :ref:`ds-types` of this :term:`Delivery Service`
+:typeId: The integral, unique identifier of the :ref:`ds-types` of this :term:`Delivery Service`
+:xmlId:  This :term:`Delivery Service`'s :ref:`ds-xmlid`
 
 .. code-block:: http
 	:caption: Response Example
@@ -702,7 +542,7 @@ Response Structure
 			"ipv6RoutingEnabled": false,
 			"lastUpdated": "2018-11-19 19:45:49+00",
 			"logsEnabled": true,
-			"longDesc": "A :term:`Delivery Service` created expressly for API documentation examples",
+			"longDesc": "A Delivery Service created expressly for API documentation examples",
 			"longDesc1": null,
 			"longDesc2": null,
 			"matchList": [
@@ -744,3 +584,6 @@ Response Structure
 			"tenant": "root"
 		}
 	]}
+
+.. [#tenancy] Only those :term:`Delivery Services` assigned to :term:`Tenants` that are the requesting user's :term:`Tenant` or children thereof will appear in the output of a ``GET`` request, and the same constraints are placed on the allowed values of the ``tenantId`` field of a ``POST`` request to create a new :term:`Delivery Service`
+.. [#geoLimit] These fields must be defined if and only if ``geoLimit`` is non-zero
diff --git a/docs/source/api/deliveryservices_hostname_name_sslkeys.rst b/docs/source/api/deliveryservices_hostname_name_sslkeys.rst
index 72141c5..f50d740 100644
--- a/docs/source/api/deliveryservices_hostname_name_sslkeys.rst
+++ b/docs/source/api/deliveryservices_hostname_name_sslkeys.rst
@@ -54,7 +54,7 @@ Cookie: mojolicious=...
 
 Response Structure
 ------------------
-:businessUnit: An optional field which, if present, contains the business unit entered by the user when generating the SSL certificate\ [1]_
+:businessUnit: An optional field which, if present, contains the business unit entered by the user when generating the SSL certificate\ [#optional]_
 :certificate:  An object containing the actual generated key, certificate, and signature of the SSL keys
 
 	:crt: Base 64-encoded (or not if the ``decode`` query parameter was given and ``true``) certificate for the :term:`Delivery Service` identified by ``deliveryservice``
@@ -64,12 +64,12 @@ Response Structure
 	.. caution:: There's almost certainly no good reason to request the private key! Even when "base 64-encoded" do not let **ANYONE** see this who would be unable to request it themselves!
 
 :cdn:             The CDN of the :term:`Delivery Service` for which the certs were generated
-:city:            An optional field which, if present, contains the city entered by the user when generating the SSL certificate\ [1]_
-:country:         An optional field which, if present, contains the country entered by the user when generating the SSL certificate\ [1]_
+:city:            An optional field which, if present, contains the city entered by the user when generating the SSL certificate\ [#optional]_
+:country:         An optional field which, if present, contains the country entered by the user when generating the SSL certificate\ [#optional]_
 :deliveryservice: The 'xml_id' of the :term:`Delivery Service` for which the certificate was generated
 :hostname:        The hostname generated by Traffic Ops that is used as the common name when generating the certificate - this will be an :abbr:`FQDN (Fully Qualified Domain Name)` for DNS :term:`Delivery Service`\ s and a wildcard URL for HTTP :term:`Delivery Service`\ s
-:organization:    An optional field which, if present, contains the organization entered by the user when generating certificate\ [1]_
-:state:           An optional field which, if present, contains the state entered by the user when generating certificate\ [1]_
+:organization:    An optional field which, if present, contains the organization entered by the user when generating certificate\ [#optional]_
+:state:           An optional field which, if present, contains the state entered by the user when generating certificate\ [#optional]_
 :version:         The version of the certificate record in Traffic Vault
 
 .. code- block:: http
@@ -103,4 +103,4 @@ Response Structure
 .. note:: The response example uses abbreviated values for the ``crt``, ``key``, and ``csr``, as these will generally be very large, base64-encoded SSL keys and certificates. Note that in general the output of this request should **not** be made available, as the ``key`` field contains the *private* SSL key corresponding to the certificate.
 
 
-.. [1] These optional fields will be present in the response if and only if they were specified during key generation; they are optional during key generation and thus cannot be guaranteed to exist or not exist.
+.. [#optional] These optional fields will be present in the response if and only if they were specified during key generation; they are optional during key generation and thus cannot be guaranteed to exist or not exist.
diff --git a/docs/source/api/deliveryservices_id.rst b/docs/source/api/deliveryservices_id.rst
index 8984f23..3704143 100644
--- a/docs/source/api/deliveryservices_id.rst
+++ b/docs/source/api/deliveryservices_id.rst
@@ -18,34 +18,37 @@
 ***************************
 ``deliveryservices/{{ID}}``
 ***************************
-.. deprecated:: 1.1
-	Use the ``id`` query parameter of :ref:`to-api-deliveryservices` instead
 
 ``GET``
 =======
+.. caution::
+	It's often much better to the ``id`` query parameter of a ``GET`` request to :ref:`to-api-deliveryservices` instead.
+
 Retrieves a specific :term:`Delivery Service`
 
 :Auth. Required: Yes
-:Roles Required: None\ [1]_
+:Roles Required: None\ [#tenancy]_
 :Response Type:  Array
 
 Request Structure
 -----------------
 .. table:: Request Query Parameters
 
-	+-------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------+
-	| Name        | Required | Description                                                                                                                                    |
-	+=============+==========+================================================================================================================================================+
-	| cdn         | no       | Show only the :term:`Delivery Service`\ s belonging to the CDN identified by this integral, unique identifier                                  |
-	+-------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------+
-	| logsEnabled | no       | If true, return only :term:`Delivery Service`\ s with logging enabled, otherwise return only :term:`Delivery Service`\ s with logging disabled |
-	+-------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------+
-	| profile     | no       | Return only :term:`Delivery Service`\ s using the profile identified by this integral, unique identifier                                       |
-	+-------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------+
-	| tenant      | no       | Show only the :term:`Delivery Service`\ s belonging to the tenant identified by this integral, unique identifier                               |
-	+-------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------+
-	| type        | no       | Return only :term:`Delivery Service`\ s of the :term:`Delivery Service` type identified by this integral, unique identifier                    |
-	+-------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------+
+	+-------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------+
+	| Name        | Required | Description                                                                                                                                |
+	+=============+==========+============================================================================================================================================+
+	| cdn         | no       | Show only the :term:`Delivery Services` belonging to the CDN identified by this integral, unique identifier                                |
+	+-------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------+
+	| logsEnabled | no       | If true, return only :term:`Delivery Services` with logging enabled, otherwise return only :term:`Delivery Services` with logging disabled |
+	+-------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------+
+	| profile     | no       | Return only :term:`Delivery Services` using the profile identified by this integral, unique identifier                                     |
+	+-------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------+
+	| tenant      | no       | Show only the :term:`Delivery Services` belonging to the tenant identified by this integral, unique identifier                             |
+	+-------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------+
+	| type        | no       | Return only :term:`Delivery Services` of the :ref:`Delivery Service Type <ds-types>` identified by this integral, unique identifier        |
+	+-------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------+
+
+.. tip:: Since this method of this endpoint by definition should only ever return one :term:`Delivery Service`, using these query parameters is typically useless. Unless for some reason the only desired information is the value of one of these specific fields.
 
 .. table:: Request Path Parameters
 
@@ -58,164 +61,104 @@ Request Structure
 
 Response Structure
 ------------------
-.. versionchanged:: 1.3
-	Removed ``fqPacingRate`` field, added fields: ``deepCachingType``, ``signingAlgorithm``, and ``tenant``.
-
-:active:                   ``true`` if the :term:`Delivery Service` is active, ``false`` otherwise
-:anonymousBlockingEnabled: ``true`` if :ref:`Anonymous Blocking <anonymous_blocking-qht>` has been configured for the :term:`Delivery Service`, ``false`` otherwise
-:cacheurl:                 A setting for a deprecated feature of now-unsupported Trafficserver versions
+:active:                   A boolean that defines :ref:`ds-active`.
+:anonymousBlockingEnabled: A boolean that defines :ref:`ds-anonymous-blocking`
+:cacheurl:                 A :ref:`ds-cacheurl`
 
 	.. deprecated:: ATCv3.0
 		This field has been deprecated in Traffic Control 3.x and is subject to removal in Traffic Control 4.x or later
 
-:ccrDnsTtl:           The Time To Live (TTL) of the DNS response for A or AAAA record queries requesting the IP address of the Traffic Router - named "ccrDnsTtl" for legacy reasons
-:cdnId:               The integral, unique identifier of the CDN to which the :term:`Delivery Service` belongs
-:cdnName:             Name of the CDN to which the :term:`Delivery Service` belongs
-:checkPath:           The path portion of the URL to check connections to this :term:`Delivery Service`'s origin server
-:consistentHashRegex: If defined, this is a regular expression used for the Pattern-Based Consistent Hashing feature.\ [#httpOnly]_
+:ccrDnsTtl:           The :ref:`ds-dns-ttl` - named "ccrDnsTtl" for legacy reasons
+:cdnId:               The integral, unique identifier of the :ref:`ds-cdn` to which the :term:`Delivery Service` belongs
+:cdnName:             Name of the :ref:`ds-cdn` to which the :term:`Delivery Service` belongs
+:checkPath:           A :ref:`ds-check-path`
+:consistentHashRegex: A :ref:`ds-consistent-hashing-regex`
 
 	.. versionadded:: 1.4
 
-:consistentHashQueryParams: A set (actually array due to limitations of JSON) of query parameters which will be considered by Traffic Router when using a client request to consistently find an :term:`Edge-tier cache server` to which to redirect them.\ [#httpOnly]_
+:consistentHashQueryParams: An array of :ref:`ds-consistent-hashing-qparams`
 
 	.. versionadded:: 1.4
 
-:deepCachingType: A string that describes when "Deep Caching" will be used by this :term:`Delivery Service` - one of:
+:deepCachingType:     The :ref:`ds-deep-caching` setting for this :term:`Delivery Service`
 
-	ALWAYS
-		"Deep Caching" will always be used with this :term:`Delivery Service`
-	NEVER
-		"Deep Caching" will never be used with this :term:`Delivery Service`
+	.. versionadded:: 1.3
+
+:displayName:       The :ref:`ds-display-name`
+:dnsBypassCname:    A :ref:`ds-dns-bypass-cname`
+:dnsBypassIp:       A :ref:`ds-dns-bypass-ip`
+:dnsBypassIp6:      A :ref:`ds-dns-bypass-ipv6`
+:dnsBypassTtl:      The :ref:`ds-dns-bypass-ttl`
+:dscp:              A :ref:`ds-dscp` to be used within the :term:`Delivery Service`
+:edgeHeaderRewrite: A set of :ref:`ds-edge-header-rw-rules`
+:exampleURLs:       An array of :ref:`ds-example-urls`
+:fqPacingRate:      The :ref:`ds-fqpr`
 
 	.. versionadded:: 1.3
 
-:displayName:              The display name of the :term:`Delivery Service`
-:dnsBypassCname:           Domain name to overflow requests for HTTP :term:`Delivery Service`\ s - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`
-:dnsBypassIp:              The IPv4 IP to use for bypass on a DNS :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`
-:dnsBypassIp6:             The IPv6 IP to use for bypass on a DNS :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`
-:dnsBypassTtl:             The time for which a DNS bypass of this :term:`Delivery Service`\ shall remain active
-:dscp:                     The :abbr:`FQDN (Differentiated Services Code Point)` with which to mark traffic as it leaves the CDN and reaches clients
-:edgeHeaderRewrite:        Rewrite operations to be performed on TCP headers at the Edge-tier cache level - used by the Header Rewrite :abbr:`ATS (Apache Traffic Server)` plugin
-:fqPacingRate:             The Fair-Queuing Pacing Rate in Bytes per second set on the all TCP connection sockets in the :term:`Delivery Service` (see ``man tc-fc_codel`` for more information) - Linux only
-
-	.. deprecated:: 1.3
-		This field is only present/available in API versions 1.2 and lower - it has been removed in API version 1.3
-
-:geoLimit:                 The setting that determines how content is geographically limited - this is an integer on the interval [0-2] where the values have these meanings:
-:geoLimitCountries:        A string containing a comma-separated list of country codes (e.g. "US,AU") which are allowed to request content through this :term:`Delivery Service`
-:geoLimitRedirectUrl:      A URL to which clients blocked by :ref:`Regional Geographic Blocking <regionalgeo-qht>` or the ``geoLimit`` settings will be re-directed
-
-	0
-		None - no limitations
-	1
-		Only route when the client's IP is found in the :term:`Coverage Zone File`
-	2
-		Only route when the client's IP is found in the :term:`Coverage Zone File`, or when the client can be determined to be from the United States of America
-
-	.. warning:: This does not prevent access to content or make content secure; it merely prevents routing to the content through Traffic Router
-
-:geoProvider:        An integer that represents the provider of a database for mapping IPs to geographic locations; currently only ``0``  - which represents MaxMind - is supported
-:globalMaxMbps:      The maximum global bandwidth allowed on this :term:`Delivery Service`. If exceeded, traffic will be routed to ``dnsBypassIp`` (or ``dnsBypassIp6`` for IPv6 traffic) for DNS :term:`Delivery Service`\ s and to ``httpBypassFqdn`` for HTTP :term:`Delivery Service`\ s
-:globalMaxTps:       The maximum global transactions per second allowed on this :term:`Delivery Service`. When this is exceeded traffic will be sent to the dnsByPassIp* for DNS :term:`Delivery Service`\ s and to the httpBypassFqdn for HTTP :term:`Delivery Service`\ s
-:httpBypassFqdn:     The HTTP destination to use for bypass on an HTTP :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`
-:id:                 An integral, unique identifier for this :term:`Delivery Service`
-:infoUrl:            This is a string which is expected to contain at least one URL pointing to more information about the :term:`Delivery Service`. Historically, this has been used to link relevant JIRA tickets
-:initialDispersion:  The number of caches between which traffic requesting the same object will be randomly split - meaning that if 4 clients all request the same object (one after another), then if this is above 4 there is a possibility that all 4 are cache misses. For most use-cases, this should be 1
-:ipv6RoutingEnabled: If ``true``, clients that connect to Traffic Router using IPv6 will be given the IPv6 address of a suitable :term:`Edge-tier cache server`; if ``false`` all addresses will be IPv4, regardless of the client connection
-:lastUpdated:        The date and time at which this :term:`Delivery Service` was last updated, in a ``ctime``-like format
-:logsEnabled:        If ``true``, logging is enabled for this :term:`Delivery Service`, otherwise it is disabled
-:longDesc:           A description of the :term:`Delivery Service`
-:longDesc1:          A field used when more detailed information that that provided by ``longDesc`` is desired
-:longDesc2:          A field used when even more detailed information that that provided by either ``longDesc`` or ``longDesc1`` is desired
-:matchList:          An array of methods used by Traffic Router to determine whether or not a request can be serviced by this :term:`Delivery Service`
+:geoLimit:            An integer that defines the :ref:`ds-geo-limit`
+:geoLimitCountries:   A string containing a comma-separated list defining the :ref:`ds-geo-limit-countries`
+:geoLimitRedirectUrl: A :ref:`ds-geo-limit-redirect-url`
+:geoProvider:         The :ref:`ds-geo-provider`
+:globalMaxMbps:       The :ref:`ds-global-max-mbps`
+:globalMaxTps:        The :ref:`ds-global-max-tps`
+:httpBypassFqdn:      A :ref:`ds-http-bypass-fqdn`
+:id:                  An integral, unique identifier for this :term:`Delivery Service`
+:infoUrl:             An :ref:`ds-info-url`
+:initialDispersion:  The :ref:`ds-initial-dispersion`
+:ipv6RoutingEnabled: A boolean that defines the :ref:`ds-ipv6-routing` setting on this :term:`Delivery Service`
+:lastUpdated:        The date and time at which this :term:`Delivery Service` was last updated, in :rfc:`3339` format
+:logsEnabled:        A boolean that defines the :ref:`ds-logs-enabled` setting on this :term:`Delivery Service`
+:longDesc:           The :ref:`ds-longdesc` of this :term:`Delivery Service`
+:longDesc1:          The :ref:`ds-longdesc2` of this :term:`Delivery Service`
+:longDesc2:          The :ref:`ds-longdesc3` of this :term:`Delivery Service`
+:matchList:          The :term:`Delivery Service`'s :ref:`ds-matchlist`
 
 	:pattern:   A regular expression - the use of this pattern is dependent on the ``type`` field (backslashes are escaped)
-	:setNumber: An integral, unique identifier for the set of types to which the ``type`` field belongs
-	:type:      The type of match performed using ``pattern`` to determine whether or not to use this :term:`Delivery Service`
-
-		HOST_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches the ``Host:`` HTTP header of an HTTP request, or the name requested for resolution in a DNS request
-		HEADER_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches an HTTP header (both the name and value) in an HTTP request\ [#httpOnly]_
-		PATH_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches the request path of this :term:`Delivery Service`'s URL\ [#httpOnly]_
-		STEERING_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches the ``xml_id`` of one of this :term:`Delivery Service`'s "Steering" target :term:`Delivery Services`
-
-:maxDnsAnswers:      The maximum number of IPs to put in a A/AAAA response for a DNS :term:`Delivery Service` (0 means all available)
-:midHeaderRewrite:   Rewrite operations to be performed on TCP headers at the Edge-tier cache level - used by the Header Rewrite Apache Trafficserver plugin
-:missLat:            The latitude to use when the client cannot be found in the CZF or a geographic IP lookup
-:missLong:           The longitude to use when the client cannot be found in the CZF or a geographic IP lookup
-:multiSiteOrigin:    ``true`` if the Multi Site Origin feature is enabled for this :term:`Delivery Service`, ``false`` otherwise\ [3]_
-:originShield:       An "origin shield" is a forward proxy that sits between Mid-tier caches and the origin and performs further caching beyond what's offered by a standard CDN. This field is a string of FQDNs to use as origin shields, delimited by ``|``
-:orgServerFqdn:      The origin server's Fully Qualified Domain Name (FQDN) - including the protocol (e.g. http:// or https://) - for use in retrieving content from the origin server
-:profileDescription: The description of the Traffic Router Profile with which this :term:`Delivery Service` is associated
-:profileId:          The integral, unique identifier for the Traffic Router profile with which this :term:`Delivery Service` is associated
-:profileName:        The name of the Traffic Router Profile with which this :term:`Delivery Service` is associated
-:protocol:           The protocol which clients will use to communicate with Edge-tier :term:`cache server` s\ [#httpOnly]_ - this is an integer on the interval [0-2] where the values have these meanings:
-
-	0
-		HTTP
-	1
-		HTTPS
-	2
-		Both HTTP and HTTPS
-
-:qstringIgnore: Tells caches whether or not to consider URLs with different query parameter strings to be distinct - this is an integer on the interval [0-2] where the values have these meanings:
-
-	0
-		URLs with different query parameter strings will be considered distinct for caching purposes, and query strings will be passed upstream to the origin
-	1
-		URLs with different query parameter strings will be considered identical for caching purposes, and query strings will be passed upstream to the origin
-	2
-		Query strings are stripped out by Edge-tier caches, and thus are neither taken into consideration for caching purposes, nor passed upstream in requests to the origin
-
-:rangeRequestHandling: Tells caches how to handle range requests\ [#httpOnly]_ - this is an integer on the interval [0-2] where the values have these meanings:
-
-	0
-		Range requests will not be cached, but range requests that request ranges of content already cached will be served from the cache
-	1
-		Use the `background_fetch plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/background_fetch.en.html>`_ to service the range request while caching the whole object
-	2
-		Use the `experimental cache_range_requests plugin <https://github.com/apache/trafficserver/tree/master/plugins/experimental/cache_range_requests>`_ to treat unique ranges as unique objects
-
-:regexRemap: A regular expression remap rule to apply to this :term:`Delivery Service` at the Edge tier
-
-	.. seealso:: `The Apache Trafficserver documentation for the Regex Remap plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_remap.en.html>`_
-
-:regionalGeoBlocking: ``true`` if Regional Geo Blocking is in use within this :term:`Delivery Service`, ``false`` otherwise - see :ref:`regionalgeo-qht` for more information
-:remapText:           Additional, raw text to add to the remap line for caches
-
-	.. seealso:: `The Apache Trafficserver documentation for the Regex Remap plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_remap.en.html>`_
-
-:signed:           ``true`` if token-based authentication is enabled for this :term:`Delivery Service`, ``false`` otherwise
-:signingAlgorithm: Type of URL signing method to sign the URLs, basically comes down to one of two plugins or ``null``:
-
-	``null``
-		Token-based authentication is not enabled for this :term:`Delivery Service`
-	url_sig:
-		URL Signing token-based authentication is enabled for this :term:`Delivery Service`
-	uri_signing
-		URI Signing token-based authentication is enabled for this :term:`Delivery Service`
-
-	.. seealso:: `The Apache Trafficserver documentation for the url_sig plugin <https://docs.trafficserver.apache.org/en/8.0.x/admin-guide/plugins/url_sig.en.html>`_ and `the draft RFC for uri_signing <https://tools.ietf.org/html/draft-ietf-cdni-uri-signing-16>`_ - note, however that the current implementation of uri_signing uses Draft 12 of that RFC document, NOT the latest.
+	:setNumber: An integer that provides explicit ordering of :ref:`ds-matchlist` items - this is used as a priority ranking by Traffic Router, and is not guaranteed to correspond to the ordering of items in the array.
+	:type:      The type of match performed using ``pattern``.
+
+:maxDnsAnswers:        The :ref:`ds-max-dns-answers` allowed for this :term:`Delivery Service`
+:maxOriginConnections: The :ref:`ds-max-origin-connections`
+
+	.. versionadded:: 1.4
+
+:midHeaderRewrite:     A set of :ref:`ds-mid-header-rw-rules`
+:missLat:              The :ref:`ds-geo-miss-default-latitude` used by this :term:`Delivery Service`
+:missLong:             The :ref:`ds-geo-miss-default-longitude` used by this :term:`Delivery Service`
+:multiSiteOrigin:      A boolean that defines the use of :ref:`ds-multi-site-origin` by this :term:`Delivery Service`
+:orgServerFqdn:        The :ref:`ds-origin-url`
+:originShield:         A :ref:`ds-origin-shield` string
+:profileDescription:   The description of the :term:`Delivery Service`'s :ref:`ds-profile`, if any
+:profileId:            The integral, unique identifier for :ref:`ds-profile` with which this :term:`Delivery Service` is associated, if any
+:profileName:          The name of the :ref:`ds-profile` with which this :term:`Delivery Service` is associated, if any
+:protocol:             An integral, unique identifier that corresponds to the :ref:`ds-protocol` used by this :term:`Delivery Service`
+:qstringIgnore:        An integral, unique identifier that corresponds to the :ref:`ds-qstring-handling` setting on this :term:`Delivery Service`
+:rangeRequestHandling: An integral, unique identifier that corresponds to the :ref:`ds-range-request-handling` setting on this :term:`Delivery Service`
+:regexRemap:           A :ref:`ds-regex-remap`
+:regionalGeoBlocking:  A boolean defining the :ref:`ds-regionalgeo` setting on this :term:`Delivery Service`
+:remapText:            :ref:`ds-raw-remap`
+:signed:               ``true`` if  and only if ``signingAlgorithm`` is not ``null``, ``false`` otherwise
+:signingAlgorithm:     Either a :ref:`ds-signing-algorithm` or ``null`` to indicate URL/URI signing is not implemented on this :term:`Delivery Service`
 
 	.. versionadded:: 1.3
 
-:sslKeyVersion:       This integer indicates the generation of keys in use by the :term:`Delivery Service` - if any - and is incremented by the Traffic Portal client whenever new keys are generated
+:sslKeyVersion: This integer indicates the :ref:`ds-ssl-key-version`
+:tenantId:      The integral, unique identifier of the :ref:`ds-tenant` who owns this :term:`Delivery Service`
 
-	.. warning:: This number will not be correct if keys are manually replaced using the API, as the key generation API does not increment it!
+	.. versionadded:: 1.3
 
-:tenant:            The name of the tenant who owns this :term:`Delivery Service`
+:trRequestHeaders: If defined, this defines the :ref:`ds-tr-req-headers` used by Traffic Router for this :term:`Delivery Service`
 
 	.. versionadded:: 1.3
 
-:tenantId:            The integral, unique identifier of the tenant who owns this :term:`Delivery Service`
-:trRequestHeaders:    If defined, this takes the form of a string of HTTP headers to be included in Traffic Router access logs for requests - it's a template where ``__RETURN__`` translates to a carriage return and line feed (``\r\n``)\ [#httpOnly]_
-:trResponseHeaders:   If defined, this takes the form of a string of HTTP headers to be included in Traffic Router responses - it's a template where ``__RETURN__`` translates to a carriage return and line feed (``\r\n``)\ [#httpOnly]_
-:type:                The name of the routing type of this :term:`Delivery Service` e.g. "HTTP"
-:typeId:              The integral, unique identifier of the routing type of this :term:`Delivery Service`
-:xmlId:               A unique string that describes this :term:`Delivery Service` - exists for legacy reasons
+:trResponseHeaders: If defined, this defines the :ref:`ds-tr-resp-headers` used by Traffic Router for this :term:`Delivery Service`
+
+	.. versionadded:: 1.3
+
+:type:   The :ref:`ds-types` of this :term:`Delivery Service`
+:typeId: The integral, unique identifier of the :ref:`ds-types` of this :term:`Delivery Service`
+:xmlId:  This :term:`Delivery Service`'s :ref:`ds-xmlid`
 
 .. code-block:: http
 	:caption: Response Example
@@ -227,230 +170,196 @@ Response Structure
 	Access-Control-Allow-Origin: *
 	Content-Type: application/json
 	Set-Cookie: mojolicious=...; Path=/; HttpOnly
-	Whole-Content-Sha512: Mw4ZsiNKfnxZvN+LsfAzxIZjgGTzcBLcZK24mMdhN1XMRBtwEj9VI3ExNvWKv3dp0f3HRRCUTx6C+ST8bRL9jA==
+	Whole-Content-Sha512: SYwzDioAWWqHo6IDYpwUMVZBp9rHHqQLfqzysMYuPJPlDGIrjM2z3CO5/3621VOVUoBTFzGeA9V3wo4K2TjeDQ==
 	X-Server-Name: traffic_ops_golang/
-	Date: Wed, 14 Nov 2018 21:43:36 GMT
-	Content-Length: 1290
-
-	{ "response": [
-		{
-			"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": "2018-11-14 18:21:17+00",
-			"logsEnabled": true,
-			"longDesc": "Apachecon North America 2018",
-			"longDesc1": null,
-			"longDesc2": null,
-			"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": 0,
-			"qstringIgnore": 0,
-			"rangeRequestHandling": 0,
-			"regexRemap": null,
-			"regionalGeoBlocking": false,
-			"remapText": null,
-			"routingName": "video",
-			"signed": false,
-			"sslKeyVersion": null,
-			"tenantId": 1,
-			"type": "HTTP",
-			"typeId": 1,
-			"xmlId": "demo1",
-			"exampleURLs": [
-				"http://video.demo1.mycdn.ciab.test"
-			],
-			"deepCachingType": "NEVER",
-			"signingAlgorithm": null,
-			"tenant": "root"
-		}
-	]}
+	Date: Mon, 10 Jun 2019 13:43:48 GMT
+	Content-Length: 1500
 
+	{ "response": [{
+		"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": "2019-06-10 13:05:19+00",
+		"logsEnabled": true,
+		"longDesc": "Apachecon North America 2018",
+		"longDesc1": null,
+		"longDesc2": null,
+		"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,
+		"regionalGeoBlocking": false,
+		"remapText": null,
+		"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
+	}]}
 
-.. [1] Users with the :term:`Roles` "admin" and/or "operation" will be able to see *all* :term:`Delivery Services`, whereas any other user will only see the :term:`Delivery Services` their :term:`Tenant` is allowed to see.
-.. [#httpOnly] This only applies to HTTP :term:`Delivery Services`
-.. [3] See :ref:`ds-multi-site-origin`
-.. [4] This only applies to DNS-:ref:`routed <ds-types>` :term:`Delivery Services`
 
 ``PUT``
 =======
 Allows users to edit an existing :term:`Delivery Service`.
 
 :Auth. Required: Yes
-:Roles Required: "admin" or "operations"\ [10]_
+:Roles Required: "admin" or "operations"\ [#tenancy]_
 :Response Type:  **NOT PRESENT** - Despite returning a ``200 OK`` response (rather than e.g. a ``204 NO CONTENT`` response), this endpoint does **not** return a representation of the modified resource in its payload, and instead returns nothing - not even a success message.
 
 Request Structure
 -----------------
-:active:                   If ``true``, the :term:`Delivery Service` will immediately become active and serves traffic
-:anonymousBlockingEnabled: An optional field which, if defined and ``true`` will cause :ref:`Anonymous Blocking <anonymous_blocking-qht>` to be used with the new :term:`Delivery Service`
-:cacheurl:                 An optional setting for a deprecated feature of now-unsupported Trafficserver versions (read: "Don't use this")
+:active:                   A boolean that defines :ref:`ds-active`.
+:anonymousBlockingEnabled: A boolean that defines :ref:`ds-anonymous-blocking`
+:cacheurl:                 A :ref:`ds-cacheurl`
 
 	.. deprecated:: ATCv3.0
 		This field has been deprecated in Traffic Control 3.x and is subject to removal in Traffic Control 4.x or later
 
-:ccrDnsTtl:           The Time To Live (TTL) in seconds of the DNS response for A or AAAA record queries requesting the IP address of the Traffic Router - named "ccrDnsTtl" for legacy reasons
-:cdnId:               The integral, unique identifier for the CDN to which this :term:`Delivery Service`\ shall be assigned
-:checkPath:           The path portion of the URL which will be used to check connections to this :term:`Delivery Service`'s origin server
-:consistentHashRegex: If defined, this is a regular expression used for the Pattern-Based Consistent Hashing feature.\ [#httpOnly]_
+:ccrDnsTtl:           The :ref:`ds-dns-ttl` - named "ccrDnsTtl" for legacy reasons
+:cdnId:               The integral, unique identifier of the :ref:`ds-cdn` to which the :term:`Delivery Service` belongs
+:checkPath:           A :ref:`ds-check-path`
+:consistentHashRegex: A :ref:`ds-consistent-hashing-regex`
+
+	.. versionadded:: 1.4
+
+:consistentHashQueryParams: An array of :ref:`ds-consistent-hashing-qparams`
 
 	.. versionadded:: 1.4
 
-:consistentHashQueryParams: A set (actually array due to limitations of JSON) of query parameters which will be considered by Traffic Router when using a client request to consistently find an :term:`Edge-tier cache server` to which to redirect them.\ [#httpOnly]_
+:deepCachingType:     The :ref:`ds-deep-caching` setting for this :term:`Delivery Service`
+
+	.. versionadded:: 1.3
+
+:displayName:       The :ref:`ds-display-name`
+:dnsBypassCname:    A :ref:`ds-dns-bypass-cname`
+:dnsBypassIp:       A :ref:`ds-dns-bypass-ip`
+:dnsBypassIp6:      A :ref:`ds-dns-bypass-ipv6`
+:dnsBypassTtl:      The :ref:`ds-dns-bypass-ttl`
+:dscp:              A :ref:`ds-dscp` to be used within the :term:`Delivery Service`
+:edgeHeaderRewrite: A set of :ref:`ds-edge-header-rw-rules`
+:fqPacingRate:      The :ref:`ds-fqpr`
+
+	.. versionadded:: 1.3
+
+:geoLimit:            An integer that defines the :ref:`ds-geo-limit`
+:geoLimitCountries:   A string containing a comma-separated list defining the :ref:`ds-geo-limit-countries`\ [#geolimit]_
+:geoLimitRedirectUrl: A :ref:`ds-geo-limit-redirect-url`\ [#geolimit]_
+:geoProvider:         The :ref:`ds-geo-provider`
+:globalMaxMbps:       The :ref:`ds-global-max-mbps`
+:globalMaxTps:        The :ref:`ds-global-max-tps`
+:httpBypassFqdn:      A :ref:`ds-http-bypass-fqdn`
+:infoUrl:             An :ref:`ds-info-url`
+:initialDispersion:  The :ref:`ds-initial-dispersion`
+:ipv6RoutingEnabled: A boolean that defines the :ref:`ds-ipv6-routing` setting on this :term:`Delivery Service`
+:lastUpdated:        The date and time at which this :term:`Delivery Service` was last updated, in :rfc:`3339` format
+:logsEnabled:        A boolean that defines the :ref:`ds-logs-enabled` setting on this :term:`Delivery Service`
+:longDesc:           The :ref:`ds-longdesc` of this :term:`Delivery Service`
+:longDesc1:          The :ref:`ds-longdesc2` of this :term:`Delivery Service`
+:longDesc2:          The :ref:`ds-longdesc3` of this :term:`Delivery Service`
+:matchList:          The :term:`Delivery Service`'s :ref:`ds-matchlist`
+
+	:pattern:   A regular expression - the use of this pattern is dependent on the ``type`` field (backslashes are escaped)
+	:setNumber: An integer that provides explicit ordering of :ref:`ds-matchlist` items - this is used as a priority ranking by Traffic Router, and is not guaranteed to correspond to the ordering of items in the array.
+	:type:      The type of match performed using ``pattern``.
+
+:maxDnsAnswers:        The :ref:`ds-max-dns-answers` allowed for this :term:`Delivery Service`
+:maxOriginConnections: The :ref:`ds-max-origin-connections`
 
 	.. versionadded:: 1.4
 
-:deepCachingType: A string describing when to do Deep Caching for this :term:`Delivery Service`:
-
-	NEVER
-		Deep Caching will never be used by this :term:`Delivery Service` (default)
-	ALWAYS
-		Deep Caching will always be used by this :term:`Delivery Service`
-
-:displayName:       The human-friendly name for this :term:`Delivery Service`
-:dnsBypassCname:    Domain name to overflow requests for HTTP :term:`Delivery Service`\ s - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`
-:dnsBypassIp:       The IPv4 IP to use for bypass on a DNS :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`
-:dnsBypassIp6:      The IPv6 IP to use for bypass on a DNS :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`
-:dnsBypassTtl:      The time for which a DNS bypass of this :term:`Delivery Service`\ shall remain active
-:dscp:              The Differentiated Services Code Point (DSCP) with which to mark downstream (EDGE -> customer) traffic. This should be zero in most cases
-:edgeHeaderRewrite: An optional string which, if present, defines rewrite operations to be performed on TCP headers at the Edge-tier cache level - used by the Header Rewrite Apache Trafficserver plugin
-:fqPacingRate:      An optional integer which, if present, sets the Fair-Queuing Pacing Rate in bytes per second set on the all TCP connection sockets in the :term:`Delivery Service` (see ``man tc-fc_codel`` for more information) - Linux only, defaults to 0 meaning "disabled"
-:geoLimit:          The setting that determines how content is geographically limited - this is an integer on the interval [0-2] where the values have these meanings:
-
-	0
-		None - no limitations
-	1
-		Only route when the client's IP is found in the Coverage Zone File (CZF)
-	2
-		Only route when the client's IP is found in the CZF, or when the client can be determined to be from the United States of America
-
-	.. warning:: This does not prevent access to content or make content secure; it merely prevents routing to the content through Traffic Router
-
-:geoLimitCountries:   A string containing a comma-separated list of country codes (e.g. "US,AU") which are allowed to request content through this :term:`Delivery Service`\ [5]_
-:geoLimitRedirectUrl: A URL to which clients blocked by :ref:`Regional Geographic Blocking <regionalgeo-qht>` or the ``geoLimit`` settings will be re-directed\ [5]_
-:geoProvider:         An integer that represents the provider of a database for mapping IPs to geographic locations; currently only the following values are supported:
-
-	0
-		The "Maxmind" GeoIP2 database (default)
-	1
-		Neustar
-
-:globalMaxMbps:      An optional integer that will set the maximum global bandwidth allowed on this :term:`Delivery Service`. If exceeded, traffic will be routed to ``dnsBypassIp`` (or ``dnsBypassIp6`` for IPv6 traffic) for DNS :term:`Delivery Service`\ s and to ``httpBypassFqdn`` for HTTP :term:`Delivery Service`\ s
-:globalMaxTps:       An optional integer that will set the maximum global transactions per second allowed on this :term:`Delivery Service`. When this is exceeded traffic will be sent to the ``dnsBpassIp`` (and/or ``dnsBypassIp6``)for DNS :term:`Delivery Service`\ s and to the ``httpBypassFqdn`` for HTTP :term:`Delivery Service`\ s
-:httpBypassFqdn:     An optional Fully Qualified Domain Name (FQDN) to use for bypass on an HTTP :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`\ [#httpOnly]_
-:infoUrl:            An optional string which, if present, is expected to contain at least one URL pointing to more information about the :term:`Delivery Service`. Historically, this has been used to link relevant JIRA tickets
-:initialDispersion:  The number of caches between which traffic requesting the same object will be randomly split - meaning that if 4 clients all request the same object (one after another), then if this is above 4 there is a possibility that all 4 are cache misses. For most use-cases, this should be 1\ [#httpOnly]_\ [6]_
-:ipv6RoutingEnabled: If ``true``, clients that connect to Traffic Router using IPv6 will be given the IPv6 address of a suitable :term:`Edge-tier cache server`; if ``false`` all addresses will be IPv4, regardless of the client connection - optional for ANY_MAP-:ref:`ds-types` :term:`Delivery Services`
-:logsEnabled:        If ``true``, logging is enabled for this :term:`Delivery Service`, otherwise it is disabled
-:longDesc:           An optional description of the :term:`Delivery Service`
-:longDesc1:          An optional field used when more detailed information that that provided by ``longDesc`` is desired
-:longDesc2:          An optional field used when even more detailed information that that provided by either ``longDesc`` or ``longDesc1`` is desired
-:maxDnsAnswers:      An optional field which, when present, specifies the maximum number of IPs to put in responses to A/AAAA DNS record requests - defaults to 0, meaning "no limit"\ [4]_
-:midHeaderRewrite:   An optional string containing rewrite operations to be performed on TCP headers at the Edge-tier cache level - used by the Header Rewrite Apache Trafficserver plugin
-:missLat:            The latitude to use when the client cannot be found in the CZF or a geographic IP lookup\ [7]_
-:missLong:           The longitude to use when the client cannot be found in the CZF or a geographic IP lookup\ [7]_
-:multiSiteOrigin:    ``true`` if the Multi Site Origin feature is enabled for this :term:`Delivery Service`, ``false`` otherwise\ [3]_\ [7]_
-:orgServerFqdn:      The URL of the :term:`Delivery Service`'s origin server for use in retrieving content from the origin server\ [7]_
-
-	.. note:: Despite the field name, this must truly be a full URL - including the protocol (e.g. ``http://`` or ``https://``) - **NOT** merely the server's Fully Qualified Domain Name (FQDN)
-
-:originShield: An "origin shield" is a forward proxy that sits between Mid-tier caches and the origin and performs further caching beyond what's offered by a standard CDN. This optional field is a string of FQDNs to use as origin shields, delimited by ``|``
-:profileId:    An optional, integral, unique identifier for the Traffic Router profile with which this :term:`Delivery Service`\ shall be associated
-:protocol:     The protocol which clients will use to communicate with Edge-tier :term:`cache server` s - this is an (optional for ANY_MAP :term:`Delivery Service`\ s) integer on the interval [0,2] where the values have these meanings:
-
-	0
-		HTTP
-	1
-		HTTPS
-	2
-		Both HTTP and HTTPS
-
-:qstringIgnore: Tells caches whether or not to consider URLs with different query parameter strings to be distinct\ [7]_ - this is an integer on the interval [0-2] where the values have these meanings:
-
-	0
-		URLs with different query parameter strings will be considered distinct for caching purposes, and query strings will be passed upstream to the origin
-	1
-		URLs with different query parameter strings will be considered identical for caching purposes, and query strings will be passed upstream to the origin
-	2
-		Query strings are stripped out by Edge-tier caches, and thus are neither taken into consideration for caching purposes, nor passed upstream in requests to the origin
-
-:rangeRequestHandling: Tells caches how to handle range requests\ [7]_ - this is an integer on the interval [0,2] where the values have these meanings:
-
-	0
-		Range requests will not be cached, but range requests that request ranges of content already cached will be served from the cache
-	1
-		Use the `background_fetch plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/background_fetch.en.html>`_ to service the range request while caching the whole object
-	2
-		Use the `experimental cache_range_requests plugin <https://github.com/apache/trafficserver/tree/master/plugins/experimental/cache_range_requests>`_ to treat unique ranges as unique objects
-
-:regexRemap: An optional, regular expression remap rule to apply to this :term:`Delivery Service` at the Edge tier
-
-	.. seealso:: `The Apache Trafficserver documentation for the Regex Remap plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_remap.en.html>`_
-
-:regionalGeoBlocking: ``true`` if Regional Geo Blocking is in use within this :term:`Delivery Service`, ``false`` otherwise - see :ref:`regionalgeo-qht` for more information
-:remapText:           Optional, raw text to add to the remap line for caches
-
-	.. seealso:: `The Apache Trafficserver documentation for the Regex Remap plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_remap.en.html>`_
-
-:routingName:      The routing name of this :term:`Delivery Service`, used as the top-level part of the FQDN used by clients to request content from the :term:`Delivery Service` e.g. ``routingName.xml_id.CDNName.com``
-:signed:           An optional field which should be ``true`` if token-based authentication\ [8]_ will be enabled for this :term:`Delivery Service`, ``false`` (default) otherwise
-:signingAlgorithm: Type of URL signing method to sign the URLs\ [8]_, basically comes down to one of two plugins or ``null``:
-
-	``null``
-		Token-based authentication is not enabled for this :term:`Delivery Service`
-	url_sig:
-		URL Signing token-based authentication is enabled for this :term:`Delivery Service`
-	uri_signing
-		URI Signing token-based authentication is enabled for this :term:`Delivery Service`
-
-	.. seealso:: `The Apache Trafficserver documentation for the url_sig plugin <https://docs.trafficserver.apache.org/en/8.0.x/admin-guide/plugins/url_sig.en.html>`_ and `the draft RFC for uri_signing <https://tools.ietf.org/html/draft-ietf-cdni-uri-signing-16>`_ - note, however that the current implementation of uri_signing uses Draft 12 of that RFC document, **NOT** the latest
-
-:sslKeyVersion: This optional integer indicates the generation of keys to be used by the :term:`Delivery Service` - if any - and is incremented by the Traffic Portal client whenever new keys are generated
-
-	.. warning:: This number will not be correct if keys are manually replaced using the API, as the key generation API does not increment it!
-
-:tenantId:            An optional, integral, unique identifier of the tenant who will own this :term:`Delivery Service`
-:trRequestHeaders:    If defined, this takes the form of a string of HTTP headers to be included in Traffic Router access logs for requests - it's a template where ``__RETURN__`` translates to a carriage return and line feed (``\r\n``)\ [#httpOnly]_
-:trResponseHeaders:   If defined, this takes the form of a string of HTTP headers to be included in Traffic Router responses - it's a template where ``__RETURN__`` translates to a carriage return and line feed (``\r\n``)\ [#httpOnly]_
-:typeId:              The integral, unique identifier for the routing type of this :term:`Delivery Service`
-:xmlId:               A unique string that describes this :term:`Delivery Service` - exists for legacy reasons
+:midHeaderRewrite:     A set of :ref:`ds-mid-header-rw-rules`
+:missLat:              The :ref:`ds-geo-miss-default-latitude` used by this :term:`Delivery Service`
+:missLong:             The :ref:`ds-geo-miss-default-longitude` used by this :term:`Delivery Service`
+:multiSiteOrigin:      A boolean that defines the use of :ref:`ds-multi-site-origin` by this :term:`Delivery Service`
+:orgServerFqdn:        The :ref:`ds-origin-url`
+:originShield:         A :ref:`ds-origin-shield` string
+:profileId:            The integral, unique identifier for :ref:`ds-profile` with which this :term:`Delivery Service` is associated, if any
+:protocol:             An integral, unique identifier that corresponds to the :ref:`ds-protocol` used by this :term:`Delivery Service`
+:qstringIgnore:        An integral, unique identifier that corresponds to the :ref:`ds-qstring-handling` setting on this :term:`Delivery Service`
+:rangeRequestHandling: An integral, unique identifier that corresponds to the :ref:`ds-range-request-handling` setting on this :term:`Delivery Service`
+:regexRemap:           A :ref:`ds-regex-remap`
+:regionalGeoBlocking:  A boolean defining the :ref:`ds-regionalgeo` setting on this :term:`Delivery Service`
+:remapText:            :ref:`ds-raw-remap`
+:signed:               ``true`` if  and only if ``signingAlgorithm`` is not ``null``, ``false`` otherwise
+:signingAlgorithm:     Either a :ref:`ds-signing-algorithm` or ``null`` to indicate URL/URI signing is not implemented on this :term:`Delivery Service`
+
+	.. versionadded:: 1.3
+
+:sslKeyVersion: This integer indicates the :ref:`ds-ssl-key-version`
+:tenantId:      The integral, unique identifier of the :ref:`ds-tenant` who owns this :term:`Delivery Service`
+
+	.. versionadded:: 1.3
+
+:trRequestHeaders: If defined, this defines the :ref:`ds-tr-req-headers` used by Traffic Router for this :term:`Delivery Service`
+
+	.. versionadded:: 1.3
+
+:trResponseHeaders: If defined, this defines the :ref:`ds-tr-resp-headers` used by Traffic Router for this :term:`Delivery Service`
+
+	.. versionadded:: 1.3
+
+:type:   The :ref:`ds-types` of this :term:`Delivery Service`
+:typeId: The integral, unique identifier of the :ref:`ds-types` of this :term:`Delivery Service`
+:xmlId:  This :term:`Delivery Service`'s :ref:`ds-xmlid`
 
 	.. note:: While this field **must** be present, it is **not** allowed to change; this must be the same as the ``xml_id`` the :term:`Delivery Service` already has. This should almost never be different from the :term:`Delivery Service`'s ``displayName``.
 
@@ -473,9 +382,6 @@ Request Structure
 		"cdnName": "CDN-in-a-Box",
 		"deepCachingType": "NEVER",
 		"displayName": "demo",
-		"exampleURLs": [
-			"http://video.demo.mycdn.ciab.test"
-		],
 		"dscp": 0,
 		"geoLimit": 0,
 		"geoProvider": 0,
@@ -483,7 +389,7 @@ Request Structure
 		"ipv6RoutingEnabled": false,
 		"lastUpdated": "2018-11-14 18:21:17+00",
 		"logsEnabled": true,
-		"longDesc": "A :term:`Delivery Service` created expressly for API documentation examples",
+		"longDesc": "A Delivery Service created expressly for API documentation examples",
 		"missLat": -1,
 		"missLong": -1,
 		"multiSiteOrigin": false,
@@ -500,10 +406,6 @@ Request Structure
 		"xmlId": "demo1"
 	}
 
-.. [5] These fields must be defined if and only if ``geoLimit`` is non-zero
-.. [6] These fields are required for HTTP-routed :term:`Delivery Service`\ s, and optional for all others
-.. [7] These fields are required for HTTP-routed and DNS-routed :term:`Delivery Service`\ s, but are optional for (and in fact may have no effect on) STEERING and ANY_MAP :term:`Delivery Service`\ s
-.. [8] See "token-based-auth" TODO --- wat for more information
 
 Response Structure
 ------------------
@@ -523,14 +425,12 @@ Response Structure
 	Content-Type: text/plain; charset=utf-8
 
 
-.. [10] Users with the roles "admin" and/or "operation" will be able to edit *all* :term:`Delivery Service`\ s, whereas any other user will only be able to edit the :term:`Delivery Service`\ s their Tenant is allowed to edit.
-
 ``DELETE``
 ==========
 Deletes the target :term:`Delivery Service`
 
 :Auth. Required: Yes
-:Roles Required: "admin" or "operations"\ [11]_
+:Roles Required: "admin" or "operations"\ [#tenancy]_
 :Response Type:  ``undefined``
 
 Request Structure
@@ -577,4 +477,6 @@ Response Structure
 		}
 	]}
 
-.. [11] Users with the roles "admin" and/or "operation" will be able to delete *all* :term:`Delivery Service`\ s, whereas any other user will only be able to delete the :term:`Delivery Service`\ s their Tenant is allowed to delete.
+
+.. [#tenancy] Only those :term:`Delivery Services` assigned to :term:`Tenants` that are the requesting user's :term:`Tenant` or children thereof will appear in the output of a ``GET`` request, and the same constraints are placed on the allowed values of the ``tenantId`` field of a ``PUT`` request to update a new :term:`Delivery Service`. Furthermore, the only :term:`Delivery Services` a user may delete are those assigned to a :term:`Tenant` that is either the same :term:`Tenant` as the u [...]
+.. [#geoLimit] These fields must be defined if and only if ``geoLimit`` is non-zero
diff --git a/docs/source/api/deliveryservices_id_capacity.rst b/docs/source/api/deliveryservices_id_capacity.rst
index 5070c3f..58b1c23 100644
--- a/docs/source/api/deliveryservices_id_capacity.rst
+++ b/docs/source/api/deliveryservices_id_capacity.rst
@@ -26,7 +26,7 @@
 Retrieves the usage percentages of a servers associated with a :term:`Delivery Service`
 
 :Auth. Required: Yes
-:Roles Required: "admin" or "operations"\ [1]_
+:Roles Required: "admin" or "operations"\ [#tenancy]_
 :Response Type:  Object
 
 Request Structure
@@ -41,8 +41,8 @@ Request Structure
 
 Response Structure
 ------------------
-:availablePercent:   The percent of servers assigned to this :term:`Delivery Service` that is available - the allowed traffic level in terms of data per time period for all :term:`cache server`\ s that remains unused
-:unavailablePercent: The percent of servers assigned to this :term:`Delivery Service` that is unavailable - the allowed traffic level in terms of data per time period for all :term:`cache server`\ s that can't be used because the servers are deemed unhealthy
+:availablePercent:   The percent of servers assigned to this :term:`Delivery Service` that is available - the allowed traffic level in terms of data per time period for all :term:`cache servers` that remains unused
+:unavailablePercent: The percent of servers assigned to this :term:`Delivery Service` that is unavailable - the allowed traffic level in terms of data per time period for all :term:`cache servers` that can't be used because the servers are deemed unhealthy
 :utilizedPercent:    The percent of servers assigned to this :term:`Delivery Service` that is currently in use - the allowed traffic level in terms of data per time period that is currently devoted to servicing requests
 :maintenancePercent: The percent of servers assigned to this :term:`Delivery Service` that is unavailable due to server maintenance - the allowed traffic level in terms of data per time period that is unavailable because servers have intentionally been marked offline by administrators
 
@@ -70,4 +70,4 @@ Response Structure
 		"maintenancePercent": 0
 	}}
 
-.. [1] Users with the roles "admin" and/or "operations" will be able to see details for *all* :term:`Delivery Service`\ s, whereas any other user will only see details for the :term:`Delivery Service`\ s their Tenant is allowed to see.
+.. [#tenancy] Users will only be able to see capacity details for the :term:`Delivery Services` their :term:`Tenant` is allowed to see.
diff --git a/docs/source/api/deliveryservices_id_health.rst b/docs/source/api/deliveryservices_id_health.rst
index 73666fe..dc04410 100644
--- a/docs/source/api/deliveryservices_id_health.rst
+++ b/docs/source/api/deliveryservices_id_health.rst
@@ -23,10 +23,10 @@
 
 ``GET``
 =======
-Retrieves the health of all :term:`Cache Group`\ s assigned to a particular :term:`Delivery Service`
+Retrieves the health of all :term:`Cache Groups` assigned to a particular :term:`Delivery Service`
 
 :Auth. Required: Yes
-:Roles Required: "admin" or "operations"\ [1]_
+:Roles Required: "admin" or "operations"\ [#tenancy]_
 :Response Type:  Object
 
 Request Structure
@@ -45,11 +45,11 @@ Response Structure
 :cachegroups: An array of objects that represent the health of each :term:`Cache Group` assigned to this :term:`Delivery Service`
 
 	:name:    The name of the :term:`Cache Group` represented by this object
-	:offline: The number of offline :term:`cache server`\ s within this :term:`Cache Group`
-	:online:  The number of online :term:`cache server`\ s within this :term:`Cache Group`
+	:offline: The number of offline :term:`cache servers` within this :term:`Cache Group`
+	:online:  The number of online :term:`cache servers` within this :term:`Cache Group`
 
-:totalOffline: Total number of offline :term:`cache server`\ s assigned to this :term:`Delivery Service`
-:totalOnline:  Total number of online :term:`cache server`\ s assigned to this :term:`Delivery Service`
+:totalOffline: Total number of offline :term:`cache servers` assigned to this :term:`Delivery Service`
+:totalOnline:  Total number of online :term:`cache servers` assigned to this :term:`Delivery Service`
 
 .. code-block:: http
 	:caption: Response Example
@@ -80,4 +80,4 @@ Response Structure
 		]
 	}}
 
-.. [1] Users with the roles "admin" and/or "operations" will be able to the see :term:`Cache Group`\ s associated with *any* :term:`Delivery Service`\ s, whereas any other user will only be able to see the :term:`Cache Group`\ s associated with :term:`Delivery Service`\ s their Tenant is allowed to see.
+.. [#tenancy] Users will only be able to see :term:`Cache Group` health details for the :term:`Delivery Services` their :term:`Tenant` is allowed to see.
diff --git a/docs/source/api/deliveryservices_id_regexes.rst b/docs/source/api/deliveryservices_id_regexes.rst
index 48255c8..9d1a9c6 100644
--- a/docs/source/api/deliveryservices_id_regexes.rst
+++ b/docs/source/api/deliveryservices_id_regexes.rst
@@ -24,7 +24,7 @@
 Retrieves routing regular expressions for a specific :term:`Delivery Service`.
 
 :Auth. Required: Yes
-:Roles Required: None\ [1]_
+:Roles Required: None\ [#tenancy]_
 :Response Type:  Array
 
 Request Structure
@@ -32,7 +32,7 @@ Request Structure
 .. table:: Request Path Parameters
 
 	+------+---------------------------------------------------------------------------------+
-	| Name |                Description                                                      |
+	| Name | Description                                                                     |
 	+======+=================================================================================+
 	|  ID  | The integral, unique identifier of the :term:`Delivery Service` being inspected |
 	+------+---------------------------------------------------------------------------------+
@@ -79,14 +79,13 @@ Response Structure
 		}
 	]}
 
-.. [1] If tenancy is used, then users (regardless of role) will only be able to see the routing regular expressions used by :term:`Delivery Service`\ s their tenant has permissions to see.
 
 ``POST``
 ========
 Creates a routing regular expression for a :term:`Delivery Service`.
 
 :Auth. Required: Yes
-:Roles Required: "admin" or "operations"\ [2]_
+:Roles Required: "admin" or "operations"\ [#tenancy]_
 :Response Type:  Object
 
 Request Structure
@@ -161,4 +160,4 @@ Response Structure
 	}}
 
 
-.. [2] If tenancy is used, then users (regardless of role) will only be able to edit the routing regular expressions used by :term:`Delivery Service`\ s their tenant has permissions to edit. Assuming tenancy is satisfied, a routing regular expression can only be created by a user with the "admin" or "operations" role.
+.. [#tenancy] Users will only be able to view and create regular expressions for the :term:`Delivery Services` their :term:`Tenant` is allowed to see.
diff --git a/docs/source/api/deliveryservices_id_regexes_rid.rst b/docs/source/api/deliveryservices_id_regexes_rid.rst
index 94e4c15..924a7eb 100644
--- a/docs/source/api/deliveryservices_id_regexes_rid.rst
+++ b/docs/source/api/deliveryservices_id_regexes_rid.rst
@@ -24,7 +24,7 @@
 Retrieves a specific routing regular expression for a specific :term:`Delivery Service`.
 
 :Auth. Required: Yes
-:Roles Required: None\ [1]_
+:Roles Required: None\ [#tenancy]_
 :Response Type:  Array
 
 Request Structure
@@ -81,15 +81,13 @@ Response Structure
 		}
 	]}
 
-.. [1] If tenancy is used, then users (regardless of role) will only be able to see the routing regular expressions used by :term:`Delivery Service`\ s their tenant has permissions to see.
-
 
 ``PUT``
 =======
 Updates a routing regular expression.
 
 :Auth. Required: Yes
-:Roles Required: "admin" or "operations"\ [2]_
+:Roles Required: "admin" or "operations"\ [#tenancy]_
 :Response Type:  Object
 
 Request Structure
@@ -166,14 +164,13 @@ Response Structure
 	}}
 
 
-.. [2] If tenancy is used, then users (regardless of role) will only be able to edit the routing regular expressions used by :term:`Delivery Service`\ s their tenant has permissions to edit. Assuming tenancy is satisfied, a routing regular expression can only be edited by a user with the "admin" or "operations" role.
 
 ``DELETE``
 ==========
 Deletes a routing regular expression.
 
 :Auth. Required: Yes
-:Roles Required: "admin" or "operations"\ [3]_
+:Roles Required: "admin" or "operations"\ [#tenancy]_
 :Response Type:  ``undefined``
 
 Request Structure
@@ -221,4 +218,4 @@ Response Structure
 		}
 	]}
 
-.. [3] If tenancy is used, then users (regardless of role) will only be able to delete the routing regular expressions used by :term:`Delivery Service`\ s their tenant has permissions to delete. Assuming tenancy is satisfied, a routing regular expression can only be deleted by a user with the "admin" or "operations" role.
+.. [#tenancy] Users will only be able to view, delete and update regular expressions for the :term:`Delivery Services` their :term:`Tenant` is allowed to see.
diff --git a/docs/source/api/deliveryservices_id_routing.rst b/docs/source/api/deliveryservices_id_routing.rst
index 5f1bcb0..7f47186 100644
--- a/docs/source/api/deliveryservices_id_routing.rst
+++ b/docs/source/api/deliveryservices_id_routing.rst
@@ -24,7 +24,7 @@
 Retrieves routing method statistics for a particular :term:`Delivery Service`
 
 :Auth. Required: Yes
-:Roles Required: "admin" or "operations"\ [1]_
+:Roles Required: "admin" or "operations"\ [#tenancy]_
 :Response Type:  Object
 
 Request Structure
@@ -48,7 +48,7 @@ Request Structure
 
 Response Structure
 ------------------
-:cz:                The percent of requests to the Traffic Router for this :term:`Delivery Service` that were satisfied by a coverage zone file (CZF)
+:cz:                The percent of requests to the Traffic Router for this :term:`Delivery Service` that were satisfied by a :term:`Coverage Zone File`
 :dsr:               The percent of requests to the Traffic Router for this :term:`Delivery Service` that were satisfied by sending the client to an overflow :term:`Delivery Service`
 :err:               The percent of requests to the Traffic Router for this :term:`Delivery Service` that resulted in an error
 :fed:               The percent of requests to the Traffic Router for this :term:`Delivery Service` that were satisfied by sending the client to a federated CDN
@@ -56,7 +56,7 @@ Response Structure
 :miss:              The percent of requests to the Traffic Router for this :term:`Delivery Service` that could not be satisfied
 :regionalAlternate: The percent of requests to the Traffic Router for this :term:`Delivery Service` that were satisfied by sending the client to the alternate, Regional Geo-blocking URL
 :regionalDenied:    The percent of Traffic Router requests for this :term:`Delivery Service` that were denied due to geographic location policy
-:staticRoute:       The percent of requests to the Traffic Router for this :term:`Delivery Service` that were satisfied with pre-configured DNS entries
+:staticRoute:       The percent of requests to the Traffic Router for this :term:`Delivery Service` that were satisfied with :ref:`ds-static-dns-entries`
 
 .. code-block:: http
 	:caption: Response Example
@@ -88,4 +88,4 @@ Response Structure
 		"miss": 0
 	}}
 
-.. [1] Users with the roles "admin" and/or "operations" will be able to see details for *all* :term:`Delivery Service`\ s, whereas any other user will only see details for the :term:`Delivery Service`\ s their Tenant is allowed to see.
+.. [#tenancy] Users will only be able to view routing details for the :term:`Delivery Services` their :term:`Tenant` is allowed to see.
diff --git a/docs/source/api/deliveryservices_id_safe.rst b/docs/source/api/deliveryservices_id_safe.rst
index cf0f042..9ef2345 100644
--- a/docs/source/api/deliveryservices_id_safe.rst
+++ b/docs/source/api/deliveryservices_id_safe.rst
@@ -24,7 +24,7 @@
 Allows a user to edit metadata fields of a :term:`Delivery Service`.
 
 :Auth. Required: Yes
-:Roles Required: "admin" or "operations"\ [1]_
+:Roles Required: "admin" or "operations"\ [#tenancy]_
 :Response Type:  Array
 
 Request Structure
@@ -37,11 +37,11 @@ Request Structure
 	|  ID  | The integral, unique identifier of the :term:`Delivery Service` being modified |
 	+------+--------------------------------------------------------------------------------+
 
-:displayName: The human-friendly name for this :term:`Delivery Service`
-:infoUrl:     A string which is expected to contain at least one URL pointing to more information about the :term:`Delivery Service`. Historically, this has been used to link relevant JIRA tickets
-:longDesc:    A description of the :term:`Delivery Service`
-:longDesc1:   A field used when more detailed information that that provided by ``longDesc`` is desired
-:longDesc2:   A field used when even more detailed information that that provided by either ``longDesc`` or ``longDesc1`` is desired
+:displayName: The :ref:`ds-display-name`
+:infoUrl:     An :ref:`ds-info-url`
+:longDesc:    The :ref:`ds-longdesc` of this :term:`Delivery Service`
+:longDesc1:   The :ref:`ds-longdesc2` of this :term:`Delivery Service`
+:longDesc2:   The :ref:`ds-longdesc3` of this :term:`Delivery Service`
 
 .. note:: All of these fields are optional; this ``PUT`` behaves more like a ``PATCH``
 
@@ -59,7 +59,7 @@ Request Structure
 	{
 		"displayName": "demo",
 		"infoUrl": "www.info.com",
-		"longDesc": "A :term:`Delivery Service` created for the CDN-in-a-Box project",
+		"longDesc": "A Delivery Service created for the CDN-in-a-Box project",
 		"longDesc1": null,
 		"longDesc2": null
 	}
@@ -67,263 +67,200 @@ Request Structure
 
 Response Structure
 ------------------
-.. versionchanged:: 1.3
-	Removed ``fqPacingRate`` field, added fields: ``deepCachingType``, ``signingAlgorithm``, and ``tenant``.
-
-:active:                   ``true`` if the :term:`Delivery Service` is active, ``false`` otherwise
-:anonymousBlockingEnabled: ``true`` if :ref:`Anonymous Blocking <anonymous_blocking-qht>` has been configured for the :term:`Delivery Service`, ``false`` otherwise
-:cacheurl:                 A setting for a deprecated feature of now-unsupported Trafficserver versions
+:active:                   A boolean that defines :ref:`ds-active`.
+:anonymousBlockingEnabled: A boolean that defines :ref:`ds-anonymous-blocking`
+:cacheurl:                 A :ref:`ds-cacheurl`
 
 	.. deprecated:: ATCv3.0
 		This field has been deprecated in Traffic Control 3.x and is subject to removal in Traffic Control 4.x or later
 
-:ccrDnsTtl:           The Time To Live (TTL) of the DNS response for A or AAAA record queries requesting the IP address of the Traffic Router - named "ccrDnsTtl" for legacy reasons
-:cdnId:               The integral, unique identifier of the CDN to which the :term:`Delivery Service` belongs
-:cdnName:             Name of the CDN to which the :term:`Delivery Service` belongs
-:checkPath:           The path portion of the URL to check connections to this :term:`Delivery Service`'s origin server
-:consistentHashRegex: If defined, this is a regular expression used for the Pattern-Based Consistent Hashing feature.\ [#httpOnly]_
+:ccrDnsTtl:           The :ref:`ds-dns-ttl` - named "ccrDnsTtl" for legacy reasons
+:cdnId:               The integral, unique identifier of the :ref:`ds-cdn` to which the :term:`Delivery Service` belongs
+:cdnName:             Name of the :ref:`ds-cdn` to which the :term:`Delivery Service` belongs
+:checkPath:           A :ref:`ds-check-path`
+:consistentHashRegex: A :ref:`ds-consistent-hashing-regex`
 
 	.. versionadded:: 1.4
 
-:consistentHashQueryParams: A set (actually array due to limitations of JSON) of query parameters which will be considered by Traffic Router when using a client request to consistently find an :term:`Edge-tier cache server` to which to redirect them.\ [#httpOnly]_
+:consistentHashQueryParams: An array of :ref:`ds-consistent-hashing-qparams`
 
 	.. versionadded:: 1.4
 
-:deepCachingType:          A string that describes when "Deep Caching" will be used by this :term:`Delivery Service` - one of:
+:deepCachingType:     The :ref:`ds-deep-caching` setting for this :term:`Delivery Service`
+
+	.. versionadded:: 1.3
 
-	ALWAYS
-		"Deep Caching" will always be used with this :term:`Delivery Service`
-	NEVER
-		"Deep Caching" will never be used with this :term:`Delivery Service`
+:displayName:       The :ref:`ds-display-name`
+:dnsBypassCname:    A :ref:`ds-dns-bypass-cname`
+:dnsBypassIp:       A :ref:`ds-dns-bypass-ip`
+:dnsBypassIp6:      A :ref:`ds-dns-bypass-ipv6`
+:dnsBypassTtl:      The :ref:`ds-dns-bypass-ttl`
+:dscp:              A :ref:`ds-dscp` to be used within the :term:`Delivery Service`
+:edgeHeaderRewrite: A set of :ref:`ds-edge-header-rw-rules`
+:exampleURLs:       An array of :ref:`ds-example-urls`
+:fqPacingRate:      The :ref:`ds-fqpr`
 
 	.. versionadded:: 1.3
 
-:displayName:              The display name of the :term:`Delivery Service`
-:dnsBypassCname:           Domain name to overflow requests for HTTP :term:`Delivery Service`\ s - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`\ [4]_
-:dnsBypassIp:              The IPv4 IP to use for bypass on a DNS :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`\ [4]_
-:dnsBypassIp6:             The IPv6 IP to use for bypass on a DNS :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`\ [4]_
-:dnsBypassTtl:             The time for which a DNS bypass of this :term:`Delivery Service`\ shall remain active\ [4]_
-:dscp:                     The Differentiated Services Code Point (DSCP) with which to mark traffic as it leaves the CDN and reaches clients
-:edgeHeaderRewrite:        Rewrite operations to be performed on TCP headers at the Edge-tier cache level - used by the Header Rewrite Apache Trafficserver plugin
-:fqPacingRate:             The Fair-Queuing Pacing Rate in Bytes per second set on the all TCP connection sockets in the :term:`Delivery Service` (see ``man tc-fc_codel`` for more information) - Linux only
-
-	.. deprecated:: 1.3
-		This field is only present/available in API versions 1.2 and lower - it has been removed in API version 1.3
-
-:geoLimit:                 The setting that determines how content is geographically limited - this is an integer on the interval [0-2] where the values have these meanings:
-:geoLimitCountries:        A string containing a comma-separated list of country codes (e.g. "US,AU") which are allowed to request content through this :term:`Delivery Service`
-:geoLimitRedirectUrl:      A URL to which clients blocked by :ref:`Regional Geographic Blocking <regionalgeo-qht>` or the ``geoLimit`` settings will be re-directed
-
-	0
-		None - no limitations
-	1
-		Only route when the client's IP is found in the Coverage Zone File (CZF)
-	2
-		Only route when the client's IP is found in the CZF, or when the client can be determined to be from the United States of America
-
-	.. warning:: This does not prevent access to content or make content secure; it merely prevents routing to the content through Traffic Router
-
-:geoProvider:        An integer that represents the provider of a database for mapping IPs to geographic locations; currently only ``0``  - which represents MaxMind - is supported
-:globalMaxMbps:      The maximum global bandwidth allowed on this :term:`Delivery Service`. If exceeded, traffic will be routed to ``dnsBypassIp`` (or ``dnsBypassIp6`` for IPv6 traffic) for DNS :term:`Delivery Service`\ s and to ``httpBypassFqdn`` for HTTP :term:`Delivery Service`\ s
-:globalMaxTps:       The maximum global transactions per second allowed on this :term:`Delivery Service`. When this is exceeded traffic will be sent to the dnsByPassIp* for DNS :term:`Delivery Service`\ s and to the httpBypassFqdn for HTTP :term:`Delivery Service`\ s
-:httpBypassFqdn:     The HTTP destination to use for bypass on an HTTP :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`
-:id:                 An integral, unique identifier for this :term:`Delivery Service`
-:infoUrl:            This is a string which is expected to contain at least one URL pointing to more information about the :term:`Delivery Service`. Historically, this has been used to link relevant JIRA tickets
-:initialDispersion:  The number of caches between which traffic requesting the same object will be randomly split - meaning that if 4 clients all request the same object (one after another), then if this is above 4 there is a possibility that all 4 are cache misses. For most use-cases, this should be 1
-:ipv6RoutingEnabled: If ``true``, clients that connect to Traffic Router using IPv6 will be given the IPv6 address of a suitable :term:`Edge-tier cache server`; if ``false`` all addresses will be IPv4, regardless of the client connection
-:lastUpdated:        The date and time at which this :term:`Delivery Service` was last updated, in a ``ctime``-like format
-:logsEnabled:        If ``true``, logging is enabled for this :term:`Delivery Service`, otherwise it is disabled
-:longDesc:           A description of the :term:`Delivery Service`
-:longDesc1:          A field used when more detailed information that that provided by ``longDesc`` is desired
-:longDesc2:          A field used when even more detailed information that that provided by either ``longDesc`` or ``longDesc1`` is desired
-:matchList:          An array of methods used by Traffic Router to determine whether or not a request can be serviced by this :term:`Delivery Service`
+:geoLimit:            An integer that defines the :ref:`ds-geo-limit`
+:geoLimitCountries:   A string containing a comma-separated list defining the :ref:`ds-geo-limit-countries`
+:geoLimitRedirectUrl: A :ref:`ds-geo-limit-redirect-url`
+:geoProvider:         The :ref:`ds-geo-provider`
+:globalMaxMbps:       The :ref:`ds-global-max-mbps`
+:globalMaxTps:        The :ref:`ds-global-max-tps`
+:httpBypassFqdn:      A :ref:`ds-http-bypass-fqdn`
+:id:                  An integral, unique identifier for this :term:`Delivery Service`
+:infoUrl:             An :ref:`ds-info-url`
+:initialDispersion:  The :ref:`ds-initial-dispersion`
+:ipv6RoutingEnabled: A boolean that defines the :ref:`ds-ipv6-routing` setting on this :term:`Delivery Service`
+:lastUpdated:        The date and time at which this :term:`Delivery Service` was last updated, in :rfc:`3339` format
+:logsEnabled:        A boolean that defines the :ref:`ds-logs-enabled` setting on this :term:`Delivery Service`
+:longDesc:           The :ref:`ds-longdesc` of this :term:`Delivery Service`
+:longDesc1:          The :ref:`ds-longdesc2` of this :term:`Delivery Service`
+:longDesc2:          The :ref:`ds-longdesc3` of this :term:`Delivery Service`
+:matchList:          The :term:`Delivery Service`'s :ref:`ds-matchlist`
 
 	:pattern:   A regular expression - the use of this pattern is dependent on the ``type`` field (backslashes are escaped)
-	:setNumber: An integral, unique identifier for the set of types to which the ``type`` field belongs
-	:type:      The type of match performed using ``pattern`` to determine whether or not to use this :term:`Delivery Service`
-
-		HOST_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches the ``Host:`` HTTP header of an HTTP request, or the name requested for resolution in a DNS request
-		HEADER_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches an HTTP header (both the name and value) in an HTTP request\ [#httpOnly]_
-		PATH_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches the request path of this :term:`Delivery Service`'s URL\ [#httpOnly]_
-		STEERING_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches the ``xml_id`` of one of this :term:`Delivery Service`'s "Steering" target :term:`Delivery Services`
-
-:maxDnsAnswers:      The maximum number of IPs to put in a A/AAAA response for a DNS :term:`Delivery Service` (0 means all available)\ [4]_
-:midHeaderRewrite:   Rewrite operations to be performed on TCP headers at the Edge-tier cache level - used by the Header Rewrite Apache Trafficserver plugin
-:missLat:            The latitude to use when the client cannot be found in the CZF or a geographic IP lookup
-:missLong:           The longitude to use when the client cannot be found in the CZF or a geographic IP lookup
-:multiSiteOrigin:    ``true`` if the Multi Site Origin feature is enabled for this :term:`Delivery Service`, ``false`` otherwise\ [3]_
-:originShield:       An "origin shield" is a forward proxy that sits between Mid-tier caches and the origin and performs further caching beyond what's offered by a standard CDN. This field is a string of FQDNs to use as origin shields, delimited by ``|``
-:orgServerFqdn:      The origin server's Fully Qualified Domain Name (FQDN) - including the protocol (e.g. http:// or https://) - for use in retrieving content from the origin server
-:profileDescription: The description of the Traffic Router Profile with which this :term:`Delivery Service` is associated
-:profileId:          The integral, unique identifier for the Traffic Router profile with which this :term:`Delivery Service` is associated
-:profileName:        The name of the Traffic Router Profile with which this :term:`Delivery Service` is associated
-:protocol:           The protocol which clients will use to communicate with Edge-tier :term:`cache server`\ s\ [#httpOnly]_ - this is an integer on the interval [0-2] where the values have these meanings:
-
-	0
-		HTTP
-	1
-		HTTPS
-	2
-		Both HTTP and HTTPS
-
-:qstringIgnore: Tells caches whether or not to consider URLs with different query parameter strings to be distinct - this is an integer on the interval [0-2] where the values have these meanings:
-
-	0
-		URLs with different query parameter strings will be considered distinct for caching purposes, and query strings will be passed upstream to the origin
-	1
-		URLs with different query parameter strings will be considered identical for caching purposes, and query strings will be passed upstream to the origin
-	2
-		Query strings are stripped out by Edge-tier caches, and thus are neither taken into consideration for caching purposes, nor passed upstream in requests to the origin
-
-:rangeRequestHandling: Tells caches how to handle range requests\ [5]_ - this is an integer on the interval [0-2] where the values have these meanings:
-
-	0
-		Range requests will not be cached, but range requests that request ranges of content already cached will be served from the cache
-	1
-		Use the `background_fetch plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/background_fetch.en.html>`_ to service the range request while caching the whole object
-	2
-		Use the `experimental cache_range_requests plugin <https://github.com/apache/trafficserver/tree/master/plugins/experimental/cache_range_requests>`_ to treat unique ranges as unique objects
-
-:regexRemap: A regular expression remap rule to apply to this :term:`Delivery Service` at the Edge tier
-
-	.. seealso:: `The Apache Trafficserver documentation for the Regex Remap plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_remap.en.html>`_
-
-:regionalGeoBlocking: ``true`` if Regional Geo Blocking is in use within this :term:`Delivery Service`, ``false`` otherwise - see :ref:`regionalgeo-qht` for more information
-:remapText:           Additional, raw text to add to the remap line for caches
-
-	.. seealso:: `The Apache Trafficserver documentation for the Regex Remap plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_remap.en.html>`_
-
-:signed:           ``true`` if token-based authentication is enabled for this :term:`Delivery Service`, ``false`` otherwise
-:signingAlgorithm: Type of URL signing method to sign the URLs, basically comes down to one of two plugins or ``null``:
-
-	``null``
-		Token-based authentication is not enabled for this :term:`Delivery Service`
-	url_sig:
-		URL Signing token-based authentication is enabled for this :term:`Delivery Service`
-	uri_signing
-		URI Signing token-based authentication is enabled for this :term:`Delivery Service`
-
-	.. seealso:: `The Apache Trafficserver documentation for the url_sig plugin <https://docs.trafficserver.apache.org/en/8.0.x/admin-guide/plugins/url_sig.en.html>`_ and `the draft RFC for uri_signing <https://tools.ietf.org/html/draft-ietf-cdni-uri-signing-16>`_ - note, however that the current implementation of uri_signing uses Draft 12 of that RFC document, NOT the latest.
+	:setNumber: An integer that provides explicit ordering of :ref:`ds-matchlist` items - this is used as a priority ranking by Traffic Router, and is not guaranteed to correspond to the ordering of items in the array.
+	:type:      The type of match performed using ``pattern``.
+
+:maxDnsAnswers:        The :ref:`ds-max-dns-answers` allowed for this :term:`Delivery Service`
+:maxOriginConnections: The :ref:`ds-max-origin-connections`
+
+	.. versionadded:: 1.4
+
+:midHeaderRewrite:     A set of :ref:`ds-mid-header-rw-rules`
+:missLat:              The :ref:`ds-geo-miss-default-latitude` used by this :term:`Delivery Service`
+:missLong:             The :ref:`ds-geo-miss-default-longitude` used by this :term:`Delivery Service`
+:multiSiteOrigin:      A boolean that defines the use of :ref:`ds-multi-site-origin` by this :term:`Delivery Service`
+:orgServerFqdn:        The :ref:`ds-origin-url`
+:originShield:         A :ref:`ds-origin-shield` string
+:profileDescription:   The description of the :term:`Delivery Service`'s :ref:`ds-profile`, if any
+:profileId:            The integral, unique identifier for :ref:`ds-profile` with which this :term:`Delivery Service` is associated, if any
+:profileName:          The name of the :ref:`ds-profile` with which this :term:`Delivery Service` is associated, if any
+:protocol:             An integral, unique identifier that corresponds to the :ref:`ds-protocol` used by this :term:`Delivery Service`
+:qstringIgnore:        An integral, unique identifier that corresponds to the :ref:`ds-qstring-handling` setting on this :term:`Delivery Service`
+:rangeRequestHandling: An integral, unique identifier that corresponds to the :ref:`ds-range-request-handling` setting on this :term:`Delivery Service`
+:regexRemap:           A :ref:`ds-regex-remap`
+:regionalGeoBlocking:  A boolean defining the :ref:`ds-regionalgeo` setting on this :term:`Delivery Service`
+:remapText:            :ref:`ds-raw-remap`
+:signed:               ``true`` if  and only if ``signingAlgorithm`` is not ``null``, ``false`` otherwise
+:signingAlgorithm:     Either a :ref:`ds-signing-algorithm` or ``null`` to indicate URL/URI signing is not implemented on this :term:`Delivery Service`
 
 	.. versionadded:: 1.3
 
-:sslKeyVersion:       This integer indicates the generation of keys in use by the :term:`Delivery Service` - if any - and is incremented by the Traffic Portal client whenever new keys are generated
+:sslKeyVersion: This integer indicates the :ref:`ds-ssl-key-version`
+:tenantId:      The integral, unique identifier of the :ref:`ds-tenant` who owns this :term:`Delivery Service`
 
-	.. warning:: This number will not be correct if keys are manually replaced using the API, as the key generation API does not increment it!
+	.. versionadded:: 1.3
+
+:trRequestHeaders: If defined, this defines the :ref:`ds-tr-req-headers` used by Traffic Router for this :term:`Delivery Service`
+
+	.. versionadded:: 1.3
 
-:tenant:            The name of the tenant who owns this :term:`Delivery Service`
+:trResponseHeaders: If defined, this defines the :ref:`ds-tr-resp-headers` used by Traffic Router for this :term:`Delivery Service`
 
 	.. versionadded:: 1.3
 
-:tenantId:            The integral, unique identifier of the :term:`Tenant` who owns this :term:`Delivery Service`
-:trRequestHeaders:    If defined, this takes the form of a string of HTTP headers to be included in Traffic Router access logs for requests - it's a template where ``__RETURN__`` translates to a carriage return and line feed (``\r\n``)\ [#httpOnly]_
-:trResponseHeaders:   If defined, this takes the form of a string of HTTP headers to be included in Traffic Router responses - it's a template where ``__RETURN__`` translates to a carriage return and line feed (``\r\n``)\ [#httpOnly]_
-:type:                The name of the routing type of this :term:`Delivery Service` e.g. "HTTP"
-:typeId:              The integral, unique identifier of the routing type of this :term:`Delivery Service`
-:xmlId:               A unique string that describes this :term:`Delivery Service` - exists for legacy reasons
+:type:   The :ref:`ds-types` of this :term:`Delivery Service`
+:typeId: The integral, unique identifier of the :ref:`ds-types` of this :term:`Delivery Service`
+:xmlId:  This :term:`Delivery Service`'s :ref:`ds-xmlid`
 
 .. code-block:: http
 	:caption: Response Example
 
 	HTTP/1.1 200 OK
 	Access-Control-Allow-Credentials: true
-	Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept
+	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: *
-	Cache-Control: no-cache, no-store, max-age=0, must-revalidate
 	Content-Type: application/json
-	Date: Mon, 19 Nov 2018 19:29:40 GMT
-	Server: Mojolicious (Perl)
-	Set-Cookie: mojolicious=...; expires=Mon, 19 Nov 2018 23:29:40 GMT; path=/; HttpOnly
-	Vary: Accept-Encoding
-	Whole-Content-Sha512: wSCPoNQbFTN0FonjXYH13jwTvOwo0ltSD0ACRQ4d/eaWIfzNyAFAD/RapflUP2PIqttb6NlnHkZve0j6ETJ+gw==
-	Content-Length: 1439
-
-	{ "alerts": [
-		{
-			"level": "success",
-			"text": "Deliveryservice safe update was successful."
-		}
-	],
-	"response": [
-		{
-			"profileId": null,
-			"protocol": 0,
-			"deepCachingType": "NEVER",
-			"regionalGeoBlocking": 0,
-			"routingName": "video",
-			"orgServerFqdn": "http://origin.infra.ciab.test",
-			"cdnId": 2,
-			"geoProvider": 0,
-			"longDesc2": null,
-			"globalMaxMbps": null,
-			"dnsBypassIp6": null,
-			"geoLimit": 0,
-			"maxDnsAnswers": null,
-			"id": 1,
-			"sslKeyVersion": null,
-			"midHeaderRewrite": null,
-			"geoLimitRedirectURL": null,
-			"active": 1,
-			"logsEnabled": 1,
-			"initialDispersion": 1,
-			"regexRemap": null,
-			"geoLimitCountries": null,
-			"missLat": 42,
-			"anonymousBlockingEnabled": 0,
-			"longDesc": "A :term:`Delivery Service` created for the CDN-in-a-Box project",
-			"matchList": [
-				{
-					"pattern": ".*\\.demo1\\..*",
-					"setNumber": 0,
-					"type": "HOST_REGEXP"
-				}
-			],
-			"rangeRequestHandling": 0,
-			"profileName": null,
-			"dnsBypassCname": null,
-			"globalMaxTps": null,
-			"type": "HTTP",
-			"httpBypassFqdn": null,
-			"infoUrl": "www.info.com",
-			"signingAlgorithm": null,
-			"missLong": -88,
-			"trRequestHeaders": null,
-			"trResponseHeaders": null,
-			"exampleURLs": [
-				"http://video.demo1.mycdn.ciab.test"
-			],
-			"remapText": null,
-			"longDesc1": null,
-			"displayName": "demo",
-			"qstringIgnore": 0,
-			"multiSiteOrigin": 0,
-			"xmlId": "demo1",
-			"lastUpdated": "2018-11-19 16:26:57.310527+00",
-			"ipv6RoutingEnabled": 1,
-			"ccrDnsTtl": null,
-			"dscp": 0,
-			"dnsBypassIp": null,
-			"dnsBypassTtl": null,
-			"originShield": null,
-			"cacheurl": null,
-			"edgeHeaderRewrite": null,
-			"profileDescription": null,
-			"typeId": 1,
-			"cdnName": "CDN-in-a-Box",
-			"signed": false,
-			"checkPath": null,
-			"fqPacingRate": null
-		}
-	]}
-
-
-.. [1] Users with the "admin" or "operations" roles will be able to edit *any*:term:`Delivery Service`, whereas other users will only be able to edit :term:`Delivery Services` that their tenant has permissions to edit.
-.. [#httpOnly] This only applies to HTTP-:ref:`routed <ds-types>` :term:`Delivery Services`
-.. [3] See :ref:`ds-multi-site-origin`
-.. [4] This only applies to DNS-:ref:`routed <ds-types>` :term:`Delivery Services`
-.. [5] These fields are required for HTTP-:ref:`routed <ds-types>` and DNS-:ref:`routed <ds-types>` :term:`Delivery Services`, but are optional for (and in fact may have no effect on) STEERING and ANY_MAP :term:`Delivery Services`
+	Set-Cookie: mojolicious=...; Path=/; HttpOnly
+	Whole-Content-Sha512: mCLMjvACRKHNGP/OSx4javkOtxxzyiDdQzsV78IamUhVmvyKyKaCeOKRmpsG69w+nhh3OkPZ6e9MMeJpcJSKcA==
+	X-Server-Name: traffic_ops_golang/
+	Date: Thu, 15 Nov 2018 19:04:29 GMT
+	Transfer-Encoding: chunked
+
+	{ "response": [{
+		"active": true,
+		"anonymousBlockingEnabled": false,
+		"cacheurl": null,
+		"ccrDnsTtl": null,
+		"cdnId": 2,
+		"cdnName": "CDN-in-a-Box",
+		"checkPath": null,
+		"displayName": "demo",
+		"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": "www.info.com",
+		"initialDispersion": 1,
+		"ipv6RoutingEnabled": true,
+		"lastUpdated": "2019-05-15 14:32:05+00",
+		"logsEnabled": true,
+		"longDesc": "A Delivery Service created for the CDN-in-a-Box project",
+		"longDesc1": null,
+		"longDesc2": null,
+		"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,
+		"regionalGeoBlocking": false,
+		"remapText": null,
+		"routingName": "video",
+		"signed": false,
+		"sslKeyVersion": null,
+		"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
+	}]}
+
+
+.. [#tenancy] Only those :term:`Delivery Services` assigned to :term:`Tenants` that are the requesting user's :term:`Tenant` or children thereof may be modified with this endpoint.
diff --git a/docs/source/api/deliveryservices_sslkeys_add.rst b/docs/source/api/deliveryservices_sslkeys_add.rst
index 62f7833..87d5665 100644
--- a/docs/source/api/deliveryservices_sslkeys_add.rst
+++ b/docs/source/api/deliveryservices_sslkeys_add.rst
@@ -38,7 +38,7 @@ Request Structure
 	:csr: The csr file for the :term:`Delivery Service` identified by ``key``
 	:key: The private key for the :term:`Delivery Service` identified by ``key``
 
-:key:     The 'xml_id' of the :term:`Delivery Service` to which these keys will be assigned
+:key:     The :ref:`ds-xmlid` of the :term:`Delivery Service` to which these keys will be assigned
 :version: An integer that defines the "version" of the key - which may be thought of as the sequential generation; that is, the higher the number the more recent the key
 
 .. code-block:: http
diff --git a/docs/source/api/deliveryservices_sslkeys_generate.rst b/docs/source/api/deliveryservices_sslkeys_generate.rst
index 20ed278..a2f8fc5 100644
--- a/docs/source/api/deliveryservices_sslkeys_generate.rst
+++ b/docs/source/api/deliveryservices_sslkeys_generate.rst
@@ -35,11 +35,11 @@ Request Structure
 
 	.. note:: In most cases, this must be the same as the :term:`Delivery Service` URL'
 
-:key:          The 'xml_id' of the :term:`Delivery Service` for which keys will be generated
+:key:          The :ref:`ds-xmlid` of the :term:`Delivery Service` for which keys will be generated
 :organization: An optional field which, if present, will represent the organization for which the SSL certificate was generated
 :state:        An optional field which, if present, will represent the resident state or province of the generated SSL certificate
 :businessUnit: An optional field which, if present, will represent the business unit for which the SSL certificate was generated
-:version:  version of the keys being generated
+:version:      version of the keys being generated
 
 .. code-block:: http
 	:caption: Request Example
diff --git a/docs/source/api/deliveryservices_xmlid_servers.rst b/docs/source/api/deliveryservices_xmlid_servers.rst
index d15ccfa..cbe0160 100644
--- a/docs/source/api/deliveryservices_xmlid_servers.rst
+++ b/docs/source/api/deliveryservices_xmlid_servers.rst
@@ -21,10 +21,10 @@
 
 ``POST``
 ========
-Assigns :term:`cache server`\ s to a :term:`Delivery Service`.
+Assigns :term:`cache servers` to a :term:`Delivery Service`.
 
 :Auth. Required: Yes
-:Roles Required: "admin" or "operations"\ [1]_
+:Roles Required: "admin" or "operations"\ [#tenancy]_
 :Response Type:  Object
 
 Request Structure
@@ -37,7 +37,7 @@ Request Structure
 	| xml_id | The 'xml_id' of the :term:`Delivery Service` whose server assignments are being edited |
 	+--------+----------------------------------------------------------------------------------------+
 
-:serverNames: An array of hostname of :term:`cache server`\ s to assign to this :term:`Delivery Service`
+:serverNames: An array of hostname of :term:`cache servers` to assign to this :term:`Delivery Service`
 
 .. code-block:: http
 	:caption: Request Example
@@ -54,8 +54,8 @@ Request Structure
 
 Response Structure
 ------------------
-:xml_id:      The 'xml_id' of the :term:`Delivery Service` to which the servers in ``serverNames`` have been assigned
-:serverNames: An array of hostnames of :term:`cache server`\ s assigned to :term:`Delivery Service` identified by ``xml_id``
+:xml_id:      The :ref:`ds-xmlid` of the :term:`Delivery Service` to which the servers in ``serverNames`` have been assigned
+:serverNames: An array of hostnames of :term:`cache servers` assigned to :term:`Delivery Service` identified by ``xml_id``
 
 .. code-block:: http
 	:caption: Response Example
@@ -79,4 +79,4 @@ Response Structure
 		"xmlId": "test"
 	}}
 
-.. [1] Users with the roles "admin" and/or "operation" will be able to edit the server assignments of *all* :term:`Delivery Service`\ s, whereas any other user will only be able to edit the server assignments of the :term:`Delivery Service`\ s their Tenant is allowed to edit.
+.. [#tenancy] Users can only assign servers to :term:`Delivery Services` that are visible to their :term:`Tenant`.
diff --git a/docs/source/api/deliveryservices_xmlid_urisignkeys.rst b/docs/source/api/deliveryservices_xmlid_urisignkeys.rst
index 039136e..ebd77ff 100644
--- a/docs/source/api/deliveryservices_xmlid_urisignkeys.rst
+++ b/docs/source/api/deliveryservices_xmlid_urisignkeys.rst
@@ -19,15 +19,18 @@
 ``deliveryservices/{{xml_id}}/urisignkeys``
 *******************************************
 
-DELETE
+``DELETE``
+==========
+Deletes URISigning objects for a :term:`Delivery Service`.
 
-	Deletes URISigning objects for a delivery service.
+:Auth. Required: Yes
+:Roles Required: admin\ [#tenancy]_
+:Response Type:  ``undefined``
 
-	Authentication Required: Yes
+Request Structure
+-----------------
 
-	Role(s) Required: admin
-
-	**Request Route Parameters**
+.. table:: Request Path Parameters
 
 	+-----------+----------+----------------------------------------+
 	|    Name   | Required |              Description               |
@@ -35,15 +38,21 @@ DELETE
 	| xml_id    | yes      | xml_id of the desired delivery service |
 	+-----------+----------+----------------------------------------+
 
-**GET deliveryservices/:xml_id/urisignkeys**
-
-	Retrieves one or more URISigning objects for a delivery service.
+Response Structure
+------------------
+TBD
 
-	Authentication Required: Yes
+``GET``
+=======
+Retrieves one or more URISigning objects for a delivery service.
 
-	Role(s) Required: admin
+:Auth. Required: Yes
+:Roles Required: admin\ [#tenancy]_
+:Response Type:  ``undefined``
 
-	**Request Route Parameters**
+Request Structure
+-----------------
+.. table:: Request Route Parameters
 
 	+-----------+----------+----------------------------------------+
 	|    Name   | Required |              Description               |
@@ -51,58 +60,50 @@ DELETE
 	| xml_id    | yes      | xml_id of the desired delivery service |
 	+-----------+----------+----------------------------------------+
 
-	**Response Properties**
-
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-	|    Parameter        |  Type  |                                                               Description                                                               |
-	+=====================+========+=========================================================================================================================================+
-	| ``Issuer``          | string | a string describing the issuer of the URI signing object. Multiple URISigning objects may be returned in a response, see example        |
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-	| ``renewal_kid``     | string | a string naming the jwt key used for renewals.                                                                                          |
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-	| ``keys``            | string | json array of jwt symmetric keys                                                             .                                          |
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-	| ``alg``             | string | this parameter repeats for each jwt key in the array and specifies the jwa encryption algorithm to use with this key, :rfc:`7518`       |
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-	| ``kid``             | string | this parameter repeats for each jwt key in the array and specifies the unique id for the key as defined in :rfc:`7516`                  |
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-	| ``kty``             | string | this parameter repeats for each jwt key in the array and specifies the key type as defined in :rfc:`7516`                               |
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-	| ``k``               | string | this parameter repeats for each jwt key in the array and specifies the base64 encoded symmetric key see :rfc:`7516`                     |
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-
-	**Response Example** ::
-
-		{
-			"Kabletown URI Authority": {
-				"renewal_kid": "Second Key",
-				"keys": [
-					{
-						"alg": "HS256",
-						"kid": "First Key",
-						"kty": "oct",
-						"k": "Kh_RkUMj-fzbD37qBnDf_3e_RvQ3RP9PaSmVEpE24AM"
-					},
-					{
-						"alg": "HS256",
-						"kid": "Second Key",
-						"kty": "oct",
-						"k": "fZBpDBNbk2GqhwoB_DGBAsBxqQZVix04rIoLJ7p_RlE"
-					}
-				]
+Response Structure
+------------------
+
+:Issuer:      a string describing the issuer of the URI signing object. Multiple URISigning objects may be returned in a response, see example
+:renewal_kid: a string naming the jwt key used for renewals
+:keys:        json array of jwt symmetric keys
+:alg:         this parameter repeats for each jwt key in the array and specifies the jwa encryption algorithm to use with this key, :rfc:`7518`
+:kid:         this parameter repeats for each jwt key in the array and specifies the unique id for the key as defined in :rfc:`7516`
+:kty:         this parameter repeats for each jwt key in the array and specifies the key type as defined in :rfc:`7516`
+:k:           this parameter repeats for each jwt key in the array and specifies the base64 encoded symmetric key see :rfc:`7516`
+
+.. code-block:: json
+	:caption: Response Example
+
+	{ "Kabletown URI Authority": {
+		"renewal_kid": "Second Key",
+		"keys": [
+			{
+				"alg": "HS256",
+				"kid": "First Key",
+				"kty": "oct",
+				"k": "Kh_RkUMj-fzbD37qBnDf_3e_RvQ3RP9PaSmVEpE24AM"
+			},
+			{
+				"alg": "HS256",
+				"kid": "Second Key",
+				"kty": "oct",
+				"k": "fZBpDBNbk2GqhwoB_DGBAsBxqQZVix04rIoLJ7p_RlE"
 			}
-		}
-
+		]
+	}}
 
-**POST deliveryservices/:xml_id/urisignkeys**
 
-	Assigns URISigning objects to a delivery service.
+``POST``
+========
+Assigns URISigning objects to a delivery service.
 
-	Authentication Required: Yes
+:Auth. Required: Yes
+:Roles Required: admin\ [#tenancy]_
+:Response Type:  ``undefined``
 
-	Role(s) Required: admin
-
-	**Request Route Parameters**
+Request Structure
+-----------------
+.. table:: Request Path Parameters
 
 	+-----------+----------+----------------------------------------+
 	|    Name   | Required |              Description               |
@@ -110,57 +111,48 @@ DELETE
 	|   xml_id  | yes      | xml_id of the desired delivery service |
 	+-----------+----------+----------------------------------------+
 
-	**Request Properties**
-
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-	|    Parameter        |  Type  |                                                               Description                                                               |
-	+=====================+========+=========================================================================================================================================+
-	| ``Issuer``          | string | a string describing the issuer of the URI signing object. Multiple URISigning objects may be returned in a response, see example        |
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-	| ``renewal_kid``     | string | a string naming the jwt key used for renewals.                                                                                          |
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-	| ``keys``            | string | json array of jwt symmetric keys                                                             .                                          |
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-	| ``alg``             | string | this parameter repeats for each jwt key in the array and specifies the jwa encryption algorithm to use with this key, :rfc:`7518`       |
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-	| ``kid``             | string | this parameter repeats for each jwt key in the array and specifies the unique id for the key as defined in :rfc:`7516`                  |
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-	| ``kty``             | string | this parameter repeats for each jwt key in the array and specifies the key type as defined in :rfc:`7516`                               |
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-	| ``k``               | string | this parameter repeats for each jwt key in the array and specifies the base64 encoded symmetric key see :rfc:`7516`                     |
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-
-	**Request Example** ::
-
-		{
-			"Kabletown URI Authority": {
-				"renewal_kid": "Second Key",
-				"keys": [
-					{
-						"alg": "HS256",
-						"kid": "First Key",
-						"kty": "oct",
-						"k": "Kh_RkUMj-fzbD37qBnDf_3e_RvQ3RP9PaSmVEpE24AM"
-					},
-					{
-						"alg": "HS256",
-						"kid": "Second Key",
-						"kty": "oct",
-						"k": "fZBpDBNbk2GqhwoB_DGBAsBxqQZVix04rIoLJ7p_RlE"
-					}
-				]
+Request Structure
+-----------------
+:Issuer:      a string describing the issuer of the URI signing object. Multiple URISigning objects may be returned in a response, see example
+:renewal_kid: a string naming the jwt key used for renewals
+:keys:        json array of jwt symmetric keys
+:alg:         this parameter repeats for each jwt key in the array and specifies the jwa encryption algorithm to use with this key, :rfc:`7518`
+:kid:         this parameter repeats for each jwt key in the array and specifies the unique id for the key as defined in :rfc:`7516`
+:kty:         this parameter repeats for each jwt key in the array and specifies the key type as defined in :rfc:`7516`
+:k:           this parameter repeats for each jwt key in the array and specifies the base64 encoded symmetric key see :rfc:`7516`
+
+.. code-block:: json
+	:caption: Request Example
+
+	{ "Kabletown URI Authority": {
+		"renewal_kid": "Second Key",
+		"keys": [
+			{
+				"alg": "HS256",
+				"kid": "First Key",
+				"kty": "oct",
+				"k": "Kh_RkUMj-fzbD37qBnDf_3e_RvQ3RP9PaSmVEpE24AM"
+			},
+			{
+				"alg": "HS256",
+				"kid": "Second Key",
+				"kty": "oct",
+				"k": "fZBpDBNbk2GqhwoB_DGBAsBxqQZVix04rIoLJ7p_RlE"
 			}
-		}
-
-**PUT deliveryservices/:xml_id/urisignkeys**
-
-	updates URISigning objects on a delivery service.
+		]
+	}}
 
-	Authentication Required: Yes
+``PUT``
+=======
+updates URISigning objects on a delivery service.
 
-	Role(s) Required: admin
+:Auth. Required: Yes
+:Roles Required: admin\ [#tenancy]_
+:Response Type:  ``undefined``
 
-	**Request Route Parameters**
+Request Structure
+-----------------
+.. table:: Request Path Parameters
 
 	+-----------+----------+----------------------------------------+
 	|    Name   | Required |              Description               |
@@ -168,46 +160,35 @@ DELETE
 	|  xml_id   | yes      | xml_id of the desired delivery service |
 	+-----------+----------+----------------------------------------+
 
-	**Request Properties**
-
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-	|    Parameter        |  Type  |                                                               Description                                                               |
-	+=====================+========+=========================================================================================================================================+
-	| ``Issuer``          | string | a string describing the issuer of the URI signing object. Multiple URISigning objects may be returned in a response, see example        |
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-	| ``renewal_kid``     | string | a string naming the jwt key used for renewals.                                                                                          |
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-	| ``keys``            | string | json array of jwt symmetric keys                                                             .                                          |
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-	| ``alg``             | string | this parameter repeats for each jwt key in the array and specifies the jwa encryption algorithm to use with this key, :rfc:`7518`       |
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-	| ``kid``             | string | this parameter repeats for each jwt key in the array and specifies the unique id for the key as defined in :rfc:`7516`                  |
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-	| ``kty``             | string | this parameter repeats for each jwt key in the array and specifies the key type as defined in :rfc:`7516`                               |
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-	| ``k``               | string | this parameter repeats for each jwt key in the array and specifies the base64 encoded symmetric key see :rfc:`7516`                     |
-	+---------------------+--------+-----------------------------------------------------------------------------------------------------------------------------------------+
-
-	**Request Example** ::
-
-		{
-			"Kabletown URI Authority": {
-				"renewal_kid": "Second Key",
-				"keys": [
-					{
-						"alg": "HS256",
-						"kid": "First Key",
-						"kty": "oct",
-						"k": "Kh_RkUMj-fzbD37qBnDf_3e_RvQ3RP9PaSmVEpE24AM"
-					},
-					{
-						"alg": "HS256",
-						"kid": "Second Key",
-						"kty": "oct",
-						"k": "fZBpDBNbk2GqhwoB_DGBAsBxqQZVix04rIoLJ7p_RlE"
-					}
-				]
+Request Structure
+-----------------
+:Issuer:      a string describing the issuer of the URI signing object. Multiple URISigning objects may be returned in a response, see example
+:renewal_kid: a string naming the jwt key used for renewals
+:keys:        json array of jwt symmetric keys
+:alg:         this parameter repeats for each jwt key in the array and specifies the jwa encryption algorithm to use with this key, :rfc:`7518`
+:kid:         this parameter repeats for each jwt key in the array and specifies the unique id for the key as defined in :rfc:`7516`
+:kty:         this parameter repeats for each jwt key in the array and specifies the key type as defined in :rfc:`7516`
+:k:           this parameter repeats for each jwt key in the array and specifies the base64 encoded symmetric key see :rfc:`7516`
+
+.. code-block:: json
+	:caption: Request Example
+
+	{ "Kabletown URI Authority": {
+		"renewal_kid": "Second Key",
+		"keys": [
+			{
+				"alg": "HS256",
+				"kid": "First Key",
+				"kty": "oct",
+				"k": "Kh_RkUMj-fzbD37qBnDf_3e_RvQ3RP9PaSmVEpE24AM"
+			},
+			{
+				"alg": "HS256",
+				"kid": "Second Key",
+				"kty": "oct",
+				"k": "fZBpDBNbk2GqhwoB_DGBAsBxqQZVix04rIoLJ7p_RlE"
 			}
-		}
+		]
+	}}
 
-|
+.. [#tenancy] URI Signing Keys can only be created, viewed, deleted, or modified on :term:`Delivery Services` that either match the requesting user's :term:`Tenant` or are descendants thereof.
diff --git a/docs/source/api/servers_id_deliveryservices.rst b/docs/source/api/servers_id_deliveryservices.rst
index 4157cf8..4a96d36 100644
--- a/docs/source/api/servers_id_deliveryservices.rst
+++ b/docs/source/api/servers_id_deliveryservices.rst
@@ -21,21 +21,21 @@
 
 ``GET``
 =======
-Retrieves all :term:`Delivery Service`\ s assigned to a specific server.
+Retrieves all :term:`Delivery Services` assigned to a specific server.
 
 :Auth. Required: Yes
-:Roles Required: None
+:Roles Required: None\ [#tenancy]_
 :Response Type:  Array
 
 Request Structure
 -----------------
 .. table:: Request Path Parameters
 
-	+------+--------------------------------------------------------------------------------------------------------------+
-	| Name | Description                                                                                                  |
-	+======+==============================================================================================================+
-	|  ID  | The integral, unique identifier of the server for which assigned :term:`Delivery Service`\ s shall be listed |
-	+------+--------------------------------------------------------------------------------------------------------------+
+	+------+------------------------------------------------------------------------------------------------------------+
+	| Name | Description                                                                                                |
+	+======+============================================================================================================+
+	|  ID  | The integral, unique identifier of the server for which assigned :term:`Delivery Services` shall be listed |
+	+------+------------------------------------------------------------------------------------------------------------+
 
 .. code-block:: http
 	:caption: Request Example
@@ -48,152 +48,104 @@ Request Structure
 
 Response Structure
 ------------------
-:active:                   ``true`` if the :term:`Delivery Service` is active, ``false`` otherwise
-:anonymousBlockingEnabled: ``true`` if :ref:`Anonymous Blocking <anonymous_blocking-qht>` has been configured for the :term:`Delivery Service`, ``false`` otherwise
-:cacheurl:                 A setting for a deprecated feature of now-unsupported :abbr:`ATS (Apache Traffic Server)` versions
+:active:                   A boolean that defines :ref:`ds-active`.
+:anonymousBlockingEnabled: A boolean that defines :ref:`ds-anonymous-blocking`
+:cacheurl:                 A :ref:`ds-cacheurl`
 
 	.. deprecated:: ATCv3.0
 		This field has been deprecated in Traffic Control 3.x and is subject to removal in Traffic Control 4.x or later
 
-:ccrDnsTtl:                The :abbr:`TTL (Time To Live)` of the DNS response for A or AAAA record queries requesting the IP address of the Traffic Router - named "ccrDnsTtl" for legacy reasons
-:cdnId:                    The integral, unique identifier of the CDN to which the :term:`Delivery Service` belongs
-:cdnName:                  Name of the CDN to which the :term:`Delivery Service` belongs
-:checkPath:                The path portion of the URL to check connections to this :term:`Delivery Service`'s origin server
-:consistentHashRegex:      If defined, this is a regex used for the Pattern-Based Consistent Hashing feature. It is only applicable for HTTP and Steering Delivery Services
-
-	.. versionadded:: 1.5
-
-:displayName:              The display name of the :term:`Delivery Service`
-:dnsBypassCname:           Domain name to overflow requests for HTTP :term:`Delivery Service`\ s - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`\ [3]_
-:dnsBypassIp:              The IPv4 IP to use for bypass on a DNS :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`\ [3]_
-:dnsBypassIp6:             The IPv6 IP to use for bypass on a DNS :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`\ [3]_
-:dnsBypassTtl:             The time for which a DNS bypass of this :term:`Delivery Service`\ shall remain active\ [3]_
-:dscp:                     The :abbr:`DSCP (Differentiated Services Code Point)` with which to mark traffic as it leaves the CDN and reaches clients
-:edgeHeaderRewrite:        Rewrite operations to be performed on TCP headers at the Edge-tier cache level - used by the Header Rewrite :abbr:`ATS (Apache Traffic Server)` plugin
-:fqPacingRate:             The Fair-Queuing Pacing Rate in Bytes per second set on the all TCP connection sockets in the :term:`Delivery Service` (see :manpage:`tc-fq_codel(8)` for more information) - Linux only
-:geoLimit:                 The setting that determines how content is geographically limited - this is an integer on the interval [0-2] where the values have these meanings:
-
-	0
-		None - no limitations
-	1
-		Only route when the client's IP is found in the :term:`Coverage Zone File`
-	2
-		Only route when the client's IP is found in the :term:`Coverage Zone File`, or when the client can be determined to be from the United States of America
-
-	.. warning:: This does not prevent access to content or make content secure; it merely prevents routing to the content through Traffic Router
-
-:geoLimitCountries:   A string containing a comma-separated list of country codes (e.g. "US,AU") which are allowed to request content through this :term:`Delivery Service`
-:geoLimitRedirectUrl: A URL to which clients blocked by :ref:`Regional Geographic Blocking <regionalgeo-qht>` or the ``geoLimit`` settings will be re-directed
-:geoProvider:         An integer that represents the provider of a database for mapping IPs to geographic locations; currently only the following values are supported:
-
-	0
-		`The "Maxmind" GeoIP2 database (default) <https://www.maxmind.com/en/geoip2-databases>`_
-	1
-		`Neustar GeoPoint IP address database <https://www.security.neustar/digital-performance/ip-intelligence/ip-address-data>`_
-
-		.. warning:: It's not clear whether Neustar databases are actually supported; this is an old option and compatibility may have been broken over time.
-
-:globalMaxMbps:       The maximum global bandwidth allowed on this :term:`Delivery Service`. If exceeded, traffic will be routed to ``dnsBypassIp`` (or ``dnsBypassIp6`` for IPv6 traffic) for DNS :term:`Delivery Service`\ s and to ``httpBypassFqdn`` for HTTP :term:`Delivery Service`\ s
-:globalMaxTps:        The maximum global transactions per second allowed on this :term:`Delivery Service`. When this is exceeded traffic will be sent to the ``dnsBypassIp`` (and/or ``dnsBypassIp6``) for DNS :term:`Delivery Service`\ s and to the httpBypassFqdn for HTTP :term:`Delivery Service`\ s
-:httpBypassFqdn:      The HTTP destination to use for bypass on an HTTP :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`
-:id:                  An integral, unique identifier for this :term:`Delivery Service`
-:infoUrl:             This is a string which is expected to contain at least one URL pointing to more information about the :term:`Delivery Service`. Historically, this has been used to link relevant JIRA tickets
-:initialDispersion:  The number of :term:`cache server`\ s between which traffic requesting the same object will be randomly split - meaning that if 4 clients all request the same object (one after another), then if this is above 4 there is a possibility that all 4 are cache misses. For most use-cases, this should be 1\ [#httpOnly]_
-:ipv6RoutingEnabled: If ``true``, clients that connect to Traffic Router using IPv6 will be given the IPv6 address of a suitable :term:`Edge-tier cache server`; if ``false`` all addresses will be IPv4, regardless of the client connection
-:lastUpdated:        The date and time at which this :term:`Delivery Service` was last updated, in a :manpage:`ctime(3)`-like format
-:logsEnabled:        If ``true``, logging is enabled for this :term:`Delivery Service`, otherwise it is disabled
-:longDesc:           A description of the :term:`Delivery Service`
-:longDesc1:          A field used when more detailed information that that provided by ``longDesc`` is desired
-:longDesc2:          A field used when even more detailed information that that provided by either ``longDesc`` or ``longDesc1`` is desired
-:matchList:          An array of methods used by Traffic Router to determine whether or not a request can be serviced by this :term:`Delivery Service`
-
-	:pattern:   A regular expression - the use of this pattern is dependent on the ``type`` field (backslashes are escaped)
-	:setNumber: An integral, unique identifier for the set of types to which the ``type`` field belongs
-	:type:      The :term:`Type` of match performed using ``pattern`` to determine whether or not to use this :term:`Delivery Service`
+:ccrDnsTtl:           The :ref:`ds-dns-ttl` - named "ccrDnsTtl" for legacy reasons
+:cdnId:               The integral, unique identifier of the :ref:`ds-cdn` to which the :term:`Delivery Service` belongs
+:cdnName:             Name of the :ref:`ds-cdn` to which the :term:`Delivery Service` belongs
+:checkPath:           A :ref:`ds-check-path`
+:consistentHashRegex: A :ref:`ds-consistent-hashing-regex`
 
-		HOST_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches the ``Host:`` HTTP header of an HTTP request, or the name requested for resolution in a DNS request
-		HEADER_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches an HTTP header (both the name and value) in an HTTP request\ [#httpOnly]_
-		PATH_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches the request path of this :term:`Delivery Service`'s URL\ [#httpOnly]_
-		STEERING_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches the ``xml_id`` of one of this :term:`Delivery Service`'s "Steering" target :term:`Delivery Services`
+	.. versionadded:: 1.4
 
-:maxDnsAnswers:    The maximum number of IPs to put in responses to A/AAAA DNS record requests (0 means all available)\ [3]_
-:midHeaderRewrite: Rewrite operations to be performed on TCP headers at the Edge-tier cache level - used by the Header Rewrite :abbr:`ATS (Apache Traffic Server)` plugin
-:missLat:          The latitude to use when the client cannot be found in the :term:`Coverage Zone File` or a geographic IP lookup
-:missLong:         The longitude to use when the client cannot be found in the :term:`Coverage Zone File` or a geographic IP lookup
-:multiSiteOrigin:  ``true`` if the Multi Site Origin feature is enabled for this :term:`Delivery Service`, ``false`` otherwise\ [2]_
-:orgServerFqdn:    The URL of the :term:`Delivery Service`'s origin server for use in retrieving content from the :term:`origin server`
+:consistentHashQueryParams: An array of :ref:`ds-consistent-hashing-qparams`
 
-	.. note:: Despite the field name, this must truly be a full URL - including the protocol (e.g. ``http://`` or ``https://``) - **NOT** merely the server's :abbr:`FQDN (Fully Qualified Domain Name)`
+	.. versionadded:: 1.4
 
-:originShield:       An "origin shield" is a forward proxy that sits between Mid-tier :term:`cache server`\ s and the :term:`origin` and performs further caching beyond what's offered by a standard CDN. This field is a string of :abbr:`FQDN (Fully Qualified Domain Name)`\ s to use as origin shields, delimited by ``|``
-:profileDescription: The description of the Traffic Router :term:`Profile` with which this :term:`Delivery Service` is associated
-:profileId:          The integral, unique identifier for the Traffic Router :term:`Profile` with which this :term:`Delivery Service` is associated
-:profileName:        The name of the Traffic Router :term:`Profile` with which this :term:`Delivery Service` is associated
-:protocol:           The protocol which clients will use to communicate with Edge-tier :term:`cache server`\ s\ [#httpOnly]_ - this is an integer on the interval [0-2] where the values have these meanings:
+:deepCachingType:     The :ref:`ds-deep-caching` setting for this :term:`Delivery Service`
 
-	0
-		HTTP
-	1
-		HTTPS
-	2
-		Both HTTP and HTTPS
+	.. versionadded:: 1.3
 
-:qstringIgnore: Tells :term:`cache server`\ s whether or not to consider URLs with different query parameter strings to be distinct - this is an integer on the interval [0-2] where the values have these meanings:
+:displayName:       The :ref:`ds-display-name`
+:dnsBypassCname:    A :ref:`ds-dns-bypass-cname`
+:dnsBypassIp:       A :ref:`ds-dns-bypass-ip`
+:dnsBypassIp6:      A :ref:`ds-dns-bypass-ipv6`
+:dnsBypassTtl:      The :ref:`ds-dns-bypass-ttl`
+:dscp:              A :ref:`ds-dscp` to be used within the :term:`Delivery Service`
+:edgeHeaderRewrite: A set of :ref:`ds-edge-header-rw-rules`
+:exampleURLs:       An array of :ref:`ds-example-urls`
+:fqPacingRate:      The :ref:`ds-fqpr`
 
-	0
-		URLs with different query parameter strings will be considered distinct for caching purposes, and query strings will be passed upstream to the :term:`origin`
-	1
-		URLs with different query parameter strings will be considered identical for caching purposes, and query strings will be passed upstream to the :term:`origin`
-	2
-		Query strings are stripped out by Edge-tier :term:`cache server`\ s, and thus are neither taken into consideration for caching purposes, nor passed upstream in requests to the :term:`origin`
+	.. versionadded:: 1.3
 
-:rangeRequestHandling: Tells caches how to handle range requests\ [4]_ - this is an integer on the interval [0,2] where the values have these meanings:
-
-	0
-		Range requests will not be cached, but range requests that request ranges of content already cached will be served from the :term:`cache server`
-	1
-		Use the `background_fetch plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/background_fetch.en.html>`_ to service the range request while caching the whole object
-	2
-		Use the `experimental cache_range_requests plugin <https://github.com/apache/trafficserver/tree/master/plugins/experimental/cache_range_requests>`_ to treat unique ranges as unique objects
+:geoLimit:            An integer that defines the :ref:`ds-geo-limit`
+:geoLimitCountries:   A string containing a comma-separated list defining the :ref:`ds-geo-limit-countries`
+:geoLimitRedirectUrl: A :ref:`ds-geo-limit-redirect-url`
+:geoProvider:         The :ref:`ds-geo-provider`
+:globalMaxMbps:       The :ref:`ds-global-max-mbps`
+:globalMaxTps:        The :ref:`ds-global-max-tps`
+:httpBypassFqdn:      A :ref:`ds-http-bypass-fqdn`
+:id:                  An integral, unique identifier for this :term:`Delivery Service`
+:infoUrl:             An :ref:`ds-info-url`
+:initialDispersion:  The :ref:`ds-initial-dispersion`
+:ipv6RoutingEnabled: A boolean that defines the :ref:`ds-ipv6-routing` setting on this :term:`Delivery Service`
+:lastUpdated:        The date and time at which this :term:`Delivery Service` was last updated, in :rfc:`3339` format
+:logsEnabled:        A boolean that defines the :ref:`ds-logs-enabled` setting on this :term:`Delivery Service`
+:longDesc:           The :ref:`ds-longdesc` of this :term:`Delivery Service`
+:longDesc1:          The :ref:`ds-longdesc2` of this :term:`Delivery Service`
+:longDesc2:          The :ref:`ds-longdesc3` of this :term:`Delivery Service`
+:matchList:          The :term:`Delivery Service`'s :ref:`ds-matchlist`
 
-:regexRemap: A regular expression "remap rule" to apply to this :term:`Delivery Service` at the Edge tier
+	:pattern:   A regular expression - the use of this pattern is dependent on the ``type`` field (backslashes are escaped)
+	:setNumber: An integer that provides explicit ordering of :ref:`ds-matchlist` items - this is used as a priority ranking by Traffic Router, and is not guaranteed to correspond to the ordering of items in the array.
+	:type:      The type of match performed using ``pattern``.
 
-	.. seealso:: `The Apache Trafficserver documentation for the Regex Remap plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_remap.en.html>`_
+:maxDnsAnswers:        The :ref:`ds-max-dns-answers` allowed for this :term:`Delivery Service`
+:maxOriginConnections: The :ref:`ds-max-origin-connections`
 
-:regionalGeoBlocking: ``true`` if Regional Geo Blocking is in use within this :term:`Delivery Service`, ``false`` otherwise
+	.. versionadded:: 1.4
 
-	.. seealso:: See :ref:`regionalgeo-qht` for more information
+:midHeaderRewrite:     A set of :ref:`ds-mid-header-rw-rules`
+:missLat:              The :ref:`ds-geo-miss-default-latitude` used by this :term:`Delivery Service`
+:missLong:             The :ref:`ds-geo-miss-default-longitude` used by this :term:`Delivery Service`
+:multiSiteOrigin:      A boolean that defines the use of :ref:`ds-multi-site-origin` by this :term:`Delivery Service`
+:orgServerFqdn:        The :ref:`ds-origin-url`
+:originShield:         A :ref:`ds-origin-shield` string
+:profileDescription:   The description of the :term:`Delivery Service`'s :ref:`ds-profile`, if any
+:profileId:            The integral, unique identifier for :ref:`ds-profile` with which this :term:`Delivery Service` is associated, if any
+:profileName:          The name of the :ref:`ds-profile` with which this :term:`Delivery Service` is associated, if any
+:protocol:             An integral, unique identifier that corresponds to the :ref:`ds-protocol` used by this :term:`Delivery Service`
+:qstringIgnore:        An integral, unique identifier that corresponds to the :ref:`ds-qstring-handling` setting on this :term:`Delivery Service`
+:rangeRequestHandling: An integral, unique identifier that corresponds to the :ref:`ds-range-request-handling` setting on this :term:`Delivery Service`
+:regexRemap:           A :ref:`ds-regex-remap`
+:regionalGeoBlocking:  A boolean defining the :ref:`ds-regionalgeo` setting on this :term:`Delivery Service`
+:remapText:            :ref:`ds-raw-remap`
+:signed:               ``true`` if  and only if ``signingAlgorithm`` is not ``null``, ``false`` otherwise
+:signingAlgorithm:     Either a :ref:`ds-signing-algorithm` or ``null`` to indicate URL/URI signing is not implemented on this :term:`Delivery Service`
 
-:remapText: Additional, raw text to add to the line for this :term:`Delivery Service` for :term:`cache server`\ s
+	.. versionadded:: 1.3
 
-	.. seealso:: `The Apache Trafficserver documentation for the Regex Remap plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_remap.en.html>`_
+:sslKeyVersion: This integer indicates the :ref:`ds-ssl-key-version`
+:tenantId:      The integral, unique identifier of the :ref:`ds-tenant` who owns this :term:`Delivery Service`
 
-:signed:           ``true`` if token-based authentication is enabled for this :term:`Delivery Service`, ``false`` otherwise
-:signingAlgorithm: Type of URL signing method to sign the URLs, basically comes down to one of two plugins or ``null``:
+	.. versionadded:: 1.3
 
-	``null``
-		Token-based authentication is not enabled for this :term:`Delivery Service`
-	url_sig:
-		URL Signing token-based authentication is enabled for this :term:`Delivery Service`
-	uri_signing
-		URI Signing token-based authentication is enabled for this :term:`Delivery Service`
+:trRequestHeaders: If defined, this defines the :ref:`ds-tr-req-headers` used by Traffic Router for this :term:`Delivery Service`
 
-	.. seealso:: `The Apache Trafficserver documentation for the url_sig plugin <https://docs.trafficserver.apache.org/en/8.0.x/admin-guide/plugins/url_sig.en.html>`_ and `the draft RFC for uri_signing <https://tools.ietf.org/html/draft-ietf-cdni-uri-signing-16>`_ - note, however that the current implementation of uri_signing uses Draft 12 of that RFC document, **NOT** the latest
+	.. versionadded:: 1.3
 
-:sslKeyVersion: This integer indicates the generation of keys in use by the :term:`Delivery Service` - if any - and is incremented by the Traffic Portal client whenever new keys are generated
+:trResponseHeaders: If defined, this defines the :ref:`ds-tr-resp-headers` used by Traffic Router for this :term:`Delivery Service`
 
-	.. warning:: This number will not be correct if keys are manually replaced using the API, as the key generation API does not increment it!
+	.. versionadded:: 1.3
 
-:tenantId:            The integral, unique identifier of the :term:`Tenant` who owns this :term:`Delivery Service`
-:trRequestHeaders:    If defined, this takes the form of a string of HTTP headers to be included in Traffic Router access logs for requests - it's a template where ``__RETURN__`` translates to a carriage return and line feed (``\r\n``)\ [#httpOnly]_
-:trResponseHeaders:   If defined, this takes the form of a string of HTTP headers to be included in Traffic Router responses - it's a template where ``__RETURN__`` translates to a carriage return and line feed (``\r\n``)\ [#httpOnly]_
-:type:                The name of the routing type of this :term:`Delivery Service` e.g. "HTTP"
-:typeId:              The integral, unique identifier of the routing type of this :term:`Delivery Service`
-:xmlId:               A unique string that describes this :term:`Delivery Service` - exists for legacy reasons, but is used heavily by Traffic Control components
+:type:   The :ref:`ds-types` of this :term:`Delivery Service`
+:typeId: The integral, unique identifier of the :ref:`ds-types` of this :term:`Delivery Service`
+:xmlId:  This :term:`Delivery Service`'s :ref:`ds-xmlid`
 
 .. code-block:: http
 	:caption: Response Example
@@ -205,71 +157,91 @@ Response Structure
 	Access-Control-Allow-Origin: *
 	Content-Type: application/json
 	Set-Cookie: mojolicious=...; Path=/; HttpOnly
-	Whole-Content-Sha512: heK6DafnKW6KdyqQ7lTJQcStli3ixkWYjnbQ2EzR8ZU6Tlij3Takr6CNr0BcD5yWFVN1D8mvMPcj5XLP3FTt5w==
+	Whole-Content-Sha512: CFmtW41aoDezCYxtAXnS54dfFOD6jdxDJ2/LMpbBqnndy5kac7JQhdFAWF109sl95XVSUV85JHFzXZTw/mJabQ==
 	X-Server-Name: traffic_ops_golang/
-	Date: Mon, 10 Dec 2018 16:53:04 GMT
-	Content-Length: 1129
-
-	{ "response": [
-		{
-			"active": true,
-			"cacheurl": null,
-			"ccrDnsTtl": null,
-			"cdnId": 2,
-			"checkPath": null,
-			"deepCachingType": null,
-			"displayName": "Demo 1",
-			"dnsBypassCname": null,
-			"dnsBypassIp": null,
-			"dnsBypassIp6": null,
-			"dnsBypassTtl": null,
-			"dscp": 0,
-			"edgeHeaderRewrite": null,
-			"fqPacingRate": null,
-			"geoLimit": 0,
-			"geoLimitCountries": null,
-			"geoLimitRedirectURL": null,
-			"geoProvider": 0,
-			"globalMaxMbps": null,
-			"globalMaxTps": null,
-			"httpBypassFqdn": null,
-			"id": 1,
-			"infoUrl": null,
-			"initialDispersion": 1,
-			"ipv6RoutingEnabled": true,
-			"lastUpdated": "2018-12-05 17:51:00+00",
-			"logsEnabled": true,
-			"longDesc": "Apachecon North America 2018",
-			"longDesc1": null,
-			"longDesc2": null,
-			"maxDnsAnswers": null,
-			"midHeaderRewrite": null,
-			"missLat": 42,
-			"missLong": -88,
-			"multiSiteOrigin": false,
-			"multiSiteOriginAlgo": null,
-			"originShield": null,
-			"orgServerFqdn": "http://origin.infra.ciab.test",
-			"profileDescription": null,
-			"profileId": null,
-			"protocol": 0,
-			"qstringIgnore": 0,
-			"rangeRequestHandling": 0,
-			"regexRemap": null,
-			"regionalGeoBlocking": false,
-			"remapText": null,
-			"routingName": "video",
-			"signingAlgorithm": null,
-			"sslKeyVersion": null,
-			"trRequestHeaders": null,
-			"trResponseHeaders": null,
-			"tenantId": 1,
-			"typeId": 1,
-			"xmlId": "demo1"
-		}
-	]}
-
-.. [#httpOnly] This only applies to HTTP-:ref:`routed <ds-types>` :term:`Delivery Services`
-.. [2] See :ref:`ds-multi-site-origin`
-.. [3] This only applies to DNS-routed :term:`Delivery Services`
-.. [4] These fields are required for HTTP-routed and DNS-routed :term:`Delivery Services`, but are optional for (and in fact may have no effect on) STEERING and ANY_MAP :term:`Delivery Services`
+	Date: Mon, 10 Jun 2019 17:01:30 GMT
+	Content-Length: 1500
+
+	{ "response": [ {
+		"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": "2019-06-10 15:14:29+00",
+		"logsEnabled": true,
+		"longDesc": "Apachecon North America 2018",
+		"longDesc1": null,
+		"longDesc2": null,
+		"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,
+		"regionalGeoBlocking": false,
+		"remapText": null,
+		"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
+	}]}
+
+
+.. [#tenancy] Only the :term:`Delivery Services` visible to the requesting user's :term:`Tenant` will appear, regardless of their :term:`Role` or the :term:`Delivery Services`' actual 'server assignment' status.
diff --git a/docs/source/api/user_id_deliveryservices_available.rst b/docs/source/api/user_id_deliveryservices_available.rst
index 00f3b25..fc6889c 100644
--- a/docs/source/api/user_id_deliveryservices_available.rst
+++ b/docs/source/api/user_id_deliveryservices_available.rst
@@ -19,10 +19,10 @@
 
 ``GET``
 =======
-Lists identifying information for all of the :term:`Delivery Service`\ s assigned to a user - **not**, as the name implies, the :term:`Delivery Service`\ s *available* to be assigned to that user.
+Lists identifying information for all of the :term:`Delivery Services` assigned to a user - **not**, as the name implies, the :term:`Delivery Services` *available* to be assigned to that user.
 
 :Auth. Required: Yes
-:Roles Required: None
+:Roles Required: None\ [#tenancy]_
 :Response Type:  Array
 
 Request Structure
@@ -46,9 +46,9 @@ Request Structure
 
 Response Structure
 ------------------
-:displayName: This :term:`Delivery Service`'s name
+:displayName: This :term:`Delivery Service`'s :ref:`ds-display-name`
 :id:          The integral, unique identifier of this :term:`Delivery Service`
-:xmlId:       The 'xml_id' which (also) uniquely identifies this :term:`Delivery Service`
+:xmlId:       The :ref:`ds-xmlid` which (also) uniquely identifies this :term:`Delivery Service`
 
 .. code-block:: http
 	:caption: Response Example
@@ -72,3 +72,5 @@ Response Structure
 			"xmlId": "demo1"
 		}
 	]}
+
+.. [#tenancy] Only the :term:`Delivery Services` visible to the requesting user's :term:`Tenant` will appear, regardless of :term:`Role` or actual 'assignment' status.
diff --git a/docs/source/api/users_id_deliveryservices.rst b/docs/source/api/users_id_deliveryservices.rst
index 9934b31..f9e3c1e 100644
--- a/docs/source/api/users_id_deliveryservices.rst
+++ b/docs/source/api/users_id_deliveryservices.rst
@@ -18,24 +18,25 @@
 *********************************
 ``users/{{ID}}/deliveryservices``
 *********************************
+.. caution:: This endpoint has several issues related to tenancy and newer :term:`Delivery Service` fields. For these and other reasons, the assigning of :term:`Delivery Services` to users is strongly discouraged.
 
 ``GET``
 =======
-Retrieves all :term:`Delivery Service`\ s assigned to the user.
+Retrieves all :term:`Delivery Services` assigned to the user.
 
 :Auth. Required: Yes
-:Roles Required: None\ [1]_
+:Roles Required: None\ [#tenancy]_
 :Response Type:  Array
 
 Request Structure
 -----------------
 .. table:: Request Path Parameters
 
-	+------+---------------------------------------------------------------------------------------------------+
-	| Name | Description                                                                                       |
-	+======+===================================================================================================+
-	|  ID  | The integral, unique identifier of the users whose :term:`Delivery Service`\ s shall be retrieved |
-	+------+---------------------------------------------------------------------------------------------------+
+	+------+-------------------------------------------------------------------------------------------------+
+	| Name | Description                                                                                     |
+	+======+=================================================================================================+
+	|  ID  | The integral, unique identifier of the users whose :term:`Delivery Services` shall be retrieved |
+	+------+-------------------------------------------------------------------------------------------------+
 
 .. code-block:: http
 	:caption: Request Example
@@ -48,152 +49,106 @@ Request Structure
 
 Response Structure
 ------------------
-:active:                   ``true`` if the :term:`Delivery Service` is active, ``false`` otherwise
-:anonymousBlockingEnabled: ``true`` if :ref:`Anonymous Blocking <anonymous_blocking-qht>` has been configured for the :term:`Delivery Service`, ``false`` otherwise
-:cacheurl:                 A setting for a deprecated feature of now-unsupported Trafficserver versions
+:active:                   A boolean that defines :ref:`ds-active`.
+:anonymousBlockingEnabled: A boolean that defines :ref:`ds-anonymous-blocking`
+:cacheurl:                 A :ref:`ds-cacheurl`
 
 	.. deprecated:: ATCv3.0
 		This field has been deprecated in Traffic Control 3.x and is subject to removal in Traffic Control 4.x or later
 
-:ccrDnsTtl:           The Time To Live (TTL) of the DNS response for A or AAAA record queries requesting the IP address of the Traffic Router - named "ccrDnsTtl" for legacy reasons
-:cdnId:               The integral, unique identifier of the CDN to which the :term:`Delivery Service` belongs
-:cdnName:             Name of the CDN to which the :term:`Delivery Service` belongs
-:checkPath:           The path portion of the URL to check connections to this :term:`Delivery Service`'s origin server
-:consistentHashRegex: If defined, this is a regular expression used for the Pattern-Based Consistent Hashing feature.\ [#httpOnly]_
+:ccrDnsTtl:           The :ref:`ds-dns-ttl` - named "ccrDnsTtl" for legacy reasons
+:cdnId:               The integral, unique identifier of the :ref:`ds-cdn` to which the :term:`Delivery Service` belongs
+:cdnName:             Name of the :ref:`ds-cdn` to which the :term:`Delivery Service` belongs
+:checkPath:           A :ref:`ds-check-path`
+:consistentHashRegex: A :ref:`ds-consistent-hashing-regex`
 
 	.. versionadded:: 1.4
 
-:consistentHashQueryParams: A set (actually array due to limitations of JSON) of query parameters which will be considered by Traffic Router when using a client request to consistently find an :term:`Edge-tier cache server` to which to redirect them.\ [#httpOnly]_
+:consistentHashQueryParams: An array of :ref:`ds-consistent-hashing-qparams`
 
 	.. versionadded:: 1.4
 
+	.. caution:: This field will always appear to be ``null`` - even when the :term:`Delivery Service` in question has :ref:`ds-consistent-hashing-qparams` assigned to it.
 
-:displayName:              The display name of the :term:`Delivery Service`
-:dnsBypassCname:           Domain name to overflow requests for HTTP :term:`Delivery Service`\ s - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`\ [4]_
-:dnsBypassIp:              The IPv4 IP to use for bypass on a DNS :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`\ [4]_
-:dnsBypassIp6:             The IPv6 IP to use for bypass on a DNS :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`\ [4]_
-:dnsBypassTtl:             The time for which a DNS bypass of this :term:`Delivery Service`\ shall remain active\ [4]_
-:dscp:                     The Differentiated Services Code Point (DSCP) with which to mark traffic as it leaves the CDN and reaches clients
-:edgeHeaderRewrite:        Rewrite operations to be performed on TCP headers at the Edge-tier cache level - used by the Header Rewrite Apache Trafficserver plugin
-:fqPacingRate:             The Fair-Queuing Pacing Rate in Bytes per second set on the all TCP connection sockets in the :term:`Delivery Service` (see ``man tc-fc_codel`` for more information) - Linux only
-:geoLimit:                 The setting that determines how content is geographically limited - this is an integer on the interval [0-2] where the values have these meanings:
-
-	0
-		None - no limitations
-	1
-		Only route when the client's IP is found in the Coverage Zone File (CZF)
-	2
-		Only route when the client's IP is found in the CZF, or when the client can be determined to be from the United States of America
-
-	.. warning:: This does not prevent access to content or make content secure; it merely prevents routing to the content through Traffic Router
-
-:geoLimitCountries:   A string containing a comma-separated list of country codes (e.g. "US,AU") which are allowed to request content through this :term:`Delivery Service`
-:geoLimitRedirectUrl: A URL to which clients blocked by :ref:`Regional Geographic Blocking <regionalgeo-qht>` or the ``geoLimit`` settings will be re-directed
-:geoProvider:         An integer that represents the provider of a database for mapping IPs to geographic locations; currently only the following values are supported:
-
-	0
-		The "Maxmind" GeoIP2 database (default)
-	1
-		Neustar
-
-:globalMaxMbps:       The maximum global bandwidth allowed on this :term:`Delivery Service`. If exceeded, traffic will be routed to ``dnsBypassIp`` (or ``dnsBypassIp6`` for IPv6 traffic) for DNS :term:`Delivery Service`\ s and to ``httpBypassFqdn`` for HTTP :term:`Delivery Service`\ s
-:globalMaxTps:        The maximum global transactions per second allowed on this :term:`Delivery Service`. When this is exceeded traffic will be sent to the ``dnsBypassIp`` (and/or ``dnsBypassIp6``) for DNS :term:`Delivery Service`\ s and to the httpBypassFqdn for HTTP :term:`Delivery Service`\ s
-:httpBypassFqdn:      The HTTP destination to use for bypass on an HTTP :term:`Delivery Service` - bypass starts when the traffic on this :term:`Delivery Service` exceeds ``globalMaxMbps``, or when more than ``globalMaxTps`` is being exceeded within the :term:`Delivery Service`
+:deepCachingType:     The :ref:`ds-deep-caching` setting for this :term:`Delivery Service`
+
+	.. versionadded:: 1.3
+
+:displayName:       The :ref:`ds-display-name`
+:dnsBypassCname:    A :ref:`ds-dns-bypass-cname`
+:dnsBypassIp:       A :ref:`ds-dns-bypass-ip`
+:dnsBypassIp6:      A :ref:`ds-dns-bypass-ipv6`
+:dnsBypassTtl:      The :ref:`ds-dns-bypass-ttl`
+:dscp:              A :ref:`ds-dscp` to be used within the :term:`Delivery Service`
+:edgeHeaderRewrite: A set of :ref:`ds-edge-header-rw-rules`
+:exampleURLs:       An array of :ref:`ds-example-urls`
+:fqPacingRate:      The :ref:`ds-fqpr`
+
+	.. versionadded:: 1.3
+
+:geoLimit:            An integer that defines the :ref:`ds-geo-limit`
+:geoLimitCountries:   A string containing a comma-separated list defining the :ref:`ds-geo-limit-countries`
+:geoLimitRedirectUrl: A :ref:`ds-geo-limit-redirect-url`
+:geoProvider:         The :ref:`ds-geo-provider`
+:globalMaxMbps:       The :ref:`ds-global-max-mbps`
+:globalMaxTps:        The :ref:`ds-global-max-tps`
+:httpBypassFqdn:      A :ref:`ds-http-bypass-fqdn`
 :id:                  An integral, unique identifier for this :term:`Delivery Service`
-:infoUrl:             This is a string which is expected to contain at least one URL pointing to more information about the :term:`Delivery Service`. Historically, this has been used to link relevant JIRA tickets
-:initialDispersion:  The number of caches between which traffic requesting the same object will be randomly split - meaning that if 4 clients all request the same object (one after another), then if this is above 4 there is a possibility that all 4 are cache misses. For most use-cases, this should be 1\ [#httpOnly]_
-:ipv6RoutingEnabled: If ``true``, clients that connect to Traffic Router using IPv6 will be given the IPv6 address of a suitable :term:`Edge-tier cache server`; if ``false`` all addresses will be IPv4, regardless of the client connection
-:lastUpdated:        The date and time at which this :term:`Delivery Service` was last updated, in a ``ctime``-like format
-:logsEnabled:        If ``true``, logging is enabled for this :term:`Delivery Service`, otherwise it is disabled
-:longDesc:           A description of the :term:`Delivery Service`
-:longDesc1:          A field used when more detailed information that that provided by ``longDesc`` is desired
-:longDesc2:          A field used when even more detailed information that that provided by either ``longDesc`` or ``longDesc1`` is desired
-:matchList:          An array of methods used by Traffic Router to determine whether or not a request can be serviced by this :term:`Delivery Service`
+:infoUrl:             An :ref:`ds-info-url`
+:initialDispersion:   The :ref:`ds-initial-dispersion`
+:ipv6RoutingEnabled:  A boolean that defines the :ref:`ds-ipv6-routing` setting on this :term:`Delivery Service`
+:lastUpdated:         The date and time at which this :term:`Delivery Service` was last updated, in :rfc:`3339` format
+:logsEnabled:         A boolean that defines the :ref:`ds-logs-enabled` setting on this :term:`Delivery Service`
+:longDesc:            The :ref:`ds-longdesc` of this :term:`Delivery Service`
+:longDesc1:           The :ref:`ds-longdesc2` of this :term:`Delivery Service`
+:longDesc2:           The :ref:`ds-longdesc3` of this :term:`Delivery Service`
+:matchList:           The :term:`Delivery Service`'s :ref:`ds-matchlist`
 
 	:pattern:   A regular expression - the use of this pattern is dependent on the ``type`` field (backslashes are escaped)
-	:setNumber: An integral, unique identifier for the set of types to which the ``type`` field belongs
-	:type:      The type of match performed using ``pattern`` to determine whether or not to use this :term:`Delivery Service`
-
-		HOST_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches the ``Host:`` HTTP header of an HTTP request, or the name requested for resolution in a DNS request
-		HEADER_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches an HTTP header (both the name and value) in an HTTP request\ [#httpOnly]_
-		PATH_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches the request path of this :term:`Delivery Service`'s URL\ [#httpOnly]_
-		STEERING_REGEXP
-			Use the :term:`Delivery Service` if ``pattern`` matches the ``xml_id`` of one of this :term:`Delivery Service`'s "Steering" target :term:`Delivery Services`
-
-:maxDnsAnswers:    The maximum number of IPs to put in responses to A/AAAA DNS record requests (0 means all available)\ [4]_
-:midHeaderRewrite: Rewrite operations to be performed on TCP headers at the Edge-tier cache level - used by the Header Rewrite Apache Trafficserver plugin
-:missLat:          The latitude to use when the client cannot be found in the CZF or a geographic IP lookup
-:missLong:         The longitude to use when the client cannot be found in the CZF or a geographic IP lookup
-:multiSiteOrigin:  ``true`` if the Multi Site Origin feature is enabled for this :term:`Delivery Service`, ``false`` otherwise\ [3]_
-:orgServerFqdn:    The URL of the :term:`Delivery Service`'s origin server for use in retrieving content from the origin server
-
-	.. note:: Despite the field name, this must truly be a full URL - including the protocol (e.g. ``http://`` or ``https://``) - **NOT** merely the server's Fully Qualified Domain Name (FQDN)
-
-:originShield:       An "origin shield" is a forward proxy that sits between Mid-tier caches and the origin and performs further caching beyond what's offered by a standard CDN. This field is a string of FQDNs to use as origin shields, delimited by ``|``
-:profileDescription: The description of the Traffic Router Profile with which this :term:`Delivery Service` is associated
-:profileId:          The integral, unique identifier for the Traffic Router profile with which this :term:`Delivery Service` is associated
-:profileName:        The name of the Traffic Router Profile with which this :term:`Delivery Service` is associated
-:protocol:           The protocol which clients will use to communicate with Edge-tier :term:`cache server`\ s\ [#httpOnly]_ - this is an integer on the interval [0-2] where the values have these meanings:
-
-	0
-		HTTP
-	1
-		HTTPS
-	2
-		Both HTTP and HTTPS
-
-:qstringIgnore: Tells caches whether or not to consider URLs with different query parameter strings to be distinct - this is an integer on the interval [0-2] where the values have these meanings:
-
-	0
-		URLs with different query parameter strings will be considered distinct for caching purposes, and query strings will be passed upstream to the origin
-	1
-		URLs with different query parameter strings will be considered identical for caching purposes, and query strings will be passed upstream to the origin
-	2
-		Query strings are stripped out by Edge-tier caches, and thus are neither taken into consideration for caching purposes, nor passed upstream in requests to the origin
-
-:rangeRequestHandling: Tells caches how to handle range requests - this is an integer on the interval [0,2] where the values have these meanings:
-
-	0
-		Range requests will not be cached, but range requests that request ranges of content already cached will be served from the cache
-	1
-		Use the `background_fetch plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/background_fetch.en.html>`_ to service the range request while caching the whole object
-	2
-		Use the `experimental cache_range_requests plugin <https://github.com/apache/trafficserver/tree/master/plugins/experimental/cache_range_requests>`_ to treat unique ranges as unique objects
-
-:regexRemap: A regular expression remap rule to apply to this :term:`Delivery Service` at the Edge tier
-
-	.. seealso:: `The Apache Trafficserver documentation for the Regex Remap plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_remap.en.html>`_
-
-:regionalGeoBlocking: ``true`` if Regional Geo Blocking is in use within this :term:`Delivery Service`, ``false`` otherwise - see :ref:`regionalgeo-qht` for more information
-:remapText:           Additional, raw text to add to the remap line for caches
-
-	.. seealso:: `The Apache Trafficserver documentation for the Regex Remap plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_remap.en.html>`_
-
-:signed:           ``true`` if token-based authentication is enabled for this :term:`Delivery Service`, ``false`` otherwise
-:signingAlgorithm: Type of URL signing method to sign the URLs, basically comes down to one of two plugins or ``null``:
-
-	``null``
-		Token-based authentication is not enabled for this :term:`Delivery Service`
-	url_sig:
-		URL Signing token-based authentication is enabled for this :term:`Delivery Service`
-	uri_signing
-		URI Signing token-based authentication is enabled for this :term:`Delivery Service`
-
-	.. seealso:: `The Apache Trafficserver documentation for the url_sig plugin <https://docs.trafficserver.apache.org/en/8.0.x/admin-guide/plugins/url_sig.en.html>`_ and `the draft RFC for uri_signing <https://tools.ietf.org/html/draft-ietf-cdni-uri-signing-16>`_ - note, however that the current implementation of uri_signing uses Draft 12 of that RFC document, **NOT** the latest
-
-:sslKeyVersion: This integer indicates the generation of keys in use by the :term:`Delivery Service` - if any - and is incremented by the Traffic Portal client whenever new keys are generated
-
-	.. warning:: This number will not be correct if keys are manually replaced using the API, as the key generation API does not increment it!
-
-:tenantId:          The integral, unique identifier of the tenant who owns this :term:`Delivery Service`
-:trRequestHeaders:  If defined, this takes the form of a string of HTTP headers to be included in Traffic Router access logs for requests - it's a template where ``__RETURN__`` translates to a carriage return and line feed (``\r\n``)\ [#httpOnly]_
-:trResponseHeaders: If defined, this takes the form of a string of HTTP headers to be included in Traffic Router responses - it's a template where ``__RETURN__`` translates to a carriage return and line feed (``\r\n``)\ [#httpOnly]_
-:type:              The name of the routing type of this :term:`Delivery Service` e.g. "HTTP"
-:typeId:            The integral, unique identifier of the routing type of this :term:`Delivery Service`
-:xmlId:             A unique string that describes this :term:`Delivery Service` - exists for legacy reasons
+	:setNumber: An integer that provides explicit ordering of :ref:`ds-matchlist` items - this is used as a priority ranking by Traffic Router, and is not guaranteed to correspond to the ordering of items in the array.
+	:type:      The type of match performed using ``pattern``.
+
+:maxDnsAnswers:        The :ref:`ds-max-dns-answers` allowed for this :term:`Delivery Service`
+:maxOriginConnections: The :ref:`ds-max-origin-connections`
+
+	.. versionadded:: 1.4
+
+:midHeaderRewrite:     A set of :ref:`ds-mid-header-rw-rules`
+:missLat:              The :ref:`ds-geo-miss-default-latitude` used by this :term:`Delivery Service`
+:missLong:             The :ref:`ds-geo-miss-default-longitude` used by this :term:`Delivery Service`
+:multiSiteOrigin:      A boolean that defines the use of :ref:`ds-multi-site-origin` by this :term:`Delivery Service`
+:orgServerFqdn:        The :ref:`ds-origin-url`
+:originShield:         A :ref:`ds-origin-shield` string
+:profileDescription:   The description of the :term:`Delivery Service`'s :ref:`ds-profile`, if any
+:profileId:            The integral, unique identifier for :ref:`ds-profile` with which this :term:`Delivery Service` is associated, if any
+:profileName:          The name of the :ref:`ds-profile` with which this :term:`Delivery Service` is associated, if any
+:protocol:             An integral, unique identifier that corresponds to the :ref:`ds-protocol` used by this :term:`Delivery Service`
+:qstringIgnore:        An integral, unique identifier that corresponds to the :ref:`ds-qstring-handling` setting on this :term:`Delivery Service`
+:rangeRequestHandling: An integral, unique identifier that corresponds to the :ref:`ds-range-request-handling` setting on this :term:`Delivery Service`
+:regexRemap:           A :ref:`ds-regex-remap`
+:regionalGeoBlocking:  A boolean defining the :ref:`ds-regionalgeo` setting on this :term:`Delivery Service`
+:remapText:            :ref:`ds-raw-remap`
+:signed:               ``true`` if  and only if ``signingAlgorithm`` is not ``null``, ``false`` otherwise
+:signingAlgorithm:     Either a :ref:`ds-signing-algorithm` or ``null`` to indicate URL/URI signing is not implemented on this :term:`Delivery Service`
+
+	.. versionadded:: 1.3
+
+:sslKeyVersion: This integer indicates the :ref:`ds-ssl-key-version`
+:tenantId:      The integral, unique identifier of the :ref:`ds-tenant` who owns this :term:`Delivery Service`
+
+	.. versionadded:: 1.3
+
+:trRequestHeaders: If defined, this defines the :ref:`ds-tr-req-headers` used by Traffic Router for this :term:`Delivery Service`
+
+	.. versionadded:: 1.3
+
+:trResponseHeaders: If defined, this defines the :ref:`ds-tr-resp-headers` used by Traffic Router for this :term:`Delivery Service`
+
+	.. versionadded:: 1.3
+
+:type:   The :ref:`ds-types` of this :term:`Delivery Service`
+:typeId: The integral, unique identifier of the :ref:`ds-types` of this :term:`Delivery Service`
+:xmlId:  This :term:`Delivery Service`'s :ref:`ds-xmlid`
 
 .. code-block:: http
 	:caption: Response Example
@@ -205,12 +160,12 @@ Response Structure
 	Access-Control-Allow-Origin: *
 	Content-Type: application/json
 	Set-Cookie: mojolicious=...; Path=/; HttpOnly
-	Whole-Content-Sha512: bAq7+0tpGE/POGmM5qF/FFjgAuOV5eZmpoOD8AOGHswLviGv8y2ukIEasQuhAPKVBlAPqalueTUx7ZasGxIjAw==
+	Whole-Content-Sha512: /YG9PdSw9PAkVLfbTcOfEUbJe14UTkWQp2P9x632RbmsbbAQvbluT5QIMLJ4OatmEGwWKs47NUaRLUc8z0/qSA==
 	X-Server-Name: traffic_ops_golang/
-	Date: Thu, 13 Dec 2018 19:29:06 GMT
-	Content-Length: 1194
+	Date: Mon, 10 Jun 2019 16:50:25 GMT
+	Content-Length: 1348
 
-	{ "response": [{
+	{"response": [{
 		"active": true,
 		"anonymousBlockingEnabled": false,
 		"cacheurl": null,
@@ -236,7 +191,7 @@ Response Structure
 		"infoUrl": null,
 		"initialDispersion": 1,
 		"ipv6RoutingEnabled": true,
-		"lastUpdated": "2018-12-12 16:26:44+00",
+		"lastUpdated": "2019-06-10 15:14:29+00",
 		"logsEnabled": true,
 		"longDesc": "Apachecon North America 2018",
 		"longDesc1": null,
@@ -252,7 +207,7 @@ Response Structure
 		"profileDescription": null,
 		"profileId": null,
 		"profileName": null,
-		"protocol": 0,
+		"protocol": 2,
 		"qstringIgnore": 0,
 		"rangeRequestHandling": 0,
 		"regexRemap": null,
@@ -260,18 +215,21 @@ Response Structure
 		"remapText": null,
 		"routingName": "video",
 		"signed": false,
-		"sslKeyVersion": null,
+		"sslKeyVersion": 1,
 		"tenantId": 1,
 		"type": "HTTP",
 		"typeId": 1,
 		"xmlId": "demo1",
 		"exampleURLs": null,
 		"deepCachingType": "NEVER",
+		"fqPacingRate": null,
 		"signingAlgorithm": null,
-		"tenant": "root"
+		"tenant": "root",
+		"trResponseHeaders": null,
+		"trRequestHeaders": null,
+		"consistentHashRegex": null,
+		"consistentHashQueryParams": null,
+		"maxOriginConnections": null
 	}]}
 
-.. [1] Users with the :term:`Roles` "admin" and/or "operations" will be able to see *all* :term:`Delivery Services`, whereas any other user will only see the :term:`Delivery Services` their :term:`Tenant` is allowed to see.
-.. [#httpOnly] This only applies to HTTP-:ref:`routed <ds-types>` :term:`Delivery Services`
-.. [3] See :ref:`ds-multi-site-origin`
-.. [4] This only applies to DNS-:ref:`routed <ds-types>` :term:`Delivery Services`
+.. [#tenancy] While it is totally possible to assign a :term:`Delivery Service` to a user who's :term:`Tenant` does not have permission to own said :term:`Delivery Service`, users that request this endpoint will only see :term:`Delivery Services` that their :term:`Tenant` has permission to see. This means that there's no real guarantee that the output of this endpoint shows all of the :term:`Delivery Services` assigned to the user requested, even if the user is requesting their own assig [...]
diff --git a/docs/source/overview/delivery_services.rst b/docs/source/overview/delivery_services.rst
index 7fd4d35..aed58c1 100644
--- a/docs/source/overview/delivery_services.rst
+++ b/docs/source/overview/delivery_services.rst
@@ -24,10 +24,14 @@ Delivery Services are modeled several times over, in the Traffic Ops database, i
 
 .. seealso:: The API reference for Delivery Service-related endpoints such as :ref:`to-api-deliveryservices` contains definitions of the Delivery Service object(s) returned and/or accepted by those endpoints.
 
+.. _ds-active:
+
 Active
 ------
 Whether or not this Delivery Service is active on the CDN and can be served. When a Delivery Service is not "active", Traffic Router will not be made aware of its existence - i.e. it will not appear in CDN :term:`Snapshots`. Setting a Delivery Service to be "active" (or "inactive") will require that a new :term:`Snapshot` be taken.
 
+.. _ds-anonymous-blocking:
+
 Anonymous Blocking
 ------------------
 Enables/Disables blocking of anonymized IP address - proxies, :abbr:`TOR (The Onion Ring)` exit nodes, etc - for this Delivery Service. Set to true to enable blocking of anonymous IPs for this Delivery Service.
@@ -45,6 +49,8 @@ Enables/Disables blocking of anonymized IP address - proxies, :abbr:`TOR (The On
 
 .. seealso:: The :ref:`anonymous_blocking-qht` "Quick-How-To" guide.
 
+.. _ds-cacheurl:
+
 Cache URL Expression
 --------------------
 .. deprecated:: 3.0
@@ -54,10 +60,14 @@ Manipulates the cache key of the incoming requests. Normally, the cache key is t
 
 .. warning:: This field provides access to a feature that was only present in :abbr:`ATS (Apache Traffic Server)` 6.X and earlier. As :term:`cache server`\ s must now use :abbr:`ATS (Apache Traffic Server)` 7.1.X, this field **must** be blank unless all :term:`cache servers` can be guaranteed to use that older :abbr:`ATS (Apache Traffic Server)` version (**NOT** recommended).
 
+.. _ds-cdn:
+
 CDN
 ---
 A CDN to which this Delivery Service belongs. Only :term:`cache servers` within this CDN are available to route content for this Delivery Service. Additionally, only Traffic Routers assigned to this CDN will perform said routing. Most often ``cdn``/``CDN`` refers to the *name* of the CDN to which the Delivery Service belongs, but occasionally (most notably in the payloads and/or query parameters of certain :ref:`to-api` endpoints) it actually refers to the *integral, unique identifier* o [...]
 
+.. _ds-check-path:
+
 Check Path
 ----------
 A request path on the :term:`origin server` which is used to by certain :ref:`Traffic Ops Extensions <admin-to-ext-script>` to indicate the "health" of the :term:`origin`.
@@ -107,30 +117,42 @@ NEVER
 
 .. impl-detail:: Traffic Ops and Traffic Ops client Go code use an empty string as the name of the enumeration member that represents "NEVER".
 
+.. _ds-display-name:
+
 Display Name
 ------------
 The "name" of the Delivery Service. Since nearly any use of a string-based identification method for Delivery Services (e.g. in Traffic Portal tables) uses xml_id_, this is of limited use. For that reason and for consistency's sake it is suggested that this be the same as the xml_id_. However, unlike the xml_id_, this can contain any UTF-8 characters without restriction.
 
+.. _ds-dns-bypass-cname:
+
 DNS Bypass CNAME
 ----------------
 When the limits placed on this Delivery Service by the `Global Max Mbps`_ and/or `Global Max Tps`_ are exceeded, a DNS-:ref:`Routed <ds-types>` Delivery Service will direct excess traffic to the host referred to by this :abbr:`CNAME (Canonical Name)` record.
 
 .. note:: IPv6 traffic will be redirected if and only if `IPv6 Routing Enabled`_ is "true" for this Delivery Service.
 
+.. _ds-dns-bypass-ip:
+
 DNS Bypass IP
 -------------
 When the limits placed on this Delivery Service by the `Global Max Mbps`_ and/or `Global Max Tps`_ are exceeded, a DNS-:ref:`Routed <ds-types>` Delivery Service will direct excess IPv4 traffic to this IPv4 address.
 
+.. _ds-dns-bypass-ipv6:
+
 DNS Bypass IPv6
 ---------------
 When the limits placed on this Delivery Service by the `Global Max Mbps`_ and/or `Global Max Tps`_ are exceeded, a DNS-:ref:`Routed <ds-types>` Delivery Service will direct excess IPv6 traffic to this IPv6 address.
 
 .. note:: This requires an accompanying configuration of `IPv6 Routing Enabled`_ such that IPv6 traffic is allowed at all.
 
+.. _ds-dns-bypass-ttl:
+
 DNS Bypass TTL
 --------------
 When the limits placed on this Delivery Service by the `Global Max Mbps`_ and/or `Global Max Tps`_ are exceeded, a DNS-:ref:`Routed <ds-types>` Delivery Service will direct excess traffic to their `DNS Bypass IP`_, `DNS Bypass IPv6`_, or `DNS Bypass CNAME`_.
 
+.. _ds-dns-ttl:
+
 DNS TTL
 -------
 The :abbr:`TTL (Time To Live)` on the DNS record for the Traffic Router A and AAAA records. DNS-:ref:`Routed <ds-types>` Delivery Services will send this :abbr:`TTL (Time To Live)` along with their record responses to clients requesting access to this Delivery Service. Setting too high or too low will result in poor caching performance.
@@ -159,18 +181,45 @@ The :abbr:`DSCP (Differentiated Services Code Point)` which will be used to mark
 
 .. impl-detail:: DSCP settings only apply on :term:`cache servers` that run :abbr:`Apache Traffic Server`. The implementation uses the `ATS Header Rewrite Plugin <https://docs.trafficserver.apache.org/en/7.1.x/admin-guide/plugins/header_rewrite.en.html>`_ to create a rule that will mark traffic bound outward from the CDN to the client.
 
+.. _ds-edge-header-rw-rules:
+
 Edge Header Rewrite Rules
 -------------------------
 This field in general contains the contents of the a configuration file used by the `ATS Header Rewrite Plugin <https://docs.trafficserver.apache.org/en/7.1.x/admin-guide/plugins/header_rewrite.en.html>`_ when serving content for this Delivery Service - on :term:`Edge-tier cache server`\ s.
 
 .. tip:: Because this ultimately is the contents of an :abbr:`ATS (Apache Traffic Server)` configuration file, it can make use of the :ref:`ort-special-strings`.
 
+.. _ds-example-urls:
+
+Example URLs
+------------
+The Example URLs of a Delivery Service are the scheme/host specifications that clients can use to request content through it. These are determined by Traffic Ops from the Delivery Service's configuration, and are read-only in virtually every context. The only reason a Delivery Service should ever have no Example URLs is if it is an ANY_MAP-`Type`_ Delivery Service (since they are not routed). For example, a Delivery Service that can deliver HTTP and HTTPS content, has a `Routing Name`_ o [...]
+
+- `https://cdn.demo1.mycdn.ciab.test`
+- `http://cdn.demo1.mycdn.ciab.test`
+
+Note that these are irrespective of request path; meaning a client can request e.g. `https://cdn.demo1.mycdn.ciab.test/index.html` through this Delivery Service.
+
+.. warning:: This list does not consider any `Static DNS Entries`_ configured on the Delivery Service, those are
+
+.. table:: Aliases
+
+	+-----------------------+----------------------+-----------------------------+
+	| Name                  | Use(s)               | Type(s)                     |
+	+=======================+======================+=============================+
+	| Delivery Service URLs | Traffic Portal forms | unchanged (list of strings) |
+	+-----------------------+----------------------+-----------------------------+
+
+.. _ds-fqpr:
+
 Fair-Queuing Pacing Rate Bps
 ----------------------------
 The maximum bytes per second a :term:`cache server` will deliver on any single TCP connection. This uses the Linux kernel’s Fair-Queuing :manpage:`setsockopt(2)` (``SO_MAX_PACING_RATE``) to limit the rate of delivery. Traffic exceeding this speed will only be rate-limited and not diverted. This option requires extra configuration on all :term:`cache servers` assigned to this Delivery Service - specifically, the line ``net.core.default_qdisc = fq`` must exist in :file:`/etc/sysctl.conf`.
 
 .. seealso:: :manpage:`tc-fq_codel(8)`
 
+.. seealso:: This is implemented using the `ATS fq_pacing plign <https://docs.trafficserver.apache.org/en/7.1.x/admin-guide/plugins/fq_pacing.en.html>`_.
+
 .. table:: Aliases
 
 	+--------------+---------------------------------------------------------------------------------+---------------------------------------+
@@ -179,6 +228,8 @@ The maximum bytes per second a :term:`cache server` will deliver on any single T
 	| FQPacingRate | Traffic Ops source code, Delivery Service objects returned by the :ref:`to-api` | unchanged (``int``, ``integer`` etc.) |
 	+--------------+---------------------------------------------------------------------------------+---------------------------------------+
 
+.. _ds-geo-limit:
+
 Geo Limit
 ---------
 Limits access to a Delivery Service by geographic location. The only practical difference between this and `Regional Geoblocking`_ is the configuration method; as opposed to `Regional Geoblocking`_, GeoLimit configuration is handled by country-wide codes and the :term:`Coverage Zone File`. When a client is denied access to a requested resource on an HTTP-:ref:`Routed <ds-types>` Delivery Service, they will receive a ``503 Service Unavailable`` instead of the usual ``302 Found`` response  [...]
@@ -203,6 +254,8 @@ Limits access to a Delivery Service by geographic location. The only practical d
 
 .. danger:: Geographic access limiting is **not** sufficient to guarantee access is properly restricted. The limiting is implemented by Traffic Router, which means that direct requests to :term:`Edge-tier cache server`\ s will bypass it entirely.
 
+.. _ds-geo-limit-countries:
+
 Geo Limit Countries
 -------------------
 When `Geo Limit`_ is being used with this Delivery Service (and is set to exactly ``2``), this is optionally a list of country codes to which access to content provided by the Delivery Service will be restricted. Normally, this is a comma-delimited string of said country codes. When creating a Delivery Service with this field or modifying the Geo Limit Countries field on an existing Delivery Service, any amount of whitespace between country codes is permissible, as it will be removed on  [...]
@@ -216,6 +269,8 @@ When `Geo Limit`_ is being used with this Delivery Service (and is set to exactl
 	|                  |                                                                           | country code - one should exist for each allowed country code                                  |
 	+------------------+---------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+
 
+.. _ds-geo-limit-redirect-url:
+
 Geo Limit Redirect URL
 ----------------------
 If `Geo Limit`_ is being used with this Delivery Service, this is optionally a URL to which clients will be redirected when Traffic Router determines that they are not in a geographic zone that permits their access to the Delivery Service content. This changes the response from Traffic Router from ``503 Service Unavailable`` to ``302 Found`` with a provided location that will be this URL. There is no restriction on the provided URL; it may even be the path to a resource served by this De [...]
@@ -264,6 +319,8 @@ This is nearly always the integral, unique identifier of a provider for a databa
 	| geoProvider | Traffic Ops and Traffic Ops client code, :ref:`to-api` requests and responses | unchanged (integral, unique identifier) |
 	+-------------+-------------------------------------------------------------------------------+-----------------------------------------+
 
+.. _ds-geo-miss-default-latitude:
+
 Geo Miss Default Latitude
 -------------------------
 Default Latitude for this Delivery Service. When the geographic location of the client cannot be determined, they will be routed as if they were at this latitude.
@@ -276,6 +333,8 @@ Default Latitude for this Delivery Service. When the geographic location of the
 	| missLat | In :ref:`to-api` responses and Traffic Ops source code | unchanged (numeric) |
 	+---------+--------------------------------------------------------+---------------------+
 
+.. _ds-geo-miss-default-longitude:
+
 Geo Miss Default Longitude
 --------------------------
 Default Longitude for this Delivery Service. When the geographic location of the client cannot be determined, they will be routed as if they were at this longitude.
@@ -288,6 +347,8 @@ Default Longitude for this Delivery Service. When the geographic location of the
 	| missLong | In :ref:`to-api` responses and Traffic Ops source code | unchanged (numeric) |
 	+----------+--------------------------------------------------------+---------------------+
 
+.. _ds-global-max-mbps:
+
 Global Max Mbps
 ---------------
 The maximum :abbr:`Mbps (Megabits per second)` this Delivery Service can serve across all :term:`Edge-tier cache server`\ s before traffic will be diverted to the bypass destination. For a DNS-:ref:`Routed <ds-types>` Delivery Service, the `DNS Bypass IP`_ or `DNS Bypass IPv6`_ will be used (depending on whether this was a A or AAAA request), and for HTTP-:ref:`Routed <ds-types>` Delivery Services the `HTTP Bypass FQDN`_ will be used.
@@ -300,6 +361,8 @@ The maximum :abbr:`Mbps (Megabits per second)` this Delivery Service can serve a
 	| totalKbpsThreshold | In :ref:`to-api` responses - most notably :ref:`to-api-cdns-name-configs-monitoring` | unchanged (numeric), but converted from :abbr:`Mbps (Megabits per second)` to :abbr:`Kbps (kilobits per second)` |
 	+--------------------+--------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+
 
+.. _ds-global-max-tps:
+
 Global Max TPS
 --------------
 The maximum :abbr:`TPS (Transactions per Second)` this Delivery Service can serve across all :term:`Edge-tier cache server`\ s before traffic will be diverted to the bypass destination. For a DNS-:ref:`Routed <ds-types>` Delivery Service, the `DNS Bypass IP`_ or `DNS Bypass IPv6`_ will be used (depending on whether this was a A or AAAA request), and for HTTP-:ref:`Routed <ds-types>` Delivery Services the `HTTP Bypass FQDN`_ will be used.
@@ -312,14 +375,20 @@ The maximum :abbr:`TPS (Transactions per Second)` this Delivery Service can serv
 	| totalTpsThreshold | In :ref:`to-api` responses - most notably :ref:`to-api-cdns-name-configs-monitoring` | unchanged (numeric) |
 	+-------------------+--------------------------------------------------------------------------------------+---------------------+
 
+.. _ds-http-bypass-fqdn:
+
 HTTP Bypass FQDN
 ----------------
 When the limits placed on this Delivery Service by the `Global Max Mbps`_ and/or `Global Max Tps`_ are exceeded, an HTTP-:ref:`Routed <ds-types>` Delivery Service will direct excess traffic to this :abbr:`Fully Qualified Domain Name`.
 
+.. _ds-ipv6-routing:
+
 IPv6 Routing Enabled
 --------------------
 A boolean value that controls whether or not clients using IPv6 can be routed to this Delivery Service by Traffic Router. When creating a Delivery Service in Traffic Portal, this will default to "true".
 
+.. _ds-info-url:
+
 Info URL
 --------
 This should be a URL (though neither the :ref:`to-api` nor the Traffic Ops Database in any way enforce the validity of said URL) to which administrators or others may refer for further information regarding a Delivery Service - e.g. a related JIRA ticket.
@@ -330,12 +399,16 @@ Initial Dispersion
 ------------------
 The number of :term:`Edge-tier cache servers` across which a particular asset will be distributed within each :term:`Cache Group`. For most use-cases, this should be 1, meaning that all clients requesting a particular asset will be directed to 1 :term:`cache server` per :term:`Cache Group`. Depending on the popularity and size of assets, consider increasing this number in order to spread the request load across more than 1 :term:`cache server`. The larger this number, the more copies of  [...]
 
+.. _ds-logs-enabled:
+
 Logs Enabled
 ------------
 A boolean switch that can be toggled to enable/disable logging for a Delivery Service.
 
 .. note:: This doesn't actually do anything. It was part of the functionality for a planned Traffic Control component named "Traffic Logs" - which was never created.
 
+.. _ds-longdesc:
+
 Long Description
 ----------------
 Free text field that has no strictly defined purpose, but it is suggested that it contain a short description of the Delivery Service and its purpose.
@@ -348,6 +421,8 @@ Free text field that has no strictly defined purpose, but it is suggested that i
 	| longDesc | Traffic Control source code and :ref:`to-api` responses | unchanged (``string``, ``String`` etc.) |
 	+----------+---------------------------------------------------------+-----------------------------------------+
 
+.. _ds-longdesc2:
+
 Long Description 2
 ------------------
 Free text field that has no strictly defined purpose.
@@ -360,6 +435,8 @@ Free text field that has no strictly defined purpose.
 	| longDesc1\ [#cardinality]_ | Traffic Control source code and :ref:`to-api` responses | unchanged (``string``, ``String`` etc.) |
 	+----------------------------+---------------------------------------------------------+-----------------------------------------+
 
+.. _ds-longdesc3:
+
 Long Description 3
 ------------------
 Free text field that has no strictly defined purpose.
@@ -372,6 +449,8 @@ Free text field that has no strictly defined purpose.
 	| longDesc2\ [#cardinality]_ | Traffic Control source code and :ref:`to-api` responses | unchanged (``string``, ``String`` etc.) |
 	+----------------------------+---------------------------------------------------------+-----------------------------------------+
 
+.. _ds-matchlist:
+
 Match List
 ----------
 A Match List is a set of regular expressions used by Traffic Router to determine whether a given request from a client should be served by this Delivery Service. Under normal circumstances this field should only ever be read-only as its contents should be generated by Traffic Ops based on the Delivery Service's configuration. These regular expressions can each be one of the following types:
@@ -395,16 +474,28 @@ STEERING_REGEXP
 	| deliveryservice_regex | Traffic Ops database | unique, integral identifier for a regular expression |
 	+-----------------------+----------------------+------------------------------------------------------+
 
+.. _ds-max-dns-answers:
+
 Max DNS Answers
 ---------------
 The maximum number of :term:`Edge-tier cache server` IP addresses that the Traffic Router will include in responses to DNS requests for DNS-:ref:`Routed <ds-types>` Delivery Services. The :ref:`to-api` restricts this value to the range [1, 15], but no matching restraints are placed on the actual data as stored in the Traffic Ops Database. When provided, the :term:`cache server` IP addresses included are rotated in each response to spread traffic evenly. This number should scale according [...]
 
+.. _ds-max-origin-connections:
+
+Max Origin Connections
+----------------------
+The maximum number of TCP connections individual :term:`Mid-tier cache servers` are allowed to make to the `Origin Server Base URL`. A value of ``0`` in this field indicates that there is no maximum.
+
+.. _ds-mid-header-rw-rules:
+
 Mid Header Rewrite Rules
 ------------------------
 This field in general contains the contents of the a configuration file used by the `ATS Header Rewrite Plugin <https://docs.trafficserver.apache.org/en/7.1.x/admin-guide/plugins/header_rewrite.en.html>`_ when serving content for this Delivery Service - on :term:`Mid-tier cache servers`.
 
 .. tip:: Because this ultimately is the contents of an :abbr:`ATS (Apache Traffic Server)` configuration file, it can make use of the :ref:`ort-special-strings`.
 
+.. _ds-origin-url:
+
 Origin Server Base URL
 ----------------------
 The Origin Server’s base URL which includes the protocol (http or https). Example: ``http://movies.origin.com``. Must not include paths, query parameters, document fragment identifiers, or username/password URL fields.
@@ -417,10 +508,14 @@ The Origin Server’s base URL which includes the protocol (http or https). Exam
 	| orgServerFqdn | :ref:`to-api` responses and in Traffic Control source code | unchanged (usually ``str``, ``string`` etc.) |
 	+---------------+------------------------------------------------------------+----------------------------------------------+
 
+.. _ds-origin-shield:
+
 Origin Shield
 -------------
 An experimental feature that allows administrators to list additional forward proxies that sit between the :term:`Mid-tier` and the :term:`origin`. In most scenarios, this is represented (and required to be input) as a pipe (``|``)-delimited string.
 
+.. _ds-profile:
+
 Profile
 -------
 Either the name of a :term:`Profile` used by this Delivery Service, or an integral, unique identifier for said :term:`Profile`.
@@ -435,6 +530,8 @@ Either the name of a :term:`Profile` used by this Delivery Service, or an integr
 	| profileName | In Traffic Control source code and some :ref:`to-api` responses dealing with Delivery Services | Unlike the more general "Profile", this is *always* a name (``str``, ``string``, etc.) |
 	+-------------+------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
 
+.. _ds-protocol:
+
 Protocol
 --------
 The protocol with which to serve content from this Delivery Service. This defines the way the Delivery Service will handle client requests that are either HTTP or HTTPS, which is distinct from what protocols are used to direct traffic. For example, this can be used to direct clients to only request content using HTTP, or to allow clients to use either HTTP or HTTPS, etc. Normally, this will be the name of the protocol handling, but occasionally this will appear as the integral, unique id [...]
@@ -496,6 +593,8 @@ The Delivery Service's Query String Handling can be set directly as a field on t
 
 .. seealso:: When implemented as a :term:`Parameter` (``psel.qstring_handling``), its value must be a valid value for the ``qstring`` field of a line in the :abbr:`ATS (Apache Traffic Server)` ``parent.config`` configuration file. For a description of valid values, see the `documentation for parent.config <https://docs.trafficserver.apache.org/en/7.1.x/admin-guide/files/parent.config.en.html>`_
 
+.. _ds-range-request-handling:
+
 Range Request Handling
 ----------------------
 Describes how HTTP "Range Requests" should be handled by the Delivery Service at the :term:`Edge-tier`. This is nearly always an integral, unique identifier for the behavior set required of the :term:`Edge-tier cache server`\ s. The valid values and their respective meanings are:
@@ -524,6 +623,8 @@ For HTTP and DNS-:ref:`Routed <ds-types>` Delivery Services, this will be added
 
 .. note:: This field **must** be defined on ANY_MAP-`Type`_ Delivery Services, but is otherwise optional.
 
+.. seealso:: `The Apache Trafficserver documentation for the Regex Remap plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_remap.en.html>`_
+
 .. table:: Aliases
 
 	+-----------+-----------------------------------------------------------------+---------------------------------------+
@@ -532,6 +633,8 @@ For HTTP and DNS-:ref:`Routed <ds-types>` Delivery Services, this will be added
 	| remapText | In Traffic Ops source code and :ref:`to-api` requests/responses | unchanged (``text``, ``string`` etc.) |
 	+-----------+-----------------------------------------------------------------+---------------------------------------+
 
+.. _ds-regex-remap:
+
 Regex Remap Expression
 ----------------------
 Allows remapping of incoming requests URL using regular expressions to search and replace text. In a more literal sense, this is the raw contents of a configuration file used by the `ATS regex_remap plugin  <https://docs.trafficserver.apache.org/en/7.1.x/admin-guide/plugins/regex_remap.en.html>`_. At its most basic, the contents of this field should consist of ``map`` followed by a regular expression and then a "template URL" - all space-separated. The regular expression matches a client [...]
@@ -544,6 +647,8 @@ Allows remapping of incoming requests URL using regular expressions to search an
 
 	.. tip:: It is, of course, entirely possible to write a Regex Remap Expression that reproduces the desired `Query String Handling`_ as well as any other desired behavior.
 
+.. seealso:: `The Apache Trafficserver documentation for the Regex Remap plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_remap.en.html>`_
+
 .. table:: Aliases
 
 	+------------+----------------------------------------------------------------------------+-----------------------------+
@@ -552,26 +657,36 @@ Allows remapping of incoming requests URL using regular expressions to search an
 	| regexRemap | Traffic Ops source code and database, and :ref:`to-api` requests/responses | unchanged (``string`` etc.) |
 	+------------+----------------------------------------------------------------------------+-----------------------------+
 
+.. _ds-regionalgeo:
+
 Regional Geoblocking
 --------------------
 A boolean value that defines whether or not :ref:`Regional Geoblocking <regionalgeo-qht>` is active on this Delivery Service. The actual configuration of :ref:`Regional Geoblocking <regionalgeo-qht>` is done in the :term:`Profile` used by the Traffic Router serving the Delivery Service. Rules for this Delivery Service may exist, but they will not actually be used unless this field is ``true``.
 
 .. tip:: :ref:`Regional Geoblocking <regionalgeo-qht>` is configured primarily with respect to Canadian postal codes, so unless specifically Canadian regions should be allowed/disallowed to access content, `Geo Limit`_ is probably a better setting for controlling access to content according to geographic location.
 
+.. _ds-routing-name:
+
 Routing Name
 ------------
 A DNS label in the Delivery Service's domain that forms the :abbr:`FQDN (Fully Qualified Domain Name)` that is used by clients to request content. All together, the constructed :abbr:`FQDN (Fully Qualified Domain Name)` looks like: :file:`{Delivery Service Routing Name}.{Delivery Service xml_id}.{CDN Subdomain}.{CDN Domain}.{Top-Level Domain}`\ [#xmlValid]_.
 
+.. _ds-servers:
+
 Servers
 -------
 Servers can be assigned to Delivery Services using the :ref:`tp-configure-servers` and :ref:`tp-services-delivery-service` Traffic Portal sections, or by directly using the :ref:`to-api-deliveryserviceserver` endpoint. Only :term:`Edge-tier cache servers` can be assigned to a Delivery Service, and once they are so assigned they will begin to serve content for the Delivery Service (after updates are queued and then applied). Any servers assigned to a Delivery Service must also belong to t [...]
 
+.. _ds-signing-algorithm:
+
 Signing Algorithm
 -----------------
 URLs/URIs may be signed using one of two algorithms before a request for the content to which they refer is sent to the :term:`origin` (which in practice can be any upstream network). At the time of this writing, this field is restricted within the Traffic Ops Database to one of two values (or ``NULL``/"None", to indicate no signing should be done).
 
 .. seealso:: The url_sig `README <https://github.com/apache/trafficserver/blob/master/plugins/experimental/url_sig/README>`_.
 
+.. seealso:: `The draft RFC for uri_signing <https://tools.ietf.org/html/draft-ietf-cdni-uri-signing-16>`_ - note, however that the current implementation of uri_signing uses Draft 12 of that RFC document, **NOT** the latest.
+
 url_sig
 	URL signing will be implemented in this Delivery Service using the `url_sig Apache Traffic Server plugin <https://docs.trafficserver.apache.org/en/7.1.x/admin-guide/plugins/url_sig.en.html>`_. (Aliased as "URL Signature Keys" in Traffic Portal forms)
 uri_signing
@@ -588,12 +703,24 @@ uri_signing
 
 Keys for either algorithm can be generated within :ref:`Traffic Portal <tp-services-delivery-service>`.
 
+.. _ds-ssl-key-version:
+
+SSL Key Version
+---------------
+An integer that describes the version of the SSL key(s) - if any - used by this Delivery Service. This is incremented whenever Traffic Portal generates new SSL keys for the Delivery Service.
+
+.. warning:: This number will not be correct if keys are manually replaced using the API, as the key generation API does not increment it!
+
+.. _ds-static-dns-entries:
+
 Static DNS Entries
 ------------------
 Static DNS Entries can be added *under* a Delivery Service's domain. These DNS records can be configured in the :ref:`tp-services-delivery-service` section of Traffic Portal, and can be any valid CNAME, A or AAAA DNS record - provided the associated hostname falls within the DNS domain for the Delivery Service. For example, a Delivery Service with xml_id_ "demo1" and belonging to a CDN_ with domain "mycdn.ciab.test" could have Static DNS Entries for hostnames "foo.demo1.mycdn.ciab.test"  [...]
 
 .. note:: The `Routing Name`_ of a Delivery Service is not part of the :abbr:`SOA (Start of Authority)` record for the Delivery Service's domain, and so there is no need to place Static DNS Entries below a domain containing it.
 
+.. _ds-tenant:
+
 Tenant
 ------
 The :term:`Tenant` who owns this Delivery Service. They (and their parents, if any) are the only ones allowed to make changes to this Delivery Service. Typically, ``tenant``/``Tenant`` refers to the *name* of the owning :term:`Tenant`, but occasionally (most notably in the payloads and/or query parameters of certain :ref:`to-api` requests) it actually refers to the *integral, unique identifier* of said :term:`Tenant`.
@@ -606,6 +733,8 @@ The :term:`Tenant` who owns this Delivery Service. They (and their parents, if a
 	| TenantID | Go code and :ref:`to-api` requests/responses | Integral, unique identifier (``bigint``, ``int`` etc.) |
 	+----------+----------------------------------------------+--------------------------------------------------------+
 
+.. _ds-tr-resp-headers:
+
 Traffic Router Additional Response Headers
 ------------------------------------------
 List of HTTP header ``{{name}}:{{value}}`` pairs separated by ``__RETURN__`` or simply on separate lines. Listed pairs will be included in all HTTP responses from Traffic Router for HTTP-:ref:`Routed <ds-types>` Delivery Services.
@@ -621,6 +750,8 @@ List of HTTP header ``{{name}}:{{value}}`` pairs separated by ``__RETURN__`` or
 	| trResponseHeaders | Traffic Control source code and Delivery Service objects returned by the :ref:`to-api` | unchanged (``string`` etc.) |
 	+-------------------+----------------------------------------------------------------------------------------+-----------------------------+
 
+.. _ds-tr-req-headers:
+
 Traffic Router Log Request Headers
 ----------------------------------
 List of HTTP header names separated by ``__RETURN__`` or simply on separate lines. Listed pairs will be logged for all HTTP requests to Traffic Router for HTTP-:ref:`Routed <ds-types>` Delivery Services.


Mime
View raw message