Posted on 09-23-2013 09:59 AM
So JSS 9.X overhauled the API a good bit, from my understanding. I've found https://jss.jamfsw.com/jss/api/index.htm as a reference to said API. However, there is absolutely no useful information as to what these APIs do. I'm considering upgrading and how the API works (better or worse) is a critical portion of that for me. I've tried contacting JAMF but they vehemently refuse to provide any information about the API. They themselves, apparently, don't have any documentation (which is rather pathetic).
For example: POST /accounts/userid/{id} "Creates a new user by id" - but it doesn't say what is required? Or what exactly these types of accounts are? Could I use this to create users for self-service (Since I don't have AD or LDAP)?
Posted on 09-24-2013 03:46 PM
I agree that the documentation for the API in v9 needs to be a lot better. However, most of the APIs are somewhat self-explanatory, as is the one you're mentioning in your post: POST a new local account to the JSS by user ID. If v9 still requires users to have an LDAP account to log into Self Service, which it does in v8 (which I'm using in prod), then no, you won't be able to have users log into Self Service with an account local to the JSS if you don't use LDAP. That's not an API documentation issue necessarily; that particular caveat is listed in Self Service preferences in the JSS, where it should be.
Posted on 09-27-2013 02:38 PM
I'm sorry but the APIs are hardly "self-explanatory" for a programatic sense. Lets take my example. So I post to that with one variable and it creates a user? Thats it? No password, no name, no email, no permissions. A user just exists?
Or how about PUT /accounts/userid/{id} "Updates an existing user by id" - Updates.... what?
Sorry, but the API documentation and JAMF's response is bullshit. They claim that JAMFNation has the answers, but no one does. Not a single person so far has any useful information on the v9 API.
Posted on 09-27-2013 02:59 PM
Again, I agree that the documentation needs to improve. If you're confused about what the functionality of a particular API is, why don't you just test it? You clearly have the capability to PUT, POST, and GET, so just do it, see what the response codes are or what errors out, and submit a feature request for better docs. I'll up-vote it, too. But you're better off just doing the damn thang and helping out the JAMF Nation with your findings until JAMF writes better docs than complaining about it and not helping anyone out. I'm interested to know what you find since I'm not using 9 in prod yet, so... help a brother out! Then you'll be the person on JAMF Nation with the answers. :)
Posted on 09-27-2013 03:02 PM
Supposed a feature request exists, though I can't find it and neither can google. Besides, JAMF insists that everything is so well covered by JAMF nation that they don't need to do anything.
I'd love to do something - but I can't. I don't have 9.0 either, as most of us don't... and I'm not about to spend major $$$ upgrading to 9.0 Cloud just to test an API.
Posted on 09-27-2013 03:22 PM
Posted on 09-30-2013 10:34 AM
I assumed that the API were self supported. I don't think they were add as a supported feature, but that is just a guess. I look at them as an added bonus : )
I would guess that you can have better documented APIs or better documented JSS features : ) I think we all have to remember that Jamf is still a small company even though they have a BIG product. To grow a company right take a lot of time and planning.
C
Posted on 10-02-2013 02:51 PM
Hey Everyone,
Before I worked for JAMF I was a System Administrator using the Casper Suite. I had several test virtual environments for testing out new versions of Casper and also an environment i could totally hose and have it not affect anything in production.
Since now our current versions of the JSS can run on Windows/OS X/Linux it is actually quite easy to setup test environment, and with free open source software like Linux and Virtualbox you can do so right on your own Mac/PC.
For example I have about a dozen VMs on my Macbook Pro. Running various versions of Casper, 8.64, 8.71, 9.0, 9.1, etc. I also have a Linux SMB share and a Linux Apache share, plus I have a clustered environment behind a loadbalancer, all virtualized on my Macbook Pro.
I mainly run my VMs in Debian/Ubuntu but have recently been building them in CentOS since a lot of my customers use RHEL. I use a free software based VIP called Pound, and I have two tomcat webapps clustered, and connected to a DB box.
This way you can test pretty much everything under the sun with our product. You can test the API all day long, and the best part is, we don't charge for a JSS license, you charge per a client. So, you can definitely set up test environments with very little cost using Linux and Virtualbox, which is all free.
As for better documentation, I agree, it could be better. RESTful APIs do work in similar manners from one product to another, but of course they also have their differences. Please vote up the feature request for the better in-depth documentation, our dev and tech writer teams will take a look at it.
Thanks,
Tom