@@ -50,17 +50,12 @@ import com.imagekit.api.client.ImageKitClient;
5050import com.imagekit.api.client.okhttp.ImageKitOkHttpClient ;
5151import com.imagekit.api.models.files.FileUploadParams ;
5252import com.imagekit.api.models.files.FileUploadResponse ;
53- import java.io.ByteArrayInputStream ;
5453
5554// Configures using the `imagekit.imagekitPrivateApiKey`, `imagekit.optionalImagekitIgnoresThis`, `imagekit.imagekitWebhookSecret` and `imagekit.baseUrl` system properties
5655// Or configures using the `IMAGEKIT_PRIVATE_API_KEY`, `OPTIONAL_IMAGEKIT_IGNORES_THIS`, `IMAGEKIT_WEBHOOK_SECRET` and `IMAGE_KIT_BASE_URL` environment variables
5756ImageKitClient client = ImageKitOkHttpClient . fromEnv();
5857
59- FileUploadParams params = FileUploadParams . builder()
60- .file(ByteArrayInputStream(" https://www.example.com/public-url.jpg" . getBytes()))
61- .fileName(" file-name.jpg" )
62- .build();
63- FileUploadResponse response = client. files(). upload(params);
58+ FileUploadResponse response = client. files(). upload();
6459```
6560
6661## Client configuration
@@ -155,18 +150,13 @@ import com.imagekit.api.client.ImageKitClient;
155150import com.imagekit.api.client.okhttp.ImageKitOkHttpClient ;
156151import com.imagekit.api.models.files.FileUploadParams ;
157152import com.imagekit.api.models.files.FileUploadResponse ;
158- import java.io.ByteArrayInputStream ;
159153import java.util.concurrent.CompletableFuture ;
160154
161155// Configures using the `imagekit.imagekitPrivateApiKey`, `imagekit.optionalImagekitIgnoresThis`, `imagekit.imagekitWebhookSecret` and `imagekit.baseUrl` system properties
162156// Or configures using the `IMAGEKIT_PRIVATE_API_KEY`, `OPTIONAL_IMAGEKIT_IGNORES_THIS`, `IMAGEKIT_WEBHOOK_SECRET` and `IMAGE_KIT_BASE_URL` environment variables
163157ImageKitClient client = ImageKitOkHttpClient . fromEnv();
164158
165- FileUploadParams params = FileUploadParams . builder()
166- .file(ByteArrayInputStream(" https://www.example.com/public-url.jpg" . getBytes()))
167- .fileName(" file-name.jpg" )
168- .build();
169- CompletableFuture<FileUploadResponse > response = client. async(). files(). upload(params);
159+ CompletableFuture<FileUploadResponse > response = client. async(). files(). upload();
170160```
171161
172162Or create an asynchronous client from the beginning:
@@ -176,18 +166,13 @@ import com.imagekit.api.client.ImageKitClientAsync;
176166import com.imagekit.api.client.okhttp.ImageKitOkHttpClientAsync ;
177167import com.imagekit.api.models.files.FileUploadParams ;
178168import com.imagekit.api.models.files.FileUploadResponse ;
179- import java.io.ByteArrayInputStream ;
180169import java.util.concurrent.CompletableFuture ;
181170
182171// Configures using the `imagekit.imagekitPrivateApiKey`, `imagekit.optionalImagekitIgnoresThis`, `imagekit.imagekitWebhookSecret` and `imagekit.baseUrl` system properties
183172// Or configures using the `IMAGEKIT_PRIVATE_API_KEY`, `OPTIONAL_IMAGEKIT_IGNORES_THIS`, `IMAGEKIT_WEBHOOK_SECRET` and `IMAGE_KIT_BASE_URL` environment variables
184173ImageKitClientAsync client = ImageKitOkHttpClientAsync . fromEnv();
185174
186- FileUploadParams params = FileUploadParams . builder()
187- .file(ByteArrayInputStream(" https://www.example.com/public-url.jpg" . getBytes()))
188- .fileName(" file-name.jpg" )
189- .build();
190- CompletableFuture<FileUploadResponse > response = client. files(). upload(params);
175+ CompletableFuture<FileUploadResponse > response = client. files(). upload();
191176```
192177
193178The asynchronous client supports the same options as the synchronous one, except most methods return ` CompletableFuture ` s.
@@ -199,50 +184,50 @@ The SDK defines methods that accept files.
199184To upload a file, pass a [ ` Path ` ] ( https://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html ) :
200185
201186``` java
202- import com.imagekit.api.models.files.FileUploadParams ;
203- import com.imagekit.api.models.files.FileUploadResponse ;
187+ import com.imagekit.api.models.beta.v2. files.FileUploadParams ;
188+ import com.imagekit.api.models.beta.v2. files.FileUploadResponse ;
204189import java.nio.file.Paths ;
205190
206191FileUploadParams params = FileUploadParams . builder()
207192 .fileName(" fileName" )
208193 .file(Paths . get(" /path/to/file" ))
209194 .build();
210- FileUploadResponse response = client. files(). upload(params);
195+ FileUploadResponse response = client. beta() . v2() . files(). upload(params);
211196```
212197
213198Or an arbitrary [ ` InputStream ` ] ( https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html ) :
214199
215200``` java
216- import com.imagekit.api.models.files.FileUploadParams ;
217- import com.imagekit.api.models.files.FileUploadResponse ;
201+ import com.imagekit.api.models.beta.v2. files.FileUploadParams ;
202+ import com.imagekit.api.models.beta.v2. files.FileUploadResponse ;
218203import java.net.URL ;
219204
220205FileUploadParams params = FileUploadParams . builder()
221206 .fileName(" fileName" )
222207 .file(new URL (" https://example.com//path/to/file" ). openStream())
223208 .build();
224- FileUploadResponse response = client. files(). upload(params);
209+ FileUploadResponse response = client. beta() . v2() . files(). upload(params);
225210```
226211
227212Or a ` byte[] ` array:
228213
229214``` java
230- import com.imagekit.api.models.files.FileUploadParams ;
231- import com.imagekit.api.models.files.FileUploadResponse ;
215+ import com.imagekit.api.models.beta.v2. files.FileUploadParams ;
216+ import com.imagekit.api.models.beta.v2. files.FileUploadResponse ;
232217
233218FileUploadParams params = FileUploadParams . builder()
234219 .fileName(" fileName" )
235220 .file(" content" . getBytes())
236221 .build();
237- FileUploadResponse response = client. files(). upload(params);
222+ FileUploadResponse response = client. beta() . v2() . files(). upload(params);
238223```
239224
240225Note that when passing a non-` Path ` its filename is unknown so it will not be included in the request. To manually set a filename, pass a [ ` MultipartField ` ] ( image-kit-java-core/src/main/kotlin/com/imagekit/api/core/Values.kt ) :
241226
242227``` java
243228import com.imagekit.api.core.MultipartField ;
244- import com.imagekit.api.models.files.FileUploadParams ;
245- import com.imagekit.api.models.files.FileUploadResponse ;
229+ import com.imagekit.api.models.beta.v2. files.FileUploadParams ;
230+ import com.imagekit.api.models.beta.v2. files.FileUploadResponse ;
246231import java.io.InputStream ;
247232import java.net.URL ;
248233
@@ -253,7 +238,7 @@ FileUploadParams params = FileUploadParams.builder()
253238 .filename(" /path/to/file" )
254239 .build())
255240 .build();
256- FileUploadResponse response = client. files(). upload(params);
241+ FileUploadResponse response = client. beta() . v2() . files(). upload(params);
257242```
258243
259244## Raw responses
@@ -267,13 +252,8 @@ import com.imagekit.api.core.http.Headers;
267252import com.imagekit.api.core.http.HttpResponseFor ;
268253import com.imagekit.api.models.files.FileUploadParams ;
269254import com.imagekit.api.models.files.FileUploadResponse ;
270- import java.io.ByteArrayInputStream ;
271255
272- FileUploadParams params = FileUploadParams . builder()
273- .file(ByteArrayInputStream(" https://www.example.com/public-url.jpg" . getBytes()))
274- .fileName(" file-name.jpg" )
275- .build();
276- HttpResponseFor<FileUploadResponse > response = client. files(). withRawResponse(). upload(params);
256+ HttpResponseFor<FileUploadResponse > response = client. files(). withRawResponse(). upload();
277257
278258int statusCode = response. statusCode();
279259Headers headers = response. headers();
@@ -382,9 +362,7 @@ To set a custom timeout, configure the method call using the `timeout` method:
382362``` java
383363import com.imagekit.api.models.files.FileUploadResponse ;
384364
385- FileUploadResponse response = client. files(). upload(
386- params, RequestOptions . builder(). timeout(Duration . ofSeconds(30 )). build()
387- );
365+ FileUploadResponse response = client. files(). upload(RequestOptions . builder(). timeout(Duration . ofSeconds(30 )). build());
388366```
389367
390368Or configure the default for all method calls at the client level:
@@ -502,10 +480,10 @@ To set undocumented parameters on _nested_ headers, query params, or body classe
502480
503481``` java
504482import com.imagekit.api.core.JsonValue ;
505- import com.imagekit.api.models.files.FileUploadParams ;
483+ import com.imagekit.api.models.custommetadatafields.CustomMetadataFieldCreateParams ;
506484
507- FileUploadParams params = FileUploadParams . builder()
508- .transformation( FileUploadParams . Transformation . builder()
485+ CustomMetadataFieldCreateParams params = CustomMetadataFieldCreateParams . builder()
486+ .schema( CustomMetadataFieldCreateParams . Schema . builder()
509487 .putAdditionalProperty(" secretProperty" , JsonValue . from(" 42" ))
510488 .build())
511489 .build();
@@ -516,13 +494,9 @@ These properties can be accessed on the nested built object later using the `_ad
516494To set a documented parameter or property to an undocumented or not yet supported _ value_ , pass a [ ` JsonValue ` ] ( image-kit-java-core/src/main/kotlin/com/imagekit/api/core/Values.kt ) object to its setter:
517495
518496``` java
519- import com.imagekit.api.core.JsonValue ;
520497import com.imagekit.api.models.files.FileUploadParams ;
521498
522- FileUploadParams params = FileUploadParams . builder()
523- .file(JsonValue . from(42 ))
524- .fileName(" file-name.jpg" )
525- .build();
499+ FileUploadParams params = FileUploadParams . builder(). build();
526500```
527501
528502The most straightforward way to create a [ ` JsonValue ` ] ( image-kit-java-core/src/main/kotlin/com/imagekit/api/core/Values.kt ) is using its ` from(...) ` method:
@@ -570,11 +544,15 @@ To forcibly omit a required parameter or property, pass [`JsonMissing`](image-ki
570544
571545``` java
572546import com.imagekit.api.core.JsonMissing ;
547+ import com.imagekit.api.models.custommetadatafields.CustomMetadataFieldCreateParams ;
573548import com.imagekit.api.models.files.FileUploadParams ;
574549
575- FileUploadParams params = FileUploadParams . builder()
576- .fileName(" fileName" )
577- .file(JsonMissing . of())
550+ FileUploadParams params = CustomMetadataFieldCreateParams . builder()
551+ .name(" price" )
552+ .schema(CustomMetadataFieldCreateParams . Schema . builder()
553+ .type(CustomMetadataFieldCreateParams . Schema . Type . NUMBER )
554+ .build())
555+ .label(JsonMissing . of())
578556 .build();
579557```
580558
@@ -614,22 +592,21 @@ To access a property's raw JSON value, which may be undocumented, call its `_` p
614592
615593``` java
616594import com.imagekit.api.core.JsonField ;
617- import java.io.InputStream ;
618595import java.util.Optional ;
619596
620- JsonField<InputStream > file = client. files(). upload(params). _file ();
597+ JsonField<Object > field = client. files(). upload(params). _field ();
621598
622- if (file . isMissing()) {
599+ if (field . isMissing()) {
623600 // The property is absent from the JSON response
624- } else if (file . isNull()) {
601+ } else if (field . isNull()) {
625602 // The property was set to literal null
626603} else {
627604 // Check if value was provided as a string
628605 // Other methods include `asNumber()`, `asBoolean()`, etc.
629- Optional<String > jsonString = file . asString();
606+ Optional<String > jsonString = field . asString();
630607
631608 // Try to deserialize into a custom type
632- MyClass myObject = file . asUnknown(). orElseThrow(). convert(MyClass . class);
609+ MyClass myObject = field . asUnknown(). orElseThrow(). convert(MyClass . class);
633610}
634611```
635612
@@ -652,9 +629,7 @@ Or configure the method call to validate the response using the `responseValidat
652629``` java
653630import com.imagekit.api.models.files.FileUploadResponse ;
654631
655- FileUploadResponse response = client. files(). upload(
656- params, RequestOptions . builder(). responseValidation(true ). build()
657- );
632+ FileUploadResponse response = client. files(). upload(RequestOptions . builder(). responseValidation(true ). build());
658633```
659634
660635Or configure the default for all method calls at the client level:
0 commit comments