Slackbot
09/22/2025, 11:34 AMkapa.ai
09/22/2025, 11:34 AMcurl -X POST -H "Authorization: Bearer $API_TOKEN" \ -H "Content-type: application/vnd.gooddata.api+json" \ "$HOST_URL/api/v1/entities/cspDirectives" \ -d '{ "data": { "id": "frame-ancestors", "type": "cspDirective", "attributes": { "sources": [ "'self'", "<http://angular.local>" ] } } }' You can list current directives to verify what’s actually stored and remove a problematic one if needed: - GET /api/v1/entities/cspDirectives - DELETE /api/v1/entities/cspDirectives/frame-ancestors [[Enable CSP](https://www.gooddata.com/docs/cloud/manage-organization/set-up-csp-for-organization/); [Slack thread](https://gooddataconnect.slack.com/archives/C04S1MSLEAW/p1724965344889679?thread_ts=1724965344.889679&cid=C04S1MSLEAW)] Extra checks - If you previously removed CSP due to earlier issues, adding frame-ancestors with 'self' has been confirmed to fix embedding errors. [[Slack thread](https://gooddataconnect.slack.com/archives/C04S1MSLEAW/p1721333506058649?thread_ts=1721333506.058649&cid=C04S1MSLEAW)] - Ensure you are editing the organization’s CSP where your embedded dashboards are served. [[Enable CSP](https://www.gooddata.com/docs/cloud/manage-organization/set-up-csp-for-organization/)] If after correcting the directive you still see 'none' in the browser, it usually means: - Another layer (proxy/CDN) injects/overrides CSP headers; or - The directive wasn’t saved as intended (check with the GET endpoint). Let me know what your GET /cspDirectives returns and the exact parent page URL you embed from, and I can help validate the final sources string.