Calls with Payload Always Return 400 Error
Make sure that any payload you send to the JumpCloud API is in the form of a string, and not a binary JSON object. JumpCloud will not accept a binary JSON object.
To perform this conversion, you can use:
POST/PUT returns 200 OK, but no changes are made
JumpCloud expects to see well-populated JSON objects in the payload. A POST or a PUT with only a small subset of fields may appear to be accepted, but in some cases can silently fail.
A best practice with PUT is to GET the object you want to modify, modify it in memory, and then PUT it. That will ensure that you don't run afoul any required (but missing fields).
PUT on systemuser objects drops all tags
When you PUT a systemuser object, you have two options with systemuser.tags:
- You can include the tags field, in which case you must enumerate all tags of which the systemuser is a member.
- You can exclude the tags field, in which case the systemuser's tag membership will be unaffected.