Skip to main content
https://.thoughtindustries.com

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.

DELETEhttps://example.thoughtindustries.com/v3/admin/content/:contentId/alternate-purchase-paths/:entryId

This 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/v2 base 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.

NameTypeRequiredLocationDescription
contentIduuidYespathSource course UUID.
entryIduuidYespathAlternate 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.