diff --git a/.codegen.json b/.codegen.json
index 2f741093e..5e6dac2d2 100644
--- a/.codegen.json
+++ b/.codegen.json
@@ -1 +1 @@
-{ "engineHash": "7c94f4f", "specHash": "a646ae6", "version": "5.0.0" }
+{ "engineHash": "7c94f4f", "specHash": "8b51a89", "version": "5.0.0" }
diff --git a/docs/sdkgen/archives.md b/docs/sdkgen/archives.md
index 173edd0c6..b45266dff 100644
--- a/docs/sdkgen/archives.md
+++ b/docs/sdkgen/archives.md
@@ -4,6 +4,7 @@
- [List archives](#list-archives)
- [Create archive](#create-archive)
- [Delete archive](#delete-archive)
+- [Update archive](#update-archive)
## List archives
@@ -98,3 +99,33 @@ This function returns a value of type `void`.
Returns an empty response when the archive has been deleted.
+## Update archive
+
+Updates an archive.
+
+To learn more about the archive APIs, see the [Archive API Guide](g://archives).
+
+This operation is performed by calling function `updateArchiveByIdV2025R0`.
+
+See the endpoint docs at
+[API Reference](https://developer.box.com/reference/v2025.0/put-archives-id/).
+
+*Currently we don't have an example for calling `updateArchiveByIdV2025R0` in integration tests*
+
+### Arguments
+
+- archiveId `String`
+ - The ID of the archive. Example: "982312"
+- requestBody `UpdateArchiveByIdV2025R0RequestBody`
+ - Request body of updateArchiveByIdV2025R0 method
+- headers `UpdateArchiveByIdV2025R0Headers`
+ - Headers of updateArchiveByIdV2025R0 method
+
+
+### Returns
+
+This function returns a value of type `ArchiveV2025R0`.
+
+Returns the updated archive object.
+
+
diff --git a/src/main/java/com/box/sdkgen/managers/archives/ArchivesManager.java b/src/main/java/com/box/sdkgen/managers/archives/ArchivesManager.java
index 79d871eb1..608fd42c2 100644
--- a/src/main/java/com/box/sdkgen/managers/archives/ArchivesManager.java
+++ b/src/main/java/com/box/sdkgen/managers/archives/ArchivesManager.java
@@ -186,6 +186,85 @@ public void deleteArchiveByIdV2025R0(String archiveId, DeleteArchiveByIdV2025R0H
.build());
}
+ /**
+ * Updates an archive.
+ *
+ *
To learn more about the archive APIs, see the [Archive API Guide](g://archives).
+ *
+ * @param archiveId The ID of the archive. Example: "982312"
+ */
+ public ArchiveV2025R0 updateArchiveByIdV2025R0(String archiveId) {
+ return updateArchiveByIdV2025R0(
+ archiveId,
+ new UpdateArchiveByIdV2025R0RequestBody(),
+ new UpdateArchiveByIdV2025R0Headers());
+ }
+
+ /**
+ * Updates an archive.
+ *
+ *
To learn more about the archive APIs, see the [Archive API Guide](g://archives).
+ *
+ * @param archiveId The ID of the archive. Example: "982312"
+ * @param requestBody Request body of updateArchiveByIdV2025R0 method
+ */
+ public ArchiveV2025R0 updateArchiveByIdV2025R0(
+ String archiveId, UpdateArchiveByIdV2025R0RequestBody requestBody) {
+ return updateArchiveByIdV2025R0(archiveId, requestBody, new UpdateArchiveByIdV2025R0Headers());
+ }
+
+ /**
+ * Updates an archive.
+ *
+ *
To learn more about the archive APIs, see the [Archive API Guide](g://archives).
+ *
+ * @param archiveId The ID of the archive. Example: "982312"
+ * @param headers Headers of updateArchiveByIdV2025R0 method
+ */
+ public ArchiveV2025R0 updateArchiveByIdV2025R0(
+ String archiveId, UpdateArchiveByIdV2025R0Headers headers) {
+ return updateArchiveByIdV2025R0(archiveId, new UpdateArchiveByIdV2025R0RequestBody(), headers);
+ }
+
+ /**
+ * Updates an archive.
+ *
+ *
To learn more about the archive APIs, see the [Archive API Guide](g://archives).
+ *
+ * @param archiveId The ID of the archive. Example: "982312"
+ * @param requestBody Request body of updateArchiveByIdV2025R0 method
+ * @param headers Headers of updateArchiveByIdV2025R0 method
+ */
+ public ArchiveV2025R0 updateArchiveByIdV2025R0(
+ String archiveId,
+ UpdateArchiveByIdV2025R0RequestBody requestBody,
+ UpdateArchiveByIdV2025R0Headers headers) {
+ Map headersMap =
+ prepareParams(
+ mergeMaps(
+ mapOf(entryOf("box-version", convertToString(headers.getBoxVersion()))),
+ headers.getExtraHeaders()));
+ FetchResponse response =
+ this.networkSession
+ .getNetworkClient()
+ .fetch(
+ new FetchOptions.Builder(
+ String.join(
+ "",
+ this.networkSession.getBaseUrls().getBaseUrl(),
+ "/2.0/archives/",
+ convertToString(archiveId)),
+ "PUT")
+ .headers(headersMap)
+ .data(JsonManager.serialize(requestBody))
+ .contentType("application/json")
+ .responseFormat(ResponseFormat.JSON)
+ .auth(this.auth)
+ .networkSession(this.networkSession)
+ .build());
+ return JsonManager.deserialize(response.getData(), ArchiveV2025R0.class);
+ }
+
public Authentication getAuth() {
return auth;
}
diff --git a/src/main/java/com/box/sdkgen/managers/archives/CreateArchiveV2025R0RequestBody.java b/src/main/java/com/box/sdkgen/managers/archives/CreateArchiveV2025R0RequestBody.java
index dd0a536ad..c50b88e1c 100644
--- a/src/main/java/com/box/sdkgen/managers/archives/CreateArchiveV2025R0RequestBody.java
+++ b/src/main/java/com/box/sdkgen/managers/archives/CreateArchiveV2025R0RequestBody.java
@@ -1,5 +1,6 @@
package com.box.sdkgen.managers.archives;
+import com.box.sdkgen.internal.NullableFieldTracker;
import com.box.sdkgen.internal.SerializableObject;
import com.fasterxml.jackson.annotation.JsonFilter;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -11,15 +12,38 @@ public class CreateArchiveV2025R0RequestBody extends SerializableObject {
/** The name of the archive. */
protected final String name;
+ /** The description of the archive. */
+ protected String description;
+
+ /** The ID of the storage policy that the archive is assigned to. */
+ @JsonProperty("storage_policy_id")
+ protected String storagePolicyId;
+
public CreateArchiveV2025R0RequestBody(@JsonProperty("name") String name) {
super();
this.name = name;
}
+ protected CreateArchiveV2025R0RequestBody(Builder builder) {
+ super();
+ this.name = builder.name;
+ this.description = builder.description;
+ this.storagePolicyId = builder.storagePolicyId;
+ markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
+ }
+
public String getName() {
return name;
}
+ public String getDescription() {
+ return description;
+ }
+
+ public String getStoragePolicyId() {
+ return storagePolicyId;
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) {
@@ -29,16 +53,58 @@ public boolean equals(Object o) {
return false;
}
CreateArchiveV2025R0RequestBody casted = (CreateArchiveV2025R0RequestBody) o;
- return Objects.equals(name, casted.name);
+ return Objects.equals(name, casted.name)
+ && Objects.equals(description, casted.description)
+ && Objects.equals(storagePolicyId, casted.storagePolicyId);
}
@Override
public int hashCode() {
- return Objects.hash(name);
+ return Objects.hash(name, description, storagePolicyId);
}
@Override
public String toString() {
- return "CreateArchiveV2025R0RequestBody{" + "name='" + name + '\'' + "}";
+ return "CreateArchiveV2025R0RequestBody{"
+ + "name='"
+ + name
+ + '\''
+ + ", "
+ + "description='"
+ + description
+ + '\''
+ + ", "
+ + "storagePolicyId='"
+ + storagePolicyId
+ + '\''
+ + "}";
+ }
+
+ public static class Builder extends NullableFieldTracker {
+
+ protected final String name;
+
+ protected String description;
+
+ protected String storagePolicyId;
+
+ public Builder(String name) {
+ super();
+ this.name = name;
+ }
+
+ public Builder description(String description) {
+ this.description = description;
+ return this;
+ }
+
+ public Builder storagePolicyId(String storagePolicyId) {
+ this.storagePolicyId = storagePolicyId;
+ return this;
+ }
+
+ public CreateArchiveV2025R0RequestBody build() {
+ return new CreateArchiveV2025R0RequestBody(this);
+ }
}
}
diff --git a/src/main/java/com/box/sdkgen/managers/archives/UpdateArchiveByIdV2025R0Headers.java b/src/main/java/com/box/sdkgen/managers/archives/UpdateArchiveByIdV2025R0Headers.java
new file mode 100644
index 000000000..ca601dda6
--- /dev/null
+++ b/src/main/java/com/box/sdkgen/managers/archives/UpdateArchiveByIdV2025R0Headers.java
@@ -0,0 +1,65 @@
+package com.box.sdkgen.managers.archives;
+
+import static com.box.sdkgen.internal.utils.UtilsManager.mapOf;
+
+import com.box.sdkgen.parameters.v2025r0.boxversionheaderv2025r0.BoxVersionHeaderV2025R0;
+import com.box.sdkgen.serialization.json.EnumWrapper;
+import java.util.Map;
+
+public class UpdateArchiveByIdV2025R0Headers {
+
+ /** Version header. */
+ public EnumWrapper boxVersion;
+
+ /** Extra headers that will be included in the HTTP request. */
+ public Map extraHeaders;
+
+ public UpdateArchiveByIdV2025R0Headers() {
+ this.boxVersion = new EnumWrapper(BoxVersionHeaderV2025R0._2025_0);
+ this.extraHeaders = mapOf();
+ }
+
+ protected UpdateArchiveByIdV2025R0Headers(Builder builder) {
+ this.boxVersion = builder.boxVersion;
+ this.extraHeaders = builder.extraHeaders;
+ }
+
+ public EnumWrapper getBoxVersion() {
+ return boxVersion;
+ }
+
+ public Map getExtraHeaders() {
+ return extraHeaders;
+ }
+
+ public static class Builder {
+
+ protected EnumWrapper boxVersion;
+
+ protected Map extraHeaders;
+
+ public Builder() {
+ this.boxVersion = new EnumWrapper(BoxVersionHeaderV2025R0._2025_0);
+ this.extraHeaders = mapOf();
+ }
+
+ public Builder boxVersion(BoxVersionHeaderV2025R0 boxVersion) {
+ this.boxVersion = new EnumWrapper(boxVersion);
+ return this;
+ }
+
+ public Builder boxVersion(EnumWrapper boxVersion) {
+ this.boxVersion = boxVersion;
+ return this;
+ }
+
+ public Builder extraHeaders(Map extraHeaders) {
+ this.extraHeaders = extraHeaders;
+ return this;
+ }
+
+ public UpdateArchiveByIdV2025R0Headers build() {
+ return new UpdateArchiveByIdV2025R0Headers(this);
+ }
+ }
+}
diff --git a/src/main/java/com/box/sdkgen/managers/archives/UpdateArchiveByIdV2025R0RequestBody.java b/src/main/java/com/box/sdkgen/managers/archives/UpdateArchiveByIdV2025R0RequestBody.java
new file mode 100644
index 000000000..7000e70b8
--- /dev/null
+++ b/src/main/java/com/box/sdkgen/managers/archives/UpdateArchiveByIdV2025R0RequestBody.java
@@ -0,0 +1,86 @@
+package com.box.sdkgen.managers.archives;
+
+import com.box.sdkgen.internal.NullableFieldTracker;
+import com.box.sdkgen.internal.SerializableObject;
+import com.fasterxml.jackson.annotation.JsonFilter;
+import java.util.Objects;
+
+@JsonFilter("nullablePropertyFilter")
+public class UpdateArchiveByIdV2025R0RequestBody extends SerializableObject {
+
+ /** The name of the archive. */
+ protected String name;
+
+ /** The description of the archive. */
+ protected String description;
+
+ public UpdateArchiveByIdV2025R0RequestBody() {
+ super();
+ }
+
+ protected UpdateArchiveByIdV2025R0RequestBody(Builder builder) {
+ super();
+ this.name = builder.name;
+ this.description = builder.description;
+ markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ UpdateArchiveByIdV2025R0RequestBody casted = (UpdateArchiveByIdV2025R0RequestBody) o;
+ return Objects.equals(name, casted.name) && Objects.equals(description, casted.description);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name, description);
+ }
+
+ @Override
+ public String toString() {
+ return "UpdateArchiveByIdV2025R0RequestBody{"
+ + "name='"
+ + name
+ + '\''
+ + ", "
+ + "description='"
+ + description
+ + '\''
+ + "}";
+ }
+
+ public static class Builder extends NullableFieldTracker {
+
+ protected String name;
+
+ protected String description;
+
+ public Builder name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ public Builder description(String description) {
+ this.description = description;
+ return this;
+ }
+
+ public UpdateArchiveByIdV2025R0RequestBody build() {
+ return new UpdateArchiveByIdV2025R0RequestBody(this);
+ }
+ }
+}
diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/archivev2025r0/ArchiveV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/archivev2025r0/ArchiveV2025R0.java
index 95b25762b..3434d3528 100644
--- a/src/main/java/com/box/sdkgen/schemas/v2025r0/archivev2025r0/ArchiveV2025R0.java
+++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/archivev2025r0/ArchiveV2025R0.java
@@ -1,5 +1,6 @@
package com.box.sdkgen.schemas.v2025r0.archivev2025r0;
+import com.box.sdkgen.internal.Nullable;
import com.box.sdkgen.internal.NullableFieldTracker;
import com.box.sdkgen.internal.SerializableObject;
import com.box.sdkgen.serialization.json.EnumWrapper;
@@ -20,7 +21,7 @@ public class ArchiveV2025R0 extends SerializableObject {
/** The unique identifier that represents an archive. */
protected final String id;
- /** The value will always be `archive`. */
+ /** The value is always `archive`. */
@JsonDeserialize(using = ArchiveV2025R0TypeField.ArchiveV2025R0TypeFieldDeserializer.class)
@JsonSerialize(using = ArchiveV2025R0TypeField.ArchiveV2025R0TypeFieldSerializer.class)
protected EnumWrapper type;
@@ -37,6 +38,13 @@ public class ArchiveV2025R0 extends SerializableObject {
/** The size of the archive in bytes. */
protected final long size;
+ /** The description of the archive. */
+ @Nullable protected String description;
+
+ /** The part of an archive API response that describes the user who owns the archive. */
+ @JsonProperty("owned_by")
+ protected ArchiveV2025R0OwnedByField ownedBy;
+
public ArchiveV2025R0(
@JsonProperty("id") String id,
@JsonProperty("name") String name,
@@ -54,6 +62,8 @@ protected ArchiveV2025R0(Builder builder) {
this.type = builder.type;
this.name = builder.name;
this.size = builder.size;
+ this.description = builder.description;
+ this.ownedBy = builder.ownedBy;
markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
}
@@ -73,6 +83,14 @@ public long getSize() {
return size;
}
+ public String getDescription() {
+ return description;
+ }
+
+ public ArchiveV2025R0OwnedByField getOwnedBy() {
+ return ownedBy;
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) {
@@ -85,12 +103,14 @@ public boolean equals(Object o) {
return Objects.equals(id, casted.id)
&& Objects.equals(type, casted.type)
&& Objects.equals(name, casted.name)
- && Objects.equals(size, casted.size);
+ && Objects.equals(size, casted.size)
+ && Objects.equals(description, casted.description)
+ && Objects.equals(ownedBy, casted.ownedBy);
}
@Override
public int hashCode() {
- return Objects.hash(id, type, name, size);
+ return Objects.hash(id, type, name, size, description, ownedBy);
}
@Override
@@ -111,6 +131,14 @@ public String toString() {
+ "size='"
+ size
+ '\''
+ + ", "
+ + "description='"
+ + description
+ + '\''
+ + ", "
+ + "ownedBy='"
+ + ownedBy
+ + '\''
+ "}";
}
@@ -124,6 +152,10 @@ public static class Builder extends NullableFieldTracker {
protected final long size;
+ protected String description;
+
+ protected ArchiveV2025R0OwnedByField ownedBy;
+
public Builder(String id, String name, long size) {
super();
this.id = id;
@@ -142,6 +174,17 @@ public Builder type(EnumWrapper type) {
return this;
}
+ public Builder description(String description) {
+ this.description = description;
+ this.markNullableFieldAsSet("description");
+ return this;
+ }
+
+ public Builder ownedBy(ArchiveV2025R0OwnedByField ownedBy) {
+ this.ownedBy = ownedBy;
+ return this;
+ }
+
public ArchiveV2025R0 build() {
return new ArchiveV2025R0(this);
}
diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/archivev2025r0/ArchiveV2025R0OwnedByField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/archivev2025r0/ArchiveV2025R0OwnedByField.java
new file mode 100644
index 000000000..bf92fc1dc
--- /dev/null
+++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/archivev2025r0/ArchiveV2025R0OwnedByField.java
@@ -0,0 +1,53 @@
+package com.box.sdkgen.schemas.v2025r0.archivev2025r0;
+
+import com.box.sdkgen.internal.SerializableObject;
+import com.fasterxml.jackson.annotation.JsonFilter;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+@JsonFilter("nullablePropertyFilter")
+public class ArchiveV2025R0OwnedByField extends SerializableObject {
+
+ /** The unique identifier that represents a user who owns the archive. */
+ protected final String id;
+
+ /** The value is always `user`. */
+ protected final String type;
+
+ public ArchiveV2025R0OwnedByField(
+ @JsonProperty("id") String id, @JsonProperty("type") String type) {
+ super();
+ this.id = id;
+ this.type = type;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ArchiveV2025R0OwnedByField casted = (ArchiveV2025R0OwnedByField) o;
+ return Objects.equals(id, casted.id) && Objects.equals(type, casted.type);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id, type);
+ }
+
+ @Override
+ public String toString() {
+ return "ArchiveV2025R0OwnedByField{" + "id='" + id + '\'' + ", " + "type='" + type + '\'' + "}";
+ }
+}
diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/hubitemreferencev2025r0/HubItemReferenceV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/hubitemreferencev2025r0/HubItemReferenceV2025R0.java
index 76e08d187..dedb7c6cf 100644
--- a/src/main/java/com/box/sdkgen/schemas/v2025r0/hubitemreferencev2025r0/HubItemReferenceV2025R0.java
+++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/hubitemreferencev2025r0/HubItemReferenceV2025R0.java
@@ -94,7 +94,7 @@ public HubItemReferenceV2025R0 deserialize(JsonParser jp, DeserializationContext
case "folder":
return new HubItemReferenceV2025R0(
JsonManager.deserialize(node, FolderReferenceV2025R0.class));
- case "weblink":
+ case "web_link":
return new HubItemReferenceV2025R0(
JsonManager.deserialize(node, WeblinkReferenceV2025R0.class));
}
diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/weblinkreferencev2025r0/WeblinkReferenceV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/weblinkreferencev2025r0/WeblinkReferenceV2025R0.java
index 6da150ef2..56913119e 100644
--- a/src/main/java/com/box/sdkgen/schemas/v2025r0/weblinkreferencev2025r0/WeblinkReferenceV2025R0.java
+++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/weblinkreferencev2025r0/WeblinkReferenceV2025R0.java
@@ -13,7 +13,7 @@
@JsonFilter("nullablePropertyFilter")
public class WeblinkReferenceV2025R0 extends SerializableObject {
- /** The value will always be `weblink`. */
+ /** The value will always be `web_link`. */
@JsonDeserialize(
using = WeblinkReferenceV2025R0TypeField.WeblinkReferenceV2025R0TypeFieldDeserializer.class)
@JsonSerialize(
@@ -27,7 +27,8 @@ public WeblinkReferenceV2025R0(@JsonProperty("id") String id) {
super();
this.id = id;
this.type =
- new EnumWrapper(WeblinkReferenceV2025R0TypeField.WEBLINK);
+ new EnumWrapper(
+ WeblinkReferenceV2025R0TypeField.WEB_LINK);
}
protected WeblinkReferenceV2025R0(Builder builder) {
@@ -78,7 +79,7 @@ public Builder(String id) {
this.id = id;
this.type =
new EnumWrapper(
- WeblinkReferenceV2025R0TypeField.WEBLINK);
+ WeblinkReferenceV2025R0TypeField.WEB_LINK);
}
public Builder type(WeblinkReferenceV2025R0TypeField type) {
diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/weblinkreferencev2025r0/WeblinkReferenceV2025R0TypeField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/weblinkreferencev2025r0/WeblinkReferenceV2025R0TypeField.java
index d5670fce6..f2b8a56a0 100644
--- a/src/main/java/com/box/sdkgen/schemas/v2025r0/weblinkreferencev2025r0/WeblinkReferenceV2025R0TypeField.java
+++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/weblinkreferencev2025r0/WeblinkReferenceV2025R0TypeField.java
@@ -12,7 +12,7 @@
import java.util.Arrays;
public enum WeblinkReferenceV2025R0TypeField implements Valuable {
- WEBLINK("weblink");
+ WEB_LINK("web_link");
private final String value;