diff --git a/changes.md b/changes.md
index 98d26bd9c0..42244cf42c 100644
--- a/changes.md
+++ b/changes.md
@@ -45,3 +45,30 @@
- added type `SearchExactValue`
+**History changes**
+
+Added Resource(s)
+
+- added resource `/{projectKey}/graphql`
+Added Method(s)
+
+- added method `apiRoot.withProjectKeyValue().graphql().post()`
+Added Type(s)
+
+- added type `GraphQLRequest`
+- added type `GraphQLResponse`
+- added type `GraphQLError`
+- added type `GraphQLErrorLocation`
+- added type `GraphQLVariablesMap`
+- added type `GraphQLErrorObject`
+
Execute a GraphQL request.
+ * + *{@code
+ * CompletableFuture> result = apiRoot
+ * .withProjectKeyValue("{projectKey}")
+ * .graphql()
+ * .post(null)
+ * .execute()
+ * }
+ * Execute a GraphQL request.
+ * + *{@code
+ * CompletableFuture> result = apiRoot
+ * .withProjectKeyValue("{projectKey}")
+ * .graphql()
+ * .post("")
+ * .execute()
+ * }
+ * Represents a single error.
+ * + *
+ * GraphQLErrorObject graphQLErrorObject = GraphQLErrorObject.builder()
+ * .build()
+ *
+ * One of the error codes that is listed on the Errors page.
+ * @return code + */ + @NotNull + @JsonProperty("code") + public String getCode(); + + /** + *Error-specific additional fields.
+ * @return map of the pattern property values + */ + @NotNull + @JsonAnyGetter + public MapError-specific additional fields.
+ * @param key property name + * @param value property value + */ + + @JsonAnySetter + public void setValue(String key, Object value); + + /** + * factory method to create a deep copy of GraphQLErrorObject + * @param template instance to be copied + * @return copy instance + */ + @Nullable + public static GraphQLErrorObject deepCopy(@Nullable final GraphQLErrorObject template) { + if (template == null) { + return null; + } + GraphQLErrorObjectImpl instance = new GraphQLErrorObjectImpl(); + Optional.ofNullable(template.values()).ifPresent(t -> t.forEach(instance::setValue)); + return instance; + } + + /** + * accessor map function + * @paramRepresents a single error.
+ */ +@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") +public class GraphQLErrorObjectImpl implements GraphQLErrorObject, ModelBase { + + private String code; + + private MapOne of the error codes that is listed on the Errors page.
+ */ + + public String getCode() { + return this.code; + } + + /** + *Error-specific additional fields.
+ */ + + public MapContains an error message, the location of the code that caused the error, and other information to help you correct the error.
+ * + *
+ * GraphQLError graphQLError = GraphQLError.builder()
+ * .message("{message}")
+ * .plusLocations(locationsBuilder -> locationsBuilder)
+ * .extensions(extensionsBuilder -> extensionsBuilder)
+ * .build()
+ *
+ * Detailed description of the error explaining the root cause of the problem and suggesting how to correct the error.
+ * @return message + */ + @NotNull + @JsonProperty("message") + public String getMessage(); + + /** + *Location within your query where the error occurred.
+ * @return locations + */ + @NotNull + @Valid + @JsonProperty("locations") + public ListQuery fields listed in order from the root of the query response up to the field in which the error occurred. path
is displayed in the response only if an error is associated with a particular field in the query result.