GET
/api/fixesGet AI-generated optimization suggestions for a specific evaluation.
Scope: fixes
Query Parameters
| Parameter | Required | Description |
|---|---|---|
| action | Yes | "list" (fixes for one evaluation), "get" (one fix) or "stats" (counts across all your fixes) |
| evaluationId | For list | UUID of the evaluation (the evaluationId returned by analyze-ad) |
| fixId | For get | UUID of the fix (fixes[].id) |
Example Request
curl "https://app.adalign.io/api/fixes?action=list&evaluationId=UUID_HERE" \ -H "Authorization: Bearer adal_your_key_here"
Response (action=list)
Fixes are ordered by priority (HIGH first), then newest. A high-severity issue usually has more than one fix, each with a different direction (change_lp, change_ad, change_routing, change_both) and its tradeoff.
{
"success": true,
"data": {
"fixes": [
{
"id": "uuid-here",
"evaluationId": "uuid-here",
"element": "Primary Headline",
"fixType": "headline",
"target": "landing_page",
"direction": "change_lp",
"priority": "HIGH",
"status": "pending",
"currentValue": "Welcome to Our Store",
"suggestedValue": "Get 50% Off Premium Software",
"elementSelector": "h1",
"reasoning": "The landing page headline should match the ad offer...",
"expectedImpact": "Visitors see the offer they clicked for",
"tradeoff": "...",
"confidenceScore": "0.85",
"implementationSteps": [
"Locate the H1 element on the landing page",
"Replace text with the suggested headline"
],
"appliedAt": null,
"dismissedAt": null,
"createdAt": "2026-10-01T09:12:00.000Z"
}
],
"total": 5,
"pending": 3,
"applied": 1,
"dismissed": 1,
"paywalled": false
}
}status: pending, applied, dismissed or expired. confidenceScore is a decimal string from 0.00 to 1.00.
action=get and action=stats
get returns one fix object (same shape as above) in data. stats counts every fix on your evaluations:
{
"success": true,
"data": {
"total": 42, "pending": 30, "applied": 8, "dismissed": 4,
"high_priority": 12, "medium_priority": 20, "low_priority": 10,
"fix_types": 6
}
}Errors
400 Missing evaluationId or fixId, or an unknown action
401 Invalid, expired or revoked API key
403 Key lacks the fixes scope
404 The evaluation or fix doesn't exist or belongs to another account