Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Meza-dev/Ghostly/llms.txt

Use this file to discover all available pages before exploring further.

The DELETE /v1/projects/:id endpoint permanently removes a project record from the database. This endpoint accepts both API key and JWT authentication, and enforces that only the project’s owner can delete it — requests for projects owned by a different user will receive a 404 rather than a 403 to avoid leaking resource existence.

Authentication

All requests to /v1/projects/:id require authentication. Pass credentials using one of the two supported schemes:
SchemeHeader
API KeyX-Api-Key: <your-key>
JWT (session)Authorization: Bearer <token>

Path parameters

id
string
required
The UUID of the project to delete. Must match a project that belongs to the authenticated user.

Response — 200 OK

Returned when the project was found and successfully deleted.
ok
boolean
required
Always true on a successful deletion.
{ "ok": true }

Response — 404 Not Found

Returned when no project with the given id exists for the authenticated user. This is also returned when the project exists but belongs to a different user.
ok
boolean
required
Always false when the project was not found.
error
string
required
A human-readable error message: "not found".
{ "ok": false, "error": "not found" }
Deleting a project is irreversible. The project record is permanently removed from the database. Any run records that reference this project by ID will retain the project string value but the project itself will no longer exist. Export or archive any results you need before calling this endpoint.
The 404 response is intentionally returned for both “project does not exist” and “project belongs to another user” cases. This prevents authenticated users from enumerating other users’ project IDs.

Example

curl

curl -X DELETE https://your-ghostly-host/v1/projects/c3d4e5f6-a7b8-9012-cdef-123456789012 \
  -H "X-Api-Key: your_api_key_here"

Handling the 404 case

RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" \
  -X DELETE https://your-ghostly-host/v1/projects/non-existent-id \
  -H "X-Api-Key: your_api_key_here")

if [ "$RESPONSE" -eq 404 ]; then
  echo "Project not found or access denied."
fi

Build docs developers (and LLMs) love