I'm trying to make a call to /data/api/v1/scan/projects/. I've created an API key and I'm trying to use it to authenticate, but I am always given a 401 Unauthorized response.
cURL verbose output
$ curl -X GET --header "X-Ignition-API-Token: sgjFTTi7v-[...redacted...]H1ikp-uMuE" localhost:8088/data/api/v1/gateway-info -v
Note: Unnecessary use of -X or --request, GET is already inferred.
* Host localhost:8088 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
* Trying [::1]:8088...
* Connected to localhost (::1) port 8088
> GET /data/api/v1/gateway-info HTTP/1.1
> Host: localhost:8088
> User-Agent: curl/8.5.0
> Accept: */*
> X-Ignition-API-Token: sgjFTTi7v-[...redacted...]H1ikp-uMuE
>
< HTTP/1.1 401 Unauthorized
< Date: Fri, 25 Sep 2026 17:05:12 GMT
< Referrer-Policy: strict-origin-when-cross-origin
< X-Content-Type-Options: nosniff
< X-Frame-Options: SAMEORIGIN
< X-XSS-Protection: 1; mode=block
< Cache-Control: must-revalidate,no-cache,no-store
< Content-Type: text/html;charset=iso-8859-1
< Content-Length: 340
<
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/>
<title>Error 401</title>
</head>
<body><h2>HTTP ERROR 401 Unauthorized</h2>
<table>
<tr><th>URI:</th><td>/data/api/v1/gateway-info</td></tr>
<tr><th>STATUS:</th><td>401</td></tr>
<tr><th>MESSAGE:</th><td>Unauthorized</td></tr>
</table>
</body>
</html>
I've also tried using the base URLs http://localhost:8088 and https://localhost:8088, as well as disabling "Require secure connections for API Keys", with no success.
My gateway's Web Server settings seem normal:
Interesting, on a local development instance of my gateway, I'm able to make this call with no issues:
cURL verbose output
$ curl -X GET --header "X-Ignition-API-Token: sD-p_kIILyo[...redacted...]ovGemIE" localhost:8089/data/api/v1/gateway-info -v
Note: Unnecessary use of -X or --request, GET is already inferred.
* Host localhost:8089 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
* Trying [::1]:8089...
* Connected to localhost (::1) port 8089
> GET /data/api/v1/gateway-info HTTP/1.1
> Host: localhost:8089
> User-Agent: curl/8.5.0
> Accept: */*
> X-Ignition-API-Token: sD-p_kIILyo[...redacted...]ovGemIE
>
< HTTP/1.1 200 OK
< Date: Fri, 25 Sep 2026 17:14:07 GMT
< Referrer-Policy: strict-origin-when-cross-origin
< X-Content-Type-Options: nosniff
< X-Frame-Options: SAMEORIGIN
< X-XSS-Protection: 1; mode=block
< Content-Type: application/json
< Content-Length: 441
<
* Connection #0 to host localhost left intact
{"name":"[redacted]","redundancyRole":"Independent","redundantPeerAddress":"","edition":"standard","hostname":"localhost","port":"8089","ignitionVersion":"8.3.9 (b2026082511)","deploymentMode":"development","timeZone":"Eastern Standard Time","timeZoneId":"America/Toronto","jvmVersion":"17.0.19","allowUnsignedModules":true,"license":{"mode":"Trial","validForVersion":8,"expirationDate":"Sep 25, 2026, 11:49:55 AM","licenseRestrictions":[]}}
The local gateway's Web Server settings are slightly different as SSL/HTTPS is not configured so I can imagine this has something to with it, but I'm not sure what the problem could be. (Note port 8089 on my host machine is mapped to 8088 in the container.)
Any help on what might be causing the issue is super appreciated. Thank you ![]()









