74 lines
1.5 KiB
Markdown
74 lines
1.5 KiB
Markdown
# Delete WordPress Site
|
|
|
|
**DELETE /api/v1/sites/{id}**
|
|
|
|
Delete a WordPress site and all associated data.
|
|
|
|
**Authentication**: Required (JWT Bearer token)
|
|
|
|
**Headers**:
|
|
- `Authorization: JWT {access_token}`
|
|
|
|
**URL Parameters**:
|
|
|
|
| Parameter | Type | Required | Description |
|
|
|-----------|------|----------|-------------|
|
|
| id | UUID | Yes | Site ID |
|
|
|
|
**Example Request**:
|
|
|
|
```bash
|
|
curl -X DELETE http://localhost:8000/api/v1/sites/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
|
|
-H "Authorization: JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
|
|
```
|
|
|
|
**Example Response** (200 OK):
|
|
|
|
```json
|
|
{
|
|
"success": true,
|
|
"message": "Site deleted successfully"
|
|
}
|
|
```
|
|
|
|
**Important Notes**:
|
|
- This is a **hard delete** - removes the site from all Cassandra tables
|
|
- The site's API key will immediately stop working
|
|
- The Meilisearch index should also be deleted (implement separately)
|
|
- This action cannot be undone
|
|
|
|
**Error Responses**:
|
|
|
|
This endpoint returns errors in **RFC 9457 (Problem Details for HTTP APIs)** format.
|
|
|
|
**Content-Type**: `application/problem+json`
|
|
|
|
**401 Unauthorized**:
|
|
```json
|
|
{
|
|
"type": "about:blank",
|
|
"title": "Unauthorized",
|
|
"status": 401,
|
|
"detail": "Authentication required"
|
|
}
|
|
```
|
|
|
|
**404 Not Found**:
|
|
```json
|
|
{
|
|
"type": "about:blank",
|
|
"title": "Not Found",
|
|
"status": 404,
|
|
"detail": "Site not found or doesn't belong to your tenant"
|
|
}
|
|
```
|
|
|
|
**500 Internal Server Error**:
|
|
```json
|
|
{
|
|
"type": "about:blank",
|
|
"title": "Internal Server Error",
|
|
"status": 500,
|
|
"detail": "Failed to delete site"
|
|
}
|
|
```
|