def bulk_docs(self, docs):
        """
        Performs multiple document inserts and/or updates through a single
        request.  Each document must either be or extend a dict as
        is the case with Document and DesignDocument objects.  A document
        must contain the ``_id`` and ``_rev`` fields if the document
        is meant to be updated.

        :param list docs: List of Documents to be created/updated.

        :returns: Bulk document creation/update status in JSON format
        """
        url = '/'.join((self.database_url, '_bulk_docs'))
        data = {'docs': docs}
        headers = {'Content-Type': 'application/json'}
        resp = self.r_session.post(
            url,
            data=json.dumps(data, cls=self.client.encoder),
            headers=headers
        )
        resp.raise_for_status()
        return response_to_json_dict(resp)
Performs multiple document inserts and/or updates through a single
        request.  Each document must either be or extend a dict as
        is the case with Document and DesignDocument objects.  A document
        must contain the ``_id`` and ``_rev`` fields if the document
        is meant to be updated.

        :param list docs: List of Documents to be created/updated.

        :returns: Bulk document creation/update status in JSON format