Overview
When uploading files via the FundApps v3 API, an HTTP 400 Bad Request error usually indicates a problem with the request structure. This article outlines common causes and actionable steps to resolve such errors efficiently.
Common Causes of HTTP 400 Bad Request Errors
HTTP 400 errors typically occur due to malformed requests. Below are the most common causes specific to file uploads in the v3 API:
Missing or Incorrect Required Headers - If you are uploading an XML file, ensure the following header is included in your request:
X-FundApps-File-Format: xml/positions. A missing or incorrect header can cause the server to reject your request. Double-check that all required headers conform to our API documentation.Unnecessary Parameters in the Request URL - For XML file uploads, avoid including a snapshot date or any other unnecessary parameters in the URL. Such parameters are not required and may cause the request to be flagged as invalid.
Invalid Endpoint Path or Payload Structure - Ensure the API endpoint path and your payload structure are correct and conform to the required specifications. Refer to the API documentation to validate these elements.
Troubleshooting Checklist
Follow these steps to troubleshoot and resolve HTTP 400 errors:
Verify that all required headers are included in the request (for example,
X-FundApps-File-Format: xml/positions).Check the URL for your API request and remove any unsupported parameters, such as a snapshot date, if uploading an XML file.
Review the API documentation to ensure that the endpoint path and payload structure comply with the required specifications.
Retest the upload with the corrected request structure and validate that the error is resolved.
If you have verified all the above and still encounter issues, consult the FundApps v3 API documentation for detailed requirements. Additionally, you may contact FundApps Support via the In-App Messenger or by emailing [email protected] for further assistance. Please include details about your request, such as headers, payload, and endpoint being used.