Skip to main content
POST
/
api
/
portfolio
/
refresh-prices
Refresh Portfolio Prices
curl --request POST \
  --url https://api.example.com/api/portfolio/refresh-prices
{
  "success": true,
  "updated_count": 123,
  "errors": [
    {}
  ]
}

Endpoint

POST /api/portfolio/refresh-prices

Description

Fetches the latest market prices from Finnhub API for all holdings in the user’s portfolio.

Authentication

Requires OAuth 2.0 authentication via session cookies.

Rate Limiting

The free Finnhub API tier allows 60 requests per minute. The application intelligently manages API requests to stay within these limits.

Response

success
boolean
required
Indicates if the refresh was successful
updated_count
number
Number of holdings successfully updated
errors
array
List of any errors encountered during refresh

Example

curl -X POST https://your-domain.com/api/portfolio/refresh-prices \
  -H "Cookie: session=your_session_cookie"

Response Example

Success
{
  "success": true,
  "updated_count": 5,
  "message": "Successfully updated prices for 5 holdings"
}
Partial Success
{
  "success": true,
  "updated_count": 4,
  "errors": [
    {
      "symbol": "INVALID",
      "error": "Symbol not found"
    }
  ]
}
Error
{
  "success": false,
  "error": "Finnhub API key not configured"
}

Notes

  • Prices are automatically refreshed when viewing the portfolio page if last update was >15 minutes ago
  • Use this endpoint to manually force a refresh at any time
  • Mutual fund prices may be delayed 15-30 minutes