Source: https://dinakar-rewind.docs.pageloop.ai/api-reference/admin/adminattendingreject

# Reject a pending source row (hard-delete)

POST `https://api.rewind.rest/v1/admin/attending/sources/{id}/reject`

Removes the source row entirely. Useful for marketing/transfer/refund emails that slipped through the subject gate. The cron's syncToken means we won't re-extract the same row, so no need for a soft-delete flag.

## Authorization

#### Authorization (header, string, required)

API key. Read keys (rw\_live\_...) access GET endpoints. Admin keys (rw\_admin\_...) access all endpoints.

## Path Parameters

#### id (path, integer, required)

## Response

#### 200

Source rejected

#### status (enum (string), required) — allowed: rejected

#### deleted (enum (boolean), required) — allowed: True

#### source\_ref (string, required)

#### 401

Unauthorized

#### error (string, required)

#### status (integer, required)

#### 404

Not found

#### error (string, required)

#### status (integer, required)

#### Request

```bash cURL
curl -X POST 'https://api.rewind.rest/v1/admin/attending/sources/{id}/reject' \
  -H 'Authorization: Bearer <token>'
```

```javascript JavaScript
const res = await fetch('https://api.rewind.rest/v1/admin/attending/sources/{id}/reject', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer <token>',
  },
});
const data = await res.json();
```

```python Python
import requests

res = requests.post(
    'https://api.rewind.rest/v1/admin/attending/sources/{id}/reject',
    headers={'Authorization': 'Bearer <token>'}
)
data = res.json()
```

#### Response

```json 200
{
  "status": "rejected",
  "deleted": true,
  "source_ref": "string"
}
```

```json 401
{
  "error": "Not found",
  "status": 404
}
```

```json 404
{
  "error": "Not found",
  "status": 404
}
```
