Skip to main content
POST
/
api
/
upload_pdf
curl -X POST 'https://api.sendforsign.com/api/upload_pdf?clientKey=658599d9-bbbe&contractKey=5cb-49c6-4f62-9b77-5c304' \
     -H 'X-Sendforsign-Key: YOUR_API_KEY' \
     -H 'Content-Type: multipart/form-data' \
     -F 'pdf=@/path/to/yourfile.pdf;type=application/pdf'
Before uploading a PDF, you need to create an empty contract and obtain its Contract Key. To do this, use the Create Contract request with the parameter "contractType": "pdf". Here’s an example:
cURL
{
    "data": {
        "action": "create",
        "clientKey": "YOUR_CLIENT_KEY",
        "contract": {
            "name": "Your PDF name",
            "contractType": "pdf"
        }
    }
}
As a response, you’ll receive a ContractKey for the contract you created. Use this key to upload your PDF to Sendforsign’s infrastructure. Additionally, you will need to include FormData in the body of the request. For example:
cURL
-F 'pdf=@/path/to/yourfile.pdf;type=application/pdf'
Or in typescript:
ts
formData.append('pdf', new Blob([pdfFile as BlobPart], {type: 'application/pdf'})) 
Where pdfFile is the ArrayBuffer of your document.

Query parameters

clientKey
string
required
Key of the client.
contractKey
string
required
Key of the contract.
curl -X POST 'https://api.sendforsign.com/api/upload_pdf?clientKey=658599d9-bbbe&contractKey=5cb-49c6-4f62-9b77-5c304' \
     -H 'X-Sendforsign-Key: YOUR_API_KEY' \
     -H 'Content-Type: multipart/form-data' \
     -F 'pdf=@/path/to/yourfile.pdf;type=application/pdf'