Use this endpoint to query published adjustment records with more control than GET /adjustments. POST /adjustments/query is read-only, but it lets you describe the query in a JSON body so you can:
- Apply richer filtering, for example, to apply multiple conditions or operators
- Select only specific fields to reduce payload size
- Sort results, for example, by effective date
- Paginate large result sets
A list of published adjustment records that meet your filtering and sorting criteria.
Enter an access token to authenticate your requests. For details, read Get an access token.
Example of an adjustment query
{
"elementId": "uuid",
"context": {
"frameworkVersionId": "uuid",
"frameworkId": "uuid",
"scenarioId": "uuid",
"pricingView": "published_flattened",
"effectiveAt": "2025-01-01"
},
"filters": [
{
"field": "ElementScopeId",
"operator": "eq",
"value": "uuid",
"type": "string"
}
],
"select": [
"CalculatedPriceRecordId",
"PriceValue"
],
"sort": [
{
"field": "EffectiveFrom",
"direction": "asc"
}
],
"pagination": {
"cursor": "10",
"limit": 200
}
}Identifier of a framework's pricing element whose prices you want to get.
Defines which published dataset to get records from and which point in time you care about.
Rules:
Provide either
frameworkVersionIdorframeworkId. They are mutually exclusive, but one of them is required.External callers can query only published views.
Framework version identifier. Together with elementId, this defines the published pricing dataset to query.
Provide either frameworkVersionId or frameworkId. They are mutually exclusive, but one of them is required.
Framework identifier. Together with elementId, this defines the published pricing dataset to query.
Provide either frameworkVersionId or frameworkId. They are mutually exclusive, but one of them is required.
Scenario identifier. Defines the pricing dataset to query.
Identifies the pricing view to query.
Date in the YYYY-MM-DD format. The API returns the records that are effective at that time. If you don’t specify a date, the API uses today’s date.
Allows to filter results by fields and their values.
Field name.
Filter operator.
Filter value.
Value type, such as string or number.
List of fields to return per record. This is especially useful when you’re exporting to another system and only need a few columns or running frequent queries and want faster responses.
How it works:
- If you omit
selector leave it empty, you get full records. - If you add
select, each record includes only the listed fields.
select, the service still fetches some required fields internally to apply the effectiveAt logic, but it will not automatically return them unless you include them in select: - For prices, adjustments, calculated prices, and cost records requests:
EffectiveFromandEffectiveTofields. - For overrides requests,
OverrideStartDateandOverrideEndDatefields.
Allows to define a sort direction for fields. If you omit the sort direction, ascending order applies by default.
Field name.
Sort direction. Supported values:
- asc—Sorts field values in ascending order (lowest to highest; A to Z).
- desc—Sorts field values in descending order (highest to lowest; Z to A).
Use to paginate through large datasets.
Cursor for pagination.
Сontrols how many records to return per page.
Adjustment records response
{
"data": {
"records": [
{
"AdjustmentRecordId": "0221852-52320",
"AdjustmentValue": 5,
"AdjustmentName": "Discount",
"ScenarioId": "1254891-54593",
"ElementScopeId": "0231589-203258",
"ProductId": "SKU-001",
"EffectiveFrom": "2025-01-01",
"EffectiveTo": "9999-12-31"
}
]
},
"pagination": {
"cursor": "200",
"hasMore": true
},
"meta": {
"requestId": "req-123",
"effectiveAt": "2025-01-01",
"frameworkVersionId": "0325620-84236",
"pricingView": "published_flattened",
"scenarioId": "1254891-54593"
}
}A list of adjustment records.
A pricing adjustment, such as a discount or surcharge, and its key details like a unique ID, name, value, and product it applies to.
Results pagination details.
Cursor for pagination.
True if more records are available.
Request identifier for tracing.
Framework version identifier.
Related scenario identifier.
Adjustment records response
{
"data": {
"records": [
{
"AdjustmentRecordId": "0221852-52320",
"AdjustmentValue": 5,
"AdjustmentName": "Discount",
"ScenarioId": "1254891-54593",
"ElementScopeId": "0231589-203258",
"ProductId": "SKU-001",
"EffectiveFrom": "2025-01-01",
"EffectiveTo": "9999-12-31"
}
]
},
"pagination": {
"cursor": "200",
"hasMore": true
},
"meta": {
"requestId": "req-123",
"effectiveAt": "2025-01-01",
"frameworkVersionId": "0325620-84236",
"pricingView": "published_flattened",
"scenarioId": "1254891-54593"
}
}A list of adjustment records.
A pricing adjustment, such as a discount or surcharge, and its key details like a unique ID, name, value, and product it applies to.
Results pagination details.
Cursor for pagination.
True if more records are available.
Request identifier for tracing.
Framework version identifier.
Related scenario identifier.
Validation error
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid request",
"requestId": "req-123",
"details": {}
}
}Unauthorized
{
"error": {
"code": "UNAUTHORIZED",
"message": "Unauthorized",
"requestId": "req-123"
}
}Forbidden
{
"error": {
"code": "FORBIDDEN",
"message": "Forbidden",
"requestId": "req-123"
}
}Queried element not found
{
"error": {
"code": "NOT_FOUND",
"message": "Not found",
"requestId": "req-123"
}
}Internal error
{
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal error",
"requestId": "req-123"
}
}Upstream error
{
"error": {
"code": "UPSTREAM_ERROR",
"message": "Upstream dependency failed",
"requestId": "req-123"
}
}