Based on your questions, I think it would be helpful to explain the basic DocuSign object model. The highest order object is the Envelope. Envelopes contain one or more documents, which have recipients (such as signers or carbon copy). These recipients, in turn, may have tabs assigned to them. For more information on the object model, check out this guide.
Now to answer your questions:
1) Downloading envelope documents (here are code examples):
GET /envelopes/{envelope_id}/documents/{doc_id}
Here is the associated reference documentation
2) Create a new envelope containing a document (here is a code example)
POST /envelopes
Here is the associated reference documentation.
3) Uploading a document to an existing envelope
PUT /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/documents/{documentId}
Here is the associated reference documentation.