Create a new document job (sync or async).

def create(self, options=None):
        """Create a new document job (sync or async)."""
        if options is None:
            raise ValueError("Please pass in an options dict")

        if not _has_content(options):
            raise NoContentError("must supply 'document_content' or 'document_url'")

        default_options = {
            "name": "default",
            "document_type": "pdf",
            "test": False,
            "async": False,
            "raise_exception_on_failure": False,
        }
        options = dict(list(default_options.items()) + list(options.items()))
        raise_exception_on_failure = options.pop("raise_exception_on_failure")
        query = {"user_credentials": self.api_key}
        if options["async"]:
            query["output"] = "json"

        resp = requests.post(
            "%sdocs" % (self._url), json=options, params=query, timeout=self._timeout
        )

        if raise_exception_on_failure and resp.status_code != 200:
            raise DocumentCreationFailure(resp.content, resp.status_code)

        if options["async"]:
            return json.loads(resp.content.decode("utf-8"))
        else:
            return resp