@@ -21,6 +21,7 @@ public class Client {
2121 private KeysHandler keysHandler ;
2222 private JsonHandler jsonHandler ;
2323 private WebHooksHandler webHooksHandler ;
24+ private DynamicSearchRulesHandler dynamicSearchRulesHandler ;
2425
2526 /**
2627 * Calls instance for Meilisearch client
@@ -35,6 +36,7 @@ public Client(Config config) {
3536 this .keysHandler = new KeysHandler (config );
3637 this .jsonHandler = config .jsonHandler ;
3738 this .webHooksHandler = new WebHooksHandler (config );
39+ this .dynamicSearchRulesHandler = new DynamicSearchRulesHandler (config );
3840 }
3941
4042 /**
@@ -482,6 +484,18 @@ public void experimentalFeatures(Map<String, Boolean> features) {
482484 this .config .httpClient .patch ("/experimental-features" , features , Void .class );
483485 }
484486
487+ /**
488+ * Renders a template using the experimental render-template route.
489+ *
490+ * @param request Render template request body
491+ * @return Rendered template result
492+ * @throws MeilisearchException if an error occurs
493+ */
494+ public RenderTemplateResult renderTemplate (RenderTemplateRequest request )
495+ throws MeilisearchException {
496+ return this .config .httpClient .post ("/render-template" , request , RenderTemplateResult .class );
497+ }
498+
485499 public String generateTenantToken (String apiKeyUid , Map <String , Object > searchRules )
486500 throws MeilisearchException {
487501 return this .generateTenantToken (apiKeyUid , searchRules , new TenantTokenOptions ());
@@ -612,4 +626,50 @@ private Boolean isValidUUID(String apiKeyUid) {
612626 }
613627 return true ;
614628 }
629+ /**
630+ * Get a list of all dynamic search rules.
631+ *
632+ * @param query Query parameters for pagination and filtering (offset, limit, filter).
633+ * @return Results containing a list of DynamicSearchRule instances.
634+ * @throws MeilisearchException If an error occurs.
635+ */
636+ public Results <DynamicSearchRule > listDynamicSearchRules (DynamicSearchRulesQuery query )
637+ throws MeilisearchException {
638+ return this .dynamicSearchRulesHandler .listDynamicSearchRules (query );
639+ }
640+
641+ /**
642+ * Get a single dynamic search rule by its uid.
643+ *
644+ * @param uid Unique identifier of the dynamic search rule.
645+ * @return A single DynamicSearchRule instance.
646+ * @throws MeilisearchException If an error occurs.
647+ */
648+ public DynamicSearchRule getDynamicSearchRule (String uid ) throws MeilisearchException {
649+ return this .dynamicSearchRulesHandler .getDynamicSearchRule (uid );
650+ }
651+
652+ /**
653+ * Create a new dynamic search rule, or update it if a rule with the given uid already exists.
654+ *
655+ * @param uid Unique identifier of the dynamic search rule.
656+ * @param dynamicSearchRule Request body containing the rule configuration.
657+ * @return TaskInfo instance for the enqueued upsert operation.
658+ * @throws MeilisearchException If an error occurs.
659+ */
660+ public TaskInfo updateDynamicSearchRule (String uid , DynamicSearchRule dynamicSearchRule )
661+ throws MeilisearchException {
662+ return this .dynamicSearchRulesHandler .updateDynamicSearchRule (uid , dynamicSearchRule );
663+ }
664+
665+ /**
666+ * Delete a dynamic search rule.
667+ *
668+ * @param uid Unique identifier of the dynamic search rule.
669+ * @return TaskInfo instance for the enqueued delete operation.
670+ * @throws MeilisearchException If an error occurs.
671+ */
672+ public TaskInfo deleteDynamicSearchRule (String uid ) throws MeilisearchException {
673+ return this .dynamicSearchRulesHandler .deleteDynamicSearchRule (uid );
674+ }
615675}
0 commit comments