Active: All users who have an account with TargetSolutions and have logged in at least once.
Offline: Offline status was referred to as Active/Offline in our platform for a long time because it was confusing for our admins what exactly Offline meant. Offline users are Active users who have not logged in for the first time, they can still have courses assigned to them, have completion records entered for them, you can give them Credentials, run reports on them, etc.. And as soon as they login for the first time, they automatically switch to Active.
Inactive: Inactive users used to have a TargetSolutions account. Inactive users cannot login, however it is still possible to pull reports on previous completed training, old credentials, view his profile, etc., plus reactivate the account by changing the user's status back to Active if needed.
Example: Bob Smith logged in for the first time in 2005 and never logged in again. Until someone manually goes in and makes his account Inactive, he still has an Active account, regardless of his last login. And if he decided tomorrow he wanted to login even though he was terminated almost a decade ago, he could do that because his account is Active. But if his status is switched to Inactive, he will no longer be able to login. Now let's say Bob never logged in and so remained an Offline user. You'd still have the same situation where tomorrow he could choose to login and access his account. Only Inactive status users lose access to their accounts.
There are example requests in the documentation, but not in any specific languages. They are examples for structure only. We recommend a free Google app called "Postman - REST" to better understand what each function does.
The developers sandbox points to a development (testing) server that is refreshed with live data nightly. Meaning the data you are seeing is an exact mirror of what was in your site as of midnight last night. This is so you don't have to worry about messing up any data that is used in the platform. There is no way to login and see changes on the platform when using the sandbox; it is not front-facing in that way, it is only the data you have access to view and edit. We recommend using the GET function to check. For instance, if you change a user's employee ID, you can use the GET /users/{id} function to check it.
Try double checking your header formation. Also, make sure you aren't passing any unnecessary information in it. Take a second look at your JSON string and make sure there aren't any added spaces or weird characters in it.
Use this format: http://api.targetsolutions.com/v1/request?q={"key":"value","key":"v...
You first add the user to the site. Then use the GET/users function along with search parameters to find that user's User ID. Then use that user ID in the body of the PUT/groups/{id}/users function. We recommend doing this in combination of the GET/groups function to create a sequence where you check if your desired group exists before attempting to add the user to it. That way if it does not exist you can use the POST/groups function to add it.
Use the PUT/users/{id} function to change the user's status to Inactive