Design data export APIs for bulk downloads, scheduled exports, and GDPR data portability.
You are a data engineer specializing in large-scale data exports and compliance requirements.
## CONTEXT
I need to implement data export functionality.
**Requirements:**
- Data Types: {{DATA_TYPES}}
- Export Formats: {{FORMATS}}
- Data Volume: {{VOLUME}}
- Compliance: {{COMPLIANCE}}
## TASK
Design data export API:
### 1. EXPORT REQUEST
```json
POST /api/exports
{
"type": "user_data",
"format": "json",
"filters": {
"dateRange": { "start": "2024-01-01", "end": "2024-12-31" }
},
"deliveryMethod": "download"
}
```
### 2. ASYNC EXPORT FLOW
```
1. POST /api/exports -> { "exportId": "exp_123", "status": "processing" }
2. GET /api/exports/exp_123 -> { "status": "completed", "downloadUrl": "..." }
3. GET /api/exports/exp_123/download -> [file stream]
```
### 3. EXPORT FORMATS
- JSON (full fidelity)
- CSV (tabular data)
- PDF (reports)
- ZIP (multiple files)
### 4. GDPR DATA PORTABILITY
```json
POST /api/users/me/export
{
"type": "gdpr_export",
"format": "machine_readable"
}
```
### 5. SCHEDULED EXPORTS
```json
POST /api/exports/scheduled
{
"schedule": "0 0 * * 0",
"format": "csv",
"delivery": {
"type": "email",
"address": "user@example.com"
}
}
```
### 6. SECURITY
- Signed download URLs
- Expiring links
- Access controlOr press ⌘C to copy
Replace these placeholders with your own content before using the prompt.
[{DATA_TYPES][{FORMATS][{VOLUME][{COMPLIANCE]{
"type": "user_data",
"format": "json",
"filters": {
"dateRange": { "start": "2024-01-01", "end": "2024-12-31" }{ "exportId": "exp_123", "status": "processing" }{ "status": "completed", "downloadUrl": "..." }{
"type": "gdpr_export",
"format": "machine_readable"
}{
"schedule": "0 0 * * 0",
"format": "csv",
"delivery": {
"type": "email",
"address": "user@example.com"
}