# Troubleshooting

Please use our [Sandbox](/get-started/sandbox) environment to develop and test your code.

If your [private API request](/authentication/api-key#private-api-invocation) is failing, turn on debug logging so you can print out: 

- the full headers of the HTTP request that you are sending
- the HTTP status code of the response
- the full content of the HTTP response

Make sure that you are not sending the JSON as the `POST` body.

If you receive a `400` error that you are missing required data, then copy the base64 encoded string in `X-GEMINI-PAYLOAD` to a base64 decoder such as [https://www.base64decode.org/](https://www.base64decode.org/) and decode it.  Compare the decoded JSON to the documentation for the endpoint you are trying to access.

If you are receiving a `429` response, then see [Rate Limits](/rate-limit).

## Support

<aside type="warning">
If you are an institutional trader, please contact your Gemini account manager for institutional support.
</aside>

If you still have a problem then contact [trading@gemini.com](mailto:trading@gemini.com) with the following information:

1. Which environment did you try to make the request in, production or sandbox?
1. What is your API key?
1. What URL were you trying to hit?
1. What IP address did you make the request from?
1. What date and time (including time zone) did you try to make the request?

Please make sure to include:

- your HTTP request headers
- the full JSON response from the server

If you leave any of this information out, the response to your support request may be delayed.