code: def post(
          self,
          endpoint,
          body=None,
          timeout=None,
          allow_redirects=None,
          validate=True,
          headers=None,
      ):
          
          endpoint = self._input_string(endpoint)
          request = deepcopy(self.request)
          request["method"] = "POST"
          request["body"] = self.input(body)
          if allow_redirects is not None:
              request["allowRedirects"] = self._input_boolean(allow_redirects)
          if timeout is not None:
              request["timeout"] = self._input_timeout(timeout)
          validate = self._input_boolean(validate)
          if headers:
              request["headers"].update(self._input_object(headers))
          return self._request(endpoint, request, validate)["response"]
docs: *Sends a POST request to the endpoint.*
  
          The endpoint is joined with the URL given on library init (if any).
          If endpoint starts with ``http://`` or ``https://``, it is assumed
          an URL outside the tested API (which may affect logging).
  
          *Options*
  
          ``body``: Request body parameters as a JSON object, file or a dictionary.
  
          ``timeout``: A number of seconds to wait for the response before failing the keyword.
  
          ``allow_redirects``: If false, do not follow any redirects.
  
          ``validate``: If false, skips any request and response validations set
          by expectation keywords and a spec given on library init.
  
          ``headers``: Headers as a JSON object to add or override for the request.
  
          *Examples*
  
          | `POST` | /users | { "id": 11, "name": "Gil Alexander" } |
          | `POST` | /users | ${CURDIR}/new_user.json |