RTPE Evaluation Service

Download OpenAPI specification:Download

The pricing evaluation service provides a service to define methods containing a set of named elements computed by formulas, and to request the computed results of those formulas for a given set of parameters.

Global Headers

pros-request-id: ... [ 16 .. 64 ] characters

Defines the correlation ID that should be associated with this request, and transitively associated with all other requests made on behalf of this original request.

If a request includes this header and its value satisfies the minimum and maximum length requirements, that value is used as the correlation ID. Otherwise, a new random value is generated and used instead.

Configuration API

Create, modify, and delete configurations.

Get all the credential names

Authorizations:
LOGIN_PORTAL

Responses

Response samples

Content type
application/json
Example

Example 1

{
  • "names": [
    ]
}

Create or update credential configurations

Authorizations:
LOGIN_PORTAL
Request Body schema: application/json
name
string

The name of the credential. Required unless implied by context (e.g., updating a credential where the name is present in the URI). Between 1-128 characters.

value
string

The value of the credential, i.e., the secret. This value will be obfuscated in credential instances that are returned from calls to the service.

updatedBy
string

Recorded user who last updated the credential value stored in the system.

updatedAt
string

The time when this credential was last updated in the system, represented as a string in ISO-8601 format.

Responses

Request samples

Content type
application/json
Example

Example 1

{
  • "name": "AccessToken",
  • "value": "cHJvbnRvYWRtaW5AdGVuYW50MDpmb28="
}

Response samples

Content type
application/json

Example 1

{
  • "name": "AccessToken",
  • "value": "*",
  • "updatedBy": "d9420c21-3a2f-36b4-840e-2a0a21eb9425",
  • "updatedAt": "2019-04-10T19:44:02.476Z"
}

Create/update evaluation iteration limits

Authorizations:
LOGIN_PORTAL
Request Body schema: application/json
Schema not provided

Responses

Request samples

Content type
application/json
Example

Example 1

{
  • "requestLimit": 300,
  • "functionLimit": 200
}

Response samples

Content type
application/json

Example 1

{
  • "requestLimit": 300,
  • "functionLimit": 200
}

Delete the configured evaluation limits

Authorizations:
LOGIN_PORTAL

Responses

List all of the methods with preprocessors

Authorizations:
LOGIN_PORTAL

Responses

Response samples

Content type
application/json
Example

Example 1

{
  • "names": [
    ]
}

Create or update request preprocessors

At most one preprocessor can be associated with a named method; if one already exists, it is replaced in its entirety with the definition in the body of this request.

Authorizations:
LOGIN_PORTAL
Request Body schema: application/json
methodName
string

Name of the method to which this preprocessor is associated.

Array of objects (PreprocessorStageDTO)

List of preprocessor stages that are to be applied to requests, in order.

Responses

Request samples

Content type
application/json
Example

Example 1

{
  • "methodName": "my-price-method",
  • "stages": [
    ]
}

Response samples

Content type
application/json

Example 1

{
  • "methodName": "my-price-method",
  • "stages": [
    ]
}

Get a credential configuration by name

The credential value is not returned for security reasons; a placeholder symbol for credential value is returned instead.

Authorizations:
LOGIN_PORTAL
path Parameters
name
required
string

Responses

Response samples

Content type
application/json

GET /api/configure/credential/name/AccessToken

{
  • "name": "AccessToken",
  • "value": "*",
  • "updatedBy": "d9420c21-3a2f-36b4-840e-2a0a21eb9425",
  • "updatedAt": "2019-04-10T19:44:02.476Z"
}

Update a credential configuration by name.

If the name is specified in the request body, it will be ignored. The name from the URL path will be used.

Authorizations:
LOGIN_PORTAL
path Parameters
name
required
string
Request Body schema: application/json
name
string

The name of the credential. Required unless implied by context (e.g., updating a credential where the name is present in the URI). Between 1-128 characters.

value
string

The value of the credential, i.e., the secret. This value will be obfuscated in credential instances that are returned from calls to the service.

updatedBy
string

Recorded user who last updated the credential value stored in the system.

updatedAt
string

The time when this credential was last updated in the system, represented as a string in ISO-8601 format.

Responses

Request samples

Content type
application/json
Example

POST /api/configure/credential/name/AccessToken

{
  • "value": "cHJvbnRvYWRtaW5AdGVuYW50MDpmb28="
}

Response samples

Content type
application/json

Example 1

{
  • "name": "AccessToken",
  • "value": "*",
  • "updatedBy": "d9420c21-3a2f-36b4-840e-2a0a21eb9425",
  • "updatedAt": "2019-04-10T19:44:02.476Z"
}

Delete a credential configuration by name

Authorizations:
LOGIN_PORTAL
path Parameters
name
required
string

Responses

Response samples

Content type
application/json
Example

DELETE /api/configure/credential/name/AccessToken

null

Get the preprocessor configuration for a method

Authorizations:
LOGIN_PORTAL
path Parameters
methodName
required
string

Responses

Response samples

Content type
application/json

GET /api/configure/preprocessor/name/my-price-method

{
  • "methodName": "my-price-method",
  • "stages": [
    ]
}

Update the preprocessor configuration for a method

If the method name is also specified in the request body, it is ignored; the method name from URL path is used.

This operation is only supported for preprocessors that already exist. Attempting to use this endpoint to set a preprocessor that does not already exist results in a 404 error. New preprocessors must be created with the POST configure/preprocessor endpoint instead.

Authorizations:
LOGIN_PORTAL
path Parameters
methodName
required
string
Request Body schema: application/json
methodName
string

Name of the method to which this preprocessor is associated.

Array of objects (PreprocessorStageDTO)

List of preprocessor stages that are to be applied to requests, in order.

Responses

Request samples

Content type
application/json
Example

POST /api/configure/preprocessor/name/my-price-method

{
  • "methodName": "my-price-method",
  • "stages": [
    ]
}

Response samples

Content type
application/json

Example 1

{
  • "methodName": "my-price-method",
  • "stages": [
    ]
}

Delete the preprocessor configuration for a method

Deleting the preprocessor associated with a method disables preprocessing for all requests to evaluate the given method.

Note that attempting to delete a preprocessor which does not exist is not an error. The end state of such a call is the same: the resource now does not exist.

Authorizations:
LOGIN_PORTAL
path Parameters
methodName
required
string

Responses

Response samples

Content type
application/json
Example

DELETE /api/configure/preprocessor/name/my-price-method

null

Retrieve the post-evaluation conversion configuration

This configuration determines the behavior of any requested currency or unit conversions on element results after evaluation of a price method. At the request level, this includes:

  • matrix parameters
  • cur query parameter
  • unit query parameter

At the batch request item level, this includes:

  • elements
Authorizations:
LOGIN_PORTAL

Responses

Response samples

Content type
application/json

Example 1

{
  • "onError": "warn",
  • "enabled": {
    }
}

Update the post-evaluation conversion configuration

This configuration determines the behavior of any requested currency or unit conversions on element results after evaluation of a price method. At the request level, this includes:

  • matrix parameters
  • cur query parameter
  • unit query parameter

At the batch request item level, this includes:

  • elements
Authorizations:
LOGIN_PORTAL
Request Body schema: application/json
onError
string

Determines the behavior when an error is encountered during conversion. Valid values are 'warn' and 'fail'.

object (PostConversionEnabledConfigDTO)

Class containing information on which conversions are applied.

Responses

Request samples

Content type
application/json
Example

Example 1

{
  • "onError": "warn",
  • "enabled": {
    }
}

Response samples

Content type
application/json

Example 1

{
  • "onError": "warn",
  • "enabled": {
    }
}

Formula API

Provides documentation over the runtime-supported types, operations, and functions for the configured instance of the evaluation service.

Get all supported data types and operators

Return a list of all data types supported by this instance of the evaluation service and all category groupings that contain one or more function(s) and/or operator(s).

Authorizations:
LOGIN_PORTAL

Responses

Response samples

Content type
application/json

Example 1

{
  • "types": [
    ],
  • "categories": {
    }
}

Get all functions

Return a list of all functions supported by this instance of the evaluation service.

Authorizations:
LOGIN_PORTAL

Responses

Response samples

Content type
application/json

Example 1

{
  • "functions": [
    ]
}

Get formula function metadata (batch)

This method provides a batch operation to retrieve the FormulaFunctionMetaDetails for a given list of function names. Instead of multiple calls of GET formula/function/{name} on each function name, a single call to this method with the function names passed in as parameters retrieves the same result more efficiently. Metadata objects appear in the result in the same order as originally specified in the request. If requested formula does not exist, it is represented by a null value in the result list.

The request must contain at least 1 or maximum of 100 function names. Any other size results in an error.

Authorizations:
LOGIN_PORTAL
Request Body schema: application/json
Array
string

Responses

Request samples

Content type
application/json
Example

Example 1

[
  • "SUM"
]

Response samples

Content type
application/json
Example

Example 1

[
  • {
    }
]

Get formula function metadata (single)

Return an object describing the metadata of a function identified by its unique name.

Authorizations:
LOGIN_PORTAL
path Parameters
name
required
string

Responses

Response samples

Content type
application/json

GET /api/formula/function/SUM

{
  • "name": "SUM",
  • "signatures": [
    ],
  • "categories": [
    ],
  • "keywords": {
    },
  • "description": "Arithmetic summation of one or more numbers."
}

Get formula operator metadata

Return an object describing the metadata of an operator identified by its unique name.

Authorizations:
LOGIN_PORTAL
path Parameters
name
required
string

Responses

Response samples

Content type
application/json

GET /api/formula/operator/ADDITION

{
  • "name": "ADDITION",
  • "signatures": [
    ],
  • "categories": [
    ],
  • "description": "Arithmetic sum of two numbers. An error will occur if the augend's and addend's unit and/or currency values do not match.",
  • "symbols": [
    ]
}

Get supported operators

Return a list of all operators supported by this instance of the evaluation service.

Authorizations:
LOGIN_PORTAL

Responses

Response samples

Content type
application/json

Example 1

{
  • "operators": [
    ]
}

Get all data types

Return a list of all data types supported by this instance of the evaluation service.

Authorizations:
LOGIN_PORTAL

Responses

Response samples

Content type
application/json

Example 1

{
  • "types": [
    ]
}

Method API

Define and modify a method, which is a user-defined algorithmic calculation based on an ordered list of formula elements. The elements are parsed and validated by the formula engine. Each method definition must have a unique name when created. Multiple versions of a method are supported, but each version is only valid for a certain (non-overlapping) period of time.

Get all methods

Retrieve one page containing list of existing methods ordered by name.

Authorizations:
LOGIN_PORTAL
query Parameters
pageSize
integer <int32>
Default: 50

Specifies the maximum number of records for a single request, as desired by the caller. The number of records actually returned may be different. min: 25 max: 100 default value: 50 example values:

  • 25
  • 50
  • 100
token
string

The token corresponding to the page of results. Supplying this parameter will start the search in the specified area.

include
Array of strings

It is an optional query parameter and when specified, result set includes method details, for example either effective start date or effective end date. valid values: start end example values:

  • include=start
  • include=end
  • include=start&include=end
header Parameters
pros-evaluation-cache
string

pros-evaluation-cache is an optional HTTP header used to define the caching strategy used by the evaluation service for a request. This header specifies whether the evaluation service should use internal caches to help return a response to a client. There is a trade off between returning the most recent data and performance. Disabling a cache will potentially result in more recent data being returned but at a cost to the response time for the request.

When disable.metadata is specified, caches related to method metadata will be disabled. While disabled the caches related to metadata will not be updated with values retrieved during a request.

valid values:

  • enable
  • disable.metadata

Responses

Response samples

Content type
application/json
Example

Example 1

{
  • "meta": {
    },
  • "data": [
    ]
}

Create a new method

Authorizations:
LOGIN_PORTAL
Request Body schema: application/json
id
string <uuid>

The system-defined internal object ID (in UUID canonical string format). [example: 0a4fa51c-c040-46a0-a3d0-63ca0e9ae699]

name
string

The name used to identify the method to external systems. Between 1 and 64 characters.

effectiveStart
string

The date and time when this method first becomes available for evaluation. Before this time, and unless a different version of the method is available with an effective time range covering the time specified in that request, no evaluation results will be computed. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

When omitted, the value defaults to the local date and time on the server receiving the request at the time the request is processed.

effectiveEnd
string

The last date and time at which this method is available for evaluation. After this time, and unless a different version of the method is available with an effective time range covering the time specified in that request, no evaluation results will be computed. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

When omitted, the method remains effective indefinitely until it is superseded by a new version that becomes effective at a later time.

Array of objects (ElementDTO)

List of one or more elements and their formulas in the order that will be evaluated by this method. An element whose value is used by other elements must be listed before all of those elements that depend upon it. It is an error if all elements are defined with internal equal to true.

description
string

The description used to describe the method to external systems. Between 1 and 4000 characters.

Responses

Request samples

Content type
application/json
Example

Normal

{
  • "effectiveStart": "2014-05-01",
  • "name": "Price",
  • "elements": [
    ],
  • "description": "description for ListPrice"
}

Response samples

Content type
application/json

Normal

{
  • "id": "bb01aa5d-e4dd-4f15-86d0-297ec811edc4",
  • "effectiveStart": "2014-05-01",
  • "name": "Price",
  • "elements": [
    ],
  • "description": "description for ListPrice"
}

Get method by ID

Return a single object describing a specific method identified by its system-generated, permanent ID.

Authorizations:
LOGIN_PORTAL
path Parameters
method-id
required
string <uuid>

The ID of the desired method, as used by external systems.

query Parameters
on
string

Specifies the relevant date and time for method retrieval. For example, retrieving a cost-plus method at some time specified in the future or the past. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

When omitted, the value defaults to the local date and time on the server receiving the request at the time the request is processed.

example values:

  • 2014-05-07
  • 2014-05-07T13:45:26
header Parameters
pros-evaluation-cache
string

pros-evaluation-cache is an optional HTTP header used to define the caching strategy used by the evaluation service for a request. This header specifies whether the evaluation service should use internal caches to help return a response to a client. There is a trade off between returning the most recent data and performance. Disabling a cache will potentially result in more recent data being returned but at a cost to the response time for the request.

When disable.metadata is specified, caches related to method metadata will be disabled. While disabled the caches related to metadata will not be updated with values retrieved during a request.

valid values:

  • enable
  • disable.metadata

Responses

Response samples

Content type
application/json

GET /api/method/id/16cfabee-f1bd-4f28-9ddc-18df5da72de3?on=2014-12-24T12%3A34%3A56

{
  • "id": "16cfabee-f1bd-4f28-9ddc-18df5da72de3",
  • "name": "CostPlus",
  • "effectiveStart": "2010-01-01T00:00:00",
  • "elements": [
    ],
  • "description": "description for CostPlus"
}

Update method by ID

Update a single object identified by its system-generated, permanent ID. This operation ignores any values for the id and name fields that may be present in the object sent with the request.

Authorizations:
LOGIN_PORTAL
path Parameters
method-id
required
string <uuid>

The ID of the desired method, as used by external systems.

Request Body schema: application/json
id
string <uuid>

The system-defined internal object ID (in UUID canonical string format). [example: 0a4fa51c-c040-46a0-a3d0-63ca0e9ae699]

name
string

The name used to identify the method to external systems. Between 1 and 64 characters.

effectiveStart
string

The date and time when this method first becomes available for evaluation. Before this time, and unless a different version of the method is available with an effective time range covering the time specified in that request, no evaluation results will be computed. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

When omitted, the value defaults to the local date and time on the server receiving the request at the time the request is processed.

effectiveEnd
string

The last date and time at which this method is available for evaluation. After this time, and unless a different version of the method is available with an effective time range covering the time specified in that request, no evaluation results will be computed. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

When omitted, the method remains effective indefinitely until it is superseded by a new version that becomes effective at a later time.

Array of objects (ElementDTO)

List of one or more elements and their formulas in the order that will be evaluated by this method. An element whose value is used by other elements must be listed before all of those elements that depend upon it. It is an error if all elements are defined with internal equal to true.

description
string

The description used to describe the method to external systems. Between 1 and 4000 characters.

Responses

Request samples

Content type
application/json
Example

POST /api/method/id/67bba953-57a5-4e75-87b2-2b9bb9196d35

{
  • "elements": [
    ]
}

Response samples

Content type
application/json

Example 1

{
  • "id": "3502f4b2-b325-4738-b4ae-5b93c92512ce",
  • "name": "CostPlus",
  • "effectiveStart": "2010-01-01T00:00:00",
  • "elements": [
    ]
}

Delete method by ID

Logically delete a specific method identified by its system-generated, permanent ID.

Authorizations:
LOGIN_PORTAL
path Parameters
method-id
required
string <uuid>

Responses

Response samples

Content type
application/json

Example 2 - Concurrent Modification

{
  • "errorID": "EVAL-011110",
  • "errorMessage": "Could not operate on the method because it has been modified by another operation.",
  • "resourceType": "method",
  • "resourceID": "<id/name>"
}

Get method by name

Return the specific version of a method identified by its unique name and the specified time.

Authorizations:
LOGIN_PORTAL
path Parameters
method-name
required
string

The name of the desired method, as used by external systems.

query Parameters
on
string

Specifies the relevant date and time for method retrieval. For example, retrieving a cost-plus method at some time specified in the future or the past. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

When omitted, the value defaults to the local date and time on the server receiving the request at the time the request is processed.

example values:

  • 2014-05-07
  • 2014-05-07T13:45:26
header Parameters
pros-evaluation-cache
string

pros-evaluation-cache is an optional HTTP header used to define the caching strategy used by the evaluation service for a request. This header specifies whether the evaluation service should use internal caches to help return a response to a client. There is a trade off between returning the most recent data and performance. Disabling a cache will potentially result in more recent data being returned but at a cost to the response time for the request.

When disable.metadata is specified, caches related to method metadata will be disabled. While disabled the caches related to metadata will not be updated with values retrieved during a request.

valid values:

  • enable
  • disable.metadata

Responses

Response samples

Content type
application/json

GET /api/method/name/CostPlus?on=2014-12-24T12%3A34%3A56

{
  • "id": "2e6b32a1-3af3-4ed4-b802-0feeb06c4dcf",
  • "name": "CostPlus",
  • "effectiveStart": "2010-01-01T00:00:00",
  • "elements": [
    ],
  • "description": "description for CostPlus"
}

Update method by name

Update a single method identified by its externally-provided name. This operation ignores any values for the id and name fields that may be present in the object sent with the request.

Authorizations:
LOGIN_PORTAL
path Parameters
method-name
required
string
Request Body schema: application/json
id
string <uuid>

The system-defined internal object ID (in UUID canonical string format). [example: 0a4fa51c-c040-46a0-a3d0-63ca0e9ae699]

name
string

The name used to identify the method to external systems. Between 1 and 64 characters.

effectiveStart
string

The date and time when this method first becomes available for evaluation. Before this time, and unless a different version of the method is available with an effective time range covering the time specified in that request, no evaluation results will be computed. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

When omitted, the value defaults to the local date and time on the server receiving the request at the time the request is processed.

effectiveEnd
string

The last date and time at which this method is available for evaluation. After this time, and unless a different version of the method is available with an effective time range covering the time specified in that request, no evaluation results will be computed. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

When omitted, the method remains effective indefinitely until it is superseded by a new version that becomes effective at a later time.

Array of objects (ElementDTO)

List of one or more elements and their formulas in the order that will be evaluated by this method. An element whose value is used by other elements must be listed before all of those elements that depend upon it. It is an error if all elements are defined with internal equal to true.

description
string

The description used to describe the method to external systems. Between 1 and 4000 characters.

Responses

Request samples

Content type
application/json
Example

POST /api/method/name/CostPlus

{
  • "elements": [
    ]
}

Response samples

Content type
application/json

Example 1

{
  • "id": "2e6b32a1-3af3-4ed4-b802-0feeb06c4dcf",
  • "name": "CostPlus",
  • "effectiveStart": "2010-01-01T00:00:00",
  • "elements": [
    ]
}

Delete method by name

Logically delete a specific method identified by its externally-provided name.

Authorizations:
LOGIN_PORTAL
path Parameters
method-name
required
string

Responses

Response samples

Content type
application/json

Example 2 - Concurrent Modification

{
  • "errorID": "EVAL-011110",
  • "errorMessage": "Could not operate on the method because it has been modified by another operation.",
  • "resourceType": "method",
  • "resourceID": "<id/name>"
}

Get method by version (by method ID)

Returns a specific instance of the desired method identified by its version.

Authorizations:
LOGIN_PORTAL
path Parameters
method-id
required
string <uuid>
version-id
required
string
header Parameters
pros-evaluation-cache
string

pros-evaluation-cache is an optional HTTP header used to define the caching strategy used by the evaluation service for a request. This header specifies whether the evaluation service should use internal caches to help return a response to a client. There is a trade off between returning the most recent data and performance. Disabling a cache will potentially result in more recent data being returned but at a cost to the response time for the request.

When disable.metadata is specified, caches related to method metadata will be disabled. While disabled the caches related to metadata will not be updated with values retrieved during a request.

valid values:

  • enable
  • disable.metadata

Responses

Response samples

Content type
application/json
Example

GET /api/method/id/2e6b32a1-3af3-4ed4-b802-0feeb06c4dcf/version/1507922489

{
  • "id": "2e6b32a1-3af3-4ed4-b802-0feeb06c4dcf",
  • "name": "CostPlus",
  • "effectiveStart": "2010-01-01T00:00:00",
  • "version": "1507922489",
  • "elements": [
    ]
}

Get method by version (by method name)

Authorizations:
LOGIN_PORTAL
path Parameters
method-name
required
string
version-id
required
string
header Parameters
pros-evaluation-cache
string

pros-evaluation-cache is an optional HTTP header used to define the caching strategy used by the evaluation service for a request. This header specifies whether the evaluation service should use internal caches to help return a response to a client. There is a trade off between returning the most recent data and performance. Disabling a cache will potentially result in more recent data being returned but at a cost to the response time for the request.

When disable.metadata is specified, caches related to method metadata will be disabled. While disabled the caches related to metadata will not be updated with values retrieved during a request.

valid values:

  • enable
  • disable.metadata

Responses

Response samples

Content type
application/json
Example

GET /api/method/name/CostPlus/version/1507922489

{
  • "id": "2e6b32a1-3af3-4ed4-b802-0feeb06c4dcf",
  • "name": "CostPlus",
  • "effectiveStart": "2010-01-01T00:00:00",
  • "version": "1507922489",
  • "elements": [
    ]
}

Get all method versions (by method ID)

Authorizations:
LOGIN_PORTAL
path Parameters
method-id
required
string <uuid>
query Parameters
since
string
header Parameters
pros-evaluation-cache
string

pros-evaluation-cache is an optional HTTP header used to define the caching strategy used by the evaluation service for a request. This header specifies whether the evaluation service should use internal caches to help return a response to a client. There is a trade off between returning the most recent data and performance. Disabling a cache will potentially result in more recent data being returned but at a cost to the response time for the request.

When disable.metadata is specified, caches related to method metadata will be disabled. While disabled the caches related to metadata will not be updated with values retrieved during a request.

valid values:

  • enable
  • disable.metadata

Responses

Response samples

Content type
application/json

GET /api/method/id/2e6b32a1-3af3-4ed4-b802-0feeb06c4dcf/version

{
  • "id": "2e6b32a1-3af3-4ed4-b802-0feeb06c4dcf",
  • "name": "CostPlus",
  • "history": [
    ]
}

Get all method versions (by method name)

Authorizations:
LOGIN_PORTAL
path Parameters
method-name
required
string
query Parameters
since
string
header Parameters
pros-evaluation-cache
string

pros-evaluation-cache is an optional HTTP header used to define the caching strategy used by the evaluation service for a request. This header specifies whether the evaluation service should use internal caches to help return a response to a client. There is a trade off between returning the most recent data and performance. Disabling a cache will potentially result in more recent data being returned but at a cost to the response time for the request.

When disable.metadata is specified, caches related to method metadata will be disabled. While disabled the caches related to metadata will not be updated with values retrieved during a request.

valid values:

  • enable
  • disable.metadata

Responses

Response samples

Content type
application/json

GET /api/method/name/CostPlus/version

{
  • "id": "2e6b32a1-3af3-4ed4-b802-0feeb06c4dcf",
  • "name": "CostPlus",
  • "history": [
    ]
}

Change method name

Change the name by which a method is accessed and evaluated. The method must first be identified by its system-generated, permanent ID, which will never change as a result of this operation. On success, the change takes effect immediately and applies to all versions of the method for any effective date and time range: present, future, or past. The name length restrictions are the same as Method.name.

Authorizations:
LOGIN_PORTAL
path Parameters
method-id
required
string <uuid>
Request Body schema: text/plain
Schema not provided

Responses

Request samples

Content type
text/plain

Example 1 - Already Exists

Target Return Pricing

Response samples

Content type
application/json

Example 1 - Already Exists

{
  • "errorID": "EVAL-011107",
  • "errorMessage": "Could not save a method because the name Target Return Pricing already exists.",
  • "resourceType": "method"
}

Miscellaneous

All endpoints that do not fit in a different category.

Ping endpoint

Ensures Evaluation Service is online.

Responses

Response samples

Content type
text/plain

Example

pong

Request API

Evaluate a pre-configured method definition containing a list of ordered formula elements. If the method requested is currently valid, then the values of its elements for a specified scope are calculated by the formula engine and the results are returned to the requester. The exact set of results returned depends on the method configuration and the specific request made.

All endpoints in the Request API are subject to rate throttling as detailed in the additional information.

There are also unique headers associated with these requests:

Header Name Purpose Unit
RateLimit-Limit The tenant's configured item limit per minute. Returned on every request. item/minute
RateLimit-Remaining Number of remaining items in the time window. Returned on every request. item
RateLimit-Reset Recommended number of seconds to wait before sending a retry request. Returned only when a request receives a 429 response due to throttling. seconds

Evaluate items for method (batch/debug)

Evaluate a specific method for multiple items in a single request in debug mode. Each item in the request specifies its dimensional key and other optional attributes/overrides of any parameters given at this request level. Returns a detailed response in lexical order with the following response objects:

The response header pros-batch-errors indicates the number of elements with errors in the response body. This header is only returned when the status code is 200 and errors are present in the response, otherwise the header is omitted.

  • Dimension information:

    • metadata: Definition of each dimension that was used by the price method and resolved during evaluation. See dimension service for definition.
    • nodes: Definition of each node in each dimension that was resolved during evaluation. Each node that was used by the price method is grouped by dimension name. See dimension service for definition.
  • Error information:

    • error: Error code returned from the API.
    • errorMessage: Error message returned from the API.
    • errorPhase: The phase of request processing that caused the error.
  • Evaluation Information:

    • effectiveRequestItem: The request item send to the internal service to be evaluated.
    • result: The evaluation results and the evaluation trace for all elements in the request.
  • Guidance information:

    • guidance: Results for every guidance call to the service grouped by guidance context. The guidance context contains name, productId, customerId, attributes, customerAttributes, derivedAttributes.
  • Lookup information:

    • lookups: Resolved lookups during evaluation grouped by lookup name, scope key, and date time. The lookup name is the name of the table in the lookup service. The scope key specifies which dimension nodes are being queried. The date time is the time that was used to request the lookup value. Records start and end date time, key, and columns. Unresolved lookups are also shown as null entries.
  • Conversion information:

    • uom: A list of all of the UOM conversions performed during the batch request, including the origin unit, the product ID, the target unit, and the conversion rate for each.
    • currency: A list of all of the currency conversions performed during the batch request, including the base price, the quote price, and the conversion rate for each.
  • Method Information:

    • method: The actual method retrieved that is being evaluated.
    • methodName: The method name as seen by the service.
    • methodID: The method id for this request.
    • actualMethodOn: The method effective date seen by the service.
  • Request information: Trace the request flow through the system. First, the original request enters the system and the preprocessor generates an effective request. Next, the shared item is processed and validated. Then the shared item and request item are merged into the effective item, which is then validated. Finally, the effective item is passed into the actual evaluator.

    • request: The original request as received by the service.
    • processedRequest: The request after preprocessor execution.
    • requestID: Request id sent with the request if there was one.
  • User information:

    • user: User that invoked the price method.
Authorizations:
LOGIN_PORTAL
path Parameters
method-reference-type
required
string
Enum: "ID" "NAME"
method-reference
required
string

The name of the method.

query Parameters
methodOn
string

Restricts the selection of the evaluation method to the version that is or was applicable at a specific date and time. This is useful when performing evaluations that are required to resolve to a deterministic version of the evaluation logic, regardless of the date and time specified by the on parameter. For example, use this parameter when future prices in future orders must be computed by the method that was in place at the time a contract was quoted, in the past. Be aware that the selection of the method version may not always resolve to the same version when methodOn specifies or defaults to a date and time in the future. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

The value must be less than or equal to the value of the on query parameter when both are specified together, and less than or equal to the current local date time when only the methodOn query parameter is specified. When omitted, the value inherits the same effective value as the on parameter.

example values:

  • 2014-05-07
  • 2014-05-07T13:45:26
Request Body schema: application/json
object (BatchItemDTO)

A data structure that describes the parameters supplied for evaluating a price method. These parameters include dimensions, element overrides, element specifications, dates, and the item context.

Array of objects (BatchItemDTO)

List of 1-100 individual items to be evaluated in this batch request. Each item in this list is evaluated independently of the other items in the list. The shared field in the batch request can be used to specify common dimensions, overrides, and elements that are shared between the items in the batch.

Responses

Request samples

Content type
application/json

POST /api/method/name/OptimalPrice/values/debug

{
  • "request": {
    }
}

Response samples

Content type
application/json

Example 1

{
  • "actualMethodOn": "2021-08-02T13:57:01.6384407",
  • "dimensions": {
    },
  • "conversions": {
    },
  • "evaluations": [
    ],
  • "guidance": { },
  • "lookups": {
    },
  • "method": {
    },
  • "methodID": "9eda386d-5c92-4203-b6f7-f8be3314cc95",
  • "methodName": "DebugTest",
  • "processedRequest": {
    },
  • "request": {
    },
  • "requestID": "EVAL-17a98ce9090935a9",
  • "user": {
    }
}

Get guidance supporting info

Evaluates a specific method for one item and uses the result of the pricing method evaluation to call Guidance API Supporting Info endpoint. The result from Guidance Service will be returned to the client.

This endpoint accepts only one item to be evaluated, otherwise it'll throw an error. Additionally, only one request may be made per tenant at one time to this endpoint. Results that go over this will receive a 429 error. The item in the request specifies its dimensional key and other optional attributes/overrides of any parameters given at this request level.

Guidance Service helps customers drive revenue and profitability by providing pricing recommendations that are based on updated market information and customers’ buying behavior/willingness-to-pay. Guidance Service provide instant data-driven price guidance in the cloud, empowering companies to meet aggressive sales growth targets in an increasingly competitive market.

Example Request as of January 3, 2022

POST - /api/guidance/detail

  {
    "customer": {
    "id": "CUST01"
    },
    "requestItems": [
      {
        "attributes": [
          {
          "name": "Product",
          "value": "232343301"
          },
          {
          "name": "DEAL_TYPE",
          "value": "CONTRACT"
          },
          {
          "name": "STORE_TYPE",
          "value": "TIRE"
          }
        ]
      }
    ]
  }

Additional details are available with PROS' Guidance team.

Authorizations:
LOGIN_PORTAL
path Parameters
method-reference-type
required
string
Enum: "ID" "NAME"
method-reference
required
string
query Parameters
on
string

Specifies the relevant date and time for date-related computations in the evaluation. For example, retrieving cost or discount percentages at some time specified in the future. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

When specified together with the methodOn query parameter, the value of on must be greater than or equal to methodOn. When omitted, the value defaults to the local date and time on the server receiving the request at the time the request is processed.

example values:

  • 2014-05-07
  • 2014-05-07T13:45:26
methodOn
string

Restricts the selection of the evaluation method to the version that is or was applicable at a specific date and time. This is useful when performing evaluations that are required to resolve to a deterministic version of the evaluation logic, regardless of the date and time specified by the on parameter. For example, use this parameter when future prices in future orders must be computed by the method that was in place at the time a contract was quoted, in the past. Be aware that the selection of the method version may not always resolve to the same version when methodOn specifies or defaults to a date and time in the future. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

The value must be less than or equal to the value of the on query parameter when both are specified together, and less than or equal to the current local date time when only the methodOn query parameter is specified. When omitted, the value inherits the same effective value as the on parameter.

example values:

  • 2014-05-07
  • 2014-05-07T13:45:26
serviceOn
string

Supplies the date and time of scheduled fulfillment, or service. Intended for use by applications that consider the time-of-service as distinctly separate from the instant at which it was proposed, contracted, or transacted (as represented by the query parameter on). Frequently used by service industries that book reservations (fares, accommodations, rentals) for a specific time, where the value may vary based on how far in advance the transaction occurs. For example, use this as the departure date time of a flight or rental date of a car. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

When present, it must be greater than or equal to the value of the on query parameter. When omitted, the value inherits the same effective value as the on parameter.

example values:

  • 2014-05-07
  • 2014-05-07T13:45:26
Request Body schema: application/json
object (BatchItemDTO)

A data structure that describes the parameters supplied for evaluating a price method. These parameters include dimensions, element overrides, element specifications, dates, and the item context.

Array of objects (BatchItemDTO)

List of 1-100 individual items to be evaluated in this batch request. Each item in this list is evaluated independently of the other items in the list. The shared field in the batch request can be used to specify common dimensions, overrides, and elements that are shared between the items in the batch.

Responses

Request samples

Content type
application/json
Example

POST /api/method/name/OptimalPriceGuidance/values/supporting-info?on=2015-06-12T12%3A34%3A56&serviceOn=2015-06-24T00%3A00%3A00&%24Mileage=200&%24CompetitiveLevel=Low

{
  • "batchItems": [
    ]
}

Response samples

Content type
application/json
Example

Example 1

{
  • "results": [
    ]
}

Evaluate a method

Evaluate a specific method for a given dimensional key and optional date and time.

Authorizations:
LOGIN_PORTAL
path Parameters
values
required
string

Used when requesting that all items in the batch include the value of a specific element, by name, from the specified method. Replace elementName with the exact name of the desired element. This parameter may be repeated, with different element names, to retrieve additional elements. When specified, the default set of elements will be replaced with those specific elements identified by this parameter. To retrieve a numeric element value in its computed currency and/or unit, leave the value of the parameter empty (e.g. ;elementName1=;elementName2=). To request a currency and/or unit conversion (if applicable and configured) specify the currency code first, then a comma(,), followed by the unit code. Request a conversion of only the unit or currency by sending an empty string for the currency or unit codes, respectively.

When conversion fails:

  • If the configured post-conversion behavior has "onError" equal to "warn", the original unmodified element value is returned. Additionally, the corresponding errorId and errorMessage will be present in the element result.

If the configured post-conversion behavior has "onError" equal to "fail", no element value is returned. Only the corresponding errorId and errorMessage will be present in the element result.

example values:

  • ;cost=
  • ;unitPrice=USD
  • ;quantity=,oz
  • ;totalPrice=EUR,kg
  • ;unitPrice=USD;totalPrice=EUR,kg
key
required
string

Specifies the dimensionality of a single item to be evaluated. Repeat this parameter, replacing dimensionName with the actual, exact name of the dimension for each dimension necessary to fully specify the item. example values:

  • ;PRODUCT=Diet%20Cola
  • ;LOCATION=US-TX-Houston
  • ;PRODUCT=Diet%20Cola;LOCATION=US-TX-Houston
method-reference-type
required
string
Enum: "ID" "NAME"
method-reference
required
string

The name of the method.

query Parameters
$elementName
string

Overrides the value of a specific element, by name. The provided value will be used in place of the normally computed value in any applicable, subsequent calculations for this single requested evaluation. Replace elementName (keeping the $ prefix) with the exact name of the overridden element. This parameter may be repeated, with different element names, to override additional elements. The behavior when specifying multiple overrides for the same element is undefined. The overridden value must match the same type as what is normally computed for that element, or an evaluation error will occur.

Boolean, string, unit code, and currency code values may be provided as-is, with appropriate URI escaping as necessary.

Numeric values must be represented in machine-readable decimal format, using an ASCII full stop or period(.) as the decimal separator and no grouping separators. Numeric values may be specified in a particular currency and/or unit by appending the value with a comma(,) then a currency code, an additional comma(,), and finally the unit code. A unit-only or currency-only value is specified by using an empty string for the currency or unit codes, respectively.

Date and time values must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

example values:

  • $discountPercent=0.10
  • $customerPrice=4.20,USD
  • $qty=3.14,,kg
  • $cost=1.17,EUR,lb
  • $customerName=Shops+A+Lot,+Inc.
  • $specialOrder=true
  • $orderTime=2014-05-07T13:45:26
  • $currency=USD
  • $weightUnit=kg
on
string

Specifies the relevant date and time for date-related computations in the evaluation. For example, retrieving cost or discount percentages at some time specified in the future. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

When specified together with the methodOn query parameter, the value of on must be greater than or equal to methodOn. When omitted, the value defaults to the local date and time on the server receiving the request at the time the request is processed.

example values:

  • 2014-05-07
  • 2014-05-07T13:45:26
methodOn
string

Restricts the selection of the evaluation method to the version that is or was applicable at a specific date and time. This is useful when performing evaluations that are required to resolve to a deterministic version of the evaluation logic, regardless of the date and time specified by the on parameter. For example, use this parameter when future prices in future orders must be computed by the method that was in place at the time a contract was quoted, in the past. Be aware that the selection of the method version may not always resolve to the same version when methodOn specifies or defaults to a date and time in the future. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

The value must be less than or equal to the value of the on query parameter when both are specified together, and less than or equal to the current local date time when only the methodOn query parameter is specified. When omitted, the value inherits the same effective value as the on parameter.

example values:

  • 2014-05-07
  • 2014-05-07T13:45:26
serviceOn
string

Supplies the date and time of scheduled fulfillment, or service. Intended for use by applications that consider the time-of-service as distinctly separate from the instant at which it was proposed, contracted, or transacted (as represented by the query parameter on). Frequently used by service industries that book reservations (fares, accommodations, rentals) for a specific time, where the value may vary based on how far in advance the transaction occurs. For example, use this as the departure date time of a flight or rental date of a car. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

When present, it must be greater than or equal to the value of the on query parameter. When omitted, the value inherits the same effective value as the on parameter.

example values:

  • 2014-05-07
  • 2014-05-07T13:45:26
cur
string

Requests that all numeric element results in the evaluation response with a currency be converted, if applicable or configured. If a conversion is requested by matrix parameters, the conversion requested in this query parameter will be overridden. "cur=" specifies no conversion. When conversion fails:

  • If the configured post-conversion behavior has "onError" equal to "warn", the original unmodified element value is returned. Additionally, the corresponding errorId and errorMessage will be present in the element result.

  • If the configured post-conversion behavior has "onError" equal to "fail", no element value is returned. Only the corresponding errorId and errorMessage will be present in the element result.

min length: 1 example values:

  • USD
  • EUR
unit
string

Requests that all numeric element results in the evaluation response with a unit be converted, if applicable or configured. If a conversion is requested by matrix parameters, the conversion requested in this query parameter will be overridden. "unit=" specifies no conversion. When conversion fails:

  • If the configured post-conversion behavior has "onError" equal to "warn", the original unmodified element value is returned. Additionally, the corresponding errorId and errorMessage will be present in the element result.

  • If the configured post-conversion behavior has "onError" equal to "fail", no element value is returned. Only the corresponding errorId and errorMessage will be present in the element result.

min length: 1 example values:

  • Gal
  • kg
  • EACH
item.cur
string

Used to store a currency code as item-level metadata. This field does not alter the evaluation but makes the the specified currency code available to the evaluation and specific functions may consume them. example values:

  • USD
  • EUR
item.unit
string

Used to store a unit code as item-level metadata. This field does not alter the evaluation but makes the the specified unit code available to the evaluation and specific functions may consume them. example values:

  • Gal
  • kg
  • EACH
header Parameters
pros-enable-trace
integer <int32>
Default: 0

Responses

Response samples

Content type
application/json
Example

GET /api/method/name/CostPlus/values/key;PRODUCT=Cola;LOCATION=US?on=2014-12-24T12%3A34%3A56

{
  • "elements": [
    ]
}

Evaluate items for method (batch)

Each item in the request specifies its dimensional key and other optional attributes/overrides of any parameters given at this request level.

The response header pros-batch-errors indicates the number of elements with errors in the response body. This header is only returned when the status code is 200 and errors are present in the response, otherwise the header is omitted.

Authorizations:
LOGIN_PORTAL
path Parameters
values
required
string

Used when requesting that all items in the batch include the value of a specific element, by name, from the specified method. Replace elementName with the exact name of the desired element. This parameter may be repeated, with different element names, to retrieve additional elements. When specified, the default set of elements will be replaced with those specific elements identified by this parameter. To retrieve a numeric element value in its computed currency and/or unit, leave the value of the parameter empty (e.g. ;elementName1=;elementName2=). To request a currency and/or unit conversion (if applicable and configured) specify the currency code first, then a comma(,), followed by the unit code. Request a conversion of only the unit or currency by sending an empty string for the currency or unit codes, respectively.

When conversion fails:

  • If the configured post-conversion behavior has "onError" equal to "warn", the original unmodified element value is returned. Additionally, the corresponding errorId and errorMessage will be present in the element result.

If the configured post-conversion behavior has "onError" equal to "fail", no element value is returned. Only the corresponding errorId and errorMessage will be present in the element result.

example values:

  • ;cost=
  • ;unitPrice=USD
  • ;quantity=,oz
  • ;totalPrice=EUR,kg
  • ;unitPrice=USD;totalPrice=EUR,kg
method-reference-type
required
string
Enum: "ID" "NAME"
method-reference
required
string

The name of the method.

query Parameters
$elementName
string

Overrides the value of a specific element, by name. The provided value will be used in place of the normally computed value in any applicable, subsequent calculations for this single requested evaluation. Replace elementName (keeping the $ prefix) with the exact name of the overridden element. This parameter may be repeated, with different element names, to override additional elements. The behavior when specifying multiple overrides for the same element is undefined. The overridden value must match the same type as what is normally computed for that element, or an evaluation error will occur.

Boolean, string, unit code, and currency code values may be provided as-is, with appropriate URI escaping as necessary.

Numeric values must be represented in machine-readable decimal format, using an ASCII full stop or period(.) as the decimal separator and no grouping separators. Numeric values may be specified in a particular currency and/or unit by appending the value with a comma(,) then a currency code, an additional comma(,), and finally the unit code. A unit-only or currency-only value is specified by using an empty string for the currency or unit codes, respectively.

Date and time values must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

example values:

  • $discountPercent=0.10
  • $customerPrice=4.20,USD
  • $qty=3.14,,kg
  • $cost=1.17,EUR,lb
  • $customerName=Shops+A+Lot,+Inc.
  • $specialOrder=true
  • $orderTime=2014-05-07T13:45:26
  • $currency=USD
  • $weightUnit=kg
on
string

Specifies the relevant date and time for date-related computations in the evaluation. For example, retrieving cost or discount percentages at some time specified in the future. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

When specified together with the methodOn query parameter, the value of on must be greater than or equal to methodOn. When omitted, the value defaults to the local date and time on the server receiving the request at the time the request is processed.

example values:

  • 2014-05-07
  • 2014-05-07T13:45:26
methodOn
string

Restricts the selection of the evaluation method to the version that is or was applicable at a specific date and time. This is useful when performing evaluations that are required to resolve to a deterministic version of the evaluation logic, regardless of the date and time specified by the on parameter. For example, use this parameter when future prices in future orders must be computed by the method that was in place at the time a contract was quoted, in the past. Be aware that the selection of the method version may not always resolve to the same version when methodOn specifies or defaults to a date and time in the future. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

The value must be less than or equal to the value of the on query parameter when both are specified together, and less than or equal to the current local date time when only the methodOn query parameter is specified. When omitted, the value inherits the same effective value as the on parameter.

example values:

  • 2014-05-07
  • 2014-05-07T13:45:26
serviceOn
string

Supplies the date and time of scheduled fulfillment, or service. Intended for use by applications that consider the time-of-service as distinctly separate from the instant at which it was proposed, contracted, or transacted (as represented by the query parameter on). Frequently used by service industries that book reservations (fares, accommodations, rentals) for a specific time, where the value may vary based on how far in advance the transaction occurs. For example, use this as the departure date time of a flight or rental date of a car. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

When present, it must be greater than or equal to the value of the on query parameter. When omitted, the value inherits the same effective value as the on parameter.

example values:

  • 2014-05-07
  • 2014-05-07T13:45:26
cur
string

Requests that all numeric element results in the evaluation response with a currency be converted, if applicable or configured. If a conversion is requested by matrix parameters, the conversion requested in this query parameter will be overridden. "cur=" specifies no conversion. When conversion fails:

  • If the configured post-conversion behavior has "onError" equal to "warn", the original unmodified element value is returned. Additionally, the corresponding errorId and errorMessage will be present in the element result.

  • If the configured post-conversion behavior has "onError" equal to "fail", no element value is returned. Only the corresponding errorId and errorMessage will be present in the element result.

min length: 1 example values:

  • USD
  • EUR
unit
string

Requests that all numeric element results in the evaluation response with a unit be converted, if applicable or configured. If a conversion is requested by matrix parameters, the conversion requested in this query parameter will be overridden. "unit=" specifies no conversion. When conversion fails:

  • If the configured post-conversion behavior has "onError" equal to "warn", the original unmodified element value is returned. Additionally, the corresponding errorId and errorMessage will be present in the element result.

  • If the configured post-conversion behavior has "onError" equal to "fail", no element value is returned. Only the corresponding errorId and errorMessage will be present in the element result.

min length: 1 example values:

  • Gal
  • kg
  • EACH
header Parameters
pros-enable-trace
integer <int32>
Default: 0
request-type
string
Default: SIMULATION
Enum: "SIMULATION" "ANALYTICS" "NORMAL"

This header is used to indicate requests that require special management by the evaluation service.

When a request is going to be analyzed later, set the header to ANALYTICS to allow capturing extra information. When a request is for simulation purpose, set this header to SIMULATION to distinguish it from a normal request.

valid values:

  • SIMULATION
  • ANALYTICS
Request Body schema: application/json
object (BatchItemDTO)

A data structure that describes the parameters supplied for evaluating a price method. These parameters include dimensions, element overrides, element specifications, dates, and the item context.

Array of objects (BatchItemDTO)

List of 1-100 individual items to be evaluated in this batch request. Each item in this list is evaluated independently of the other items in the list. The shared field in the batch request can be used to specify common dimensions, overrides, and elements that are shared between the items in the batch.

Responses

Request samples

Content type
application/json
Example

POST /api/method/name/OptimalPrice/values/batch?on=2015-06-12T12%3A34%3A56&serviceOn=2015-06-24T00%3A00%3A00&%24Mileage=200&%24CompetitiveLevel=Low

{
  • "batchItems": [
    ]
}

Response samples

Content type
application/json
Example

Example 1

{
  • "itemResults": [
    ]
}

Scale Grid API

Provides support for retrieval, projection and calculation of scale grids.

Get scale grid (no overrides)

Get scale grid metadata retrieval for a particular component type, without overrides.

Authorizations:
LOGIN_PORTAL
path Parameters
component
required
string

Responses

Response samples

Content type
application/json

GET /api/scale/name/ScaledType/default

{
  • "type": "QUANTITY",
  • "offsetType": "PERCENT",
  • "calcType": "CUMULATIVE"
}

Get scale grid and projection for component (single)

Scale grid retrieval and projection for a particular component type. The scale and the base price can be overridden separately if required.

Authorizations:
LOGIN_PORTAL
path Parameters
component
required
string
Request Body schema: application/json
Array of objects (DimensionNodeReferenceDTO)

The list of dimension nodes to use to look up the price record with a scale.

currency
string

Currency code associated with the value, if applicable. [examples: USD, EUR]

unit
string

Unit code associated with the value, if applicable. [examples: LB, kg]

on
string <date-time>

The optional date/time to use to search for the scale structure information. This defaults to the time of the request if not specified.

baseValue
number

An optional override of the base value to use when projecting the scale. If not provided, the base value in the record will be used for projections, if it exists.

object (ScaleStructureDTO)

An optional override of the scale used to compute projections. If not provided, the scale in the record will be used, if it exists.

Responses

Request samples

Content type
application/json
Example

POST /api/scale/name/ScaledType

{
  • "key": [
    ],
  • "currency": "USD",
  • "on": "2020-04-01T00:00:00"
}

Response samples

Content type
application/json

Example 1

{
  • "type": "QUANTITY",
  • "offsetType": "PERCENT",
  • "calcType": "CUMULATIVE",
  • "currency": "USD",
  • "unit": "kg",
  • "baseValue": 25,
  • "scale": [
    ]
}

Get scale grid and projection for component (batch)

Batch scale grid retrieval and projection for a particular component type. The scale and the base price can be overridden separately for each item in the batch if required. The response header pros-batch-errors indicates the number of elements with errors in the response body. This header is only returned when the status code is 200 and errors are present in the response, otherwise the header is omitted.

Authorizations:
LOGIN_PORTAL
path Parameters
component
required
string
Request Body schema: application/json
Array of objects (ScaleRequestDTO)

Responses

Request samples

Content type
application/json

POST /api/scale/name/ScaledType/batch

{
  • "scales": [
    ]
}

Response samples

Content type
application/json

Example 1

{
  • "scales": [
    ]
}

Evaluation DTOs

Batch Item

A data structure that describes the parameters supplied for evaluating a price method. These parameters include dimensions, element overrides, element specifications, dates, and the item context.

Array of objects (ItemKeyDTO)

Identifies the item by its dimensionality. The set of item keys must not include more than one entry that references any single dimension.

on
string

Overrides the evaluation date for this specific item in the batch. If not specified, the item's evaluation date is derived from the on query parameter of the batch request (when specified) or its default. Date-time values must be a valid ISO 8601 string consisting of a fully specified date and time component with second precision. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

serviceOn
string

Overrides the service date for this specific item in the batch. If not specified, the item's service date is derived from the serviceOn query parameter of the POST method/name/{name}/values/batch request (when specified) or its default. Date-time values must be a valid ISO 8601 string consisting of a fully specified date and time component with second precision. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

Array of objects (ElementSpecDTO)

Element specifications included in this list will be included, if not already present, in the result for this item in addition to the default set of elements or those specified by the elementName matrix parameters of the batch request. Currency and/or unit conversions requested at this level override, for this item only, the element's normal currency/unit and any previous conversion specification provided in the request. When conversion fails:

  • If the configured post-conversion behavior has "onError" equal to "warn", the original unmodified element value is returned. Additionally, the corresponding errorId and errorMessage will be present in the element result.

  • If the configured post-conversion behavior has "onError" equal to "fail", no element value is returned. Only the corresponding errorId and errorMessage will be present in the element result.

The ElementSpec.value field is not applicable in this context and should not be used.

Array of objects (ElementSpecDTO)

Element specifications included in this list will override and replace, for this item only, the normally computed value for those elements. These overrides supercede any override values specified by a corresponding $elementName query parameter in the batch request, if any.

Array of objects (ScaleOverrideDTO)

Scale specifications included in this list will override and replace, for this item only, the normally computed value for those scales.

object (ItemContextDTO)

A container which holds the item-level metadata for a batch item. Fields within the item context do not alter the evaluation but are made available to the evaluation and specific functions may consume them.

{
  • "key": [
    ],
  • "on": "string",
  • "serviceOn": "string",
  • "elements": [
    ],
  • "overrides": [
    ],
  • "scales": [
    ],
  • "itemContext": {
    }
}

Batch Request

object (BatchItemDTO)

A data structure that describes the parameters supplied for evaluating a price method. These parameters include dimensions, element overrides, element specifications, dates, and the item context.

Array of objects (BatchItemDTO)

List of 1-100 individual items to be evaluated in this batch request. Each item in this list is evaluated independently of the other items in the list. The shared field in the batch request can be used to specify common dimensions, overrides, and elements that are shared between the items in the batch.

{
  • "shared": {
    },
  • "batchItems": [
    ]
}

Batch Result

Array of objects (RequestResultDTO)
{
  • "itemResults": [
    ]
}

Batch Scale Request

Array of objects (ScaleRequestDTO)
{
  • "scales": [
    ]
}

Batch Scale Response

Array of objects (ScaleStructureResponseDTO)
{
  • "scales": [
    ]
}

Element Spec

Element specifications included in this list will override and replace, for this item only, the normally computed value for those elements. These overrides supercede any override values specified by a corresponding $elementName query parameter in the batch request, if any.

name
string

The name used to identify this element within its method. The name must be unique within the method. Leading and trailing white spaces are trimmed automatically.

value
string

The element value. Ignored if this is not an override

currency
string

If an override value is defined, this field specifies the currency code associated with that value; leave blank or undefined to indicate no currency. Otherwise, this field requests that the named element's computed value be converted in the response to the currency code specified by this field. In this second case, a blank or undefined value indicates no conversion will be performed and the computed currency, if any, will be returned as is.

unit
string

If an override value is defined, this field specifies the unit code associated with that value; leave blank or undefined to indicate no unit. Otherwise, this field requests that the named element's computed value be converted in the response to the unit code specified by this field. In this second case, a blank or undefined value indicates no conversion will be performed and the computed unit, if any, will be returned as is.

{
  • "name": "string",
  • "value": "string",
  • "currency": "string",
  • "unit": "string"
}

Item Context

A container which holds the item-level metadata for a batch item. Fields within the item context do not alter the evaluation but are made available to the evaluation and specific functions may consume them.

currency
string
unit
string
{
  • "currency": "string",
  • "unit": "string"
}

Item Key

Identifies the item by its dimensionality. The set of item keys must not include more than one entry that references any single dimension.

dimName
string
nodeName
string
{
  • "dimName": "string",
  • "nodeName": "string"
}

Request Element Result

Lists the individual result values for each requested element of a single item.

name
string

Name of the element.

type
string

Data value type of the element. Valid values are BOOLEAN, CURRENCY, DATETIME, DECIMAL, STRING, UNIT.

value
string

Primary value of the element. The format of the value varies by type. Decimal values must be represented in machine-readable decimal format, using an ASCII full stop or period(.) as the decimal separator and no grouping separators. Numeric values with a currency and/or unit are specified using the additional currency and/or unit fields, respectively.

Date-time values must be a valid ISO 8601 string consisting of a fully specified date and time component with second precision. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

example values:

  • Hello, world!
  • true
  • 2014-11-11T12:15:14
  • EUR
  • KG
  • 1234.5678
currency
string

Currency code associated with the value, if applicable. [examples: USD, EUR]

unit
string

Unit code associated with the value, if applicable. [examples: LB, kg]

errorID
string

System defined error ID that represents a specific type of error. When present, indicates that the value for this element could not be computed for the reason identified by this field. In this case, the value field will not be present. [example: FORMULA-001002]

errorMessage
string

When present, indicates that the value for this element could not be computed for the reason given by this field. In this case, the value field will not be present. [example: divide by zero]

object (ProjectedScaleStructureDTO)
{
  • "name": "string",
  • "type": "string",
  • "value": "string",
  • "currency": "string",
  • "unit": "string",
  • "errorID": "string",
  • "errorMessage": "string",
  • "scaleResult": {
    }
}

Request Result

Array of objects (RequestElementResultDTO)

Lists the individual result values for each requested element of a single item.

error
string

When present, provides the reason why evaluation failed for the entire item.

{
  • "elements": [
    ],
  • "error": "string"
}

Method DTOs

Element

Class containing element information.

name
string

The name used to identify this element within its method. The name must be unique within the method. Leading and trailing white spaces are trimmed automatically.

description
string

The description for this element within its method. Leading and trailing whitespaces are trimmed automatically. Between 1-4096 characters.

type
string

The data type of this element, which must be one of the supported types listed below. The formula, when evaluated, must generate a value of this type or an error will occur. Similarly, override values must be compatible with this data type, when used in an evaluation request.

valid values:

  • DECIMAL
  • STRING
  • BOOLEAN
  • DATE
  • DATETIME
  • CURRENCY
  • UNIT
formula
string

The formula that computes the value of this element. [examples: "1.3 + 2.4 + 3.4", "LOOKUP("ListPrice", "Surcharge", EFFECTIVE_DATE())"]

internal
boolean

When true, this element will not appear in an evaluation response by default and must be explicitly requested. This is useful when an element represents an intermediate value in the calculation but is not normally needed by external systems.

{
  • "name": "string",
  • "description": "string",
  • "type": "string",
  • "formula": "string",
  • "internal": true
}

Id Method Details

Contains information used to identify a method.

id
string <uuid>

The system-defined internal object ID (in UUID canonical string format). [example: 0a4fa51c-c040-46a0-a3d0-63ca0e9ae699]

name
string

The name used to identify the method to external systems. Between 1 and 64 characters.

effectiveStartDate
string

The date and time when this method first becomes available for evaluation. Before this time, and unless a different version of the method is available with an effective time range covering the time specified in that request, no evaluation results will be computed. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

When omitted, the value defaults to the local date and time on the server receiving the request at the time the request is processed.

effectiveEndDate
string

The last date and time at which this method is available for evaluation. After this time, and unless a different version of the method is available with an effective time range covering the time specified in that request, no evaluation results will be computed. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

When omitted, the method remains effective indefinitely until it is superseded by a new version that becomes effective at a later time.

{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "effectiveStartDate": "string",
  • "effectiveEndDate": "string"
}

Method

Class representing method information.

id
string <uuid>

The system-defined internal object ID (in UUID canonical string format). [example: 0a4fa51c-c040-46a0-a3d0-63ca0e9ae699]

name
string

The name used to identify the method to external systems. Between 1 and 64 characters.

effectiveStart
string

The date and time when this method first becomes available for evaluation. Before this time, and unless a different version of the method is available with an effective time range covering the time specified in that request, no evaluation results will be computed. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

When omitted, the value defaults to the local date and time on the server receiving the request at the time the request is processed.

effectiveEnd
string

The last date and time at which this method is available for evaluation. After this time, and unless a different version of the method is available with an effective time range covering the time specified in that request, no evaluation results will be computed. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

When omitted, the method remains effective indefinitely until it is superseded by a new version that becomes effective at a later time.

Array of objects (ElementDTO)

List of one or more elements and their formulas in the order that will be evaluated by this method. An element whose value is used by other elements must be listed before all of those elements that depend upon it. It is an error if all elements are defined with internal equal to true.

description
string

The description used to describe the method to external systems. Between 1 and 4000 characters.

{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "effectiveStart": "string",
  • "effectiveEnd": "string",
  • "elements": [
    ],
  • "description": "string"
}

Method History

id
string <uuid>

The system-defined internal object ID (in UUID canonical string format). [example: 0a4fa51c-c040-46a0-a3d0-63ca0e9ae699]

name
string

The name used to identify the method to external systems. Between 1 and 64 characters.

Array of objects (MethodVersionDTO)

List of one or more versions of the method along with the version's effective start and end date.

{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "history": [
    ]
}

Method List Page

Represents a single 'page' containing a list of method's id and name pair.

object (PageMetadataDTO)
required
Array of objects (IdMethodDetailsDTO)
{
  • "meta": {
    },
  • "data": [
    ]
}

Method Version

List of one or more versions of the method along with the version's effective start and end date.

version
string

The system-defined identifier for an instance of a particular method.

effectiveStart
string

The date and time when this method first becomes available for evaluation. Before this time, and unless a different version of the method is available with an effective time range covering the time specified in that request, no evaluation results will be computed. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

When omitted, the value defaults to the local date and time on the server receiving the request at the time the request is processed.

effectiveEnd
string

The last date and time at which this method is available for evaluation. After this time, and unless a different version of the method is available with an effective time range covering the time specified in that request, no evaluation results will be computed. The value must be a valid ISO 8601 string consisting of a fully specified date and an optional time component. If the time component is given, it must include values for hours, minutes, and seconds. A missing time component will be interpreted as midnight (00:00:00) on the given date. Time zones, sub-second precision, and durations in the ISO standard fields are not supported.

When omitted, the method remains effective indefinitely until it is superseded by a new version that becomes effective at a later time.

{
  • "version": "string",
  • "effectiveStart": "string",
  • "effectiveEnd": "string"
}

Page Metadata

object (PageNavigationMetadataDTO)

Represents meta data for navigating to next or previous page.

{
  • "next": {
    }
}

Scale DTOs

Projected Scale Break

The scale breaks contained in this scale structure as a list of ProjectedScaleBreak structures. Contains 0-100 elements.

offset
number
threshold
number
projected
number
{
  • "offset": 0,
  • "threshold": 0,
  • "projected": 0
}

Projected Scale Structure

type
string
Enum: "QUANTITY" "VOLUME" "REVENUE" "UNKNOWN"

The type of scale threshold contained in the scale breaks in this structure. There are three valid scale threshold types available, QUANTITY (default), VOLUME, and REVENUE. The QUANTITY scale threshold type specifies that the threshold value in the associated scale breaks is a scalar value that will be compared against the supplied threshold value to determine the offsets to apply to the base value in order to obtain the scaled value. The threshold value to be compared should also be a scalar value. The VOLUME scale threshold type specifies that the threshold value in the associated scale breaks is a value with units that will be compared against the supplied threshold value to determine the offsets to apply to the base value in order to obtain the scaled value. The REVENUE scale threshold type specifies that the threshold value in the associated scale breaks is a value with a currency that will be compared against the supplied threshold value to determine the offsets to apply to the base value in order to obtain the scaled value.

valid values:

  • QUANTITY
  • VOLUME
  • REVENUE default value: QUANTITY
offsetType
string
Enum: "NUMERIC" "PERCENT" "UNKNOWN"

The type of scale offset contained in the scale breaks in this structure. There are two valid scale offset types available, NUMERIC (default) and PERCENT. The NUMERIC offset type specifies that the offset in the associated scale breaks is a numeric value that will be added directly to the base value in order to obtain the scaled value. The PERCENT offset type specifies that the offset in the associated scale breaks is a numeric percentage with scale base 100, that will be multiplied by the base value in order to obtain the scaled value. The offset will be treated as a scalar value.

valid values:

  • NUMERIC
  • PERCENT default value: NUMERIC
calcType
string
Enum: "CUMULATIVE" "GRADUATED" "UNKNOWN"

The type of calculation used to compute scaled values with this structure. There are two valid calculation types available, CUMULATIVE (default) and GRADUATED. The CUMULATIVE calculation type specifies that the scale break that has a threshold value less than or equal to the specified threshold value is the only one used in the calculation of the scaled value. The GRADUATED calculation type specifies that all scale breaks that have a threshold value less than or equal to the specified threshold value are used to compute the scaled value.

valid values:

  • CUMULATIVE
  • GRADUATED default value: CUMULATIVE
currency
string

The currency used for any values in this structure, depending on the metadata of the scale and the presence of the base value.

unit
string

The units used for any values in this structure, depending on the metadata of the scale and the presence of the threshold value.

Array of objects (ProjectedScaleBreakDTO)

The scale breaks contained in this scale structure as a list of ProjectedScaleBreak structures. Contains 0-100 elements.

baseValue
number

The base value used to calculate any projections in the ProjectedScaleBreak instances in this scale. The currency of the baseValue is stored in the ProjectedScaleStructure.currency field of this structure.

threshold
number

The threshold used to compute the scaled price with this structure. This field is currently only populated when this structure is returned from the result of an evaluation.

{
  • "type": "QUANTITY",
  • "offsetType": "NUMERIC",
  • "calcType": "CUMULATIVE",
  • "currency": "string",
  • "unit": "string",
  • "scale": [
    ],
  • "baseValue": 0,
  • "threshold": 0
}

Scale Metadata

type
string
Enum: "QUANTITY" "VOLUME" "REVENUE" "UNKNOWN"
offsetType
string
Enum: "NUMERIC" "PERCENT" "UNKNOWN"
calcType
string
Enum: "CUMULATIVE" "GRADUATED" "UNKNOWN"
{
  • "type": "QUANTITY",
  • "offsetType": "NUMERIC",
  • "calcType": "CUMULATIVE"
}

Scale Override

Scale specifications included in this list will override and replace, for this item only, the normally computed value for those scales.

elementName
string
baseValue
number
currency
string
object (ScaleStructureDTO)

An optional override of the scale used to compute projections. If not provided, the scale in the record will be used, if it exists.

{
  • "elementName": "string",
  • "baseValue": 0,
  • "currency": "string",
  • "structure": {
    }
}

Scale Request

Array of objects (DimensionNodeReferenceDTO)

The list of dimension nodes to use to look up the price record with a scale.

currency
string

Currency code associated with the value, if applicable. [examples: USD, EUR]

unit
string

Unit code associated with the value, if applicable. [examples: LB, kg]

on
string <date-time>

The optional date/time to use to search for the scale structure information. This defaults to the time of the request if not specified.

baseValue
number

An optional override of the base value to use when projecting the scale. If not provided, the base value in the record will be used for projections, if it exists.

object (ScaleStructureDTO)

An optional override of the scale used to compute projections. If not provided, the scale in the record will be used, if it exists.

{
  • "key": [
    ],
  • "currency": "string",
  • "unit": "string",
  • "on": "2019-08-24T14:15:22Z",
  • "baseValue": 0,
  • "scale": {
    }
}

Scale Structure

An optional override of the scale used to compute projections. If not provided, the scale in the record will be used, if it exists.

type
string
Enum: "QUANTITY" "VOLUME" "REVENUE" "UNKNOWN"
offsetType
string
Enum: "NUMERIC" "PERCENT" "UNKNOWN"
calcType
string
Enum: "CUMULATIVE" "GRADUATED" "UNKNOWN"
units
string
currency
string
offsetCurrency
string
Array of objects (ScaleBreakDTO)
{
  • "type": "QUANTITY",
  • "offsetType": "NUMERIC",
  • "calcType": "CUMULATIVE",
  • "units": "string",
  • "currency": "string",
  • "offsetCurrency": "string",
  • "scale": [
    ]
}

Scale Structure Response

object (ProjectedScaleStructureDTO)
object (ProsErrorData)

Class to hold the error data to be sent back to the caller as an error response.

{
  • "scale": {
    },
  • "error": {
    }
}

Configuration DTOs

Configuration Names

names
Array of strings unique
{
  • "names": [
    ]
}

Credential

Class containing credential information.

name
string

The name of the credential. Required unless implied by context (e.g., updating a credential where the name is present in the URI). Between 1-128 characters.

value
string

The value of the credential, i.e., the secret. This value will be obfuscated in credential instances that are returned from calls to the service.

updatedBy
string

Recorded user who last updated the credential value stored in the system.

updatedAt
string

The time when this credential was last updated in the system, represented as a string in ISO-8601 format.

{
  • "name": "string",
  • "value": "string",
  • "updatedBy": "string",
  • "updatedAt": "string"
}

Evaluation Iteration Limits

Represents evaluation iteration limits stored for a given tenant.

requestLimit
integer <int64>

The value of the request iteration limit configured for a given tenant when evaluating a price method.

functionLimit
integer <int64>

The value of the function iteration limit configured for a given tenant when evaluating a price method.

{
  • "requestLimit": 0,
  • "functionLimit": 0
}

Post Conversion Config

Class containing information for the post-evaluation conversion configuration.

onError
string

Determines the behavior when an error is encountered during conversion. Valid values are 'warn' and 'fail'.

object (PostConversionEnabledConfigDTO)

Class containing information on which conversions are applied.

{
  • "onError": "string",
  • "enabled": {
    }
}

Post Conversion Enabled Config

Class containing information on which conversions are applied.

curQuery
boolean

Determines whether conversions are applied when queries are made with the cur parameter.

unitQuery
boolean

Determines whether conversions are applied when queries are made with the unit parameter.

matrix
boolean

Determines whether conversions are applied when queries are made with matrix parameters.

bodyItem
boolean

Determines whether conversions are applied when batch queries are made.

{
  • "curQuery": true,
  • "unitQuery": true,
  • "matrix": true,
  • "bodyItem": true
}

Preprocessor

Class containing preprocessor configuration information.

methodName
string

Name of the method to which this preprocessor is associated.

Array of objects (PreprocessorStageDTO)

List of preprocessor stages that are to be applied to requests, in order.

{
  • "methodName": "string",
  • "stages": [
    ]
}

Preprocessor Stage

A single stage in a preprocessor pipeline. Stages can consist of multiple stage types, each of which have different effects and different requirements. Stages of type transform apply a script to transform an input BatchRequest into a modified, but still valid, output BatchRequest. The output BatchRequest is used as input to the next pipeline stage (or as the final output of the pipeline). Stage type external-service is deprecated as of version 0.30 and will be removed in the future. Stages of type external-service apply a script to produce an external-service request body from the input BatchRequest. The resulting external-service request body is then used to automatically make an external-service call, and the result of that call is automatically injected into the named method element as an override. Note that the external-service call is a side-effect of this pipeline stage; the original BatchRequest that is the input to this stage is passed through and returned as the output of this stage, unmodified, to be used as input to the next stage of the pipeline (or as the final output of the pipeline).

type
string

Identifies type of preprocessor, either 'transform' or 'external'.

request
string

A valid JSLT script defining the transformation to be applied at the given stage of the pipeline.

element
string

The method element whose value should be overridden by the result of an external-service call. Valid only for external stage type.

service
string

Reference to the name of an external-service configuration for the external-service call. Valid only for external stage type.

{
  • "type": "string",
  • "request": "string",
  • "element": "string",
  • "service": "string"
}