Skip to main content
DELETE
/
api
/
idl
/
:projectId
Delete Project
curl --request DELETE \
  --url https://api.example.com/api/idl/:projectId \
  --header 'Content-Type: application/json' \
  --data '
{
  "confirmName": "<string>"
}
'
{
  "400": {},
  "401": {},
  "404": {},
  "500": {},
  "message": "<string>",
  "projectId": "<string>"
}

Overview

Permanently deletes a project and all associated data including IDL versions, API keys, known addresses, social links, and cached documentation. This operation cannot be undone.

Authentication

This endpoint requires authentication. You must be the project owner to delete it.

Path Parameters

projectId
string
required
The unique project identifier to delete.

Request Body

confirmName
string
required
The exact project name to confirm deletion. This safeguard prevents accidental deletions.

Response

message
string
Confirmation message indicating successful deletion.
projectId
string
The ID of the deleted project.

Error Codes

400
Bad Request
Confirmation required: The confirmName field is missing or does not match the project name exactly. Response includes requiredName field showing the expected name.
401
Unauthorized
Missing or invalid authentication token.
404
Not Found
Project not found or access denied. You must be the project owner to delete.
500
Internal Server Error
Server error during deletion. Response includes error details.

Examples

curl -X DELETE https://api.orquestra.dev/api/idl/abc123def456 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
    "confirmName": "My Token Program"
  }'

Success Response (200)

{
  "message": "Project and all associated data deleted",
  "projectId": "abc123def456"
}

Error Response (400 - Name Mismatch)

{
  "error": "Confirmation required: please provide the project name to confirm deletion",
  "requiredName": "My Token Program"
}

Error Response (404 - Access Denied)

{
  "error": "Project not found or access denied"
}

What Gets Deleted

Deleting a project removes all associated data:
  • Project record: Main project entry with metadata
  • IDL versions: All versions of the IDL (version history is lost)
  • Known addresses: Custom address labels and configurations
  • API keys: All API keys associated with the project
  • Project socials: Social media links and community information
  • KV cache entries: Cached IDL data and generated documentation
  • Documentation cache: Pre-generated API documentation

Authorization Requirements

  • You must be authenticated (valid bearer token required)
  • You must be the owner of the project (created by your user account)
  • The project must exist in your account

Safety Features

Name Confirmation

To prevent accidental deletion, you must provide the exact project name in the confirmName field. The comparison is case-sensitive and must match exactly. Example:
  • Project name: "My Token Program"
  • Valid confirmation: "My Token Program"
  • Invalid confirmation: "my token program"
  • Invalid confirmation: "My Token Program " ✗ (trailing space)

Cascading Deletion

The endpoint performs cascading deletion to ensure no orphaned records remain:
  1. Known addresses deleted
  2. API keys deleted
  3. Project socials deleted
  4. IDL versions deleted
  5. Project record deleted
  6. KV cache cleared
  7. Documentation cache cleared

Important Warnings

This operation is irreversible. Once deleted, the project and all its data cannot be recovered. Make sure to:
  • Export any data you need before deletion
  • Verify you’re deleting the correct project
  • Update any external integrations that reference this project
  • Notify team members if this is a shared resource
API keys will stop working immediately. Any applications using API keys associated with this project will lose access as soon as the deletion completes.

Best Practices

  • Backup first: Download the IDL and any associated documentation before deletion
  • Check dependencies: Ensure no active applications depend on this project’s API keys
  • Double-check the name: Verify the project name is correct before submitting
  • Use archived status: Consider marking projects as archived instead of deleting if you might need them later
  • Team coordination: Notify team members before deleting shared projects

Build docs developers (and LLMs) love