Trying to run a simple API GET request for private Gitlab account

I am trying to run a simple API request to GitLab through powershell 5.1. After generating an access token with all privileges using the Web UI I tried to run the following:


Unfortunately, I get an error:

invoke-restmethod : {"message":"401 Unauthorized"}
At line:1 char:13
+ $response = invoke-restmethod
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebReques
   t:HttpWebRequest) [Invoke-RestMethod], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.Pow

This is strange because running the request for invoke-restmethod<my_private_token> does return valid JSON.

Why am I getting 401 error when I try to access project related information?

Hello, you can do it similar to this example

$headers = @{
  "PRIVATE-TOKEN" = "*****************"
$body = @{
  "branch" = "main"
  "commit_message" = "this is a commit"
  "actions" = ""
Invoke-RestMethod -Verbose -Header $headers -ContentType 'application/json' -Body ($body|ConvertTo-Json) -Method Post -Uri "****/repository/commits"

note: I used PowerShell 7.2.1