Copy dashboard to another account

Dashboards created in Insights can be copied with the API in a somewhat clumsy manner to another subaccount. I tried this for a dashboard created with NR one, but it seems not to be possible. The dashboard even isn’t listed when using the list-API for dashboards https://api.newrelic.com/v2/dashboards.json This returns an empty list.

What is the proper way to distribute a NR one dashboard into several subaccounts? At the moment I only see the option to create the dashboards from scratch and copy the queries manually. But this is not possible, if you have a big number of subaccounts.

I’m grateful for any hint.

Best regards
Wolfgang

Hi @wkiNewRelic - First thing I always check is that I have the correct API key for the correct accounts. I also go through the extracted dashboard and delete the ui_url value, delete the widget_id values and delete the account_id values.

Hi @stefan_garnham,

thanks for the hint, but I selected the admin rest key from the dropdown, it should be correct. Strange thing is also, that if I go to the Insights UI for this account and select ‘All daashboards’, it is not listed. But in NR one dashboards I find it for the correct account.

That is odd. Hopefully someone from support can provide more information.

Hi Wolfgang!

Something here seems odd - you should absolutely see New Relic One created dashboards in the API list endpoint you linked to… In fact I created a dashboard within New Relic One just a few minutes ago and it is available in the List API (see API Response below)

{
  "dashboards": [
    {
      "id": 1218438,
      "title": "New Relic One Dashboard",
      "description": "",
      "icon": "bar-chart",
      "created_at": "2020-05-27T09:08:03Z",
      "updated_at": "2020-05-27T09:10:01Z",
      "visibility": "all",
      "editable": "editable_by_all",
      "ui_url": "https://insights.newrelic.com/accounts/1133910/dashboards/1218438",
      "api_url": "https://api.newrelic.com/v2/dashboards/1218438",
      "owner_email": "Ryans email address",
      "filter": {
        "event_types": [
          "SyntheticCheck"
        ],
        "attributes": []
      }
    }
  ]
}

I can then take that Dashboard ID into the Dashboard Show endpoint which returns the full dashboard JSON.

Using that I can create the same dashboard in any account I have admin API access to.

I won’t go into all of the detail of the grid_column_count, since my colleague Jeffrey did that over here. But that attribute should help you improve compatibility between the Dashboards API and New Relic One Dashboards (since Insights had a max column width of 3 widgets, and NR1 has 12)…


Something I’d like to double/triple check is you are using the right API key as suggested by Stefan? In New Relic One there’s less focus on accounts, as it’s one UI for everything in every account you have access to. So it’s possible the dashboard you are trying to get is not on the account you are using an API key from.

You can find the account that a dashboard belongs to by hitting the gear icon on the dashboard in New Relic One.

Can you confirm you have the right API key for that account?

If you do and you still don’t see the dashboard in the API, there may be a deeper issue to investigate.

1 Like

Hi @RyanVeitch,

the account is correct. But I found out something else: This dashboard in NR one consists in fact of 2 dashboards and in Insights it appears as data app. But this means I cannot extract the json for the single dashboards and cannot import this in another account. Or is there a way to copy a data app?

Hmm, that makes more sense. I don’t believe there is currently a way to pull data apps, or pages within them via the API.

I know there is ongoing work on a Dashboards GraphQL API endpoint, which may contain a way to handle this in Data Apps.

I’ll get this logged as a feature request for you against that GraphQL API.

1 Like