How to get a content definition JSON from the cloudcms API?

There are a couple of ways to do this. The first is simply use the node GET call and pass in the qname like this:

GET /repositories/{repositoryId}/branches/{branchId}/nodes/{qname}!/node/get_repositories_repositoryId_branches_branchId_nodes_nodeId

This will give you back the JSON for the definition.

Another way is to use this variation:

GET /repositories/{repositoryId}/branches/{branchId}/definitions/{qname}!/branch/get_repositories_repositoryId_branches_branchId_definitions_qname

This will give you back the same JSON but may a few additional fields such as "_capabilities" (which describe all of the capabilities that the current user has against instances of that type) and/or "_forms". You can also get forms for a definition like this:

GET /repositories/{repositoryId}/branches/{branchId}/definitions/{qname}/forms!/node/get_repositories_repositoryId_branches_branchId_definitions_qname_forms

For any of these methods, the "qname" is the type of your definition - such as "my:article".