docs: def call_actions(
          self,
          service_name,
          actions,
          expansions=None,
          raise_job_errors=True,
          raise_action_errors=True,
          timeout=None,
          **kwargs
      ):
          """
          Build and send a single job request with one or more actions.
  
          Returns a list of action responses, one for each action in the same order as provided, or raises an exception
          if any action response is an error (unless `raise_action_errors` is passed as `False`) or if the job response
          is an error (unless `raise_job_errors` is passed as `False`).
  
          This method performs expansions if the Client is configured with an expansion converter.
  
          :param service_name: The name of the service to call
          :type service_name: union[str, unicode]
          :param actions: A list of `ActionRequest` objects and/or dicts that can be converted to `ActionRequest` objects
          :type actions: iterable[union[ActionRequest, dict]]
          :param expansions: A dictionary representing the expansions to perform
          :type expansions: dict
          :param raise_job_errors: Whether to raise a JobError if the job response contains errors (defaults to `True`)
          :type raise_job_errors: bool
          :param raise_action_errors: Whether to raise a CallActionError if any action responses contain errors (defaults
                                      to `True`)
          :type raise_action_errors: bool
          :param timeout: If provided, this will override the default transport timeout values to; requests will expire
                          after this number of seconds plus some buffer defined by the transport, and the client will not
                          block waiting for a response for longer than this amount of time.
          :type timeout: int
          :param switches: A list of switch value integers
          :type switches: list
          :param correlation_id: The request correlation ID
          :type correlation_id: union[str, unicode]
          :param continue_on_error: Whether to continue executing further actions once one action has returned errors
          :type continue_on_error: bool
          :param context: A dictionary of extra values to include in the context header
          :type context: dict
          :param control_extra: A dictionary of extra values to include in the control header
          :type control_extra: dict
  
          :return: The job response
          :rtype: JobResponse
  
          :raise: ConnectionError, InvalidField, MessageSendError, MessageSendTimeout, MessageTooLarge,
                  MessageReceiveError, MessageReceiveTimeout, InvalidMessage, JobError, CallActionError
          """
          return self.call_actions_future(
              service_name,
              actions,
              expansions,
              raise_job_errors,
              raise_action_errors,
              timeout,
              **kwargs
          ).result()