I’m trying to construct a command for creating a user using our websites api. But I’m struggling to understand how to do it…
Below I’ve copied the help page for the api I’m using, see # CreateUser below, and here’s the command I’ve tried, see # Command, this fails. I’ve think that I should also be adding UserMinimalUpdateDTO to the $uri and not as $body. But I’m a bit lost here…can anyone point me in the right direction ?
I get this error;
Invoke-RestMethod : {"ResponseStatus":{"ErrorCode":"AuthenticationException","Message":"User Id not found. Make sure to set the caller userid","Errors":[]}}
At line:1 char:1
+ Invoke-RestMethod $uri -Method 'Post'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
# Command
$Environment = 'test'
$NetworkID = 'networka'
$ClientId = 'clienta'
$UserId = 'myname'
$EmployeeUserId = (New-Guid).Guid
$uri = "https://core.$Environment.here.corp/networks/$networkId/clients/$clientId/users?UserId=$($UserId)&EmployeeUserId=$($EmployeeUserId)"
$json = @{
"UserId" = $UserID
"EmployeeUserId" = $EmployeeUserId
"UserMinimalUpdateDTO" = @{
"UserId" = $UserID
"NAME" = $EmployeeUserId
"SSN" = "000000001"
"Birthdate" = "2000-01-01 00:00:00.000"
"EmailAddress" = "myname@here.com"
"RoleName" = "ADMIN"
"IsInternal" = "1"
}
} | convertto-json
Invoke-RestMethod $uri -Method 'Post' -Body $json -ContentType 'application/json'
# Help page info
CreateUser
<caption>The following routes are available for this service:</caption>
| All Verbs | /networks/{networkId}/clients/{clientId}/users |
|---|
<caption>CreateUser Parameters:</caption>
| NAME | PARAMETER | DATA TYPE | REQUIRED | DESCRIPTION |
|---|---|---|---|---|
| NetworkId | path | string | No | |
| ClientId | path | string | No | |
| UserId | query | string | No | |
| EmployeeUserId | query | string | No | |
| UserMinimalUpdateDTO | query | UserMinimalUpdateDTO | No |
<caption>UserMinimalUpdateDTO Parameters:</caption>
| NAME | PARAMETER | DATA TYPE | REQUIRED | DESCRIPTION |
|---|---|---|---|---|
| UserId | form | string | No | User Id |
| Name | form | string | No | Name |
| SSN | form | string | No | Social Security Number |
| Birthdate | form | DateTime | No | Date of Birth |
| EmailAddress | form | string | No | Email Address |
| RoleName | form | string | No | Blah Role Name |
| SpecialistCode | form | string | No | Operator Id |
| IsInternal | form | string | No | This flag is set if the user account is internal to Here |