90 lines
2.1 KiB
Markdown
90 lines
2.1 KiB
Markdown
# Get WordPress Site
|
|
|
|
**GET /api/v1/sites/{id}**
|
|
|
|
Retrieve detailed information about a specific WordPress site.
|
|
|
|
**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 GET http://localhost:8000/api/v1/sites/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
|
|
-H "Authorization: JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
|
|
```
|
|
|
|
**Example Response** (200 OK):
|
|
|
|
```json
|
|
{
|
|
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
|
"tenant_id": "t1t2t3t4-t5t6-7890-tttt-tttttttttttt",
|
|
"domain": "example.com",
|
|
"site_url": "https://example.com",
|
|
"api_key_prefix": "live_sk_a1b2",
|
|
"api_key_last_four": "s9t0",
|
|
"status": "active",
|
|
"is_verified": true,
|
|
"search_index_name": "site_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
|
"total_pages_indexed": 145,
|
|
"last_indexed_at": "2024-10-27T14:30:00Z",
|
|
"plugin_version": "1.0.0",
|
|
"storage_used_bytes": 52428800,
|
|
"search_requests_count": 234,
|
|
"monthly_pages_indexed": 50,
|
|
"last_reset_at": "2024-10-01T00:00:00Z",
|
|
"created_at": "2024-10-27T10:00:00Z",
|
|
"updated_at": "2024-10-27T14:30:00Z"
|
|
}
|
|
```
|
|
|
|
**Notes**:
|
|
- Returns full site details including usage tracking statistics
|
|
- API key is never returned (only prefix and last 4 chars for identification)
|
|
- Useful for dashboard display and usage monitoring
|
|
- Usage-based billing: No quotas or limits, only usage tracking
|
|
|
|
**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 retrieve site"
|
|
}
|
|
```
|