- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am trying to export and import a dashboard using the Controller API, and using the Postman tool.
Ref export, I have this working OK:
- I created an API Client with the administrator role
- I used the Controller API with the API Client credentials to generate a Bearer Token,
https://{{controller_uri}}//controller/api/oauth/access_token
- I successfully exported a dashboard
https://{{controller_uri}}/controller/CustomDashboardImportExportServlet?dashboardId=12355
Headers:
Authorization:Bearer {{bearer_token}}
Now when I try to import a dashboard using the API, with:
- A new dashboard name that currently doesn’t exist,
- Using basic authentication (my user account which also has admin access) because the import API does not support the use of the Bearer Token (open enhancement exists: Internal story ID https://jira.corp.appdynamics.com/browse/METADATA-9305).
.. I simply get a 500 response.
What I tried is:
Method: POST
URI: https://{{controller_uri}}/controller/CustomDashboardImportExportServlet
BODY: The json of the previously exported dashboard
Content-Type: application/json
As per the documentation, I also tried using CURL and it worked:
curl -X POST --user Allister.Green@RSAGroup:<pw> https://<domain uri>/controller/CustomDashboardImportExportServlet -F file=@dashboard.json
Because the curl example uses a file, I also tried using a file with Postman instead of using the dashboard json as the message body, but this also generated a 500 response.
To use a file:
Body: form-data
KEY: file, VALUE: <filename>, CONTENT TYPE application/json
Has anyone got dashboard imports working using Postman, and if so, please can you share how.
Thanks,
Allister.
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the prompt Ryan.
I wasn't able to get the dashboard import working using Postman.
But... I was able to get it to work using Fiddler.
Method: POST
URI: https://<controller domain>/controller/CustomDashboardImportExportServlet
Header: Authorization: Basic QWxsaXN0ZXxxxxxxxxxxxxxxx
Body:
Click on “upload file” and select the json file containing the dashboard. Note it is not possible to use JSON directly as the message body.
To generate the Authorization header:
Create string: <user name>@<tenant>:<user password>
Then base 64 encode this using your tool of choice.
e.g. if using Notepad++
select the text
Plugins -> MIME Toools -> Base64 Encode
Then the header is simply:
Authorization: Basic <base64 encoded string>
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Hi @Allister.Green,
I see you ended up creating a Support ticket. Can you please share your results as a reply to this post.
Knowledge sharing is key to this community.
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the prompt Ryan.
I wasn't able to get the dashboard import working using Postman.
But... I was able to get it to work using Fiddler.
Method: POST
URI: https://<controller domain>/controller/CustomDashboardImportExportServlet
Header: Authorization: Basic QWxsaXN0ZXxxxxxxxxxxxxxxx
Body:
Click on “upload file” and select the json file containing the dashboard. Note it is not possible to use JSON directly as the message body.
To generate the Authorization header:
Create string: <user name>@<tenant>:<user password>
Then base 64 encode this using your tool of choice.
e.g. if using Notepad++
select the text
Plugins -> MIME Toools -> Base64 Encode
Then the header is simply:
Authorization: Basic <base64 encoded string>
