Overview
Report Cards provide structured performance reviews for specific time periods. Document what went well, areas for improvement, and lessons learned.
Period types:
daily— Daily trading reviewsweekly— Weekly performance analysismonthly— Monthly trading summaries
Features:
- Multi-format content support
- Timezone-aware date ranges
- Account category filtering
- Media URL extraction
List report cards
Endpoint: GET /api/v1/report-cards
Query parameters
Example
curl "https://app.mypropjournal.com/api/v1/report-cards?period_type=daily&start_date=2026-05-01" \
-H "Authorization: Bearer mpj_your_api_key_here"
Example response
{
"data": [
{
"id": "abc-123",
"period_type": "daily",
"start_date": "2026-05-13",
"end_date": "2026-05-13",
"timezone": "America/New_York",
"account_category": "prop",
"content": { ... },
"content_html": "<h2>Daily Review</h2>...",
"content_markdown": "## Daily Review\n...",
"created_at": "2026-05-13T18:00:00Z"
}
],
"pagination": {
"total": 45,
"limit": 20,
"offset": 0,
"has_more": true
}
}
Get single report card
Endpoint: GET /api/v1/report-cards/{id}
curl "https://app.mypropjournal.com/api/v1/report-cards/abc-123?format=markdown&include_media=true" \
-H "Authorization: Bearer mpj_your_api_key_here"
Create report card
Endpoint: POST /api/v1/report-cards
Request body
Example
await fetch('https://app.mypropjournal.com/api/v1/report-cards', {
method: 'POST',
headers: {
'Authorization': 'Bearer mpj_your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
period_type: 'daily',
start_date: '2026-05-13',
end_date: '2026-05-13',
timezone: 'America/New_York',
account_category: 'prop',
content_markdown: `# Daily Review - May 13, 2026
**Performance:**
- P/L: +$450
- Trades: 3 wins, 1 loss
- Win Rate: 75%
**What Went Well:**
✅ Followed my plan exactly
✅ Took profits at planned targets
✅ Stopped trading after hitting daily goal
**Areas for Improvement:**
⚠️ Hesitated on the first setup (fear)
⚠️ Could have sized up on high-probability trade
**Lessons Learned:**
Trust the process. The first trade of the day is often the best.
**Tomorrow's Focus:**
- Execute first setup without hesitation
- Consider scaling position size on A+ setups
`
})
});
Update report card
Endpoint: PUT /api/v1/report-cards/{id}
curl -X PUT "https://app.mypropjournal.com/api/v1/report-cards/abc-123" \
-H "Authorization: Bearer mpj_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"content_markdown": "# Updated Review\n\nAdditional insights..."
}'
Delete report card
Endpoint: DELETE /api/v1/report-cards/{id}
curl -X DELETE "https://app.mypropjournal.com/api/v1/report-cards/abc-123" \
-H "Authorization: Bearer mpj_your_api_key_here"
Use cases
Weekly performance summary
import requests
from datetime import datetime, timedelta
def generate_weekly_summary(api_key):
"""Generate a comprehensive weekly review"""
# Get all daily report cards from last week
end_date = datetime.now()
start_date = end_date - timedelta(days=7)
response = requests.get(
'https://app.mypropjournal.com/api/v1/report-cards',
headers={'Authorization': f'Bearer {api_key}'},
params={
'period_type': 'daily',
'start_date': start_date.isoformat(),
'end_date': end_date.isoformat(),
'format': 'markdown'
}
)
daily_cards = response.json()['data']
# Compile weekly summary
summary = f"# Weekly Summary ({start_date:%Y-%m-%d} to {end_date:%Y-%m-%d})\n\n"
summary += f"## Daily Reviews\n\n"
for card in daily_cards:
summary += f"### {card['start_date']}\n\n"
summary += f"{card['content']}\n\n---\n\n"
# Create weekly report card
weekly_response = requests.post(
'https://app.mypropjournal.com/api/v1/report-cards',
headers={'Authorization': f'Bearer {api_key}', 'Content-Type': 'application/json'},
json={
'period_type': 'weekly',
'start_date': start_date.isoformat(),
'end_date': end_date.isoformat(),
'content_markdown': summary
}
)
return weekly_response.json()
weekly_summary = generate_weekly_summary('mpj_your_key')
print(f"Created weekly summary: {weekly_summary['data']['id']}")
Next steps
- Content Formats — Multi-format content and media extraction
- Performance — Get quantitative metrics
- Trades — Review trades within report period