This depends on what you are trying to achieve. GoodData uses 3 basic entities
• metric
• insight (a chart or a table)
• dashboard
All of them can be created from the UI or using declarative APIs.
If you want to create custom dashboard (meaning not to use our dashboard, but your own custom code), then you can embed GD insights into such a code using Web components or React SDK.
If your goal is to programatically control our dashboards from Web components, I think that is not possible.