- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Team,
With recent release (4.5) we see "API Client" through which we can pull metric data via POST API.
Even though we have documentation available at https://docs.appdynamics.com/display/PRO45/API+Clients
But I have not been able to execute it successully, so thought to check with you.
In below code, we have API Client named 'test21' and Account i am taking by default that is customer1.
Appreciate your help.
geturl = 'https://'+ControllerPort+'/controller/api/oauth/access_token'
client_secret = '<<Secret_Copied>>'
data = {'grant_type': 'client_credentials','Content-Type': 'application/vnd.appd.cntrl+protobuf;v=1'}
access_token_response = requests.post(geturl, data=data, verify=False, allow_redirects=False, auth=('test21@customer1', client_secret))
print(access_token_response.text)
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Just realized this thread i raised did not have any solution marked.
I accomplished so sharing for broader community.
replace 'token' with big token string without quotes in the headers.
################
import requests
headers = {
'Authorization': 'Bearer token',
}
# Sample Query to fetch all applications
response = requests.get('https://<<CONTROLLERHOST>>:8181/controller/rest/applications', headers=headers, verify=False)
print(response.text) # OR response.content
################
Either you use Token directly like above, OR you can get token generated from secret of API Client like below:
curl -k -X POST -H "Content-Type: application/vnd.appd.cntrl+protobuf;v=1" "https://<<CONTROLLER:8181/controller/api/oauth/access_token " -d “grant_type=client_credentials&client_id=XYZ@customer1&client_secret=4c45*****801”
Regards,
VVS
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Any Updates or Response?
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Vaibhav
I am able to run this succcessfully. See the below command for your referance.
curl -H "Authorization:Bearer Authkey "https://controller.appdynamics.com/controller/rest/applications"
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for confirming the same.
Could you please share your python code snippet?...
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi vaibhav
I did not develop any python code...if you can share your full code i can test with my controller and get back to you.
cheers
Umer
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You said you were able to extract, so was curious.
Even curl is not working for me which you mentioned.please elaborate that part of you can.
Appreciate it.
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Do you have time for quick webex?
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Others,
Any help on above?
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok lets take one step back.
the command I tested is curl -H "Authorization:Bearer Authkey "https://controller.appdynamics.com/controller/rest/applications"
so when you create a API client from Adminstartion tab then make sure you use access token not the client secret
Under the roles I tried with Admin not sure which role you are trying but I am not saying that it should be an admin
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I tried above it is working (no issue with my setup)
My query is how to use secreta nd create token and use that for subsequent multiple REST API calls.
Regards,
Vaibhav
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Just realized this thread i raised did not have any solution marked.
I accomplished so sharing for broader community.
replace 'token' with big token string without quotes in the headers.
################
import requests
headers = {
'Authorization': 'Bearer token',
}
# Sample Query to fetch all applications
response = requests.get('https://<<CONTROLLERHOST>>:8181/controller/rest/applications', headers=headers, verify=False)
print(response.text) # OR response.content
################
Either you use Token directly like above, OR you can get token generated from secret of API Client like below:
curl -k -X POST -H "Content-Type: application/vnd.appd.cntrl+protobuf;v=1" "https://<<CONTROLLER:8181/controller/api/oauth/access_token " -d “grant_type=client_credentials&client_id=XYZ@customer1&client_secret=4c45*****801”
Regards,
VVS
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
To generate temporary access token using python, you can use request library of python .
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Hi, @keshav.Swami
Thanks for sharing that information. This is a peer-to-peer community, so helping others is key to the community's success
