Dismiss alignment claim
Dismisses one alignment claim so it stops appearing in alignment views and totals. This is a soft
dismiss: it sets dismissed_at on the row, it does not delete anything. The claim, its citations
and its evidence are all kept. Use List alignment claims or
Get alignment claim to find a claim_id first.
Requires the write:alignment scope, and the workspace must be enabled for API writes.
DELETE /v1/brands/{brand_id}/alignment/claims/{claim_id}Authorization
| Header | Type | Required |
|---|---|---|
Authorization | Bearer asky_sk_… | required |
Idempotency-Key | string | required |
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
brand_id | uuid | required | From List brands |
claim_id | uuid | required | From List alignment claims |
Request
cURL
curl --request DELETE \
--url 'https://api.askylabs.com/v1/brands/242546de-4cee-4a7d-952e-f6aa60c63ef8/alignment/claims/9f3a1c2b-7e40-4b17-8e6a-3c05b91e7d22' \
--header 'Authorization: Bearer <api-key>' \
--header 'Idempotency-Key: 5b0e77d2-13a9-4f6a-8ce1-9a3f5e21c0aa'Response
200
{
"data": {
"claim_id": "9f3a1c2b-7e40-4b17-8e6a-3c05b91e7d22",
"dismissed": true
},
"request_id": "req_5b0e77d213a94f6a8ce1"
}Response fields
| Field | Type | Description |
|---|---|---|
data.claim_id | uuid | required |
data.dismissed | boolean | required. Always true |
request_id | string | required. Also returned as the x-request-id header. Quote it when contacting support |
Errors
| Status | Code | When |
|---|---|---|
| 401 | invalid_token | The key is missing, malformed, or does not exist |
| 401 | token_expired | The key passed its expiry date |
| 401 | token_revoked | The key was revoked |
| 403 | insufficient_scope | The key does not carry write:alignment |
| 403 | plan_required | This workspace is not enabled for API writes |
| 404 | not_found | The claim does not exist for this brand, or this key is not allowed to reach it |
| 429 | rate_limited | Over 60 requests per minute |
Notes
Soft delete, not a delete. This sets dismissed_at; the claim row, its citations and its
evidence are all kept. Nothing is removed, which matches the app’s “Delete Claim” action exactly —
that action is not really a delete either.
Every alignment read endpoint filters dismissed claims out automatically. A dismissed claim disappears from List alignment claims, Get alignment claim, and every alignment total, without its underlying data being destroyed.
Safe to retry. Dismissing a claim that is already dismissed is a no-op — it still returns 200
with dismissed: true, it does not overwrite the original dismissed_at.
This endpoint is brand-scoped in the path, unlike
Get alignment claim, which is workspace-scoped with no
brand_id in its URL.
Idempotency-Key is required. See Idempotency.