def put_document(document_path: str, content_type: str, presigned_url: str) -> str:
        """Convenience method for putting a document to presigned url.

        >>> from las import Client
        >>> client = Client(endpoint='<api endpoint>')
        >>> client.put_document(document_path='document.jpeg', content_type='image/jpeg',
        >>> presigned_url='<presigned url>')

        :param document_path: Path to document to upload
        :type document_path: str
        :param content_type: Mime type of document to upload. Same as provided to :py:func:`~las.Client.post_documents`
        :type content_type: str
        :param presigned_url: Presigned upload url from :py:func:`~las.Client.post_documents`
        :type presigned_url: str
        :return: Response from put operation
        :rtype: str
        :raises requests.exception.RequestException: If error was raised by requests
        """

        body = pathlib.Path(document_path).read_bytes()
        headers = {'Content-Type': content_type}
        put_document_response = requests.put(presigned_url, data=body, headers=headers)
        put_document_response.raise_for_status()
        return put_document_response.content.decode()