Inspect Backend Headers:
Verify what Cache-Control response headers your backend service is returning. If they include no-cache or similar, CloudFront will not cache the responses.
API Gateway Method Response Headers:
Even in proxy integration, you can map custom headers in the Method Response. Ensure you explicitly set cache-friendly headers like:
Cache-Control: public, max-age=3600
Check Cache Key Settings:
Ensure that API Gateway's Caching Keys are configured correctly to include the parameters you want to cache (e.g., query strings, headers).
Also while calling this API, make sure you are not sending cache-control: no-cache or similar request headers