PROS Performance Quoting - Domains API (1.2.2)

Download OpenAPI specification:Download

The Domains API provides various operations to validate, check and store a domain.

Warnings:

  • Clients consuming this API, or servers implementing this API, must assume that JSON objects are open for extension. Client and Server must not reject new fields that are not part of the Open API contract. This is consistent with the OpenAPI 2.0 specification that is based on the JSON schema specification: Open API object definitions are considered open for extension by default, an additionalProperties directive is not required to make an object definition extensible. OpenAPI specification: https://swagger.io/specification/v2/

  • When using any public API (even polling ones):
    • One may be aware of the different "Governor Limits" of the product and API: See https://connect.pros.com/products/pros-smart-cpq/help-topics/ section "General" link "Governor Limits" for details.
    • As a general rule, to cope with transient slowdowns, we recommend using a socket read timeout of at least:
      • 3 minutes in general
      • 1 minute in the particular case of an Azure Function customization called by the quote
    • One should ensure that his/her code handles "Too many requests" 429 and "Service unavailable" 503 http errors due to "rate limiting" governor limits or transient errors.
      1. One should use the Retry-After response header when received.
      2. When this response header is not received, there must be a minimal waiting time of 0.5 sec before any retry. The recommended approach is to use the following exponential backoff retry logic: 0.5 sec before first retry then 1-2-4-8-etc. sec between subsequent calls.

API deprecation policy

As the Smart CPQ API evolves, APIs are periodically reorganized or upgraded. Wherever possible, APIs are updated so that they are compatible with earlier versions (according to the OpenAPI standard).
When the changes don’t allow a backward compatibility and the old API can't be supported indefinitely, the old API is deprecated and guidance is provided to help replace the deprecated API.
The deprecation period is 12 months. During this time, the deprecated API will be supported. The first major version following the 12 month deprecation period will be the end of life: the deprecated API will be removed and no longer supported.
No additional delay can and will be granted. Please read here ( https://connect.pros.com/products/smart-configure-price-quote/guides/developer-guide/138511) ** for more details, including how to get deprecation notification.

Domains session

Session operations

Initialize a session

Initializes a session and returns a session identifier which is required for any further call to the Quote API.

Authorizations:
Token
header Parameters
X-quotex-environment
string

Deprecated: Environment identifier. This parameter is deprecated and the environment will be automatically retrieved. If used the provided environment value will be checked against the the environment value automatically found. This header should NOT be used to pass AppPortal environment value.

X-quotex-userId
string

The user identifier -> Optional user email. It will replace the authenticated usedId for certain roles if provided.

X-quotex-customer-correlation-context
string

Use this optional header to pass external context information.

Request-Id
string

Use this optional header to correlate many calls to the public API for the same external operation. Must be a UUID without "-" caracters.

X-quotex-system-mode
boolean

Use this optional header to run the API in system mode. ARMs are by-passed during the request processing when this option is enabled. (Note : API_SUPER_USER role is required to enable this option)

Responses

Response samples

Content type
application/json
{
  • "sessionId": "string"
}

Domains Admin

Domains admin operations

upload a domain file

This operation uploads a domain file and stores it to be activated later

Authorizations:
Token
path Parameters
domainName
required
string

The name of the domain

header Parameters
X-quotex-sessionId
required
string

Session identifier. Call initDomainSession API to get a session Id

X-quotex-environment
string

Deprecated: Environment identifier. This parameter is deprecated and the environment will be automatically retrieved. If used the provided environment value will be checked against the the environment value automatically found. This header should NOT be used to pass AppPortal environment value.

X-quotex-userId
string

The user identifier -> Optional user email. It will replace the authenticated usedId for certain roles if provided.

Request-Id
string

Use this optional header to correlate many calls to the public API for the same external operation. Must be a UUID without "-" caracters.

X-quotex-system-mode
boolean

Use this optional header to run the API in system mode. ARMs are by-passed during the request processing when this option is enabled. (Note : API_SUPER_USER role is required to enable this option)

Request Body schema: multipart/form-data
importFile
required
string <binary>

File to import must be plain JSON and have format like DomainsFileFormat defined in model part of this view. The file can also be a ZIP containing one JSON file as described.

Responses

Response samples

Content type
application/json
{
  • "domainName": "string",
  • "domainFileIdentifier": "string"
}

Activate domain files

This operation activates all given domain files.

Authorizations:
Token
header Parameters
X-quotex-sessionId
required
string

Session identifier. Call initDomainSession API to get a session Id

X-quotex-environment
string

Deprecated: Environment identifier. This parameter is deprecated and the environment will be automatically retrieved. If used the provided environment value will be checked against the the environment value automatically found. This header should NOT be used to pass AppPortal environment value.

X-quotex-userId
string

The user identifier -> Optional user email. It will replace the authenticated usedId for certain roles if provided.

Request-Id
string

Use this optional header to correlate many calls to the public API for the same external operation. Must be a UUID without "-" caracters.

X-quotex-system-mode
boolean

Use this optional header to run the API in system mode. ARMs are by-passed during the request processing when this option is enabled. (Note : API_SUPER_USER role is required to enable this option)

Request Body schema: application/json
Array
domainName
string
domainFileIdentifier
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

upload and activate a domain file

This operation upload a domain file and activate it to current environment.

Authorizations:
Token
path Parameters
domainName
required
string

The name of the domain

header Parameters
X-quotex-sessionId
required
string

Session identifier. Call initDomainSession API to get a session Id

X-quotex-environment
string

Deprecated: Environment identifier. This parameter is deprecated and the environment will be automatically retrieved. If used the provided environment value will be checked against the the environment value automatically found. This header should NOT be used to pass AppPortal environment value.

X-quotex-userId
string

The user identifier -> Optional user email. It will replace the authenticated usedId for certain roles if provided.

Request-Id
string

Use this optional header to correlate many calls to the public API for the same external operation. Must be a UUID without "-" caracters.

X-quotex-system-mode
boolean

Use this optional header to run the API in system mode. ARMs are by-passed during the request processing when this option is enabled. (Note : API_SUPER_USER role is required to enable this option)

Request Body schema: multipart/form-data
importFile
required
string <binary>

File to import must be plain JSON and have format like DomainsFileFormat defined in model part of this view. The file can also be a ZIP containing one JSON file as described.

Responses

Response samples

Content type
application/json
{
  • "domainName": "string",
  • "revision": 0,
  • "status": "INACTIVE"
}

Export a domain file

This operation exports a domain JSON file with the provided domain name. By default it will export the lastest active domain file revision. A query parameter is available to get a specific domain file revision

Authorizations:
Token
path Parameters
domainName
required
string

The name of the domain

query Parameters
revision
integer

The domain file revision to export. Lastest active revision is exported if not provided.

header Parameters
X-quotex-sessionId
required
string

Session identifier. Call initDomainSession API to get a session Id

X-quotex-environment
string

Deprecated: Environment identifier. This parameter is deprecated and the environment will be automatically retrieved. If used the provided environment value will be checked against the the environment value automatically found. This header should NOT be used to pass AppPortal environment value.

X-quotex-userId
string

The user identifier -> Optional user email. It will replace the authenticated usedId for certain roles if provided.

Request-Id
string

Use this optional header to correlate many calls to the public API for the same external operation. Must be a UUID without "-" caracters.

X-quotex-system-mode
boolean

Use this optional header to run the API in system mode. ARMs are by-passed during the request processing when this option is enabled. (Note : API_SUPER_USER role is required to enable this option)

Responses

Response samples

Content type
application/json
"string"

get list of available domain versions

This operation get the list of all revisions for the given domain.

Authorizations:
Token
path Parameters
domainName
required
string

The name of the domain

header Parameters
X-quotex-sessionId
required
string

Session identifier. Call initDomainSession API to get a session Id

X-quotex-environment
string

Deprecated: Environment identifier. This parameter is deprecated and the environment will be automatically retrieved. If used the provided environment value will be checked against the the environment value automatically found. This header should NOT be used to pass AppPortal environment value.

X-quotex-userId
string

The user identifier -> Optional user email. It will replace the authenticated usedId for certain roles if provided.

Request-Id
string

Use this optional header to correlate many calls to the public API for the same external operation. Must be a UUID without "-" caracters.

X-quotex-system-mode
boolean

Use this optional header to run the API in system mode. ARMs are by-passed during the request processing when this option is enabled. (Note : API_SUPER_USER role is required to enable this option)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Store a data provider configuration

This operation stores the data provider configuration, takes a json file as input

Authorizations:
Token
header Parameters
X-quotex-sessionId
required
string

Session identifier. Call initDomainSession API to get a session Id

X-quotex-environment
string

Deprecated: Environment identifier. This parameter is deprecated and the environment will be automatically retrieved. If used the provided environment value will be checked against the the environment value automatically found. This header should NOT be used to pass AppPortal environment value.

X-quotex-userId
string

The user identifier -> Optional user email. It will replace the authenticated usedId for certain roles if provided.

Request-Id
string

Use this optional header to correlate many calls to the public API for the same external operation. Must be a UUID without "-" caracters.

X-quotex-system-mode
boolean

Use this optional header to run the API in system mode. ARMs are by-passed during the request processing when this option is enabled. (Note : API_SUPER_USER role is required to enable this option)

Request Body schema: multipart/form-data
modelFile
required
string <binary>

Data provider conf to store must be a json file

Responses

Request samples

// Example of JSON expected into modelFile
{
  "name" : "LegacyCatalogHTK",
  "properties" : {
    "@class" : "com.pros.quotex.interfaces.publicapi.dataprovider.design.CatalogDefinitionPropertiesPublic",
    "contextDataProviders" : [ ],
    "sessionSettings" : {
      "CPE.Settings.Session.ModelVersion" : "WORKING",
      "CPE.Settings.Session.rootCL" : "wksHiTech/CL/catHiTech",
      "CPE.Settings.Session.SalesMethodName" : "smDefault",
      "CPE.Settings.Session.PricingMethod[1]" : "PRGM/pmDefault",
      "CPE.Settings.Session.SavingPolicy" : "Full",
      "CPE.Settings.Session.AllowIncompleteSave" : "true",
      "CPE.Settings.Session.Currency" : "USD",
      "CPE.Settings.Session.DefaultLanguage" : "en",
      "CPE.Settings.Session.DefaultCountry" : "US",
      "CPE.Settings.Session.TimeZone" : "GMT",
      "CPE.Settings.Session.IntegerFormat" : "#,##0",
      "CPE.Settings.Session.NumericFormat" : "#,##0.###",
      "CPE.Settings.Session.CurrencySymbol" : "$",
      "CPE.Settings.Session.MonetaryFormat" : "¤ #,##0.00;(¤#,##0.00)",
      "CPE.Settings.Session.ShortDateFormat" : "MM/dd/yyyy",
      "CPE.Settings.Session.LongDateFormat" : "YYYY_MM_dd DDD HH#mm#ss.s"
    },
    "serverName" : "Legacy",
    "fullText" : false,
    "standardSearchParameters" : {
      "operator" : "LIKE",
      "caseSensitive" : false,
      "scope" : [ "DESCRIPTION", "NAME", "RMO_TEXT" ],
      "userType" : null
    },
    "fullTextSearchParameters" : {
      "searchMode" : "SENTENCE",
      "scope" : [ "DESCRIPTION", "NAME", "RMO" ]
    }
  }
}

Response samples

Content type
application/json
{
  • "dataProviderName": "string"
}

Get all domains

This operation return all available domains in their latest revision. By default the API will return only active revisions but this behavior can be changed by setting 'latest' query param to retrieve latest revisions even if they are not active

Authorizations:
Token
query Parameters
latest
boolean

if set to true the API will return latest revision for each domain whatever it's status

header Parameters
X-quotex-sessionId
required
string

Session identifier. Call initDomainSession API to get a session Id

X-quotex-environment
string

Deprecated: Environment identifier. This parameter is deprecated and the environment will be automatically retrieved. If used the provided environment value will be checked against the the environment value automatically found. This header should NOT be used to pass AppPortal environment value.

X-quotex-userId
string

The user identifier -> Optional user email. It will replace the authenticated usedId for certain roles if provided.

Request-Id
string

Use this optional header to correlate many calls to the public API for the same external operation. Must be a UUID without "-" caracters.

X-quotex-system-mode
boolean

Use this optional header to run the API in system mode. ARMs are by-passed during the request processing when this option is enabled. (Note : API_SUPER_USER role is required to enable this option)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Domains Runtime

BETA - Domains runtime operations

Get domains for given relationVariable

This operation return possible domain values for given domainContext.
[BE CAREFUL] The ascendant compatibility is not warranted, this api could be modified in next versions.

Authorizations:
Token
path Parameters
relationVariableId
required
string

Domain values for relationVariableId given

query Parameters
searchCriterion
string

Filter domain to values containing the criterion

onlyAuthorized
required
boolean

Only authorized values if true, otherwise return all values (forbidden/not_recommended/authorized)

header Parameters
X-quotex-sessionId
required
string

Session identifier. Call initDomainSession API to get a session Id

X-quotex-environment
string

Deprecated: Environment identifier. This parameter is deprecated and the environment will be automatically retrieved. If used the provided environment value will be checked against the the environment value automatically found. This header should NOT be used to pass AppPortal environment value.

X-quotex-userId
string

The user identifier -> Optional user email. It will replace the authenticated usedId for certain roles if provided.

Request-Id
string

Use this optional header to correlate many calls to the public API for the same external operation. Must be a UUID without "-" caracters.

X-quotex-system-mode
boolean

Use this optional header to run the API in system mode. ARMs are by-passed during the request processing when this option is enabled. (Note : API_SUPER_USER role is required to enable this option)

Request Body schema: application/json

DomainContext definition

object (Domain)

Domain definition contains the list of relations to include and restricted ranges if any.

Array of objects (Assignments)

List of existing valuation

object (DomainDataProviderContext)

BETA - DataProvider context allows to configure the dataProvider and settings to use. (This definition may change in the future)

Responses

Request samples

Content type
application/json
{
  • "domain": {
    },
  • "assignments": [
    ],
  • "dataProviderContext": {
    }
}

Response samples

Content type
application/json
{
  • "domain": [
    ],
  • "homogeneousValueStatus": "AUTHORIZED",
  • "sortingCriteria": "KEEP_DOMAIN_DEFINITION_ORDER",
  • "open": true,
  • "partial": true
}

Check consistency for each domainContext given

This mass operation return domain consistency for each domainContext given. The list of list representing a grid with rows and cols. Latest revision is always used to check consistency.
[BE CAREFUL] The ascendant compatibility is not warranted, this api could be modified in next versions.

Authorizations:
Token
header Parameters
X-quotex-sessionId
required
string

Session identifier. Call initDomainSession API to get a session Id

X-quotex-environment
string

Deprecated: Environment identifier. This parameter is deprecated and the environment will be automatically retrieved. If used the provided environment value will be checked against the the environment value automatically found. This header should NOT be used to pass AppPortal environment value.

X-quotex-userId
string

The user identifier -> Optional user email. It will replace the authenticated usedId for certain roles if provided.

Request-Id
string

Use this optional header to correlate many calls to the public API for the same external operation. Must be a UUID without "-" caracters.

X-quotex-system-mode
boolean

Use this optional header to run the API in system mode. ARMs are by-passed during the request processing when this option is enabled. (Note : API_SUPER_USER role is required to enable this option)

Request Body schema: application/json

List of domainContexts

Array of objects (DomainContext) [ items ]

Responses

Request samples

Content type
application/json
{
  • "domainContexts": [
    ]
}

Response samples

Content type
application/json
{
  • "domainContexts": [
    ]
}

Domains File Format Object

This is the json to use inside a domain file

operator
string
Enum: "EQ" "N_EQ" "LT" "GT" "LE" "GE" "IN" "N_IN" "BETWEEN" "R_BETWEEN" "L_BETWEEN" "S_BETWEEN" "SUBSTRING" "N_SUBSTRING" "N_BETWEEN"
required
Array of objects (domain column definition)

List of column and field domain definitions

required
Array of objects (domain row) [ items ]

List of row formats on a domain file. To be valid a row must ':'
* - Have as many values as there is column on columnDef
* - Values are given in same order as columDef
* - Values have the type corresponding to its definition

{
  • "operator": "EQ",
  • "columnDef": [
    ],
  • "rows": [
    ]
}