Download OpenAPI specification:
insighta cloud public API for portfolio management and trading.
Service: https://insighta.cloud
All endpoints require a Bearer API key in the Authorization header:
Authorization: Bearer <your_api_key>
API keys can be issued at https://insighta.cloud/settings
Without query params: returns the caller's portfolios. With search params: searches public portfolios.
| search | string Search term for portfolio name |
| country | string Filter by country code |
| sort_by | string Sort field |
| last_item | string Pagination cursor (portfolio ID) |
{- "data": [
- {
- "id": "string",
- "name": "",
- "language": null,
- "country": null,
- "description": "",
- "type": "record",
- "items": [ ],
- "holdings": { },
- "target_return": "0.0",
- "start_date": "",
- "target_date": "",
- "is_public": 0,
- "budget": { },
- "initial_budget": { },
- "balance": { },
- "currency": "USD",
- "author": {
- "id": "string",
- "name": null,
- "is_guest": true,
- "email": null,
- "memberships": null
}, - "like_count": 0,
- "order_count": 0,
- "realized_pnl": "0.0",
- "is_alarm_enabled": null,
- "metrics": null,
- "settings": {
- "allow_decimal_quantities": false,
- "decimal_quantity_places": 2,
- "hide_amount_details": false,
- "show_transaction_history": true,
- "show_comments": true,
- "show_account_balance": true,
- "allow_comments": true,
- "realistic_trade": true
}, - "stage": "ACTIVE",
- "archived": false,
- "created_at": "",
- "last_updated_at": "",
- "memo": null
}
]
}| name required | string Portfolio name |
| type required | string Enum: "simulation" "record" Portfolio type |
| currency required | string Enum: "USD" "KRW" "JPY" Base currency |
| budget required | number Initial budget amount |
| description | string Default: "" |
| target_return | number Default: 0 |
| target_date | string Default: "" |
Array of objects | |
| settings | object |
| stage | string Default: "ACTIVE" Enum: "DRAFT" "ACTIVE" Portfolio stage |
| archived | boolean Default: false Whether the portfolio is archived |
{- "name": "string",
- "type": "simulation",
- "currency": "USD",
- "budget": 0,
- "description": "",
- "target_return": 0,
- "target_date": "",
- "items": [
- {
- "ticker": "string",
- "type": "stock",
- "price": 0,
- "quantity": 0,
- "ratio": 0
}
], - "settings": { },
- "stage": "DRAFT",
- "archived": false
}{- "data": {
- "portfolio_id": "string",
- "result": "string"
}
}Returns performance metrics history.
Valid metrics: twr, target_twr, mwr, target_mwr.
| portfolio_id required | string |
| metrics required | string Comma-separated metrics (twr,mwr,target_twr,target_mwr) |
| from_t | integer Start timestamp (unix epoch) |
| to_t | integer End timestamp (unix epoch) |
{- "data": {
- "items": [
- {
- "t": 0,
- "twr": 0,
- "target_twr": 0,
- "mwr": 0,
- "target_mwr": 0
}
]
}
}Update an existing portfolio. Only provided fields are updated.
| portfolio_id required | string |
| name | string |
| description | string |
Array of objects | |
| target_return | number |
| target_date | string <date> |
| is_public | boolean |
{- "name": "string",
- "description": "string",
- "items": [
- {
- "ticker": "string",
- "type": "stock",
- "price": 0,
- "quantity": 0,
- "ratio": 0
}
], - "target_return": 0,
- "target_date": "2019-08-24",
- "is_public": true
}{- "data": {
- "portfolio_id": "string",
- "result": "string"
}
}Retrieve orders by order_ids or portfolio_id.
Use either order_ids or portfolio_id, not both.
| order_ids | string Comma-separated order IDs |
| portfolio_id | string Portfolio ID to filter orders |
| start_date | string Start date filter |
| end_date | string End date filter |
| status | string Order status filter |
| limit | integer Max number of results |
| cursor | string Pagination cursor |
{- "data": [
- {
- "id": "string",
- "ticker": "string",
- "price": 0,
- "currency": "string",
- "timestamp": null,
- "quantity": 0,
- "price_type": "string"
}
]
}Submit a trade order to update portfolio holdings.
| portfolio_id required | string (Portfolio Id) |
required | Array of objects (Items) |
| currency | string or null (Currency) Default: null |
| payment_currency | string or null (Payment Currency) Default: null |
| custom_exchange_rate | number or null (Custom Exchange Rate) Default: null |
| is_custom_exchange_rate | boolean or null (Is Custom Exchange Rate) Default: false |
| memo | string or null (Memo) Default: null |
Array of objects or null (Cash Deposits) Default: null |
{- "portfolio_id": "string",
- "items": [
- {
- "id": "string",
- "ticker": "string",
- "price": 0,
- "currency": "string",
- "timestamp": null,
- "quantity": 0,
- "price_type": "string"
}
], - "currency": null,
- "payment_currency": null,
- "custom_exchange_rate": null,
- "is_custom_exchange_rate": false,
- "memo": null,
- "cash_deposits": null
}{- "message": "string"
}Retrieve recent news articles and social media reactions including government agency publications.
| period required | integer [ 1 .. 3 ] Day range (1-3) |
| source_type | string Enum: "NEWS" "SNS" Filter by source type |
| min_urgency | integer [ 1 .. 5 ] Default: 4 Minimum urgency level (1-5) |
{- "data": {
- "data": [
- {
- "title": "string",
- "content": "string",
- "source_name": "string",
- "urgency_level": 0,
- "created_at": "string",
- "tickers": [
- "string"
]
}
]
}
}Search for power players and deep-dive companies by keyword (English only).
| keyword required | string Search keyword (English only) |
{- "data": {
- "total": 0,
- "results": [
- {
- "id": "string",
- "type": "power-player",
- "name": "string",
- "company_name": "string",
- "tickers": [
- "string"
]
}
]
}
}Get a presigned S3 URL to upload an image file.
| filename required | string File name for the upload |
| content_type | string Default: "image/png" MIME type of the file |
{- "data": {
- "upload_url": "string",
- "file_key": "string"
}
}Analyze uploaded images using AI with a custom prompt.
| files required | Array of strings File keys returned from upload URL endpoint |
| prompt required | string Analysis prompt for the AI |
{- "files": [
- "string"
], - "prompt": "string"
}{- "data": { }
}Send a single message and receive a synchronous response. Each call is independent (no persistent session). Usage limits apply.
| message required | string The user message text |
| room_id | string Optional chat room ID |
Array of objects Optional conversation history |
{- "message": "string",
- "room_id": "string",
- "last_messages": [
- {
- "role": "user",
- "content": [
- {
- "text": "string"
}
]
}
]
}{- "message_id": "string",
- "reply": "string",
- "session_id": "string"
}