# List discount allocation details by time range

Retrieves discount allocation details about rate plan charges that have changes in a specified time range.
The purpose of `fromTimestamp` and `toTimestamp` is to synchronize discount allocation details incrementally.

Endpoint: GET /charge-metrics/data/charge-metrics-discount-allocation-detail
Version: 2026-09-11

## Query parameters:

  - `fromTimestamp` (string, required)
    The starting date and time of a time range when changes are made to charge metrics, in `yyyy-mm-ddThh:mm:ssZ` format. For example, `2020-08-18T09:01:11Z`. The timestamp maps to the `UpdatedOn` timestamp of the to-be-exported object.

  - `toTimestamp` (string, required)
    The end date and time of a time range when changes are made to charge metrics, in `yyyy-mm-ddThh:mm:ssZ` format. For example, `2020-08-20T09:01:11Z`. The timestamp maps to the `UpdatedOn` timestamp of the to-be-exported object.

## Header parameters:

  - `Accept-Encoding` (string)
    Include the `Accept-Encoding: gzip` header to compress responses as a gzipped file. It can significantly reduce the bandwidth required for a response.
If specified, Zuora automatically compresses responses that contain over 1000 bytes of data, and the response contains a `Content-Encoding` header with the compression algorithm so that your client can decompress it.

  - `Content-Encoding` (string)
    Include the `Content-Encoding: gzip` header to compress a request. With this header specified, you should upload a gzipped file for the request payload instead of sending the JSON payload.

  - `Authorization` (string, required)
    The value is in the `Bearer {token}` format where {token} is a valid OAuth token generated by calling [Create an OAuth token](https://developer.zuora.com/api-references/api/operation/createToken).

  - `Zuora-Track-Id` (string)
    A custom identifier for tracing the API call. If you set a value for this header, Zuora returns the same value in the response headers. This header enables you to associate your system process identifiers with Zuora API calls, to assist with troubleshooting in the event of an issue.
The value of this field must use the US-ASCII character set and must not include any of the following characters: colon (`:`), semicolon (`;`), double quote (`"`), and quote (`'`).

  - `Zuora-Entity-Ids` (string)
    An entity ID. If you have [Zuora Multi-entity](https://docs.zuora.com?resourceId=platform-multi-entity-overview) enabled and the OAuth token is valid for more than one entity, you must use this header to specify which entity to perform the operation in. If the OAuth token is only valid for a single entity, or you do not have Zuora Multi-entity enabled, you do not need to set this header.

  - `Accept` (string)
    Expressed as MIME types that the client is able to understand. Using content negotiation, the server then selects one of the proposals, uses it and informs the client of its choice with the `Content-Type` response header. The possible response MIME types are `application/json-seq` compatible with http://jsonlines.org/, and `text/csv` compatible with RFC 4180. `application/json-seq` is the default response MIME type. If the `Accept` header is not sepecified, or set */*, the response body is returned in application/json-seq MIME type.

## Response 200 fields (application/json):

  - `amendmentId` (string)
    The amendment id that result in the discount allocation detail record.

  - `amendmentType` (string)
    The ID of the corresponding amendment that result in the discount allocation detail record.

  - `chargeMetricsId` (string)
    The ID of the corresponding charge metrics record.

  - `chargeNumber` (string)
    The corresponding charge number of the discount allocation details record.

  - `createdOn` (string)
    The date and time when the discount allocation detail record.

  - `currency` (string)
    The currency of the discount allocation detail record.

  - `deleted` (boolean)
    Whether the discount allocation detail record is deleted.

  - `discountChargeNumber` (string)
    The number of the corresponding discount charge that leads to the discount allocation detail record.

  - `discountMrr` (number)
    The discount amount for the MRR of the discount allocation detail record.
See [Monthly Recurring Revenue](https://docs.zuora.com?resourceId=billing-monthly-recurring-revenue) for more MRR information.

  - `discountTcv` (number)
    The discount amount for the TCV of the discount allocation detail record.

  - `endDate` (string)
    The end date of the discount allocation detail record.

  - `id` (string)
    The ID of the discount allocation details record.

  - `invoiceOwnerAccountNumber` (string)
    The account number of the corresponding invoice owner.

  - `productId` (string)
    The corresponding product ID of the discount allocation details record.

  - `productRatePlanChargeId` (string)
    The corresponding product rate plan charge ID of the discount allocation detail record.

  - `productRatePlanId` (string)
    The corresponding product rate plan ID of the discount allocation details record.

  - `ratePlanChargeId` (string)
    The corresponding rate plan charge ID of the discount allocation details record.

  - `startDate` (string)
    The start date of the discount allocation detail record.

  - `subscriptionName` (string)
    The name of the corresponding subscription.

  - `subscriptionOwnerAccountNumber` (string)
    The account number of the corresponding subscription owner.

  - `updatedOn` (string)
    The date and time when the discount allocation detail record.

## Response 200 headers (application/json):

  - `Content-Encoding` (string)
    This header is returned if you specify the `Accept-Encoding: gzip` request header and the response contains over 1000 bytes of data.
Note that only the following MIME types support gzipped responses:
- `application/json`
- `application/xml`
- `text/html`
- `text/csv`
- `text/plain`

  - `RateLimit-Limit` (string)
    The request limit quota for the time window closest to exhaustion. See [rate limits](https://developer.zuora.com/docs/guides/rate-limits/) for more information.

  - `RateLimit-Remaining` (number)
    The number of requests remaining in the time window closest to quota exhaustion. See [rate limits](https://developer.zuora.com/docs/guides/rate-limits/) for more information.

  - `RateLimit-Reset` (number)
    The number of seconds until the quota resets for the time window closest to quota exhaustion. See [rate limits](https://developer.zuora.com/docs/guides/rate-limits/) for more information.

  - `Zuora-Request-Id` (string)
    The Zuora internal identifier of the API call. You cannot control the value of this header.

  - `Zuora-Track-Id` (string)
    A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header.

## Response 400:

  - `400` (unknown)
    Invalid Parameters

## Response 400 fields (application/json):

  - `reasons` (array)

  - `reasons.code` (string)
    The error code of response.

  - `reasons.message` (string)
    The detail information of the error response.

## Response 400 headers (application/json):

  - `Content-Encoding` (string)
    This header is returned if you specify the `Accept-Encoding: gzip` request header and the response contains over 1000 bytes of data.
Note that only the following MIME types support gzipped responses:
- `application/json`
- `application/xml`
- `text/html`
- `text/csv`
- `text/plain`

  - `RateLimit-Limit` (string)
    The request limit quota for the time window closest to exhaustion. See [rate limits](https://developer.zuora.com/docs/guides/rate-limits/) for more information.

  - `RateLimit-Remaining` (number)
    The number of requests remaining in the time window closest to quota exhaustion. See [rate limits](https://developer.zuora.com/docs/guides/rate-limits/) for more information.

  - `RateLimit-Reset` (number)
    The number of seconds until the quota resets for the time window closest to quota exhaustion. See [rate limits](https://developer.zuora.com/docs/guides/rate-limits/) for more information.

  - `Zuora-Request-Id` (string)
    The Zuora internal identifier of the API call. You cannot control the value of this header.

  - `Zuora-Track-Id` (string)
    A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header.

## Response 429:

  - `429` (unknown)
    Rate limited

## Response 429 fields (application/json):

  - `reasons` (array)

  - `reasons.code` (string)
    The error code of response.

  - `reasons.message` (string)
    The detail information of the error response.

## Response 429 headers (application/json):

  - `Content-Encoding` (string)
    This header is returned if you specify the `Accept-Encoding: gzip` request header and the response contains over 1000 bytes of data.
Note that only the following MIME types support gzipped responses:
- `application/json`
- `application/xml`
- `text/html`
- `text/csv`
- `text/plain`

  - `Zuora-Request-Id` (string)
    The Zuora internal identifier of the API call. You cannot control the value of this header.

  - `Zuora-Track-Id` (string)
    A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header.

  - `RateLimit-Limit` (string)
    The request limit quota for the time window closest to exhaustion. See [rate limits](https://developer.zuora.com/docs/guides/rate-limits/) for more information.

  - `RateLimit-Remaining` (number)
    The number of requests remaining in the time window closest to quota exhaustion. See [rate limits](https://developer.zuora.com/docs/guides/rate-limits/) for more information.

  - `RateLimit-Reset` (number)
    The number of seconds until the quota resets for the time window closest to quota exhaustion. See [rate limits](https://developer.zuora.com/docs/guides/rate-limits/) for more information.

  - `Retry-After` (integer)
    The interval of seconds that you have to wait before another retry.

## Response 500:

  - `500` (unknown)
    Internal Error

## Response 500 fields (application/json):

  - `reasons` (array)

  - `reasons.code` (string)
    The error code of response.

  - `reasons.message` (string)
    The detail information of the error response.

## Response 500 headers (application/json):

  - `Content-Encoding` (string)
    This header is returned if you specify the `Accept-Encoding: gzip` request header and the response contains over 1000 bytes of data.
Note that only the following MIME types support gzipped responses:
- `application/json`
- `application/xml`
- `text/html`
- `text/csv`
- `text/plain`

  - `RateLimit-Limit` (string)
    The request limit quota for the time window closest to exhaustion. See [rate limits](https://developer.zuora.com/docs/guides/rate-limits/) for more information.

  - `RateLimit-Remaining` (number)
    The number of requests remaining in the time window closest to quota exhaustion. See [rate limits](https://developer.zuora.com/docs/guides/rate-limits/) for more information.

  - `RateLimit-Reset` (number)
    The number of seconds until the quota resets for the time window closest to quota exhaustion. See [rate limits](https://developer.zuora.com/docs/guides/rate-limits/) for more information.

  - `Zuora-Request-Id` (string)
    The Zuora internal identifier of the API call. You cannot control the value of this header.

  - `Zuora-Track-Id` (string)
    A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header.

## Response 400 examples:

  - `response` (unknown)

## Response 429 examples:

  - `response` (unknown)

## Response 500 examples:

  - `response` (unknown)

