Apps API evaluation endpoints replaced by Analytics Apps namespaced API
Six evaluation endpoints in the Apps REST API are deprecated and will be removed on or after September 24, 2026.
Direct replacements are available in the new Analytics Apps API.
What’s changing
The evaluation sub-resources at /api/v1/apps/... are deprecated.
They will be removed on or after September 24, 2026.
Equivalent endpoints are now available under /api/analytics/apps/....
The new endpoints include improved response schemas, a standardized Accept header
for format selection on download operations, and a clearer path naming convention
for comparison operations.
Endpoint mapping
| Legacy endpoint | Replacement endpoint |
|---|---|
GET /api/v1/apps/{guid}/evaluations | GET /api/analytics/apps/{guid}/evaluations |
POST /api/v1/apps/{guid}/evaluations | POST /api/analytics/apps/{guid}/evaluations |
GET /api/v1/apps/evaluations/{baseid}/actions/compare/{comparisonid} | GET /api/analytics/apps/evaluations/{baselineId}/compare/{comparisonId} |
GET /api/v1/apps/evaluations/{baseid}/actions/compare/{comparisonid}/actions/download | GET /api/analytics/apps/evaluations/{baselineId}/compare/{comparisonId}/actions/download |
GET /api/v1/apps/evaluations/{id} | GET /api/analytics/apps/evaluations/{id} |
GET /api/v1/apps/evaluations/{id}/actions/download | GET /api/analytics/apps/evaluations/{id}/actions/download |
Migration guide
Update your integrations for each change listed below.
Update the base path
Replace /api/v1/apps with /api/analytics/apps in every evaluation request.
# BeforeGET https://<TENANT>.us.qlikcloud.com/api/v1/apps/<GUID>/evaluations
# AfterGET https://<TENANT>.us.qlikcloud.com/api/analytics/apps/<GUID>/evaluationsRename path parameters in comparison endpoints
The comparison endpoints rename their path parameters. Update your URL templates:
| Parameter (legacy) | Parameter (new) |
|---|---|
{baseid} | {baselineId} |
{comparisonid} | {comparisonId} |
# BeforeGET /api/v1/apps/evaluations/{baseid}/actions/compare/{comparisonid}
# AfterGET /api/analytics/apps/evaluations/{baselineId}/compare/{comparisonId}Use the Accept header to choose download format
The legacy download endpoints had no format selection mechanism and always returned
application/xml. The new download endpoints accept an Accept header:
# Legacy: no format control, always returns XMLGET /api/v1/apps/evaluations/{id}/actions/download
# New: choose the formatGET /api/analytics/apps/evaluations/{id}/actions/downloadAccept: application/jsonAccepted values are application/xml (default) and application/json. The same
applies to the comparison download endpoint.
The ?format=json|xml query parameter on the non-download GET endpoints
(GET .../evaluations/{id} and GET .../evaluations/{baselineId}/compare/{comparisonId})
is unchanged between the legacy and new endpoints.
Update code that reads evaluation response fields
Update field references:
| Find | Replace with |
|---|---|
evaluation.metadata | evaluation.reloadInformation |
evaluation.events[].details | evaluation.events[].message |
evaluation.result.sheets | evaluation.result.sheetsCached + evaluation.result.sheetsUncached |
Remove these fields since they’re not included in the analytics/apps API responses:
evaluation.sheetId,evaluation.sheetTitle: no direct replacement. Sheet context is available per-event viaevents[].sheetIdand.sheetTitleevaluation.details.dedicated
Handle these new fields:
evaluation.engine: { shortName: string }: Engine version that ran the evaluation (e.g.,"OAPE-40")evaluation.openAppProgress: { messages: [{ message: string, timeSinceStartMilliseconds: string }] }: Timestamped progress log of the app open phaseevaluation.result.openApp: { steps: [{ name: string, durationMilliseconds: number }], totalDurationMilliseconds: number }: Breakdown of app open timing by phase
Update code that reads comparison response fields
Update field references:
| Find | Replace with |
|---|---|
comparison.documentSizeMib | comparison.documentSizeMiB |
Remove these fields since they’re not included in the analytics/apps API responses:
comparison.objHeavy,comparison.fileSizeMib,comparison.maxMemoryMib,comparison.dataModelSizeMib,comparison.appOpenTimeSeconds
Handle this new field:
comparison.engine: { baseline: { shortName: string }, comparison: { shortName: string } }: Engine versions used in each of the two evaluations
For more information, see the Analytics Apps API reference and the Apps REST API reference.