There are two ways to create(or set) joint between links. Declare it when create multibody and create constrain.
As my understanding of the guide manual.

But it is strange. I can not change the position of revolute joint in createMultiBody command. Is there some API to change the position?
Also, createConstrain has only 3 kind constrain:point2point, fix, prismatic. Why revolute(hinge) is absent?

The main way to create a robot is creating a URDF file. Aside from that, you can use createMultiBody.
get the Bullet source code, and see Bullet/examples/pybullet/examples/createMultiBodyLinks.py for an example (this is in the Pybullet Quickstart Guide)

The 'createConstraint' is only to attach multiple multibodies together, not to create regular joints.