Overview
Strategies define your trading approaches with detailed rules and explanations. Each strategy can include rich text content describing the setup, entry/exit criteria, and risk management.
Strategy types:
entry— Entry strategiesexit— Exit strategiestrade_management— Position management approachesrisk_management— Risk control methods
Features:
- Multi-format content support
- Strategy rules with categories
- Full-text search
- Filterable by type
List strategies
Endpoint: GET /api/v1/strategies
Query parameters
Example
curl "https://app.mypropjournal.com/api/v1/strategies?type=entry&format=markdown" \
-H "Authorization: Bearer mpj_your_api_key_here"
Example response
{
"data": [
{
"id": "abc-123",
"title": "Momentum Breakout",
"description": "Trade breakouts with volume confirmation",
"type": "entry",
"content": "# Strategy Overview\n\nLook for price breaking key levels...",
"strategy_rules": [
{
"id": "rule-1",
"description": "Price breaks above resistance",
"category": "entry",
"sort_order": 1
}
],
"created_at": "2026-01-15T10:00:00Z"
}
],
"pagination": {
"page": 1,
"limit": 50,
"total": 12,
"totalPages": 1
}
}
Get single strategy
Endpoint: GET /api/v1/strategies/{id}
curl "https://app.mypropjournal.com/api/v1/strategies/abc-123?include_media=true" \
-H "Authorization: Bearer mpj_your_api_key_here"
Create strategy
Endpoint: POST /api/v1/strategies
Request body
Example
await fetch('https://app.mypropjournal.com/api/v1/strategies', {
method: 'POST',
headers: {
'Authorization': 'Bearer mpj_your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
title: 'First Red Day',
type: 'entry',
description: 'Buy first red day after strong uptrend',
content_markdown: `# First Red Day Strategy
**Entry Rules:**
1. Stock in confirmed uptrend (above 50 MA)
2. First red day after 3+ green days
3. Volume below average (no panic selling)
4. Enter near previous day's close
**Risk Management:**
- Stop below the low of the red day
- Risk no more than 1% of account
`
})
});
Update strategy
Endpoint: PUT /api/v1/strategies/{id}
curl -X PUT "https://app.mypropjournal.com/api/v1/strategies/abc-123" \
-H "Authorization: Bearer mpj_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"title": "Updated: First Red Day",
"content_markdown": "# Updated Strategy\n\nAdded volume confirmation..."
}'
Delete strategy
Endpoint: DELETE /api/v1/strategies/{id}
Cascade Delete Warning
Deleting a strategy will permanently cascade delete the following related data:
- All strategy rules associated with this strategy
- All playbook associations linking this strategy to playbooks
Additionally, these references will be set to null (not deleted):
- Any trades using this strategy
- Any chart books linked to this strategy
This action cannot be undone. The API response will include warnings about what data was affected.
curl -X DELETE "https://app.mypropjournal.com/api/v1/strategies/abc-123" \
-H "Authorization: Bearer mpj_your_api_key_here"
Use cases
Export strategy playbook
import requests
def export_all_strategies(api_key):
"""Export all strategies as a formatted playbook"""
response = requests.get(
'https://app.mypropjournal.com/api/v1/strategies',
headers={'Authorization': f'Bearer {api_key}'},
params={'format': 'markdown', 'limit': 100}
)
strategies = response.json()['data']
# Group by type
playbook = {}
for strategy in strategies:
type_name = strategy['type'].replace('_', ' ').title()
if type_name not in playbook:
playbook[type_name] = []
playbook[type_name].append(strategy)
# Format as document
document = "# Trading Playbook\n\n"
for type_name, strategies in playbook.items():
document += f"## {type_name}\n\n"
for strategy in strategies:
document += f"### {strategy['title']}\n\n"
document += f"{strategy['content']}\n\n"
return document
playbook = export_all_strategies('mpj_your_key')
with open('playbook.md', 'w') as f:
f.write(playbook)
Next steps
- Playbooks — Organize strategies into playbooks
- Content Formats — Multi-format content details