public function direct(array $params)
	{
		if (!isset($params['identifier']) && !isset($params['device_token'])) {
			throw new MissingArgumentException('identifier or device_token');
		}

		if (!isset($params['recipients'])) {
			throw new MissingArgumentException('recipients');
		} else if (!is_array($params['recipients'])) {
			throw new InvalidArgumentException('Invalid Argument: recipients must be passed as array');
		} else {
			$params['recipients'] = json_encode(array_values($params['recipients']));
		}

		if (!isset($params['message'])) {
			throw new MissingArgumentException('message');
		}

		return $this->post('sharing/direct', $params);
	}