Delete Alternate Purchase Path
Soft-delete an alternate purchase path. Subsequent list and get calls return 404.
Soft-deletes one alternate purchase path. The row stays in the database with deleted_at
set. Subsequent list and get calls return 404 as if the entry never existed. There is
no restore endpoint on this API.
https://example.thoughtindustries.com/v3/admin/content/:contentId/alternate-purchase-paths/:entryIdThis endpoint is served by the v3 API. Its full path is
https://{instance}.thoughtindustries.com/v3/admin/content/{contentId}/alternate-purchase-paths/{entryId}, not the/incoming/v2base URL used by the rest of this reference. Use the full URL shown in the examples below.
Example request
curl -X DELETE "https://{instance}.thoughtindustries.com/v3/admin/content/3a131ac3-1a74-420d-b4da-ae10b18b2c68/alternate-purchase-paths/443d8182-d461-4568-a777-918ca729fd85" \
-H 'Authorization: Bearer YOUR_API_KEY'Parameters
Requires the settings.alternatePurchasePaths permission. A company API key satisfies this.
| Name | Type | Required | Location | Description |
|---|---|---|---|---|
contentId | uuid | Yes | path | Source course UUID. |
entryId | uuid | Yes | path | Alternate purchase path UUID. |
This request has no body.
Example response
Note the data wrapper — v3 endpoints nest their payload under data.
{
"data": true
}Errors
A missing, already-deleted, cross-company, or wrong-course entryId returns 404:
{
"code": "RESOURCE_NOT_FOUND",
"message": "Alternate purchase path with identifier \"443d8182-d461-4568-a777-918ca729fd85\" was not found",
"category": "NOT_FOUND",
"timestamp": "2026-09-15T14:22:01.000Z",
"statusCode": 404,
"metadata": {
"resource": "Alternate purchase path",
"identifier": "443d8182-d461-4568-a777-918ca729fd85"
}
}A missing or invalid API key returns 401 with code: "UNAUTHENTICATED". A manager
session without settings.alternatePurchasePaths returns 403 with code: "FORBIDDEN"
and message: "Insufficient permissions: settings.alternatePurchasePaths required".
Rate limit
60 requests per 60 seconds, counted per instance. This limit is specific to this endpoint
and is independent of the per-family rate limits that apply to /incoming/v2 endpoints.