The error was noticed in the custom actions to update a collection, because when you click to update a record, we first make a request to our API, to check if the record exists and check some business rules. But it is any request made in the Collections Actions.
Observed behavior
When opening any custom form that has a request to an External API (our API), the following error appears on the screen: An error occurred on form load. Check your server logs for more details.
And checking the logs, it returns 403, but this 403 is not from our External API.
Expected behavior
Load the form without error.
Failure Logs
2025-06-20T21:29:04.206Z | error: [Request] GET /vessel-manufacturer/6853270ac91f7fe9a435f77d - Duration: 74ms - Error: Request failed with status code 403
2025-06-20T21:29:04.208Z | error: [500] POST /_actions/vessel_manufacturers/1/update/hooks/load - 1422ms
undefined undefined
The first call that returns 200 is from forest itself, when I call getRecordId() of the vessel_manufacturers collection. The difference is seen in the separator, forest uses _ which is the case used in collections, while the calls to my API are - becoming vessel-manufacturer, and also one is singular and the collection is plural.
The second call, we believe that the 403 error does not reach our API, since we have already debugged it on our side, with logs, and locally we do not have this problem, and it does not reach our API directly either. And one factor to be noted is that the 74ms time is very low, I believe it did not reach our infrastructure.
And the third is the form hook that from the moment it threw an exception it crashes on it. That is why it did not reach our next call, which would be getVesselTypesOptions.
The multiple ones are from the forest and another from our API, they look the same but as I mentioned above, they are different;
This problem is not only in this section, any custom action that makes a call to our API is facing this problem, there are routes that do not have authentication on our side that are 403 in the logs. Therefore, I reiterate that we believe that the problem is not in our API, as I believe it did not reach it.