VMware vCenter Inspector KB and FAQs

VMware vCenter authentication required error

Error Message: '{"type":"com.vmware.vapi.std.errors.unauthenticated","value":{"messages":[{"args":[],"default_message":"This method requires authentication.","id":"vapi.method.authentication.required"}]}}'

Steps To Troubleshoot:

  1. Download Postman (API client)
    Note: You may need to disable 'SSL certificate verification' in your Postman preferences.

  2. Import the collection below (File > Import > "Enter in raw text tab"):

{
	"info": {
		"_postman_id": "8d3d91af-3793-4b70-a99f-d4829bdd9cb9",
		"name": "Liongard VMware vSphere Inspector Troubleshooting",
		"description": "This collection includes two requests that may be used to troubleshoot connectivity issues with the vSphere Automation REST API:\n\ncis session: create\nPOST https://{server}/rest/com/vmware/cis/session\n\ndescription: Creates a session with the API. This is the equivalent of login. This operation exchanges user credentials supplied in the security context for a session identifier that is to be used for authenticating subsequent calls. To authenticate subsequent calls clients are expected to include the session key.\n\nand\n\nappliance system version: get\nGET https://{server}/rest/appliance/system/version\n\ndescription: Returns the vSphere appliance version\n\nThe following environment variables must be set under the 'Variables' tab:\nhostname - The IP address of vSphere\nuser - The vCenter login username. This often is in the from: \"domain.local\\Administrator\"\npassword",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
	},
	"item": [
		{
			"name": "Login",
			"request": {
				"method": "POST",
				"header": [],
				"url": {
					"raw": "https://{{hostname}}/rest/com/vmware/cis/session",
					"protocol": "https",
					"host": [
						"{{hostname}}"
					],
					"path": [
						"rest",
						"com",
						"vmware",
						"cis",
						"session"
					]
				}
			},
			"response": []
		},
		{
			"name": "Version",
			"request": {
				"method": "GET",
				"header": [],
				"url": {
					"raw": "https://{{hostname}}/rest/appliance/system/version",
					"protocol": "https",
					"host": [
						"{{hostname}}"
					],
					"path": [
						"rest",
						"appliance",
						"system",
						"version"
					]
				}
			},
			"response": []
		}
	],
	"auth": {
		"type": "basic",
		"basic": [
			{
				"key": "password",
				"value": "{{password}}",
				"type": "string"
			},
			{
				"key": "username",
				"value": "{{user}}",
				"type": "string"
			}
		]
	},
	"event": [
		{
			"listen": "prerequest",
			"script": {
				"id": "ad85a990-6378-4a57-984f-48329c09ad26",
				"type": "text/javascript",
				"exec": [
					""
				]
			}
		},
		{
			"listen": "test",
			"script": {
				"id": "7ebc4f2c-20f7-40d4-8e2d-f0e144417c3b",
				"type": "text/javascript",
				"exec": [
					""
				]
			}
		}
	],
	"variable": [
		{
			"id": "92c51318-91cd-4bce-a0d5-ef7916f494a1",
			"key": "hostname",
			"value": "",
			"type": "string"
		},
		{
			"id": "c9a3c47e-4622-4843-9dfa-d885f121a153",
			"key": "user",
			"value": "",
			"type": "string"
		},
		{
			"id": "bd4b1545-7230-432d-94a0-ee5fb6fc6e39",
			"key": "password",
			"value": "",
			"type": "string"
		}
	],
	"protocolProfileBehavior": {}
}
  1. Under the Variables tab in the Collection settings, supply the hostname of the appliance and the username/password you are using for the inspection.

Include the domain in the username (e.g. 'domain.local\Administrator').

608
  1. Run both requests (login and version) which will create a new session with the API and will fetch the firmware version of your vCenter appliance.

If both return 200s, the inspection should run successfully barring any other issues. If you continue to have issues, please capture a screenshot of your Postman and submit it in a Support Ticket.