Validate profiles
POST/demand/accounts/{account_id}/profiles/validate
Validate profiles and provide warnings or errors.
Note there is no storage or persistence behind this endpoint; POST is used to enable requestors to send full profiles payload to check that it is valid before saving and launching a Fielding Run.
Important Note-1 on Integration
Problem:
A common integration issue occurs when the response from the generateInterlocked endpoint is incorrectly used as input for the
calculateFeasibility endpoint. This misuse leads to processing failures.
Background: Within quota objects in the interlocked profile, related conditions can be structured in two formats:
- Map of Related Conditions
- Array of Related Conditions
The
generateInterlockedendpoint returns maps of related conditions. However, thecalculateFeasibilityendpoint expects an array format. Passing the map format directly causes the feasibility calculation to fail.
Recommended Mitigation: To ensure successful processing, the map structure must be converted to the expected array format.
Step 1: Example Response from generateInterlocked
"related_condition": {
"42": [
{
"text": "35-39",
"text_translated": "35-39",
"min": 35,
"max": 39
}
],
"43": [
{
"text": "Female",
"text_translated": "Female",
"option": "2"
}
]
}
Step 2: Transform to Array Format
"related_condition": [
{
"question_id": 42,
"conditions": [
{
"text": "35-39",
"text_translated": "35-39",
"min": 15,
"max": 39
}
]
},
{
"question_id": 43,
"conditions": [
{
"text": "Female",
"text_translated": "Female",
"option": "2"
}
]
}
]
Step 3:
Submit the transformed data to the calculateFeasibility endpoint. The endpoint will then process the request successfully.
Root Cause: This issue arises due to schema version inconsistencies across clients. An upcoming release will consolidate all versions into a single, unified schema.
Request
Responses
- 200
- 400
- 401
- 403
- 422
- 500
Successfully validated profile
Bad Request
Unauthorized
Forbidden
Unprocessable Entity
Internal Server Error