diff --git a/.pipeline/checkstyle-suppressions.xml b/.pipeline/checkstyle-suppressions.xml
index 84779d480..519684154 100644
--- a/.pipeline/checkstyle-suppressions.xml
+++ b/.pipeline/checkstyle-suppressions.xml
@@ -9,6 +9,7 @@
+
diff --git a/foundation-models/sap-rpt/pom.xml b/foundation-models/sap-rpt/pom.xml
new file mode 100644
index 000000000..38f1c8ccd
--- /dev/null
+++ b/foundation-models/sap-rpt/pom.xml
@@ -0,0 +1,153 @@
+
+
+ 4.0.0
+
+ com.sap.ai.sdk
+ sdk-parent
+ 1.16.0-SNAPSHOT
+ ../../pom.xml
+
+ com.sap.ai.sdk.foundationmodels
+ sap-rpt
+ SAP RPT Model Client
+ SAP Cloud SDK for AI is the official Software Development Kit (SDK) for SAP AI Core, SAP Generative AI Hub, and Orchestration Service. This is the client for consuming SAP RPT model for in-context learning predictions on tabular data.
+ https://github.com/SAP/ai-sdk-java?tab=readme-ov-file#documentation
+
+ SAP SE
+ https://www.sap.com
+
+
+
+ The Apache Software License, Version 2.0
+ https://www.apache.org/licenses/LICENSE-2.0.txt
+
+
+
+
+ SAP
+ cloudsdk@sap.com
+ SAP SE
+ https://www.sap.com
+
+
+
+ scm:git:git://github.com/SAP/ai-sdk-java.git
+ scm:git:ssh://github.com:SAP/ai-sdk-java.git
+ https://github.com/SAP/ai-sdk-java/tree/main
+
+
+ ${project.basedir}/../../
+ 83%
+ 77%
+ 82%
+ 100%
+ 83%
+
+
+
+
+ com.sap.ai.sdk
+ core
+
+
+ com.sap.cloud.sdk.cloudplatform
+ cloudplatform-connectivity
+
+
+ com.sap.cloud.sdk.datamodel
+ openapi-core
+
+
+ com.fasterxml.jackson.core
+ jackson-core
+
+
+ com.fasterxml.jackson.core
+ jackson-annotations
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+
+
+ com.google.code.findbugs
+ jsr305
+
+
+
+ org.projectlombok
+ lombok
+ provided
+
+
+
+ org.junit.jupiter
+ junit-jupiter-api
+ test
+
+
+ org.assertj
+ assertj-core
+ test
+
+
+ org.wiremock
+ wiremock
+ test
+
+
+ com.sap.cloud.sdk.cloudplatform
+ connectivity-apache-httpclient5
+ test
+
+
+
+
+ generate
+
+ false
+
+ generate
+
+
+
+
+
+ com.sap.cloud.sdk.datamodel
+ openapi-generator-maven-plugin
+
+ ${project.basedir}/src/main/java
+ true
+ COMPILE
+ true
+
+
+
+ sap-rpt
+
+ generate
+
+ generate-sources
+
+ ${project.basedir}/src/main/resources/spec/sap-rpt-1_openapi.json
+ com.sap.ai.sdk.foundationmodels.rpt.generated.model
+ com.sap.ai.sdk.foundationmodels.rpt.generated.client
+ true
+
+ apache-httpclient
+ create
+ true
+ true
+ true
+ true
+ /predict_parquet
+
+
+
+
+
+
+
+
+
+
diff --git a/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/RptClient.java b/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/RptClient.java
new file mode 100644
index 000000000..51e8aa66b
--- /dev/null
+++ b/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/RptClient.java
@@ -0,0 +1,68 @@
+package com.sap.ai.sdk.foundationmodels.rpt;
+
+import static com.sap.ai.sdk.core.JacksonConfiguration.getDefaultObjectMapper;
+
+import com.sap.ai.sdk.core.AiCoreService;
+import com.sap.ai.sdk.core.DeploymentResolutionException;
+import com.sap.ai.sdk.foundationmodels.rpt.generated.client.DefaultApi;
+import com.sap.ai.sdk.foundationmodels.rpt.generated.model.PredictRequestPayload;
+import com.sap.ai.sdk.foundationmodels.rpt.generated.model.PredictResponsePayload;
+import com.sap.cloud.sdk.cloudplatform.connectivity.Destination;
+import com.sap.cloud.sdk.services.openapi.apache.ApiClient;
+import javax.annotation.Nonnull;
+import lombok.AccessLevel;
+import lombok.RequiredArgsConstructor;
+
+/**
+ * Client for interacting with SAP RPT foundation models.
+ *
+ * @since 1.16.0
+ */
+@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
+public class RptClient {
+ @Nonnull private final DefaultApi api;
+
+ /**
+ * Creates a new RptClient for the specified foundation model.
+ *
+ * @param foundationModel The foundation model to use.
+ * @return A new instance of RptClient.
+ * @throws DeploymentResolutionException If there is an error resolving the deployment.
+ */
+ @Nonnull
+ public static RptClient forModel(@Nonnull final RptModel foundationModel)
+ throws DeploymentResolutionException {
+ final var destination = new AiCoreService().getInferenceDestination().forModel(foundationModel);
+ return forDestination(destination);
+ }
+
+ /**
+ * Creates a new RptClient for the specified destination.
+ *
+ * @param destination The destination to use.
+ * @return A new instance of RptClient.
+ */
+ static RptClient forDestination(@Nonnull final Destination destination) {
+ final var apiClient = ApiClient.create(destination).withObjectMapper(getDefaultObjectMapper());
+ return new RptClient(new DefaultApi(apiClient));
+ }
+
+ /**
+ * Predict targets using SAP RPT model with structured data. *
+ *
+ *
200 - Successful response with predictive insights.
+ *
+ *
400 - Bad Request - Invalid input.
+ *
+ *
422 - Unprocessable Content - Invalid input.
+ *
+ *
500 - Internal Server Error.
+ *
+ * @param requestBody The prediction request
+ * @return prediction response from the RPT model
+ */
+ @Nonnull
+ public PredictResponsePayload tabCompletion(@Nonnull final PredictRequestPayload requestBody) {
+ return api.predict(requestBody);
+ }
+}
diff --git a/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/RptModel.java b/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/RptModel.java
new file mode 100644
index 000000000..1afead85c
--- /dev/null
+++ b/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/RptModel.java
@@ -0,0 +1,32 @@
+package com.sap.ai.sdk.foundationmodels.rpt;
+
+import com.sap.ai.sdk.core.AiModel;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+/**
+ * Represents an SAP RPT foundation model.
+ *
+ * @param name The name of the model.
+ * @param version The version of the model (optional).
+ * @since 1.16.0
+ */
+public record RptModel(@Nonnull String name, @Nullable String version) implements AiModel {
+
+ /** SAP RPT 1 Small model. */
+ public static final RptModel SAP_RPT_1_SMALL = new RptModel("sap-rpt-1-small", null);
+
+ /** SAP RPT 1 Large model. */
+ public static final RptModel SAP_RPT_1_LARGE = new RptModel("sap-rpt-1-large", null);
+
+ /**
+ * Create a new instance of RptModel with the provided version.
+ *
+ * @param version The version of the model.
+ * @return The new instance of RptModel.
+ */
+ @Nonnull
+ public RptModel withVersion(@Nonnull final String version) {
+ return new RptModel(name, version);
+ }
+}
diff --git a/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/generated/client/DefaultApi.java b/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/generated/client/DefaultApi.java
new file mode 100644
index 000000000..d6878b280
--- /dev/null
+++ b/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/generated/client/DefaultApi.java
@@ -0,0 +1,111 @@
+package com.sap.ai.sdk.foundationmodels.rpt.generated.client;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.sap.ai.sdk.foundationmodels.rpt.generated.model.PredictRequestPayload;
+import com.sap.ai.sdk.foundationmodels.rpt.generated.model.PredictResponsePayload;
+import com.sap.cloud.sdk.cloudplatform.connectivity.Destination;
+import com.sap.cloud.sdk.services.openapi.apache.ApiClient;
+import com.sap.cloud.sdk.services.openapi.apache.BaseApi;
+import com.sap.cloud.sdk.services.openapi.apache.Pair;
+import com.sap.cloud.sdk.services.openapi.core.OpenApiRequestException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.StringJoiner;
+import javax.annotation.Nonnull;
+
+/**
+ * SAP-RPT-1 Tabular AI in version 0.1.0.
+ *
+ *
A REST API for in-context learning with the SAP-RPT-1 model.
+ */
+public class DefaultApi extends BaseApi {
+
+ /** Instantiates this API class to invoke operations on the SAP-RPT-1 Tabular AI */
+ public DefaultApi() {}
+
+ /**
+ * Instantiates this API class to invoke operations on the SAP-RPT-1 Tabular AI.
+ *
+ * @param httpDestination The destination that API should be used with
+ */
+ public DefaultApi(@Nonnull final Destination httpDestination) {
+ super(httpDestination);
+ }
+
+ /**
+ * Instantiates this API class to invoke operations on the SAP-RPT-1 Tabular AI based on a given
+ * {@link ApiClient}.
+ *
+ * @param apiClient ApiClient to invoke the API on
+ */
+ public DefaultApi(@Nonnull final ApiClient apiClient) {
+ super(apiClient);
+ }
+
+ /**
+ * Make in-context predictions for specified target columns based on provided table data JSON
+ * (optionally gzip-compressed).
+ *
+ *
Make in-context predictions for specified target columns. Either \"rows\" or
+ * \"columns\" must be provided and must contain both context and query rows. You can
+ * optionally send gzip-compressed JSON payloads and set a \"Content-Encoding: gzip\"
+ * header.
+ *
+ *
200 - Successful Prediction
+ *
+ *
400 - Bad Request - Invalid input data
+ *
+ *
413 - Payload Too Large
+ *
+ *
422 - Validation Error
+ *
+ *
500 - Internal Server Error
+ *
+ * @param predictRequestPayload The value for the parameter predictRequestPayload
+ * @return PredictResponsePayload
+ * @throws OpenApiRequestException if an error occurs while attempting to invoke the API
+ */
+ @Nonnull
+ public PredictResponsePayload predict(@Nonnull final PredictRequestPayload predictRequestPayload)
+ throws OpenApiRequestException {
+
+ // verify the required parameter 'predictRequestPayload' is set
+ if (predictRequestPayload == null) {
+ throw new OpenApiRequestException(
+ "Missing the required parameter 'predictRequestPayload' when calling predict")
+ .statusCode(400);
+ }
+
+ // create path and map variables
+ final String localVarPath = "/predict";
+
+ final StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
+ final List localVarQueryParams = new ArrayList();
+ final List localVarCollectionQueryParams = new ArrayList();
+ final Map localVarHeaderParams = new HashMap();
+ final Map localVarFormParams = new HashMap();
+
+ final String[] localVarAccepts = {"application/json"};
+ final String localVarAccept = ApiClient.selectHeaderAccept(localVarAccepts);
+ final String[] localVarContentTypes = {"application/json"};
+ final String localVarContentType = ApiClient.selectHeaderContentType(localVarContentTypes);
+
+ final TypeReference localVarReturnType =
+ new TypeReference() {};
+
+ return apiClient.invokeAPI(
+ localVarPath,
+ "POST",
+ localVarQueryParams,
+ localVarCollectionQueryParams,
+ localVarQueryStringJoiner.toString(),
+ predictRequestPayload,
+ localVarHeaderParams,
+ localVarFormParams,
+ localVarAccept,
+ localVarContentType,
+ localVarReturnType);
+ }
+}
diff --git a/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/generated/model/BodyPredictParquet.java b/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/generated/model/BodyPredictParquet.java
new file mode 100644
index 000000000..c3dd7b890
--- /dev/null
+++ b/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/generated/model/BodyPredictParquet.java
@@ -0,0 +1,308 @@
+/*
+ * SAP-RPT-1 Tabular AI
+ * A REST API for in-context learning with the SAP-RPT-1 model.
+ *
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.sap.ai.sdk.foundationmodels.rpt.generated.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.io.File;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.NoSuchElementException;
+import java.util.Objects;
+import java.util.Set;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+/** BodyPredictParquet */
+// CHECKSTYLE:OFF
+public class BodyPredictParquet
+// CHECKSTYLE:ON
+{
+ @JsonProperty("file")
+ private File _file;
+
+ @JsonProperty("prediction_config")
+ private String predictionConfig;
+
+ @JsonProperty("index_column")
+ private String indexColumn;
+
+ @JsonProperty("parse_data_types")
+ private Boolean parseDataTypes = true;
+
+ @JsonAnySetter @JsonAnyGetter
+ private final Map cloudSdkCustomFields = new LinkedHashMap<>();
+
+ /**
+ * Set the _file of this {@link BodyPredictParquet} instance and return the same instance.
+ *
+ * @param _file Parquet file containing the data
+ * @return The same instance of this {@link BodyPredictParquet} class
+ */
+ @Nonnull
+ public BodyPredictParquet _file(@Nonnull final File _file) {
+ this._file = _file;
+ return this;
+ }
+
+ /**
+ * Parquet file containing the data
+ *
+ * @return _file The _file of this {@link BodyPredictParquet} instance.
+ */
+ @Nonnull
+ public File getFile() {
+ return _file;
+ }
+
+ /**
+ * Set the _file of this {@link BodyPredictParquet} instance.
+ *
+ * @param _file Parquet file containing the data
+ */
+ public void setFile(@Nonnull final File _file) {
+ this._file = _file;
+ }
+
+ /**
+ * Set the predictionConfig of this {@link BodyPredictParquet} instance and return the same
+ * instance.
+ *
+ * @param predictionConfig JSON string for prediction_config
+ * @return The same instance of this {@link BodyPredictParquet} class
+ */
+ @Nonnull
+ public BodyPredictParquet predictionConfig(@Nonnull final String predictionConfig) {
+ this.predictionConfig = predictionConfig;
+ return this;
+ }
+
+ /**
+ * JSON string for prediction_config
+ *
+ * @return predictionConfig The predictionConfig of this {@link BodyPredictParquet} instance.
+ */
+ @Nonnull
+ public String getPredictionConfig() {
+ return predictionConfig;
+ }
+
+ /**
+ * Set the predictionConfig of this {@link BodyPredictParquet} instance.
+ *
+ * @param predictionConfig JSON string for prediction_config
+ */
+ public void setPredictionConfig(@Nonnull final String predictionConfig) {
+ this.predictionConfig = predictionConfig;
+ }
+
+ /**
+ * Set the indexColumn of this {@link BodyPredictParquet} instance and return the same instance.
+ *
+ * @param indexColumn Optional index column name
+ * @return The same instance of this {@link BodyPredictParquet} class
+ */
+ @Nonnull
+ public BodyPredictParquet indexColumn(@Nullable final String indexColumn) {
+ this.indexColumn = indexColumn;
+ return this;
+ }
+
+ /**
+ * Optional index column name
+ *
+ * @return indexColumn The indexColumn of this {@link BodyPredictParquet} instance.
+ */
+ @Nonnull
+ public String getIndexColumn() {
+ return indexColumn;
+ }
+
+ /**
+ * Set the indexColumn of this {@link BodyPredictParquet} instance.
+ *
+ * @param indexColumn Optional index column name
+ */
+ public void setIndexColumn(@Nullable final String indexColumn) {
+ this.indexColumn = indexColumn;
+ }
+
+ /**
+ * Set the parseDataTypes of this {@link BodyPredictParquet} instance and return the same
+ * instance.
+ *
+ * @param parseDataTypes Whether to parse data types
+ * @return The same instance of this {@link BodyPredictParquet} class
+ */
+ @Nonnull
+ public BodyPredictParquet parseDataTypes(@Nullable final Boolean parseDataTypes) {
+ this.parseDataTypes = parseDataTypes;
+ return this;
+ }
+
+ /**
+ * Whether to parse data types
+ *
+ * @return parseDataTypes The parseDataTypes of this {@link BodyPredictParquet} instance.
+ */
+ @Nonnull
+ public Boolean isParseDataTypes() {
+ return parseDataTypes;
+ }
+
+ /**
+ * Set the parseDataTypes of this {@link BodyPredictParquet} instance.
+ *
+ * @param parseDataTypes Whether to parse data types
+ */
+ public void setParseDataTypes(@Nullable final Boolean parseDataTypes) {
+ this.parseDataTypes = parseDataTypes;
+ }
+
+ /**
+ * Get the names of the unrecognizable properties of the {@link BodyPredictParquet}.
+ *
+ * @return The set of properties names
+ */
+ @JsonIgnore
+ @Nonnull
+ public Set getCustomFieldNames() {
+ return cloudSdkCustomFields.keySet();
+ }
+
+ /**
+ * Get the value of an unrecognizable property of this {@link BodyPredictParquet} instance.
+ *
+ * @deprecated Use {@link #toMap()} instead.
+ * @param name The name of the property
+ * @return The value of the property
+ * @throws NoSuchElementException If no property with the given name could be found.
+ */
+ @Nullable
+ @Deprecated
+ public Object getCustomField(@Nonnull final String name) throws NoSuchElementException {
+ if (!cloudSdkCustomFields.containsKey(name)) {
+ throw new NoSuchElementException("BodyPredictParquet has no field with name '" + name + "'.");
+ }
+ return cloudSdkCustomFields.get(name);
+ }
+
+ /**
+ * Get the value of all properties of this {@link BodyPredictParquet} instance including
+ * unrecognized properties.
+ *
+ * @return The map of all properties
+ */
+ @JsonIgnore
+ @Nonnull
+ public Map toMap() {
+ final Map declaredFields = new LinkedHashMap<>(cloudSdkCustomFields);
+ if (_file != null) declaredFields.put("_file", _file);
+ if (predictionConfig != null) declaredFields.put("predictionConfig", predictionConfig);
+ if (indexColumn != null) declaredFields.put("indexColumn", indexColumn);
+ if (parseDataTypes != null) declaredFields.put("parseDataTypes", parseDataTypes);
+ return declaredFields;
+ }
+
+ /**
+ * Set an unrecognizable property of this {@link BodyPredictParquet} instance. If the map
+ * previously contained a mapping for the key, the old value is replaced by the specified value.
+ *
+ * @param customFieldName The name of the property
+ * @param customFieldValue The value of the property
+ */
+ @JsonIgnore
+ public void setCustomField(@Nonnull String customFieldName, @Nullable Object customFieldValue) {
+ cloudSdkCustomFields.put(customFieldName, customFieldValue);
+ }
+
+ @Override
+ public boolean equals(@Nullable final java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ final BodyPredictParquet bodyPredictParquet = (BodyPredictParquet) o;
+ return Objects.equals(this.cloudSdkCustomFields, bodyPredictParquet.cloudSdkCustomFields)
+ && Objects.equals(this._file, bodyPredictParquet._file)
+ && Objects.equals(this.predictionConfig, bodyPredictParquet.predictionConfig)
+ && Objects.equals(this.indexColumn, bodyPredictParquet.indexColumn)
+ && Objects.equals(this.parseDataTypes, bodyPredictParquet.parseDataTypes);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(_file, predictionConfig, indexColumn, parseDataTypes, cloudSdkCustomFields);
+ }
+
+ @Override
+ @Nonnull
+ public String toString() {
+ final StringBuilder sb = new StringBuilder();
+ sb.append("class BodyPredictParquet {\n");
+ sb.append(" _file: ").append(toIndentedString(_file)).append("\n");
+ sb.append(" predictionConfig: ").append(toIndentedString(predictionConfig)).append("\n");
+ sb.append(" indexColumn: ").append(toIndentedString(indexColumn)).append("\n");
+ sb.append(" parseDataTypes: ").append(toIndentedString(parseDataTypes)).append("\n");
+ cloudSdkCustomFields.forEach(
+ (k, v) ->
+ sb.append(" ").append(k).append(": ").append(toIndentedString(v)).append("\n"));
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(final java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ /**
+ * Create a type-safe, fluent-api builder object to construct a new {@link BodyPredictParquet}
+ * instance with all required arguments.
+ */
+ public static Builder create() {
+ return (_file) ->
+ (predictionConfig) ->
+ new BodyPredictParquet()._file(_file).predictionConfig(predictionConfig);
+ }
+
+ /** Builder helper class. */
+ public interface Builder {
+ /**
+ * Set the _file of this {@link BodyPredictParquet} instance.
+ *
+ * @param _file Parquet file containing the data
+ * @return The BodyPredictParquet builder.
+ */
+ Builder1 _file(@Nonnull final File _file);
+ }
+
+ /** Builder helper class. */
+ public interface Builder1 {
+ /**
+ * Set the predictionConfig of this {@link BodyPredictParquet} instance.
+ *
+ * @param predictionConfig JSON string for prediction_config
+ * @return The BodyPredictParquet instance.
+ */
+ BodyPredictParquet predictionConfig(@Nonnull final String predictionConfig);
+ }
+}
diff --git a/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/generated/model/ColumnType.java b/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/generated/model/ColumnType.java
new file mode 100644
index 000000000..1afaa9b08
--- /dev/null
+++ b/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/generated/model/ColumnType.java
@@ -0,0 +1,66 @@
+/*
+ * SAP-RPT-1 Tabular AI
+ * A REST API for in-context learning with the SAP-RPT-1 model.
+ *
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.sap.ai.sdk.foundationmodels.rpt.generated.model;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import javax.annotation.Nonnull;
+
+/** Gets or Sets ColumnType */
+public enum ColumnType {
+ STRING("string"),
+
+ NUMERIC("numeric"),
+
+ DATE("date"),
+
+ UNKNOWN_DEFAULT_OPEN_API("unknown_default_open_api");
+
+ private final String value;
+
+ ColumnType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * @return The enum value.
+ */
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * @return The String representation of the enum value.
+ */
+ @Override
+ @Nonnull
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ /**
+ * Converts the given value to its enum representation.
+ *
+ * @param value The input value.
+ * @return The enum representation of the given value.
+ */
+ @JsonCreator
+ public static ColumnType fromValue(@Nonnull final String value) {
+ for (final ColumnType b : ColumnType.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ return UNKNOWN_DEFAULT_OPEN_API;
+ }
+}
diff --git a/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/generated/model/PredictRequestPayload.java b/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/generated/model/PredictRequestPayload.java
new file mode 100644
index 000000000..65ca2bc75
--- /dev/null
+++ b/foundation-models/sap-rpt/src/main/java/com/sap/ai/sdk/foundationmodels/rpt/generated/model/PredictRequestPayload.java
@@ -0,0 +1,443 @@
+/*
+ * SAP-RPT-1 Tabular AI
+ * A REST API for in-context learning with the SAP-RPT-1 model.
+ *
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+package com.sap.ai.sdk.foundationmodels.rpt.generated.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.NoSuchElementException;
+import java.util.Objects;
+import java.util.Set;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+/**
+ * Users need to specify a list of rows, which contains both the context rows and the rows for which
+ * to predict a label, and a mapping of column names to placeholder values. The model will predict
+ * the value for any column specified in `predict_columns` for all rows that have the
+ * placeholder value in that column.
+ */
+// CHECKSTYLE:OFF
+public class PredictRequestPayload
+// CHECKSTYLE:ON
+{
+ @JsonProperty("prediction_config")
+ private PredictionConfig predictionConfig;
+
+ @JsonProperty("rows")
+ private List