diff --git a/docs/Api/ResumeSearchApi.md b/docs/Api/ResumeSearchApi.md
index 334c207..12f8c0e 100644
--- a/docs/Api/ResumeSearchApi.md
+++ b/docs/Api/ResumeSearchApi.md
@@ -250,18 +250,16 @@ $apiInstance = new OpenAPI\Client\Api\ResumeSearchApi(
     $config
 );
 $indexname = 'indexname_example'; // string
-$cache = true; // bool | Optional. Whether the search results should be cached or not.
-$cache_time = 300; // int | Optional. Seconds. Ignored if *cache* is <code style='color: #333333; opacity: 0.9'>false</code>.
 $size = 50; // int | Optional. Number of documents to return.
 $offset = 0; // int | Optional. Number of documents to skip. Ignored if *cache* is <code style='color: #333333; opacity: 0.9'>true</code>.
 $min_score = 0; // float | Optional. Minimum pertinence score.
-$search_id = 'search_id_example'; // string | Both the initial search request and each subsequent scroll request returns a *SearchID*. The *SearchID* may or may not  change between requests; however, only the most recently received *SearchID* should be used.
 $src_lang = 'src_lang_example'; // string | Queries language. If left empty each query's language will detected automatically, if not it is not explicitly set into the request body.
 $dst_lang = array('dst_lang_example'); // string[] | Results languages. If left empty then the results will not be filtered by language and the they will contain multi-language results.
+$sort_by = 'CreationDate'; // string | Optional. Results are sorted by selected field values. 
 $docs_search_query = new \OpenAPI\Client\Model\DocsSearchQuery(); // \OpenAPI\Client\Model\DocsSearchQuery
 
 try {
-    $result = $apiInstance->searchResumesPOST($indexname, $cache, $cache_time, $size, $offset, $min_score, $search_id, $src_lang, $dst_lang, $docs_search_query);
+    $result = $apiInstance->searchResumesPOST($indexname, $size, $offset, $min_score, $src_lang, $dst_lang, $sort_by,$docs_search_query);
     print_r($result);
 } catch (Exception $e) {
     echo 'Exception when calling ResumeSearchApi->searchResumesPOST: ', $e->getMessage(), PHP_EOL;
diff --git a/lib/Model/CustomizableModelAbstract.php b/lib/Model/CustomizableModelAbstract.php
new file mode 100644
index 0000000..df34de1
--- /dev/null
+++ b/lib/Model/CustomizableModelAbstract.php
@@ -0,0 +1,39 @@
+<?php
+
+namespace OpenAPI\Client\Model;
+
+abstract class CustomizableModelAbstract
+{
+    public function __construct(private array $customizableFields)
+    {
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getCustomizableFields(): array
+    {
+        return $this->customizableFields;
+    }
+
+    /**
+     * @param mixed $customizableFields
+     * @return CustomizableModelAbstract
+     */
+    public function setCustomizableFields(array $customizableFields): self
+    {
+        $this->customizableFields = $customizableFields;
+        return $this;
+    }
+
+    /**
+     * @param array $customizableFields
+     * @return $this
+     */
+    public function addCustomizableFields(array $customizableFields): self
+    {
+        $fields = $this->customizableFields ?? [];
+        $this->customizableFields = array_merge($fields, $customizableFields);
+        return $this;
+    }
+}
diff --git a/lib/Model/FileItemRequest.php b/lib/Model/FileItemRequest.php
index cc8b799..31adb51 100644
--- a/lib/Model/FileItemRequest.php
+++ b/lib/Model/FileItemRequest.php
@@ -41,7 +41,7 @@
  * @link     https://openapi-generator.tech
  * @implements \ArrayAccess<string, mixed>
  */
-class FileItemRequest implements ModelInterface, ArrayAccess, \JsonSerializable
+class FileItemRequest extends CustomizableModelAbstract implements ModelInterface, ArrayAccess, \JsonSerializable
 {
     public const DISCRIMINATOR = null;
 
@@ -260,6 +260,7 @@ public function __construct(array $data = null)
         $this->setIfExists('data', $data ?? [], null);
         $this->setIfExists('metadata', $data ?? [], null);
         $this->setIfExists('attachments', $data ?? [], null);
+        parent::__construct([]);
     }
 
     /**
diff --git a/lib/Model/JobAdRequest.php b/lib/Model/JobAdRequest.php
index 8ed3073..3cf6935 100644
--- a/lib/Model/JobAdRequest.php
+++ b/lib/Model/JobAdRequest.php
@@ -41,7 +41,7 @@
  * @link     https://openapi-generator.tech
  * @implements \ArrayAccess<string, mixed>
  */
-class JobAdRequest implements ModelInterface, ArrayAccess, \JsonSerializable
+class JobAdRequest extends CustomizableModelAbstract implements ModelInterface, ArrayAccess, \JsonSerializable
 {
     public const DISCRIMINATOR = null;
 
@@ -253,6 +253,7 @@ public function __construct(array $data = null)
     {
         $this->setIfExists('data', $data ?? [], null);
         $this->setIfExists('metadata', $data ?? [], null);
+        parent::__construct([]);
     }
 
     /**
diff --git a/lib/Model/JobadCommonData.php b/lib/Model/JobadCommonData.php
index 4bf143e..2229595 100644
--- a/lib/Model/JobadCommonData.php
+++ b/lib/Model/JobadCommonData.php
@@ -41,7 +41,7 @@
  * @link     https://openapi-generator.tech
  * @implements \ArrayAccess<string, mixed>
  */
-class JobadCommonData implements ModelInterface, ArrayAccess, \JsonSerializable
+class JobadCommonData extends CustomizableModelAbstract implements ModelInterface, ArrayAccess, \JsonSerializable
 {
     public const DISCRIMINATOR = null;
 
@@ -400,6 +400,7 @@ public function __construct(array $data = null)
         $this->setIfExists('benefits', $data ?? [], null);
         $this->setIfExists('expiration_date', $data ?? [], null);
         $this->setIfExists('status', $data ?? [], null);
+        parent::__construct([]);
     }
 
     /**
diff --git a/lib/Model/JobadCommonOptionalData.php b/lib/Model/JobadCommonOptionalData.php
index 2013146..1570e0e 100644
--- a/lib/Model/JobadCommonOptionalData.php
+++ b/lib/Model/JobadCommonOptionalData.php
@@ -41,7 +41,7 @@
  * @link     https://openapi-generator.tech
  * @implements \ArrayAccess<string, mixed>
  */
-class JobadCommonOptionalData implements ModelInterface, ArrayAccess, \JsonSerializable
+class JobadCommonOptionalData extends CustomizableModelAbstract implements ModelInterface, ArrayAccess, \JsonSerializable
 {
     public const DISCRIMINATOR = null;
 
@@ -400,6 +400,7 @@ public function __construct(array $data = null)
         $this->setIfExists('benefits', $data ?? [], null);
         $this->setIfExists('expiration_date', $data ?? [], null);
         $this->setIfExists('status', $data ?? [], null);
+        parent::__construct([]);
     }
 
     /**
diff --git a/lib/Model/JobadId.php b/lib/Model/JobadId.php
index 6d7eaa8..85fbd8a 100644
--- a/lib/Model/JobadId.php
+++ b/lib/Model/JobadId.php
@@ -58,7 +58,7 @@ class JobadId implements ModelInterface, ArrayAccess, \JsonSerializable
       * @var string[]
       */
     protected static $openAPITypes = [
-        
+        'value' => 'string'
     ];
 
     /**
@@ -69,7 +69,7 @@ class JobadId implements ModelInterface, ArrayAccess, \JsonSerializable
       * @psalm-var array<string, string|null>
       */
     protected static $openAPIFormats = [
-        
+        'value' => null
     ];
 
     /**
@@ -78,7 +78,7 @@ class JobadId implements ModelInterface, ArrayAccess, \JsonSerializable
       * @var boolean[]
       */
     protected static array $openAPINullables = [
-        
+        'value' => false
     ];
 
     /**
@@ -167,7 +167,7 @@ public function isNullableSetToNull(string $property): bool
      * @var string[]
      */
     protected static $attributeMap = [
-        
+        'value' => 'Value'
     ];
 
     /**
@@ -176,7 +176,7 @@ public function isNullableSetToNull(string $property): bool
      * @var string[]
      */
     protected static $setters = [
-        
+        'value' => 'setValue'
     ];
 
     /**
@@ -185,7 +185,7 @@ public function isNullableSetToNull(string $property): bool
      * @var string[]
      */
     protected static $getters = [
-        
+        'value' => 'getValue'
     ];
 
     /**
@@ -245,6 +245,7 @@ public function getModelName()
      */
     public function __construct(array $data = null)
     {
+        $this->setIfExists('value', $data ?? [], null);
     }
 
     /**
@@ -287,7 +288,32 @@ public function valid()
     {
         return count($this->listInvalidProperties()) === 0;
     }
+    /**
+     * Gets value
+     *
+     * @return string|null
+     */
+    public function getValue()
+    {
+        return $this->container['value'];
+    }
 
+    /**
+     * Sets value
+     *
+     * @param string|null $value value
+     *
+     * @return self
+     */
+    public function setValue($value)
+    {
+        if (is_null($value)) {
+            throw new \InvalidArgumentException('non-nullable value cannot be null');
+        }
+        $this->container['value'] = $value;
+
+        return $this;
+    }
     /**
      * Returns true if offset exists. False otherwise.
      *
diff --git a/lib/Model/PatchItemRequest.php b/lib/Model/PatchItemRequest.php
index 1a33a0b..669e501 100644
--- a/lib/Model/PatchItemRequest.php
+++ b/lib/Model/PatchItemRequest.php
@@ -41,22 +41,22 @@
  * @link     https://openapi-generator.tech
  * @implements \ArrayAccess<string, mixed>
  */
-class PatchItemRequest implements ModelInterface, ArrayAccess, \JsonSerializable
+class PatchItemRequest extends CustomizableModelAbstract implements ModelInterface, ArrayAccess, \JsonSerializable
 {
     public const DISCRIMINATOR = null;
 
     /**
-      * The original name of the model.
-      *
-      * @var string
-      */
+     * The original name of the model.
+     *
+     * @var string
+     */
     protected static $openAPIModelName = 'PatchItemRequest';
 
     /**
-      * Array of property to type mappings. Used for (de)serialization
-      *
-      * @var string[]
-      */
+     * Array of property to type mappings. Used for (de)serialization
+     *
+     * @var string[]
+     */
     protected static $openAPITypes = [
         'data' => '\OpenAPI\Client\Model\ResumeCommonData',
         'metadata' => '\OpenAPI\Client\Model\Metadata',
@@ -64,12 +64,12 @@ class PatchItemRequest implements ModelInterface, ArrayAccess, \JsonSerializable
     ];
 
     /**
-      * Array of property to format mappings. Used for (de)serialization
-      *
-      * @var string[]
-      * @phpstan-var array<string, string|null>
-      * @psalm-var array<string, string|null>
-      */
+     * Array of property to format mappings. Used for (de)serialization
+     *
+     * @var string[]
+     * @phpstan-var array<string, string|null>
+     * @psalm-var array<string, string|null>
+     */
     protected static $openAPIFormats = [
         'data' => null,
         'metadata' => null,
@@ -77,21 +77,21 @@ class PatchItemRequest implements ModelInterface, ArrayAccess, \JsonSerializable
     ];
 
     /**
-      * Array of nullable properties. Used for (de)serialization
-      *
-      * @var boolean[]
-      */
+     * Array of nullable properties. Used for (de)serialization
+     *
+     * @var boolean[]
+     */
     protected static array $openAPINullables = [
         'data' => false,
-		'metadata' => false,
-		'attachments' => false
+        'metadata' => false,
+        'attachments' => false
     ];
 
     /**
-      * If a nullable field gets set to null, insert it here
-      *
-      * @var boolean[]
-      */
+     * If a nullable field gets set to null, insert it here
+     *
+     * @var boolean[]
+     */
     protected array $openAPINullablesSetToNull = [];
 
     /**
@@ -260,17 +260,18 @@ public function __construct(array $data = null)
         $this->setIfExists('data', $data ?? [], null);
         $this->setIfExists('metadata', $data ?? [], null);
         $this->setIfExists('attachments', $data ?? [], null);
+        parent::__construct([]);
     }
 
     /**
-    * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName
-    * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the
-    * $this->openAPINullablesSetToNull array
-    *
-    * @param string $variableName
-    * @param array  $fields
-    * @param mixed  $defaultValue
-    */
+     * Sets $this->container[$variableName] to the given data or to the given default Value; if $variableName
+     * is nullable and its value is set to null in the $fields array, then mark it as "set to null" in the
+     * $this->openAPINullablesSetToNull array
+     *
+     * @param string $variableName
+     * @param array  $fields
+     * @param mixed  $defaultValue
+     */
     private function setIfExists(string $variableName, array $fields, $defaultValue): void
     {
         if (self::isNullable($variableName) && array_key_exists($variableName, $fields) && is_null($fields[$variableName])) {
@@ -448,7 +449,7 @@ public function offsetUnset($offset): void
     #[\ReturnTypeWillChange]
     public function jsonSerialize()
     {
-       return ObjectSerializer::sanitizeForSerialization($this);
+        return ObjectSerializer::sanitizeForSerialization($this);
     }
 
     /**
@@ -474,5 +475,3 @@ public function toHeaderValue()
         return json_encode(ObjectSerializer::sanitizeForSerialization($this));
     }
 }
-
-
diff --git a/lib/Model/PatchJobAdRequest.php b/lib/Model/PatchJobAdRequest.php
index a816b46..c9368e4 100644
--- a/lib/Model/PatchJobAdRequest.php
+++ b/lib/Model/PatchJobAdRequest.php
@@ -41,7 +41,7 @@
  * @link     https://openapi-generator.tech
  * @implements \ArrayAccess<string, mixed>
  */
-class PatchJobAdRequest implements ModelInterface, ArrayAccess, \JsonSerializable
+class PatchJobAdRequest extends CustomizableModelAbstract implements ModelInterface, ArrayAccess, \JsonSerializable
 {
     public const DISCRIMINATOR = null;
 
@@ -253,6 +253,7 @@ public function __construct(array $data = null)
     {
         $this->setIfExists('data', $data ?? [], null);
         $this->setIfExists('metadata', $data ?? [], null);
+        parent::__construct([]);
     }
 
     /**
diff --git a/lib/Model/Skills.php b/lib/Model/Skills.php
index f0d7f94..d9fa548 100644
--- a/lib/Model/Skills.php
+++ b/lib/Model/Skills.php
@@ -286,8 +286,8 @@ public function listInvalidProperties()
         if ($this->container['required'] === null) {
             $invalidProperties[] = "'required' can't be null";
         }
-        if ((count($this->container['required']) > 10)) {
-            $invalidProperties[] = "invalid value for 'required', number of items must be less than or equal to 10.";
+        if ((count($this->container['required']) > 20)) {
+            $invalidProperties[] = "invalid value for 'required', number of items must be less than or equal to 20.";
         }
 
         if ((count($this->container['required']) < 1)) {
@@ -297,8 +297,8 @@ public function listInvalidProperties()
         if ($this->container['preferred'] === null) {
             $invalidProperties[] = "'preferred' can't be null";
         }
-        if ((count($this->container['preferred']) > 10)) {
-            $invalidProperties[] = "invalid value for 'preferred', number of items must be less than or equal to 10.";
+        if ((count($this->container['preferred']) > 20)) {
+            $invalidProperties[] = "invalid value for 'preferred', number of items must be less than or equal to 20.";
         }
 
         if ((count($this->container['preferred']) < 1)) {
@@ -343,8 +343,8 @@ public function setRequired($required)
             throw new \InvalidArgumentException('non-nullable required cannot be null');
         }
 
-        if ((count($required) > 10)) {
-            throw new \InvalidArgumentException('invalid value for $required when calling Skills., number of items must be less than or equal to 10.');
+        if ((count($required) > 20)) {
+            throw new \InvalidArgumentException('invalid value for $required when calling Skills., number of items must be less than or equal to 20.');
         }
         if ((count($required) < 1)) {
             throw new \InvalidArgumentException('invalid length for $required when calling Skills., number of items must be greater than or equal to 1.');
@@ -377,8 +377,8 @@ public function setPreferred($preferred)
             throw new \InvalidArgumentException('non-nullable preferred cannot be null');
         }
 
-        if ((count($preferred) > 10)) {
-            throw new \InvalidArgumentException('invalid value for $preferred when calling Skills., number of items must be less than or equal to 10.');
+        if ((count($preferred) > 20)) {
+            throw new \InvalidArgumentException('invalid value for $preferred when calling Skills., number of items must be less than or equal to 20.');
         }
         if ((count($preferred) < 1)) {
             throw new \InvalidArgumentException('invalid length for $preferred when calling Skills., number of items must be greater than or equal to 1.');
diff --git a/lib/ObjectSerializer.php b/lib/ObjectSerializer.php
index 228bbb1..f724763 100644
--- a/lib/ObjectSerializer.php
+++ b/lib/ObjectSerializer.php
@@ -1,4 +1,5 @@
 <?php
+
 /**
  * ObjectSerializer
  *
@@ -30,6 +31,7 @@
 namespace OpenAPI\Client;
 
 use GuzzleHttp\Psr7\Utils;
+use OpenAPI\Client\Model\CustomizableModelAbstract;
 use OpenAPI\Client\Model\ModelInterface;
 
 /**
@@ -64,7 +66,7 @@ public static function setDateTimeFormat($format)
      *
      * @return scalar|object|array|null serialized form of $data
      */
-    public static function sanitizeForSerialization($data, $type = null, $format = null)
+    public static function sanitizeForSerialization($data, $type = null, $format = null, bool $root = true)
     {
         if (is_scalar($data) || null === $data) {
             return $data;
@@ -76,7 +78,7 @@ public static function sanitizeForSerialization($data, $type = null, $format = n
 
         if (is_array($data)) {
             foreach ($data as $property => $value) {
-                $data[$property] = self::sanitizeForSerialization($value);
+                $data[$property] = self::sanitizeForSerialization(data: $value, root: false);
             }
             return $data;
         }
@@ -100,20 +102,53 @@ public static function sanitizeForSerialization($data, $type = null, $format = n
                         }
                     }
                     if (($data::isNullable($property) && $data->isNullableSetToNull($property)) || $value !== null) {
-                        $values[$data::attributeMap()[$property]] = self::sanitizeForSerialization($value, $openAPIType, $formats[$property]);
+                        $values[$data::attributeMap()[$property]] = self::sanitizeForSerialization(data: $value, type: $openAPIType, format: $formats[$property], root: false);
+                    }
+                }
+                if ($root) {
+                    if (is_subclass_of($data, CustomizableModelAbstract::class)) {
+                        $customFields = $data->getCustomizableFields();
+                        if (!empty($customFields)) {
+                            $originalValues = $values;
+                            $customFields = self::dotNotationToNestedArray($customFields);
+                            $values = array_merge_recursive($originalValues, $customFields);
+                        }
                     }
                 }
             } else {
-                foreach($data as $property => $value) {
-                    $values[$property] = self::sanitizeForSerialization($value);
+                foreach ($data as $property => $value) {
+                    $values[$property] = self::sanitizeForSerialization(data: $value, root: false);
                 }
             }
+
             return (object)$values;
         } else {
             return (string)$data;
         }
     }
 
+    /**
+     *
+     * @param array $dotNotationArray
+     * @return mixed
+     */
+    private static function dotNotationToNestedArray(array $dotNotationArray)
+    {
+        $nestedArray = [];
+        foreach ($dotNotationArray as $key => $value) {
+            $parts = explode('.', $key);
+            $pointer = &$nestedArray;
+            foreach ($parts as $part) {
+                if (!isset($pointer[$part])) {
+                    $pointer[$part] = [];
+                }
+                $pointer = &$pointer[$part];
+            }
+            $pointer = $value;
+        }
+        return $nestedArray;
+    }
+
     /**
      * Sanitize filename by removing path.
      * e.g. ../../sun.gif becomes sun.gif
@@ -140,7 +175,9 @@ public static function sanitizeFilename($filename)
      */
     public static function sanitizeTimestamp($timestamp)
     {
-        if (!is_string($timestamp)) return $timestamp;
+        if (!is_string($timestamp)) {
+            return $timestamp;
+        }
 
         return preg_replace('/(:\d{2}.\d{6})\d*/', '$1', $timestamp);
     }
@@ -236,7 +273,7 @@ public static function toQueryValue(
         }
 
         # Handle DateTime objects in query
-        if($openApiType === "\\DateTime" && $value instanceof \DateTime) {
+        if ($openApiType === "\\DateTime" && $value instanceof \DateTime) {
             return ["{$paramName}" => $value->format(self::$dateTimeFormat)];
         }
 
@@ -246,7 +283,9 @@ public static function toQueryValue(
         // since \GuzzleHttp\Psr7\Query::build fails with nested arrays
         // need to flatten array first
         $flattenArray = function ($arr, $name, &$result = []) use (&$flattenArray, $style, $explode) {
-            if (!is_array($arr)) return $arr;
+            if (!is_array($arr)) {
+                return $arr;
+            }
 
             foreach ($arr as $k => $v) {
                 $prop = ($style === 'deepObject') ? $prop = "{$name}[{$k}]" : $k;
@@ -474,7 +513,7 @@ public static function deserialize($data, $class, $httpHeaders = null)
             // determine file name
             if (
                 is_array($httpHeaders)
-                && array_key_exists('Content-Disposition', $httpHeaders) 
+                && array_key_exists('Content-Disposition', $httpHeaders)
                 && preg_match('/inline; filename=[\'"]?([^\'"\s]+)[\'"]?$/i', $httpHeaders['Content-Disposition'], $match)
             ) {
                 $filename = Configuration::getDefaultConfiguration()->getTempFolderPath() . DIRECTORY_SEPARATOR . self::sanitizeFilename($match[1]);
diff --git a/lib/inda_hr/ApplicationManagementApi.php b/lib/inda_hr/ApplicationManagementApi.php
index 2f1cae9..3a99e6f 100644
--- a/lib/inda_hr/ApplicationManagementApi.php
+++ b/lib/inda_hr/ApplicationManagementApi.php
@@ -38,6 +38,7 @@
 use OpenAPI\Client\ApiException;
 use OpenAPI\Client\Configuration;
 use OpenAPI\Client\HeaderSelector;
+use OpenAPI\Client\Model\JobadId;
 use OpenAPI\Client\ObjectSerializer;
 
 /**
@@ -487,7 +488,7 @@ public function addApplicationPOSTRequest($indexname, $jobad_id, $resume_id, $ba
         if ($jobad_id !== null) {
             $resourcePath = str_replace(
                 '{' . 'jobad_id' . '}',
-                ObjectSerializer::toPathValue($jobad_id),
+                $jobad_id->getValue(),
                 $resourcePath
             );
         }
@@ -910,7 +911,7 @@ public function addApplicationStagePOSTRequest($indexname, $resume_id, $jobad_id
         if ($jobad_id !== null) {
             $resourcePath = str_replace(
                 '{' . 'jobad_id' . '}',
-                ObjectSerializer::toPathValue($jobad_id),
+                $jobad_id->getValue(),
                 $resourcePath
             );
         }
@@ -1282,7 +1283,7 @@ public function applicationStatusGETRequest($indexname, $jobad_id, $resume_id, s
         if ($jobad_id !== null) {
             $resourcePath = str_replace(
                 '{' . 'jobad_id' . '}',
-                ObjectSerializer::toPathValue($jobad_id),
+                $jobad_id->getValue(),
                 $resourcePath
             );
         }
@@ -1677,7 +1678,7 @@ public function applyPOSTRequest($indexname, $jobad_id, $apply_item_request, $re
         if ($jobad_id !== null) {
             $resourcePath = str_replace(
                 '{' . 'jobad_id' . '}',
-                ObjectSerializer::toPathValue($jobad_id),
+                $jobad_id->getValue(),
                 $resourcePath
             );
         }
@@ -2060,7 +2061,7 @@ public function deleteApplicantsDELETERequest($indexname, $jobad_id, string $con
         if ($jobad_id !== null) {
             $resourcePath = str_replace(
                 '{' . 'jobad_id' . '}',
-                ObjectSerializer::toPathValue($jobad_id),
+                $jobad_id->getValue(),
                 $resourcePath
             );
         }
@@ -2448,7 +2449,7 @@ public function deleteApplicationDELETERequest($indexname, $jobad_id, $resume_id
         if ($jobad_id !== null) {
             $resourcePath = str_replace(
                 '{' . 'jobad_id' . '}',
-                ObjectSerializer::toPathValue($jobad_id),
+                $jobad_id->getValue(),
                 $resourcePath
             );
         }
@@ -2880,7 +2881,7 @@ public function deleteApplicationStageDELETERequest($indexname, $jobad_id, $resu
         if ($jobad_id !== null) {
             $resourcePath = str_replace(
                 '{' . 'jobad_id' . '}',
-                ObjectSerializer::toPathValue($jobad_id),
+                $jobad_id->getValue(),
                 $resourcePath
             );
         }
@@ -3747,7 +3748,7 @@ public function getApplicantsGETRequest($indexname, $jobad_id, $cache = true, $c
         if ($jobad_id !== null) {
             $resourcePath = str_replace(
                 '{' . 'jobad_id' . '}',
-                ObjectSerializer::toPathValue($jobad_id),
+                $jobad_id->getValue(),
                 $resourcePath
             );
         }
@@ -4143,7 +4144,7 @@ public function getApplicationGETRequest($indexname, $resume_id, $jobad_id, stri
         if ($jobad_id !== null) {
             $resourcePath = str_replace(
                 '{' . 'jobad_id' . '}',
-                ObjectSerializer::toPathValue($jobad_id),
+                $jobad_id->getValue(),
                 $resourcePath
             );
         }
@@ -5026,7 +5027,7 @@ public function patchApplicationPATCHRequest($indexname, $jobad_id, $resume_id,
         if ($jobad_id !== null) {
             $resourcePath = str_replace(
                 '{' . 'jobad_id' . '}',
-                ObjectSerializer::toPathValue($jobad_id),
+                $jobad_id->getValue(),
                 $resourcePath
             );
         }
diff --git a/lib/inda_hr/CustomizationsApi.php b/lib/inda_hr/CustomizationsApi.php
index 7150017..a3d65da 100644
--- a/lib/inda_hr/CustomizationsApi.php
+++ b/lib/inda_hr/CustomizationsApi.php
@@ -78,9 +78,15 @@ class CustomizationsApi
         'getResumeCustomizationsGET' => [
             'application/json',
         ],
+        'customizeJobAdsPOST' => [
+            'application/json',
+        ],
+        'getJobAdCustomizationsGET' => [
+            'application/json',
+        ],
     ];
 
-/**
+    /**
      * @param ClientInterface $client
      * @param Configuration   $config
      * @param HeaderSelector  $selector
@@ -90,7 +96,7 @@ public function __construct(
         ClientInterface $client = null,
         Configuration $config = null,
         HeaderSelector $selector = null,
-        $hostIndex = 0
+                        $hostIndex = 0
     ) {
         $this->client = $client ?: new Client();
         $this->config = $config ?: new Configuration();
@@ -765,6 +771,652 @@ public function getResumeCustomizationsGETRequest($indexname, string $contentTyp
         );
     }
 
+    ###########
+    # JOB-ADS #
+    ###########
+
+    /**
+     * Operation customizeResumesPOST
+     *
+     * Customize Resumes
+     *
+     * @param  string $indexname indexname (required)
+     * @param  \OpenAPI\Client\Model\CustomFields $custom_fields custom_fields (required)
+     * @param  string $contentType The value for the Content-Type header. Check self::contentTypes['customizeResumesPOST'] to see the possible values for this operation
+     *
+     * @throws \OpenAPI\Client\ApiException on non-2xx response
+     * @throws \InvalidArgumentException
+     * @return \OpenAPI\Client\Model\CustomizedFields|\OpenAPI\Client\Model\HTTPValidationError
+     */
+    public function customizeJobAdsPOST($indexname, $custom_fields, string $contentType = self::contentTypes['customizeJobAdsPOST'][0])
+    {
+        list($response) = $this->customizeJobAdsPOSTWithHttpInfo($indexname, $custom_fields, $contentType);
+        return $response;
+    }
+
+    /**
+     * Operation customizeJobAdsPOSTWithHttpInfo
+     *
+     * Customize JobAds
+     *
+     * @param  string $indexname (required)
+     * @param  \OpenAPI\Client\Model\CustomFields $custom_fields (required)
+     * @param  string $contentType The value for the Content-Type header. Check self::contentTypes['customizeJobAdsPOST'] to see the possible values for this operation
+     *
+     * @throws \OpenAPI\Client\ApiException on non-2xx response
+     * @throws \InvalidArgumentException
+     * @return array of \OpenAPI\Client\Model\CustomizedFields|\OpenAPI\Client\Model\HTTPValidationError, HTTP status code, HTTP response headers (array of strings)
+     */
+    public function customizeJobAdsPOSTWithHttpInfo($indexname, $custom_fields, string $contentType = self::contentTypes['customizeJobAdsPOST'][0])
+    {
+        $request = $this->customizeJobAdsPOSTRequest($indexname, $custom_fields, $contentType);
+
+        try {
+            $options = $this->createHttpClientOption();
+            try {
+                $response = $this->client->send($request, $options);
+            } catch (RequestException $e) {
+                throw new ApiException(
+                    "[{$e->getCode()}] {$e->getMessage()}",
+                    (int) $e->getCode(),
+                    $e->getResponse() ? $e->getResponse()->getHeaders() : null,
+                    $e->getResponse() ? (string) $e->getResponse()->getBody() : null
+                );
+            } catch (ConnectException $e) {
+                throw new ApiException(
+                    "[{$e->getCode()}] {$e->getMessage()}",
+                    (int) $e->getCode(),
+                    null,
+                    null
+                );
+            }
+
+            $statusCode = $response->getStatusCode();
+
+            if ($statusCode < 200 || $statusCode > 299) {
+                throw new ApiException(
+                    sprintf(
+                        '[%d] Error connecting to the API (%s)',
+                        $statusCode,
+                        (string) $request->getUri()
+                    ),
+                    $statusCode,
+                    $response->getHeaders(),
+                    (string) $response->getBody()
+                );
+            }
+
+            switch($statusCode) {
+                case 200:
+                    if ('\OpenAPI\Client\Model\CustomizedFields' === '\SplFileObject') {
+                        $content = $response->getBody(); //stream goes to serializer
+                    } else {
+                        $content = (string) $response->getBody();
+                        if ('\OpenAPI\Client\Model\CustomizedFields' !== 'string') {
+                            $content = json_decode($content);
+                        }
+                    }
+
+                    return [
+                        ObjectSerializer::deserialize($content, '\OpenAPI\Client\Model\CustomizedFields', []),
+                        $response->getStatusCode(),
+                        $response->getHeaders()
+                    ];
+                case 422:
+                    if ('\OpenAPI\Client\Model\HTTPValidationError' === '\SplFileObject') {
+                        $content = $response->getBody(); //stream goes to serializer
+                    } else {
+                        $content = (string) $response->getBody();
+                        if ('\OpenAPI\Client\Model\HTTPValidationError' !== 'string') {
+                            $content = json_decode($content);
+                        }
+                    }
+
+                    return [
+                        ObjectSerializer::deserialize($content, '\OpenAPI\Client\Model\HTTPValidationError', []),
+                        $response->getStatusCode(),
+                        $response->getHeaders()
+                    ];
+            }
+
+            $returnType = '\OpenAPI\Client\Model\CustomizedFields';
+            if ($returnType === '\SplFileObject') {
+                $content = $response->getBody(); //stream goes to serializer
+            } else {
+                $content = (string) $response->getBody();
+                if ($returnType !== 'string') {
+                    $content = json_decode($content);
+                }
+            }
+
+            return [
+                ObjectSerializer::deserialize($content, $returnType, []),
+                $response->getStatusCode(),
+                $response->getHeaders()
+            ];
+
+        } catch (ApiException $e) {
+            switch ($e->getCode()) {
+                case 200:
+                    $data = ObjectSerializer::deserialize(
+                        $e->getResponseBody(),
+                        '\OpenAPI\Client\Model\CustomizedFields',
+                        $e->getResponseHeaders()
+                    );
+                    $e->setResponseObject($data);
+                    break;
+                case 422:
+                    $data = ObjectSerializer::deserialize(
+                        $e->getResponseBody(),
+                        '\OpenAPI\Client\Model\HTTPValidationError',
+                        $e->getResponseHeaders()
+                    );
+                    $e->setResponseObject($data);
+                    break;
+            }
+            throw $e;
+        }
+    }
+
+    /**
+     * Operation customizeJobAdsPOSTAsync
+     *
+     * Customize JobAds
+     *
+     * @param  string $indexname (required)
+     * @param  \OpenAPI\Client\Model\CustomFields $custom_fields (required)
+     * @param  string $contentType The value for the Content-Type header. Check self::contentTypes['customizeJobAdsPOST'] to see the possible values for this operation
+     *
+     * @throws \InvalidArgumentException
+     * @return \GuzzleHttp\Promise\PromiseInterface
+     */
+    public function customizeJobAdsPOSTAsync($indexname, $custom_fields, string $contentType = self::contentTypes['customizeJobAdsPOST'][0])
+    {
+        return $this->customizeJobAdsPOSTAsyncWithHttpInfo($indexname, $custom_fields, $contentType)
+            ->then(
+                function ($response) {
+                    return $response[0];
+                }
+            );
+    }
+
+    /**
+     * Operation customizeJobAdsPOSTAsyncWithHttpInfo
+     *
+     * Customize JobAds
+     *
+     * @param  string $indexname (required)
+     * @param  \OpenAPI\Client\Model\CustomFields $custom_fields (required)
+     * @param  string $contentType The value for the Content-Type header. Check self::contentTypes['customizeJobAdsPOST'] to see the possible values for this operation
+     *
+     * @throws \InvalidArgumentException
+     * @return \GuzzleHttp\Promise\PromiseInterface
+     */
+    public function customizeJobAdsPOSTAsyncWithHttpInfo($indexname, $custom_fields, string $contentType = self::contentTypes['customizeJobAdsPOST'][0])
+    {
+        $returnType = '\OpenAPI\Client\Model\CustomizedFields';
+        $request = $this->customizeJobAdsPOSTRequest($indexname, $custom_fields, $contentType);
+
+        return $this->client
+            ->sendAsync($request, $this->createHttpClientOption())
+            ->then(
+                function ($response) use ($returnType) {
+                    if ($returnType === '\SplFileObject') {
+                        $content = $response->getBody(); //stream goes to serializer
+                    } else {
+                        $content = (string) $response->getBody();
+                        if ($returnType !== 'string') {
+                            $content = json_decode($content);
+                        }
+                    }
+
+                    return [
+                        ObjectSerializer::deserialize($content, $returnType, []),
+                        $response->getStatusCode(),
+                        $response->getHeaders()
+                    ];
+                },
+                function ($exception) {
+                    $response = $exception->getResponse();
+                    $statusCode = $response->getStatusCode();
+                    throw new ApiException(
+                        sprintf(
+                            '[%d] Error connecting to the API (%s)',
+                            $statusCode,
+                            $exception->getRequest()->getUri()
+                        ),
+                        $statusCode,
+                        $response->getHeaders(),
+                        (string) $response->getBody()
+                    );
+                }
+            );
+    }
+
+    /**
+     * Create request for operation 'customizeJobAdsPOST'
+     *
+     * @param  string $indexname (required)
+     * @param  \OpenAPI\Client\Model\CustomFields $custom_fields (required)
+     * @param  string $contentType The value for the Content-Type header. Check self::contentTypes['customizeJobAdsPOST'] to see the possible values for this operation
+     *
+     * @throws \InvalidArgumentException
+     * @return \GuzzleHttp\Psr7\Request
+     */
+    public function customizeJobAdsPOSTRequest($indexname, $custom_fields, string $contentType = self::contentTypes['customizeJobAdsPOST'][0])
+    {
+
+        // verify the required parameter 'indexname' is set
+        if ($indexname === null || (is_array($indexname) && count($indexname) === 0)) {
+            throw new \InvalidArgumentException(
+                'Missing the required parameter $indexname when calling customizeJobAdsPOST'
+            );
+        }
+
+        // verify the required parameter 'custom_fields' is set
+        if ($custom_fields === null || (is_array($custom_fields) && count($custom_fields) === 0)) {
+            throw new \InvalidArgumentException(
+                'Missing the required parameter $custom_fields when calling customizeJobAdsPOST'
+            );
+        }
+
+
+        $resourcePath = '/hr/v2/index/{indexname}/jobads/customize/';
+        $formParams = [];
+        $queryParams = [];
+        $headerParams = [];
+        $httpBody = '';
+        $multipart = false;
+
+
+
+        // path params
+        if ($indexname !== null) {
+            $resourcePath = str_replace(
+                '{' . 'indexname' . '}',
+                ObjectSerializer::toPathValue($indexname),
+                $resourcePath
+            );
+        }
+
+
+        $headers = $this->headerSelector->selectHeaders(
+            ['application/json', ],
+            $contentType,
+            $multipart
+        );
+
+        // for model (json/xml)
+        if (isset($custom_fields)) {
+            if (stripos($headers['Content-Type'], 'application/json') !== false) {
+                # if Content-Type contains "application/json", json_encode the body
+                $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($custom_fields));
+            } else {
+                $httpBody = $custom_fields;
+            }
+        } elseif (count($formParams) > 0) {
+            if ($multipart) {
+                $multipartContents = [];
+                foreach ($formParams as $formParamName => $formParamValue) {
+                    $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue];
+                    foreach ($formParamValueItems as $formParamValueItem) {
+                        $multipartContents[] = [
+                            'name' => $formParamName,
+                            'contents' => $formParamValueItem
+                        ];
+                    }
+                }
+                // for HTTP post (form)
+                $httpBody = new MultipartStream($multipartContents);
+
+            } elseif (stripos($headers['Content-Type'], 'application/json') !== false) {
+                # if Content-Type contains "application/json", json_encode the form parameters
+                $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams);
+            } else {
+                // for HTTP post (form)
+                $httpBody = ObjectSerializer::buildQuery($formParams);
+            }
+        }
+
+        // this endpoint requires Bearer authentication (access token)
+        if (!empty($this->config->getAccessToken())) {
+            $headers['Authorization'] = 'Bearer ' . $this->config->getAccessToken();
+        }
+
+        $defaultHeaders = [];
+        if ($this->config->getUserAgent()) {
+            $defaultHeaders['User-Agent'] = $this->config->getUserAgent();
+        }
+
+        $headers = array_merge(
+            $defaultHeaders,
+            $headerParams,
+            $headers
+        );
+
+        $operationHost = $this->config->getHost();
+        $query = ObjectSerializer::buildQuery($queryParams);
+        return new Request(
+            'POST',
+            $operationHost . $resourcePath . ($query ? "?{$query}" : ''),
+            $headers,
+            $httpBody
+        );
+    }
+
+    /**
+     * Operation getJobAdCustomizationsGET
+     *
+     * Get JobAd Customizations
+     *
+     * @param  string $indexname indexname (required)
+     * @param  string $contentType The value for the Content-Type header. Check self::contentTypes['getJobAdCustomizationsGET'] to see the possible values for this operation
+     *
+     * @throws \OpenAPI\Client\ApiException on non-2xx response
+     * @throws \InvalidArgumentException
+     * @return \OpenAPI\Client\Model\MappingResponse|\OpenAPI\Client\Model\HTTPValidationError
+     */
+    public function getJobAdCustomizationsGET($indexname, string $contentType = self::contentTypes['getJobAdCustomizationsGET'][0])
+    {
+        list($response) = $this->getJobAdCustomizationsGETWithHttpInfo($indexname, $contentType);
+        return $response;
+    }
+
+    /**
+     * Operation getJobAdCustomizationsGETWithHttpInfo
+     *
+     * Get JobAd Customizations
+     *
+     * @param  string $indexname (required)
+     * @param  string $contentType The value for the Content-Type header. Check self::contentTypes['getJobAdCustomizationsGET'] to see the possible values for this operation
+     *
+     * @throws \OpenAPI\Client\ApiException on non-2xx response
+     * @throws \InvalidArgumentException
+     * @return array of \OpenAPI\Client\Model\MappingResponse|\OpenAPI\Client\Model\HTTPValidationError, HTTP status code, HTTP response headers (array of strings)
+     */
+    public function getJobAdCustomizationsGETWithHttpInfo($indexname, string $contentType = self::contentTypes['getJobAdCustomizationsGET'][0])
+    {
+        $request = $this->getJobAdCustomizationsGETRequest($indexname, $contentType);
+
+        try {
+            $options = $this->createHttpClientOption();
+            try {
+                $response = $this->client->send($request, $options);
+            } catch (RequestException $e) {
+                throw new ApiException(
+                    "[{$e->getCode()}] {$e->getMessage()}",
+                    (int) $e->getCode(),
+                    $e->getResponse() ? $e->getResponse()->getHeaders() : null,
+                    $e->getResponse() ? (string) $e->getResponse()->getBody() : null
+                );
+            } catch (ConnectException $e) {
+                throw new ApiException(
+                    "[{$e->getCode()}] {$e->getMessage()}",
+                    (int) $e->getCode(),
+                    null,
+                    null
+                );
+            }
+
+            $statusCode = $response->getStatusCode();
+
+            if ($statusCode < 200 || $statusCode > 299) {
+                throw new ApiException(
+                    sprintf(
+                        '[%d] Error connecting to the API (%s)',
+                        $statusCode,
+                        (string) $request->getUri()
+                    ),
+                    $statusCode,
+                    $response->getHeaders(),
+                    (string) $response->getBody()
+                );
+            }
+
+            switch($statusCode) {
+                case 200:
+                    if ('\OpenAPI\Client\Model\MappingResponse' === '\SplFileObject') {
+                        $content = $response->getBody(); //stream goes to serializer
+                    } else {
+                        $content = (string) $response->getBody();
+                        if ('\OpenAPI\Client\Model\MappingResponse' !== 'string') {
+                            $content = json_decode($content);
+                        }
+                    }
+
+                    return [
+                        ObjectSerializer::deserialize($content, '\OpenAPI\Client\Model\MappingResponse', []),
+                        $response->getStatusCode(),
+                        $response->getHeaders()
+                    ];
+                case 422:
+                    if ('\OpenAPI\Client\Model\HTTPValidationError' === '\SplFileObject') {
+                        $content = $response->getBody(); //stream goes to serializer
+                    } else {
+                        $content = (string) $response->getBody();
+                        if ('\OpenAPI\Client\Model\HTTPValidationError' !== 'string') {
+                            $content = json_decode($content);
+                        }
+                    }
+
+                    return [
+                        ObjectSerializer::deserialize($content, '\OpenAPI\Client\Model\HTTPValidationError', []),
+                        $response->getStatusCode(),
+                        $response->getHeaders()
+                    ];
+            }
+
+            $returnType = '\OpenAPI\Client\Model\MappingResponse';
+            if ($returnType === '\SplFileObject') {
+                $content = $response->getBody(); //stream goes to serializer
+            } else {
+                $content = (string) $response->getBody();
+                if ($returnType !== 'string') {
+                    $content = json_decode($content);
+                }
+            }
+
+            return [
+                ObjectSerializer::deserialize($content, $returnType, []),
+                $response->getStatusCode(),
+                $response->getHeaders()
+            ];
+
+        } catch (ApiException $e) {
+            switch ($e->getCode()) {
+                case 200:
+                    $data = ObjectSerializer::deserialize(
+                        $e->getResponseBody(),
+                        '\OpenAPI\Client\Model\MappingResponse',
+                        $e->getResponseHeaders()
+                    );
+                    $e->setResponseObject($data);
+                    break;
+                case 422:
+                    $data = ObjectSerializer::deserialize(
+                        $e->getResponseBody(),
+                        '\OpenAPI\Client\Model\HTTPValidationError',
+                        $e->getResponseHeaders()
+                    );
+                    $e->setResponseObject($data);
+                    break;
+            }
+            throw $e;
+        }
+    }
+
+    /**
+     * Operation getJobAdCustomizationsGETAsync
+     *
+     * Get JobAd Customizations
+     *
+     * @param  string $indexname (required)
+     * @param  string $contentType The value for the Content-Type header. Check self::contentTypes['getJobAdCustomizationsGET'] to see the possible values for this operation
+     *
+     * @throws \InvalidArgumentException
+     * @return \GuzzleHttp\Promise\PromiseInterface
+     */
+    public function getJobAdCustomizationsGETAsync($indexname, string $contentType = self::contentTypes['getJobAdCustomizationsGET'][0])
+    {
+        return $this->getJobAdCustomizationsGETAsyncWithHttpInfo($indexname, $contentType)
+            ->then(
+                function ($response) {
+                    return $response[0];
+                }
+            );
+    }
+
+    /**
+     * Operation getJobAdCustomizationsGETAsyncWithHttpInfo
+     *
+     * Get JobAd Customizations
+     *
+     * @param  string $indexname (required)
+     * @param  string $contentType The value for the Content-Type header. Check self::contentTypes['getJobAdCustomizationsGET'] to see the possible values for this operation
+     *
+     * @throws \InvalidArgumentException
+     * @return \GuzzleHttp\Promise\PromiseInterface
+     */
+    public function getJobAdCustomizationsGETAsyncWithHttpInfo($indexname, string $contentType = self::contentTypes['getJobAdCustomizationsGET'][0])
+    {
+        $returnType = '\OpenAPI\Client\Model\MappingResponse';
+        $request = $this->getJobAdCustomizationsGETRequest($indexname, $contentType);
+
+        return $this->client
+            ->sendAsync($request, $this->createHttpClientOption())
+            ->then(
+                function ($response) use ($returnType) {
+                    if ($returnType === '\SplFileObject') {
+                        $content = $response->getBody(); //stream goes to serializer
+                    } else {
+                        $content = (string) $response->getBody();
+                        if ($returnType !== 'string') {
+                            $content = json_decode($content);
+                        }
+                    }
+
+                    return [
+                        ObjectSerializer::deserialize($content, $returnType, []),
+                        $response->getStatusCode(),
+                        $response->getHeaders()
+                    ];
+                },
+                function ($exception) {
+                    $response = $exception->getResponse();
+                    $statusCode = $response->getStatusCode();
+                    throw new ApiException(
+                        sprintf(
+                            '[%d] Error connecting to the API (%s)',
+                            $statusCode,
+                            $exception->getRequest()->getUri()
+                        ),
+                        $statusCode,
+                        $response->getHeaders(),
+                        (string) $response->getBody()
+                    );
+                }
+            );
+    }
+
+    /**
+     * Create request for operation 'getJobAdCustomizationsGET'
+     *
+     * @param  string $indexname (required)
+     * @param  string $contentType The value for the Content-Type header. Check self::contentTypes['getJobAdCustomizationsGET'] to see the possible values for this operation
+     *
+     * @throws \InvalidArgumentException
+     * @return \GuzzleHttp\Psr7\Request
+     */
+    public function getJobAdCustomizationsGETRequest($indexname, string $contentType = self::contentTypes['getJobAdCustomizationsGET'][0])
+    {
+
+        // verify the required parameter 'indexname' is set
+        if ($indexname === null || (is_array($indexname) && count($indexname) === 0)) {
+            throw new \InvalidArgumentException(
+                'Missing the required parameter $indexname when calling getJobAdCustomizationsGET'
+            );
+        }
+
+
+        $resourcePath = '/hr/v2/index/{indexname}/jobads/mapping/';
+        $formParams = [];
+        $queryParams = [];
+        $headerParams = [];
+        $httpBody = '';
+        $multipart = false;
+
+
+
+        // path params
+        if ($indexname !== null) {
+            $resourcePath = str_replace(
+                '{' . 'indexname' . '}',
+                ObjectSerializer::toPathValue($indexname),
+                $resourcePath
+            );
+        }
+
+
+        $headers = $this->headerSelector->selectHeaders(
+            ['application/json', ],
+            $contentType,
+            $multipart
+        );
+
+        // for model (json/xml)
+        if (count($formParams) > 0) {
+            if ($multipart) {
+                $multipartContents = [];
+                foreach ($formParams as $formParamName => $formParamValue) {
+                    $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue];
+                    foreach ($formParamValueItems as $formParamValueItem) {
+                        $multipartContents[] = [
+                            'name' => $formParamName,
+                            'contents' => $formParamValueItem
+                        ];
+                    }
+                }
+                // for HTTP post (form)
+                $httpBody = new MultipartStream($multipartContents);
+
+            } elseif (stripos($headers['Content-Type'], 'application/json') !== false) {
+                # if Content-Type contains "application/json", json_encode the form parameters
+                $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams);
+            } else {
+                // for HTTP post (form)
+                $httpBody = ObjectSerializer::buildQuery($formParams);
+            }
+        }
+
+        // this endpoint requires Bearer authentication (access token)
+        if (!empty($this->config->getAccessToken())) {
+            $headers['Authorization'] = 'Bearer ' . $this->config->getAccessToken();
+        }
+
+        $defaultHeaders = [];
+        if ($this->config->getUserAgent()) {
+            $defaultHeaders['User-Agent'] = $this->config->getUserAgent();
+        }
+
+        $headers = array_merge(
+            $defaultHeaders,
+            $headerParams,
+            $headers
+        );
+
+        $operationHost = $this->config->getHost();
+        $query = ObjectSerializer::buildQuery($queryParams);
+        return new Request(
+            'GET',
+            $operationHost . $resourcePath . ($query ? "?{$query}" : ''),
+            $headers,
+            $httpBody
+        );
+    }
+
+    ###########################################
+
+
     /**
      * Create http client option
      *
diff --git a/lib/inda_hr/JobAdToResumesApi.php b/lib/inda_hr/JobAdToResumesApi.php
index c78062f..2774982 100644
--- a/lib/inda_hr/JobAdToResumesApi.php
+++ b/lib/inda_hr/JobAdToResumesApi.php
@@ -892,7 +892,7 @@ public function matchResumesEvidencePOSTRequest($indexname, $resume_matching_evi
      * @throws \InvalidArgumentException
      * @return \OpenAPI\Client\Model\SearchResumeMatchResponse|\OpenAPI\Client\Model\ErrorModel|\OpenAPI\Client\Model\HTTPValidationError
      */
-    public function matchResumesFromIndexedJobadPOST($indexname, $jobad_id, $base_resume_matching_query, $size = 20, $offset = 0, $min_score = 0, $dst_lang = null, $resume_langs = null, $only_applicants = false, $exclude_applicants = false, string $contentType = self::contentTypes['matchResumesFromIndexedJobadPOST'][0])
+    public function matchResumesFromIndexedJobadPOST($indexname, $jobad_id, $base_resume_matching_query = null, $size = 20, $offset = 0, $min_score = 0, $dst_lang = null, $resume_langs = null, $only_applicants = false, $exclude_applicants = false, string $contentType = self::contentTypes['matchResumesFromIndexedJobadPOST'][0])
     {
         list($response) = $this->matchResumesFromIndexedJobadPOSTWithHttpInfo($indexname, $jobad_id, $base_resume_matching_query, $size, $offset, $min_score, $dst_lang, $resume_langs, $only_applicants, $exclude_applicants, $contentType);
         return $response;
@@ -1179,13 +1179,6 @@ public function matchResumesFromIndexedJobadPOSTRequest($indexname, $jobad_id, $
             );
         }
 
-        // verify the required parameter 'base_resume_matching_query' is set
-        if ($base_resume_matching_query === null || (is_array($base_resume_matching_query) && count($base_resume_matching_query) === 0)) {
-            throw new \InvalidArgumentException(
-                'Missing the required parameter $base_resume_matching_query when calling matchResumesFromIndexedJobadPOST'
-            );
-        }
-
         if ($size !== null && $size > 100) {
             throw new \InvalidArgumentException('invalid value for "$size" when calling JobAdToResumesApi.matchResumesFromIndexedJobadPOST, must be smaller than or equal to 100.');
         }
diff --git a/lib/inda_hr/ResumeSearchApi.php b/lib/inda_hr/ResumeSearchApi.php
index d29de3c..4f21662 100644
--- a/lib/inda_hr/ResumeSearchApi.php
+++ b/lib/inda_hr/ResumeSearchApi.php
@@ -1495,24 +1495,21 @@ public function searchResumesEvidencePOSTRequest($indexname, $evidence_request,
      * Search Resumes
      *
      * @param  string $indexname indexname (required)
-     * @param  bool $cache Optional. Whether the search results should be cached or not. (optional, default to true)
-     * @param  int $cache_time Optional. Seconds. Ignored if *cache* is &lt;code style&#x3D;&#39;color: #333333; opacity: 0.9&#39;&gt;false&lt;/code&gt;. (optional, default to 300)
      * @param  int $size Optional. Number of documents to return. (optional, default to 50)
      * @param  int $offset Optional. Number of documents to skip. Ignored if *cache* is &lt;code style&#x3D;&#39;color: #333333; opacity: 0.9&#39;&gt;true&lt;/code&gt;. (optional, default to 0)
      * @param  float $min_score Optional. Minimum pertinence score. (optional, default to 0)
-     * @param  string $search_id Both the initial search request and each subsequent scroll request returns a *SearchID*. The *SearchID* may or may not  change between requests; however, only the most recently received *SearchID* should be used. (optional)
      * @param  string $src_lang Queries language. If left empty each query&#39;s language will detected automatically, if not it is not explicitly set into the request body. (optional)
      * @param  string[] $dst_lang Results languages. If left empty then the results will not be filtered by language and the they will contain multi-language results. (optional)
+     * @param  string $sort_by Results are sorted by selected field values. (optional)
      * @param  \OpenAPI\Client\Model\DocsSearchQuery $docs_search_query docs_search_query (optional)
      * @param  string $contentType The value for the Content-Type header. Check self::contentTypes['searchResumesPOST'] to see the possible values for this operation
-     *
      * @throws \OpenAPI\Client\ApiException on non-2xx response
      * @throws \InvalidArgumentException
      * @return \OpenAPI\Client\Model\FoundDocsResponse|\OpenAPI\Client\Model\ErrorModel|\OpenAPI\Client\Model\ErrorModel|\OpenAPI\Client\Model\ErrorModel
      */
-    public function searchResumesPOST($indexname, $cache = true, $cache_time = 300, $size = 50, $offset = 0, $min_score = 0, $search_id = null, $src_lang = null, $dst_lang = null, $docs_search_query = null, string $contentType = self::contentTypes['searchResumesPOST'][0])
+    public function searchResumesPOST($indexname, $size = 50, $offset = 0, $min_score = 0,  $src_lang = null, $dst_lang = null, $sort_by = null, $docs_search_query = null, string $contentType = self::contentTypes['searchResumesPOST'][0])
     {
-        list($response) = $this->searchResumesPOSTWithHttpInfo($indexname, $cache, $cache_time, $size, $offset, $min_score, $search_id, $src_lang, $dst_lang, $docs_search_query, $contentType);
+        list($response) = $this->searchResumesPOSTWithHttpInfo($indexname, $size, $offset, $min_score, $src_lang, $dst_lang, $sort_by, $docs_search_query, $contentType);
         return $response;
     }
 
@@ -1522,24 +1519,21 @@ public function searchResumesPOST($indexname, $cache = true, $cache_time = 300,
      * Search Resumes
      *
      * @param  string $indexname (required)
-     * @param  bool $cache Optional. Whether the search results should be cached or not. (optional, default to true)
-     * @param  int $cache_time Optional. Seconds. Ignored if *cache* is &lt;code style&#x3D;&#39;color: #333333; opacity: 0.9&#39;&gt;false&lt;/code&gt;. (optional, default to 300)
      * @param  int $size Optional. Number of documents to return. (optional, default to 50)
      * @param  int $offset Optional. Number of documents to skip. Ignored if *cache* is &lt;code style&#x3D;&#39;color: #333333; opacity: 0.9&#39;&gt;true&lt;/code&gt;. (optional, default to 0)
      * @param  float $min_score Optional. Minimum pertinence score. (optional, default to 0)
-     * @param  string $search_id Both the initial search request and each subsequent scroll request returns a *SearchID*. The *SearchID* may or may not  change between requests; however, only the most recently received *SearchID* should be used. (optional)
      * @param  string $src_lang Queries language. If left empty each query&#39;s language will detected automatically, if not it is not explicitly set into the request body. (optional)
      * @param  string[] $dst_lang Results languages. If left empty then the results will not be filtered by language and the they will contain multi-language results. (optional)
      * @param  \OpenAPI\Client\Model\DocsSearchQuery $docs_search_query (optional)
      * @param  string $contentType The value for the Content-Type header. Check self::contentTypes['searchResumesPOST'] to see the possible values for this operation
-     *
+     * @param  string $sort_by Results are sorted by selected field values. (optional)
      * @throws \OpenAPI\Client\ApiException on non-2xx response
      * @throws \InvalidArgumentException
      * @return array of \OpenAPI\Client\Model\FoundDocsResponse|\OpenAPI\Client\Model\ErrorModel|\OpenAPI\Client\Model\ErrorModel|\OpenAPI\Client\Model\ErrorModel, HTTP status code, HTTP response headers (array of strings)
      */
-    public function searchResumesPOSTWithHttpInfo($indexname, $cache = true, $cache_time = 300, $size = 50, $offset = 0, $min_score = 0, $search_id = null, $src_lang = null, $dst_lang = null, $docs_search_query = null, string $contentType = self::contentTypes['searchResumesPOST'][0])
+    public function searchResumesPOSTWithHttpInfo($indexname, $size = 50, $offset = 0, $min_score = 0, $src_lang = null, $dst_lang = null, $sort_by = null, $docs_search_query = null, string $contentType = self::contentTypes['searchResumesPOST'][0])
     {
-        $request = $this->searchResumesPOSTRequest($indexname, $cache, $cache_time, $size, $offset, $min_score, $search_id, $src_lang, $dst_lang, $docs_search_query, $contentType);
+        $request = $this->searchResumesPOSTRequest($indexname, $size, $offset, $min_score, $src_lang, $dst_lang, $sort_by, $docs_search_query, $contentType);
 
         try {
             $options = $this->createHttpClientOption();
@@ -1700,23 +1694,21 @@ public function searchResumesPOSTWithHttpInfo($indexname, $cache = true, $cache_
      * Search Resumes
      *
      * @param  string $indexname (required)
-     * @param  bool $cache Optional. Whether the search results should be cached or not. (optional, default to true)
-     * @param  int $cache_time Optional. Seconds. Ignored if *cache* is &lt;code style&#x3D;&#39;color: #333333; opacity: 0.9&#39;&gt;false&lt;/code&gt;. (optional, default to 300)
      * @param  int $size Optional. Number of documents to return. (optional, default to 50)
      * @param  int $offset Optional. Number of documents to skip. Ignored if *cache* is &lt;code style&#x3D;&#39;color: #333333; opacity: 0.9&#39;&gt;true&lt;/code&gt;. (optional, default to 0)
      * @param  float $min_score Optional. Minimum pertinence score. (optional, default to 0)
-     * @param  string $search_id Both the initial search request and each subsequent scroll request returns a *SearchID*. The *SearchID* may or may not  change between requests; however, only the most recently received *SearchID* should be used. (optional)
      * @param  string $src_lang Queries language. If left empty each query&#39;s language will detected automatically, if not it is not explicitly set into the request body. (optional)
      * @param  string[] $dst_lang Results languages. If left empty then the results will not be filtered by language and the they will contain multi-language results. (optional)
+     * @param  string $sort_by Results are sorted by selected field values. (optional)
      * @param  \OpenAPI\Client\Model\DocsSearchQuery $docs_search_query (optional)
      * @param  string $contentType The value for the Content-Type header. Check self::contentTypes['searchResumesPOST'] to see the possible values for this operation
      *
      * @throws \InvalidArgumentException
      * @return \GuzzleHttp\Promise\PromiseInterface
      */
-    public function searchResumesPOSTAsync($indexname, $cache = true, $cache_time = 300, $size = 50, $offset = 0, $min_score = 0, $search_id = null, $src_lang = null, $dst_lang = null, $docs_search_query = null, string $contentType = self::contentTypes['searchResumesPOST'][0])
+    public function searchResumesPOSTAsync($indexname, $size = 50, $offset = 0, $min_score = 0, $src_lang = null, $dst_lang = null, $sort_by = null, $docs_search_query = null, string $contentType = self::contentTypes['searchResumesPOST'][0])
     {
-        return $this->searchResumesPOSTAsyncWithHttpInfo($indexname, $cache, $cache_time, $size, $offset, $min_score, $search_id, $src_lang, $dst_lang, $docs_search_query, $contentType)
+        return $this->searchResumesPOSTAsyncWithHttpInfo($indexname, $size, $offset, $min_score, $src_lang, $dst_lang, $sort_by, $docs_search_query, $contentType)
             ->then(
                 function ($response) {
                     return $response[0];
@@ -1730,24 +1722,22 @@ function ($response) {
      * Search Resumes
      *
      * @param  string $indexname (required)
-     * @param  bool $cache Optional. Whether the search results should be cached or not. (optional, default to true)
-     * @param  int $cache_time Optional. Seconds. Ignored if *cache* is &lt;code style&#x3D;&#39;color: #333333; opacity: 0.9&#39;&gt;false&lt;/code&gt;. (optional, default to 300)
      * @param  int $size Optional. Number of documents to return. (optional, default to 50)
      * @param  int $offset Optional. Number of documents to skip. Ignored if *cache* is &lt;code style&#x3D;&#39;color: #333333; opacity: 0.9&#39;&gt;true&lt;/code&gt;. (optional, default to 0)
      * @param  float $min_score Optional. Minimum pertinence score. (optional, default to 0)
-     * @param  string $search_id Both the initial search request and each subsequent scroll request returns a *SearchID*. The *SearchID* may or may not  change between requests; however, only the most recently received *SearchID* should be used. (optional)
      * @param  string $src_lang Queries language. If left empty each query&#39;s language will detected automatically, if not it is not explicitly set into the request body. (optional)
      * @param  string[] $dst_lang Results languages. If left empty then the results will not be filtered by language and the they will contain multi-language results. (optional)
+     * @param  string $sort_by Results are sorted by selected field values. (optional)
      * @param  \OpenAPI\Client\Model\DocsSearchQuery $docs_search_query (optional)
      * @param  string $contentType The value for the Content-Type header. Check self::contentTypes['searchResumesPOST'] to see the possible values for this operation
      *
      * @throws \InvalidArgumentException
      * @return \GuzzleHttp\Promise\PromiseInterface
      */
-    public function searchResumesPOSTAsyncWithHttpInfo($indexname, $cache = true, $cache_time = 300, $size = 50, $offset = 0, $min_score = 0, $search_id = null, $src_lang = null, $dst_lang = null, $docs_search_query = null, string $contentType = self::contentTypes['searchResumesPOST'][0])
+    public function searchResumesPOSTAsyncWithHttpInfo($indexname, $size = 50, $offset = 0, $min_score = 0, $src_lang = null, $dst_lang = null, $sort_by = null, $docs_search_query = null, string $contentType = self::contentTypes['searchResumesPOST'][0])
     {
         $returnType = '\OpenAPI\Client\Model\FoundDocsResponse';
-        $request = $this->searchResumesPOSTRequest($indexname, $cache, $cache_time, $size, $offset, $min_score, $search_id, $src_lang, $dst_lang, $docs_search_query, $contentType);
+        $request = $this->searchResumesPOSTRequest($indexname, $size, $offset, $min_score, $src_lang, $dst_lang, $sort_by, $docs_search_query, $contentType);
 
         return $this->client
             ->sendAsync($request, $this->createHttpClientOption())
@@ -1789,21 +1779,19 @@ function ($exception) {
      * Create request for operation 'searchResumesPOST'
      *
      * @param  string $indexname (required)
-     * @param  bool $cache Optional. Whether the search results should be cached or not. (optional, default to true)
-     * @param  int $cache_time Optional. Seconds. Ignored if *cache* is &lt;code style&#x3D;&#39;color: #333333; opacity: 0.9&#39;&gt;false&lt;/code&gt;. (optional, default to 300)
      * @param  int $size Optional. Number of documents to return. (optional, default to 50)
      * @param  int $offset Optional. Number of documents to skip. Ignored if *cache* is &lt;code style&#x3D;&#39;color: #333333; opacity: 0.9&#39;&gt;true&lt;/code&gt;. (optional, default to 0)
      * @param  float $min_score Optional. Minimum pertinence score. (optional, default to 0)
-     * @param  string $search_id Both the initial search request and each subsequent scroll request returns a *SearchID*. The *SearchID* may or may not  change between requests; however, only the most recently received *SearchID* should be used. (optional)
      * @param  string $src_lang Queries language. If left empty each query&#39;s language will detected automatically, if not it is not explicitly set into the request body. (optional)
      * @param  string[] $dst_lang Results languages. If left empty then the results will not be filtered by language and the they will contain multi-language results. (optional)
+     * @param  string $sort_by Results are sorted by selected field values. (optional)
      * @param  \OpenAPI\Client\Model\DocsSearchQuery $docs_search_query (optional)
      * @param  string $contentType The value for the Content-Type header. Check self::contentTypes['searchResumesPOST'] to see the possible values for this operation
      *
      * @throws \InvalidArgumentException
      * @return \GuzzleHttp\Psr7\Request
      */
-    public function searchResumesPOSTRequest($indexname, $cache = true, $cache_time = 300, $size = 50, $offset = 0, $min_score = 0, $search_id = null, $src_lang = null, $dst_lang = null, $docs_search_query = null, string $contentType = self::contentTypes['searchResumesPOST'][0])
+    public function searchResumesPOSTRequest($indexname, $size = 50, $offset = 0, $min_score = 0, $src_lang = null, $dst_lang = null, $sort_by = null, $docs_search_query = null, string $contentType = self::contentTypes['searchResumesPOST'][0])
     {
 
         // verify the required parameter 'indexname' is set
@@ -1813,10 +1801,6 @@ public function searchResumesPOSTRequest($indexname, $cache = true, $cache_time
             );
         }
 
-
-        if ($cache_time !== null && $cache_time > 600) {
-            throw new \InvalidArgumentException('invalid value for "$cache_time" when calling ResumeSearchApi.searchResumesPOST, must be smaller than or equal to 600.');
-        }
         
         if ($size !== null && $size > 1000) {
             throw new \InvalidArgumentException('invalid value for "$size" when calling ResumeSearchApi.searchResumesPOST, must be smaller than or equal to 1000.');
@@ -1829,8 +1813,6 @@ public function searchResumesPOSTRequest($indexname, $cache = true, $cache_time
         if ($min_score !== null && $min_score < 0.0) {
             throw new \InvalidArgumentException('invalid value for "$min_score" when calling ResumeSearchApi.searchResumesPOST, must be bigger than or equal to 0.0.');
         }
-        
-
 
         if ($dst_lang !== null && count($dst_lang) > 6) {
             throw new \InvalidArgumentException('invalid value for "$dst_lang" when calling ResumeSearchApi.searchResumesPOST, number of items must be less than or equal to 6.');
@@ -1848,24 +1830,6 @@ public function searchResumesPOSTRequest($indexname, $cache = true, $cache_time
         $httpBody = '';
         $multipart = false;
 
-        // query params
-        $queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue(
-            $cache,
-            'cache', // param base name
-            'boolean', // openApiType
-            'form', // style
-            true, // explode
-            false // required
-        ) ?? []);
-        // query params
-        $queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue(
-            $cache_time,
-            'cache_time', // param base name
-            'integer', // openApiType
-            'form', // style
-            true, // explode
-            false // required
-        ) ?? []);
         // query params
         $queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue(
             $size,
@@ -1895,8 +1859,8 @@ public function searchResumesPOSTRequest($indexname, $cache = true, $cache_time
         ) ?? []);
         // query params
         $queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue(
-            $search_id,
-            'search_id', // param base name
+            $src_lang,
+            'src_lang', // param base name
             'string', // openApiType
             'form', // style
             true, // explode
@@ -1904,18 +1868,18 @@ public function searchResumesPOSTRequest($indexname, $cache = true, $cache_time
         ) ?? []);
         // query params
         $queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue(
-            $src_lang,
-            'src_lang', // param base name
-            'string', // openApiType
+            $dst_lang,
+            'dst_lang', // param base name
+            'array', // openApiType
             'form', // style
             true, // explode
             false // required
         ) ?? []);
         // query params
         $queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue(
-            $dst_lang,
-            'dst_lang', // param base name
-            'array', // openApiType
+            $sort_by,
+            'sort_by', // param base name
+            'string', // openApiType
             'form', // style
             true, // explode
             false // required
diff --git a/lib/inda_hr/ResumeToJobAdsApi.php b/lib/inda_hr/ResumeToJobAdsApi.php
index daee7f8..419c063 100644
--- a/lib/inda_hr/ResumeToJobAdsApi.php
+++ b/lib/inda_hr/ResumeToJobAdsApi.php
@@ -890,9 +890,9 @@ public function matchJobadsEvidencePOSTRequest($indexname, $jobad_matching_evide
      * @throws \InvalidArgumentException
      * @return \OpenAPI\Client\Model\SearchJobAdMatchResponse|\OpenAPI\Client\Model\ErrorModel|\OpenAPI\Client\Model\HTTPValidationError
      */
-    public function matchJobadsFromIndexedResumePOST($indexname, $resume_id, $base_jobad_matching_query, $size = 5, $offset = 0, $min_score = 0, $dst_lang = null, $jobad_langs = null, string $contentType = self::contentTypes['matchJobadsFromIndexedResumePOST'][0])
+    public function matchJobadsFromIndexedResumePOST($indexname, $resume_id, $base_jobad_matching_query = null, $size = 5, $offset = 0, $min_score = 0, $dst_lang = null, $jobad_langs = null, bool $exclude_applicants = false, string $contentType = self::contentTypes['matchJobadsFromIndexedResumePOST'][0])
     {
-        list($response) = $this->matchJobadsFromIndexedResumePOSTWithHttpInfo($indexname, $resume_id, $base_jobad_matching_query, $size, $offset, $min_score, $dst_lang, $jobad_langs, $contentType);
+        list($response) = $this->matchJobadsFromIndexedResumePOSTWithHttpInfo($indexname, $resume_id, $base_jobad_matching_query, $size, $offset, $min_score, $dst_lang, $jobad_langs, $exclude_applicants, $contentType);
         return $response;
     }
 
@@ -915,9 +915,9 @@ public function matchJobadsFromIndexedResumePOST($indexname, $resume_id, $base_j
      * @throws \InvalidArgumentException
      * @return array of \OpenAPI\Client\Model\SearchJobAdMatchResponse|\OpenAPI\Client\Model\ErrorModel|\OpenAPI\Client\Model\HTTPValidationError, HTTP status code, HTTP response headers (array of strings)
      */
-    public function matchJobadsFromIndexedResumePOSTWithHttpInfo($indexname, $resume_id, $base_jobad_matching_query, $size = 5, $offset = 0, $min_score = 0, $dst_lang = null, $jobad_langs = null, string $contentType = self::contentTypes['matchJobadsFromIndexedResumePOST'][0])
+    public function matchJobadsFromIndexedResumePOSTWithHttpInfo($indexname, $resume_id, $base_jobad_matching_query, $size = 5, $offset = 0, $min_score = 0, $dst_lang = null, $jobad_langs = null, bool $exclude_applicants = false, string $contentType = self::contentTypes['matchJobadsFromIndexedResumePOST'][0])
     {
-        $request = $this->matchJobadsFromIndexedResumePOSTRequest($indexname, $resume_id, $base_jobad_matching_query, $size, $offset, $min_score, $dst_lang, $jobad_langs, $contentType);
+        $request = $this->matchJobadsFromIndexedResumePOSTRequest($indexname, $resume_id, $base_jobad_matching_query, $size, $offset, $min_score, $dst_lang, $jobad_langs, $exclude_applicants, $contentType);
 
         try {
             $options = $this->createHttpClientOption();
@@ -1152,7 +1152,7 @@ function ($exception) {
      * @throws \InvalidArgumentException
      * @return \GuzzleHttp\Psr7\Request
      */
-    public function matchJobadsFromIndexedResumePOSTRequest($indexname, $resume_id, $base_jobad_matching_query, $size = 5, $offset = 0, $min_score = 0, $dst_lang = null, $jobad_langs = null, string $contentType = self::contentTypes['matchJobadsFromIndexedResumePOST'][0])
+    public function matchJobadsFromIndexedResumePOSTRequest($indexname, $resume_id, $base_jobad_matching_query, $size = 5, $offset = 0, $min_score = 0, $dst_lang = null, $jobad_langs = null, bool $exclude_applicants = false, string $contentType = self::contentTypes['matchJobadsFromIndexedResumePOST'][0])
     {
 
         // verify the required parameter 'indexname' is set
@@ -1169,13 +1169,6 @@ public function matchJobadsFromIndexedResumePOSTRequest($indexname, $resume_id,
             );
         }
 
-        // verify the required parameter 'base_jobad_matching_query' is set
-        if ($base_jobad_matching_query === null || (is_array($base_jobad_matching_query) && count($base_jobad_matching_query) === 0)) {
-            throw new \InvalidArgumentException(
-                'Missing the required parameter $base_jobad_matching_query when calling matchJobadsFromIndexedResumePOST'
-            );
-        }
-
         if ($size !== null && $size > 50) {
             throw new \InvalidArgumentException('invalid value for "$size" when calling ResumeToJobAdsApi.matchJobadsFromIndexedResumePOST, must be smaller than or equal to 50.');
         }
@@ -1249,7 +1242,15 @@ public function matchJobadsFromIndexedResumePOSTRequest($indexname, $resume_id,
             true, // explode
             false // required
         ) ?? []);
-
+        // query params
+        $queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue(
+            $exclude_applicants,
+            'exclude_applicants', // param base name
+            'boolean', // openApiType
+            'form', // style
+            true, // explode
+            false // required
+        ) ?? []);
 
         // path params
         if ($indexname !== null) {
