Journal action JSON shape
Share this page URL with an AI assistant to generate importable JSON for EndureTrade journal actions. Import from the web app using a JSON file or pasted text.
Canonical URL: https://www.enduretrade.com/docs/actions/import
Field reference
| Field | Type | Required | Notes |
|---|---|---|---|
| id | string (uuid) | No | If provided and matches an existing action, updates that row; otherwise ignored on create |
| name | string | Yes | Button label shown in the extension |
| site | string | Yes | Must match an extension enabled-site pattern exactly (e.g. *.tradingview.com) |
| location | string | Yes | "openPosition" | "closePosition" | "toolbar" |
| action | string | Yes | "fillData" | "fillFromHistory" | "click" |
| iconId | string | No | Defaults to "play". See extension icon ids in the web app action form. |
| content | object | No | Action-type-specific JSON. See /docs/actions/[actionType] for content examples. |
| enabled | boolean | No | Defaults to true |
| sortOrder | integer | No | Defaults to 0; lower values appear first |
Example JSON
Payload may be a single object or an array of objects. All items are validated before any import writes.
[
{
"name": "From position",
"site": "*.tradingview.com",
"location": "openPosition",
"action": "fillData",
"iconId": "play",
"content": {
"entryPrice": "[data-account-manager-page-id=\"positions\"] td[data-label=\"Avg Fill Price\"]",
"direction": {
"selector": "td[data-label=\"Side\"]",
"map": {
"buy": "long",
"sell": "short"
}
}
},
"enabled": true,
"sortOrder": 0
}
]Import rules
When id matches an existing record you own, that record is updated. When id is missing or does not match, a new record is created and any foreign id is ignored. Read-only fields such as userId and timestamps are ignored if present in export files.