title: Passing a dictionary key value in payload for a python request API
body: <p>I am trying to create a script for an API request for a vmware application. I need to pass a variable from a dictionary in payload . </p>
  
  <p>Here is the code which was able to develop from postman and output is taken as "python requests" :- </p>
  
  <pre><code>import requests
  url = "url@domain/api-path"
  payload = "{\r\n  \"name\" : \"VC Adapter Instance\",\r\n  \"description\" : \"A vCenter Adapter Instance\",\r\n  \"collectorId\" : \"1\",\r\n  \"adapterKindKey\" : \"VMWARE\",\r\n  \"resourceIdentifiers\" : [ {\r\n    \"name\" : \"AUTODISCOVERY\",\r\n    \"value\" : \"true\"\r\n  }, {\r\n    \"name\" : \"PROCESSCHANGEEVENTS\",\r\n    \"value\" : \"true\"\r\n  }, {\r\n    \"name\" : \"VCURL\",\r\n    \"value\" : \"vcenter_name\" \r\n  } ],\r\n  \"credential\" : {\r\n    \"id\" : null,\r\n    \"name\" : \"Added Credential\",  \r\n    \"adapterKindKey\" : \"VMWARE\",\r\n    \"credentialKindKey\" : \"PRINCIPALCREDENTIAL\",\r\n    \"fields\" : [ {\r\n      \"name\" : \"USER\",\r\n      \"value\" : \"administrator@vsphere.local\" \r\n    }, {\r\n      \"name\" : \"PASSWORD\",\r\n      \"value\" : \"Hidden-Password \" \r\n    } ],\r\n    \"others\" : [ ],\r\n    \"otherAttributes\" : { }\r\n  },\r\n  \"monitoringInterval\" : 1,\r\n  \"others\" : [ ],\r\n  \"otherAttributes\" : { }\r\n}\r\n"
  headers = {
    'Accept': 'application/json',
    'Authorization': 'Hidden Token',
    'Content-Type': 'application/json'
  }
  response = requests.request("POST", url, headers=headers, data = payload)
  print(response.text.encode('utf8'))
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/LGJKc.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/LGJKc.png" alt="enter image description here"></a></p>
  
  <p>However I need I want to pass the highlighted vcenter_name as a dictionary value something like this:- </p>
  
  <pre><code>import requests
  url = "url@domain/api-path"
  Inputs = {‘vcenterkey’ : ‘vcenter_name’}
  
  payload = "{\r\n  \"name\" : \"VC Adapter Instance\",\r\n  \"description\" : \"A vCenter Adapter Instance\",\r\n  \"collectorId\" : \"1\",\r\n  \"adapterKindKey\" : \"VMWARE\",\r\n  \"resourceIdentifiers\" : [ {\r\n    \"name\" : \"AUTODISCOVERY\",\r\n    \"value\" : \"true\"\r\n  }, {\r\n    \"name\" : \"PROCESSCHANGEEVENTS\",\r\n    \"value\" : \"true\"\r\n  }, {\r\n    \"name\" : \"VCURL\",\r\n    \"value\" : \"inputs[‘vcenterkey’] \" \r\n  } ],\r\n  \"credential\" : {\r\n    \"id\" : null,\r\n    \"name\" : \"Added Credential\",  \r\n    \"adapterKindKey\" : \"VMWARE\",\r\n    \"credentialKindKey\" : \"PRINCIPALCREDENTIAL\",\r\n    \"fields\" : [ {\r\n      \"name\" : \"USER\",\r\n      \"value\" : \"administrator@vsphere.local\" \r\n    }, {\r\n      \"name\" : \"PASSWORD\",\r\n      \"value\" : \"Hidden-Password \" \r\n    } ],\r\n    \"others\" : [ ],\r\n    \"otherAttributes\" : { }\r\n  },\r\n  \"monitoringInterval\" : 1,\r\n  \"others\" : [ ],\r\n  \"otherAttributes\" : { }\r\n}\r\n"
  headers = {
    'Accept': 'application/json',
    'Authorization': 'Hidden Token',
    'Content-Type': 'application/json'
  }
  response = requests.request("POST", url, headers=headers, data = payload)
  print(response.text.encode('utf8')
  </code></pre>
  
  <p>)</p>
  
  <p><a href="https://i.stack.imgur.com/H5oiJ.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/H5oiJ.png" alt="enter image description here"></a></p>
  
  <p>Attaching screen shots for reference.  </p>
  
  <p>After adding inputs[‘vcenterkey’] in the payload , instead of the value in vcenter_name i am getting the exact  `inputs[‘vcenterkey’] displayed in the payload which causes the API to fail in the script. </p>