---
title: "Error Messages"
description: "400 and 500 status messages."
url: "https://developer-beta.morningstar.com/investment-details-feed-api/error-messages"
image: "https://developer-beta.morningstar.com/_og/d/c_Ocean.takumi,title_~RXJyb3IgTWVzc2FnZXN8IEludmVzdG1lbnQgRGV0YWlscyBCYXRjaCBBUEk,description_400+and+500+status+messages.,props_eyJ0aGVtZSI6eyJtb2RlIjoibGlnaHQiLCJjb2xvcnMiOnsicHJpbWFyeSI6IiMwMDAwMDAifX19,p_Ii9pbnZlc3RtZW50LWRldGFpbHMtZmVlZC1hcGkvZXJyb3ItbWVzc2FnZXMi,s_QwDRYgGCHmrZPJlj.png"
---

-   [APIs](https://developer-beta.morningstar.com/apis)
-   [API Catalog](https://developer-beta.morningstar.com/api-catalog)
-   [API Assistant MCP Server](https://developer-beta.morningstar.com/api-assistant-mcp)
-   [Guides](https://developer-beta.morningstar.com/api-guides)
-   [Trial Access](https://developer-beta.morningstar.com/trial-access)

# Investment Details Feed API

Get detailed profile data for up to 250 investments in a single request, drawing on Morningstar's fundamental, reference, and historical data..

# Error Messages

[View Markdown](https://developer-beta.morningstar.com/investment-details-feed-api/error-messages.md)[Download Markdown](https://developer-beta.morningstar.com/investment-details-feed-api/error-messages.md)

This page lists the error messages returned by the Investment Details Batch API.

## [400 - Bad Request](#_400-bad-request)

| statusCode | errorCode                      | message                                                                          | Notes |
| :--------- | :----------------------------- | :------------------------------------------------------------------------------- | :---- |
| 400        | 400.investmentDetailsAsync.001 | The {0} parameter is required.                                                   |       |
| 400        | 400.investmentDetailsAsync.002 | The input id does not match the specified idType.                                |       |
| 400        | 400.investmentDetailsAsync.003 | The input idType is not recognized. Please input a valid value.                  |       |
| 400        | 400.investmentDetailsAsync.010 | The startDate value cannot be later than the endDate value. Please input a valid value. |       |
| 400        | 400.investmentDetailsAsync.011 | Invalid date format.                                                             |       |
| 400        | 400.investmentDetailsAsync.012 | Request header Prefer:Respond-Async passed in request. Please remove header and resend request. |       |
| 400        | 400.investmentDetailsAsync.013 | The Prefer header is required.                                                   |       |
| 400        | 400.investmentDetailsAsync.019 | The following view: {0} must be submitted individually and cannot be combined with other views in the request. |       |
| 400        | 400.investmentDetailsAsync.020 | Invalid source input for {0}                                                     |       |
| 400        | 400.investmentDetailsAsync.021 | The input {0} value is not recognized. Please input a valid value.               |       |
| 400        | 400.investmentDetailsAsync.022 | The Unknown universe Parameter {0}.                                              |       |
| 400        | 400.investmentDetailsAsync.023 | Invalid value for 'holdingsView'. Valid values are: 'full', 'top10', 'top25'.    |       |
| 400        | 400.investmentDetailsAsync.024 | Invalid value for 'holdingsView'. Valid values are: '10', '25', 'full'.          |       |
| 400        | 400.investmentDetailsAsync.025 | Invalid value for 'frequency'. Valid values are: 'd' (daily), 'm' (monthly).     |       |
| 400        | 400.investmentDetailsAsync.026 | Maximum number of dates exceeded. A maximum of 10 dates can be passed in the 'dates' array. |       |
| 400        | 400.investmentDetailsAsync.027 | The 'dates' array cannot contain empty or null values.                           |       |
| 400        | 400.investmentDetailsAsync.028 | Invalid value for 'holdingsView' in full-look-through view. Valid values are: 'full', 'top25'. |       |
| 400        | 400.investmentDetailsAsync.029 | Invalid value for 'type'. Valid values are: 'mostRecent', 'timeSeries', 'staticDates'. |       |
| 400        | 400.investmentDetailsAsync.030 | The {0} parameter is required.                                                   |       |
| 400        | 400.investmentDetailsAsync.031 | The input {0} value is not recognized. Please input a valid value.               |       |
| 400        | 400.investmentDetailsAsync.032 | Invalid date format. Dates must be formatted as YYYY-MM-DD.                      |       |
| 400        | 400.investmentDetailsAsync.033 | Invalid delta date format. Dates must be ISO 8601 UTC format, e.g. 2025-02-07T19:06:55Z. |       |
| 400        | 400.investmentDetailsAsync.034 | The deltaStartTime value cannot be later than the deltaEndTime value. Please input a valid value. |       |
| 400        | 400.investmentDetailsAsync.035 | The startDate/endDate parameters are not valid for most recent dataset or package. |       |
| 400        | 400.investmentDetailsAsync.037 | Invalid input type.                                                              |       |
| 400        | 400.investmentDetailsAsync.038 | The investmentListId '{0}' is not valid.                                         |       |
| 400        | 400.investmentDetailsAsync.041 | No datasets found for the authenticated user.                                    |       |
| 400        | 400.investmentDetailsAsync.043 | The investment list '{0}' resolved to an empty list.                             |       |
| 400        | 400.investmentDetailsAsync.044 | At least one of investments, views, or investmentListId must be provided.        |       |
| 400        | 400.investmentDetailsAsync.045 | No datapoints specified. Provide views.                                          |       |
| 400        | 400.investmentDetailsAsync.046 | No investments specified. Provide investments or an investmentListId.            |       |
| 400        | 400.investmentDetailsAsync.047 | Cannot provide conflicting datapoint sources in the same request. Use views only. |       |
| 400        | 400.investmentDetailsAsync.048 | Cannot provide both investments and investmentListId in the same request. Use either investments or investmentListId as the investment source. |       |
| 400        | 400.investmentDetailsAsync.049 | The viewType '{0}' is not valid. Allowed values are: package, dataset, DDADataset. |       |

## [403 - Forbidden](#_403-forbidden)

| statusCode | errorCode                      | message                                  | Notes |
| :--------- | :----------------------------- | :--------------------------------------- | :---- |
| 403        | 403.investmentDetailsAsync.039 | Access to investment lists is forbidden. |       |
| 403        | 403.investmentDetailsAsync.042 | Access to datasets is forbidden.         |       |
| 403        | 403.investmentDetailsAsync.052 | Access to document is forbidden.         |       |

## [404 - Not Found](#_404-not-found)

| statusCode | errorCode                      | message             | Notes |
| :--------- | :----------------------------- | :------------------ | :---- |
| 404        | 404.investmentDetailsAsync.051 | Document not found. |       |

## [413 - Payload Too Large](#_413-payload-too-large)

| statusCode | errorCode                      | message                                                                          | Notes |
| :--------- | :----------------------------- | :------------------------------------------------------------------------------- | :---- |
| 413        | 413.investmentDetailsAsync.005 | Response payload is too large.                                                   |       |
| 413        | 413.investmentDetailsAsync.007 | Maximum number of securities exceeded. A maximum of 250 securities can be passed in a single request. |       |
| 413        | 413.investmentDetailsAsync.008 | Maximum number of view Ids exceeded. A maximum of 3 viewIds can be passed in a single request. |       |
| 413        | 413.investmentDetailsAsync.009 | Maximum number of months exceeded. Maximum number of months between startDate and endDate is 60. |       |
| 413        | 413.investmentDetailsAsync.050 | Maximum number of investments exceeded. A maximum of 100 investments can be passed in a single request. |       |

## [503 - Service Unavailable](#_503-service-unavailable)

| statusCode | errorCode                      | message                                   | Notes |
| :--------- | :----------------------------- | :---------------------------------------- | :---- |
| 503        | 503.investmentDetailsAsync.040 | Upstream service temporarily unavailable. |       |