Delete alignment category facts
Deletes one or more alignment category facts. Future Brand Alignment runs stop grading claims against a deleted fact; claims already graded keep their recorded verdict and are not rewritten.
Bulk-shaped only. There is no single-fact delete endpoint; send one id for the single-row case.
Requires the write:alignment scope.
DELETE /v1/brands/{brand_id}/alignment/category-factsAuthorization
| 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 |
Body
application/json
| Field | Type | Required | Description |
|---|---|---|---|
fact_ids | uuid[], 1-200 | required | From List alignment category facts |
Request
cURL
curl --request DELETE \
--url 'https://api.askylabs.com/v1/brands/242546de-4cee-4a7d-952e-f6aa60c63ef8/alignment/category-facts' \
--header 'Authorization: Bearer <api-key>' \
--header 'Idempotency-Key: 3c05b91e-7d22-4b17-8e6a-9f1ac2b07e40' \
--header 'Content-Type: application/json' \
--data '{"fact_ids": ["7a2c9e14-5b06-4f8a-9d31-0e46b7c8f293"]}'Response
200
{
"data": {
"deleted_fact_ids": ["7a2c9e14-5b06-4f8a-9d31-0e46b7c8f293"]
},
"request_id": "req_5c1e93f8a2074b6dbf30"
}Response fields
| Field | Type | Description |
|---|---|---|
data.deleted_fact_ids | uuid[] | required. Same set as fact_ids, once every id has been verified to belong to this brand |
request_id | string | required. Also returned as the x-request-id header. Quote it when contacting support |
Errors
| Status | Code | When |
|---|---|---|
| 400 | invalid_request | fact_ids is empty, over 200 entries, or contains an id not found for this brand |
| 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 |
| 404 | not_found | The brand does not exist, or this key is not allowed to reach it |
| 429 | rate_limited | Over 60 requests per minute |
Notes
Validation is all-or-nothing. An id that is missing or belongs to another brand refuses the entire call and names every offender — nothing is deleted unless every id checks out.
Deletion is permanent. There is no soft delete and no archive for a fact — this is the only way to stop future alignment runs checking claims against it.
Past alignment verdicts are not rewritten. A claim already graded against this fact keeps its
recorded brand_profile_reference and status; only future runs stop checking it.
Idempotency-Key is required. Reuse it when retrying an attempt and the original response is
replayed rather than a second delete being attempted. See Idempotency.