PROS Performance Quoting - Model public API (1.2.0)
Download OpenAPI specification:Download
The Model Public API provides operations on the model matrix, operations to validate and store a model, and other admin operations.
- 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.
- One should use the Retry-After response header when received.
- 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.
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.
Initialize a session
Initializes a session and returns a session identifier which is required for any further call to the Quote API.
Authorizations:
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 an API in system mode. The user must have the API_SUPER_USER or AGREEMENT role to be able to use system mode. |
Responses
Response samples
- 200
- default
{- "sessionId": "string"
}
Get model matrix elements.
Get model matrix elements related to the given environment. Each element contains the model family and model version parameters. If there is elements for the requested environment an empty list is returned. A model matrix contains the model versions for each modelFamily (model name) and for each environment
Authorizations:
header Parameters
X-quotex-sessionId required | string Session identifier. Call initSession 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 an API in system mode. The user must have the API_SUPER_USER or AGREEMENT role to be able to use system mode. |
Responses
Response samples
- 200
- default
{- "elements": [
- {
- "modelFamily": "string",
- "modelVersion": "string",
- "modelBranch": "string",
- "modelRevision": 0,
- "designerFingerPrint": "string",
- "migrateExistingQuotes": true
}
]
}
Store a model matrix element
Store a model matrix element for the given environment. If an element exists for the given environment and model family it will be REPLACED
Authorizations:
header Parameters
X-quotex-sessionId required | string Session identifier. Call initSession 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 an API in system mode. The user must have the API_SUPER_USER or AGREEMENT role to be able to use system mode. |
Request Body schema: application/json
modelFamily | string |
modelVersion | string |
modelBranch | string |
modelRevision | integer |
designerFingerPrint | string |
migrateExistingQuotes | boolean Default: true Deprecated. The provided value will be ignored. Migrating existing quotes is now mandatory when a model is updated. |
Responses
Request samples
- Payload
{- "modelFamily": "string",
- "modelVersion": "string",
- "modelBranch": "string",
- "modelRevision": 0,
- "designerFingerPrint": "string",
- "migrateExistingQuotes": true
}
Response samples
- default
{- "operationId": "b91bbf81beb74397ae282d1186aa1798",
- "code": 100,
- "message": "string"
}
Delete model matrix elements
This operation deletes all model matrix elements related to the given environment
Authorizations:
header Parameters
X-quotex-sessionId required | string Session identifier. Call initSession 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 an API in system mode. The user must have the API_SUPER_USER or AGREEMENT role to be able to use system mode. |
Responses
Response samples
- default
{- "operationId": "b91bbf81beb74397ae282d1186aa1798",
- "code": 100,
- "message": "string"
}
Get a model matrix element.
Get the model matrix element correponding to the given environment and model family if it exists.
Authorizations:
path Parameters
modelFamily required | string The model family to search in the model matrix |
header Parameters
X-quotex-sessionId required | string Session identifier. Call initSession 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 an API in system mode. The user must have the API_SUPER_USER or AGREEMENT role to be able to use system mode. |
Responses
Response samples
- 200
- default
{- "modelFamily": "string",
- "modelVersion": "string",
- "modelBranch": "string",
- "modelRevision": 0,
- "designerFingerPrint": "string",
- "migrateExistingQuotes": true
}
Check if a model matrix element (model family) exists in the model matrix
Check if a modle matrix element exists
Authorizations:
path Parameters
modelFamily required | string The model family to search in the model matrix |
header Parameters
X-quotex-sessionId required | string Session identifier. Call initSession 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 an API in system mode. The user must have the API_SUPER_USER or AGREEMENT role to be able to use system mode. |
Responses
Response samples
- default
{- "operationId": "b91bbf81beb74397ae282d1186aa1798",
- "code": 100,
- "message": "string"
}
Delete a model matrix element for a model family
This operation delete the model matrix element related to the given environment and model family If no model matrix element if found this method will not return an error
Authorizations:
path Parameters
modelFamily required | string The model family to search in the model matrix |
header Parameters
X-quotex-sessionId required | string Session identifier. Call initSession 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 an API in system mode. The user must have the API_SUPER_USER or AGREEMENT role to be able to use system mode. |
Responses
Response samples
- default
{- "operationId": "b91bbf81beb74397ae282d1186aa1798",
- "code": 100,
- "message": "string"
}
Get sdk model and public model versions
This feature gets quote model versions of sdk and quote model public api
Authorizations:
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. |
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 an API in system mode. The user must have the API_SUPER_USER or AGREEMENT role to be able to use system mode. |
Responses
Response samples
- 200
- default
{- "modelVersions": [
- "string"
]
}
provide a grid definition
This operation provide a grid definition
Authorizations:
path Parameters
modelName required | string The name of quote model |
query Parameters
modelVersion | string The version of quote model, if null or empty get the latest version |
modelBranch | string The branch of quote model, by default "main" |
modelRevision | string The revision of quote model should be an Integer, if null get the latest revision |
header Parameters
X-quotex-sessionId required | string Session identifier. Call initSession 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 an API in system mode. The user must have the API_SUPER_USER or AGREEMENT role to be able to use system mode. |
Responses
Response samples
- 200
- default
{- "gridColumnDefinitions": [
- {
- "id": "string",
- "translation": "string",
- "type": "BOOLEAN",
- "multiple": true,
- "computed": true,
- "userInput": true,
- "refFieldId": "string",
- "refColumnId": "string"
}
], - "gridFieldsDefinitions": [
- {
- "id": "string",
- "translation": "string",
- "type": "BOOLEAN",
- "multiple": true,
- "computed": true,
- "userInput": true,
- "refFieldId": "string"
}
], - "rowTemplateDefinitions": [
- {
- "id": "string",
- "varIsUserInput": {
- "property1": true,
- "property2": true
}
}
], - "viewDefinitions": [
- {
- "id": "string",
- "componentDefinitions": [
- {
- "id": "string",
- "columns": [
- "string"
], - "fields": [
- "string"
], - "isGrid": true
}
]
}
]
}
Validate a quote model. Deprecated before Version 12.13 - will be discontinued as of june 2024. Can be replaced by POST /model/validatefile. Deprecated
This validates the quote model and all underlying models (spreadsheet, data provider, UI).
Authorizations:
query Parameters
ignoreFeatureUpgrade | boolean Allow model to be validated if the SDK version minor digits (second digits) from the client version is not compatible with the server version |
header Parameters
X-quotex-sessionId required | string Session identifier. Call initSession 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 an API in system mode. The user must have the API_SUPER_USER or AGREEMENT role to be able to use system mode. |
X-quotex-modelApiVersion | string Use this optional header to check technical compatibility of model version. |
X-quotex-modelSdkVersion | string Use this optional header to check technical compatibility of model version. |
Request Body schema: application/json
modelJsonString required | string |
customDataNamespace required | string |
Responses
Request samples
- Payload
{- "modelJsonString": "string",
- "customDataNamespace": "string"
}
Response samples
- 200
- default
{- "validationErrors": [
- "string"
]
}
Store a Quote model. Deprecated before Version 12.13 - will be discontinued as of june 2024. Can be replaced by POST /model/storefile. Deprecated
This opertaion stores the quote model and all underlying models (spreadsheet, data provider, UI).
Authorizations:
query Parameters
ignoreFeatureUpgrade | boolean Allow model to be validated if the SDK version minor digits (second digits) from the client version is not compatible with the server version |
header Parameters
X-quotex-sessionId required | string Session identifier. Call initSession 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 an API in system mode. The user must have the API_SUPER_USER or AGREEMENT role to be able to use system mode. |
X-quotex-modelApiVersion | string Use this optional header to check technical compatibility of model version. |
X-quotex-modelSdkVersion | string Use this optional header to check technical compatibility of model version. |
Request Body schema: application/json
modelJsonString required | string |
customDataNamespace required | string |
Responses
Request samples
- Payload
{- "modelJsonString": "string",
- "customDataNamespace": "string"
}
Response samples
- 200
- default
{- "modelId": "string",
- "version": "string",
- "branch": "string",
- "revision": 0,
- "publicationId": "string"
}
Validate a quote model file
This validates the quote model and all underlying models (spreadsheet, data provider, UI), takes a json model file as input
Authorizations:
query Parameters
ignoreFeatureUpgrade | boolean Allow model to be validated if the SDK version minor digits (second digits) from the client version is not compatible with the server version |
header Parameters
X-quotex-sessionId required | string Session identifier. Call initSession 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 an API in system mode. The user must have the API_SUPER_USER or AGREEMENT role to be able to use system mode. |
X-quotex-modelApiVersion | string Use this optional header to check technical compatibility of model version. |
X-quotex-modelSdkVersion | string Use this optional header to check technical compatibility of model version. |
X-quotex-designer-finger-print | string Use this optional header to check if request comes from quote designer. |
Request Body schema: multipart/form-data
modelFile required | string <binary> Model to validate must be a json file |
customDataNamespace required | string custom data namespace |
Responses
Response samples
- 200
- default
{- "validationErrors": [
- "string"
]
}
Validate a spreadsheet model file
This validates the spreadsheet model only, takes a json file containing spreadsheet model as input
Authorizations:
header Parameters
X-quotex-sessionId required | string Session identifier. Call initSession 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 an API in system mode. The user must have the API_SUPER_USER or AGREEMENT role to be able to use system mode. |
Request Body schema: multipart/form-data
modelFile required | string <binary> Model to validate must be a json file containing the spreadsheet model |
Responses
Response samples
- 200
- default
{- "validationErrors": [
- "string"
]
}
Store a Quote model file
This opertaion stores the quote model and all underlying models (spreadsheet, data provider, UI), takes a json model file as input
Authorizations:
query Parameters
ignoreFeatureUpgrade | boolean Allow model to be validated if the SDK version minor digits (second digits) from the client version is not compatible with the server version |
header Parameters
X-quotex-sessionId required | string Session identifier. Call initSession 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 an API in system mode. The user must have the API_SUPER_USER or AGREEMENT role to be able to use system mode. |
X-quotex-modelApiVersion | string Use this optional header to check technical compatibility of model version. |
X-quotex-modelSdkVersion | string Use this optional header to check technical compatibility of model version. |
X-quotex-designer-finger-print | string Use this optional header to check if request comes from quote designer. |
Request Body schema: multipart/form-data
modelFile required | string <binary> Model to store must be a json file |
customDataNamespace required | string custom data namespace |
Responses
Response samples
- 200
- default
{- "modelId": "string",
- "version": "string",
- "branch": "string",
- "revision": 0,
- "publicationId": "string"
}
Get a Quote model by its name
This opertaion get the quote model from database by its name and model version information. The model returned has the model public format. If model version information is not provided the model last version will be returned
Authorizations:
path Parameters
modelName required | string The name of quote model. Case sensitive |
query Parameters
modelVersion | string The version of quote model, if null or empty get the latest version |
modelBranch | string The branch of quote model, by default "main" |
modelRevision | string The revision of quote model should be an Integer, if null get the latest revision |
header Parameters
X-quotex-sessionId required | string Session identifier. Call initSession 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 an API in system mode. The user must have the API_SUPER_USER or AGREEMENT role to be able to use system mode. |
Responses
Response samples
- 200
- default
{- "modelJsonString": "string",
- "customDataNamespace": "string"
}
Get list of available document generation templates
This operations provides the list of available document generation tempates and the list of related models
Authorizations:
header Parameters
X-quotex-sessionId required | string Session identifier. Call initSession 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 an API in system mode. The user must have the API_SUPER_USER or AGREEMENT role to be able to use system mode. |
Responses
Response samples
- 200
- default
{- "models": [
- {
- "name": "string",
- "activeVersion": "string",
- "activeBranch": "string",
- "activeRevision": 0
}
], - "templates": [
- {
- "name": "string",
- "relatedQuoteModels": [
- "Service Quote Model"
], - "relatedActions": [
- "IAS Word print"
], - "available": true,
- "lastUpdatedOn": "string",
- "lastUpdatedBy": "string"
}
]
}
Push a new document generation template
This operation uploads a new docGen template (zip file). The template can be used to generate documents with quote data.
Authorizations:
header Parameters
X-quotex-sessionId required | string Session identifier. Call initSession 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 an API in system mode. The user must have the API_SUPER_USER or AGREEMENT role to be able to use system mode. |
Request Body schema: multipart/form-data
templateFile required | string <binary> |
templateName required | string please check that the templateName matches with the main template name in the provided zip file (lowercase, uppercase, whitespaces, ...) |
Responses
Response samples
- default
{- "operationId": "b91bbf81beb74397ae282d1186aa1798",
- "code": 100,
- "message": "string"
}
get a document generation template
This operation downloads a template model (zip file). It can be used to generate Quote reports.
Authorizations:
path Parameters
templateName required | string The name of template |
header Parameters
X-quotex-sessionId required | string Session identifier. Call initSession 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 an API in system mode. The user must have the API_SUPER_USER or AGREEMENT role to be able to use system mode. |
Responses
Response samples
- 200
- default