SpyBara
Go Premium

java/resources/uploads/index.md 2026-07-07 08:02 UTC to 2026-07-09 20:58 UTC

794 added, 0 removed.

2026
Fri 17 17:00 Thu 16 20:57 Wed 15 02:58 Tue 14 06:58 Mon 13 15:59 Sun 12 06:58 Fri 10 23:02 Thu 9 20:58 Tue 7 08:02

Uploads

Create upload

Upload uploads().create(UploadCreateParamsparams, RequestOptionsrequestOptions = RequestOptions.none())

post /uploads

Create upload

Parameters

  • UploadCreateParams params

    • long bytes

      The number of bytes in the file you are uploading.

    • String filename

      The name of the file to upload.

    • String mimeType

      The MIME type of the file.

      This must fall within the supported MIME types for your file purpose. See the supported MIME types for assistants and vision.

    • JsonValue purpose

      The intended purpose of the uploaded file.

      See the documentation on File purposes.

    • Optional<ExpiresAfter> expiresAfter

      The expiration policy for a file. By default, files with purpose=batch expire after 30 days and all other files are persisted until they are manually deleted.

      • JsonValue; anchor "created_at"constant

        Anchor timestamp after which the expiration policy applies. Supported anchors: created_at.

        • CREATED_AT("created_at")
      • long seconds

        The number of seconds after the anchor time that the file will expire. Must be between 3600 (1 hour) and 2592000 (30 days).

Returns

  • class Upload:

    The Upload object can accept byte chunks in the form of Parts.

    • String id

      The Upload unique identifier, which can be referenced in API endpoints.

    • long bytes

      The intended number of bytes to be uploaded.

    • long createdAt

      The Unix timestamp (in seconds) for when the Upload was created.

    • long expiresAt

      The Unix timestamp (in seconds) for when the Upload will expire.

    • String filename

      The name of the file to be uploaded.

    • JsonValue; object_ "upload"constant

      The object type, which is always "upload".

      • UPLOAD("upload")
    • String purpose

      The intended purpose of the file. Please refer here for acceptable values.

    • Status status

      The status of the Upload.

      • PENDING("pending")

      • COMPLETED("completed")

      • CANCELLED("cancelled")

      • EXPIRED("expired")

    • Optional<FileObject> file

      The File object represents a document that has been uploaded to OpenAI.

      • String id

        The file identifier, which can be referenced in the API endpoints.

      • long bytes

        The size of the file, in bytes.

      • long createdAt

        The Unix timestamp (in seconds) for when the file was created.

      • String filename

        The name of the file.

      • JsonValue; object_ "file"constant

        The object type, which is always file.

        • FILE("file")
      • Purpose purpose

        The intended purpose of the file. Supported values are assistants, assistants_output, batch, batch_output, fine-tune, fine-tune-results, vision, and user_data.

        • ASSISTANTS("assistants")

        • ASSISTANTS_OUTPUT("assistants_output")

        • BATCH("batch")

        • BATCH_OUTPUT("batch_output")

        • FINE_TUNE("fine-tune")

        • FINE_TUNE_RESULTS("fine-tune-results")

        • VISION("vision")

        • USER_DATA("user_data")

      • Status status

        Deprecated. The current status of the file, which can be either uploaded, processed, or error.

        • UPLOADED("uploaded")

        • PROCESSED("processed")

        • ERROR("error")

      • Optional<Long> expiresAt

        The Unix timestamp (in seconds) for when the file will expire.

      • Optional<String> statusDetails

        Deprecated. For details on why a fine-tuning training file failed validation, see the error field on fine_tuning.job.

Example

package com.openai.example;

import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.files.FilePurpose;
import com.openai.models.uploads.Upload;
import com.openai.models.uploads.UploadCreateParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        OpenAIClient client = OpenAIOkHttpClient.fromEnv();

        UploadCreateParams params = UploadCreateParams.builder()
            .bytes(0L)
            .filename("filename")
            .mimeType("mime_type")
            .purpose(FilePurpose.builder().build())
            .build();
        Upload upload = client.uploads().create(params);
    }
}

Response

{
  "id": "id",
  "bytes": 0,
  "created_at": 0,
  "expires_at": 0,
  "filename": "filename",
  "object": "upload",
  "purpose": "purpose",
  "status": "pending",
  "file": {
    "id": "id",
    "bytes": 0,
    "created_at": 0,
    "filename": "filename",
    "object": "file",
    "purpose": "assistants",
    "status": "uploaded",
    "expires_at": 0,
    "status_details": "status_details"
  }
}

Complete upload

Upload uploads().complete(UploadCompleteParamsparams, RequestOptionsrequestOptions = RequestOptions.none())

post /uploads/{upload_id}/complete

Complete upload

Parameters

  • UploadCompleteParams params

    • Optional<String> uploadId

    • List<String> partIds

      The ordered list of Part IDs.

    • Optional<String> md5

      The optional md5 checksum for the file contents to verify if the bytes uploaded matches what you expect.

Returns

  • class Upload:

    The Upload object can accept byte chunks in the form of Parts.

    • String id

      The Upload unique identifier, which can be referenced in API endpoints.

    • long bytes

      The intended number of bytes to be uploaded.

    • long createdAt

      The Unix timestamp (in seconds) for when the Upload was created.

    • long expiresAt

      The Unix timestamp (in seconds) for when the Upload will expire.

    • String filename

      The name of the file to be uploaded.

    • JsonValue; object_ "upload"constant

      The object type, which is always "upload".

      • UPLOAD("upload")
    • String purpose

      The intended purpose of the file. Please refer here for acceptable values.

    • Status status

      The status of the Upload.

      • PENDING("pending")

      • COMPLETED("completed")

      • CANCELLED("cancelled")

      • EXPIRED("expired")

    • Optional<FileObject> file

      The File object represents a document that has been uploaded to OpenAI.

      • String id

        The file identifier, which can be referenced in the API endpoints.

      • long bytes

        The size of the file, in bytes.

      • long createdAt

        The Unix timestamp (in seconds) for when the file was created.

      • String filename

        The name of the file.

      • JsonValue; object_ "file"constant

        The object type, which is always file.

        • FILE("file")
      • Purpose purpose

        The intended purpose of the file. Supported values are assistants, assistants_output, batch, batch_output, fine-tune, fine-tune-results, vision, and user_data.

        • ASSISTANTS("assistants")

        • ASSISTANTS_OUTPUT("assistants_output")

        • BATCH("batch")

        • BATCH_OUTPUT("batch_output")

        • FINE_TUNE("fine-tune")

        • FINE_TUNE_RESULTS("fine-tune-results")

        • VISION("vision")

        • USER_DATA("user_data")

      • Status status

        Deprecated. The current status of the file, which can be either uploaded, processed, or error.

        • UPLOADED("uploaded")

        • PROCESSED("processed")

        • ERROR("error")

      • Optional<Long> expiresAt

        The Unix timestamp (in seconds) for when the file will expire.

      • Optional<String> statusDetails

        Deprecated. For details on why a fine-tuning training file failed validation, see the error field on fine_tuning.job.

Example

package com.openai.example;

import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.uploads.Upload;
import com.openai.models.uploads.UploadCompleteParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        OpenAIClient client = OpenAIOkHttpClient.fromEnv();

        UploadCompleteParams params = UploadCompleteParams.builder()
            .uploadId("upload_abc123")
            .addPartId("string")
            .build();
        Upload upload = client.uploads().complete(params);
    }
}

Response

{
  "id": "id",
  "bytes": 0,
  "created_at": 0,
  "expires_at": 0,
  "filename": "filename",
  "object": "upload",
  "purpose": "purpose",
  "status": "pending",
  "file": {
    "id": "id",
    "bytes": 0,
    "created_at": 0,
    "filename": "filename",
    "object": "file",
    "purpose": "assistants",
    "status": "uploaded",
    "expires_at": 0,
    "status_details": "status_details"
  }
}

Cancel upload

Upload uploads().cancel(UploadCancelParamsparams = UploadCancelParams.none(), RequestOptionsrequestOptions = RequestOptions.none())

post /uploads/{upload_id}/cancel

Cancel upload

Parameters

  • UploadCancelParams params

    • Optional<String> uploadId

Returns

  • class Upload:

    The Upload object can accept byte chunks in the form of Parts.

    • String id

      The Upload unique identifier, which can be referenced in API endpoints.

    • long bytes

      The intended number of bytes to be uploaded.

    • long createdAt

      The Unix timestamp (in seconds) for when the Upload was created.

    • long expiresAt

      The Unix timestamp (in seconds) for when the Upload will expire.

    • String filename

      The name of the file to be uploaded.

    • JsonValue; object_ "upload"constant

      The object type, which is always "upload".

      • UPLOAD("upload")
    • String purpose

      The intended purpose of the file. Please refer here for acceptable values.

    • Status status

      The status of the Upload.

      • PENDING("pending")

      • COMPLETED("completed")

      • CANCELLED("cancelled")

      • EXPIRED("expired")

    • Optional<FileObject> file

      The File object represents a document that has been uploaded to OpenAI.

      • String id

        The file identifier, which can be referenced in the API endpoints.

      • long bytes

        The size of the file, in bytes.

      • long createdAt

        The Unix timestamp (in seconds) for when the file was created.

      • String filename

        The name of the file.

      • JsonValue; object_ "file"constant

        The object type, which is always file.

        • FILE("file")
      • Purpose purpose

        The intended purpose of the file. Supported values are assistants, assistants_output, batch, batch_output, fine-tune, fine-tune-results, vision, and user_data.

        • ASSISTANTS("assistants")

        • ASSISTANTS_OUTPUT("assistants_output")

        • BATCH("batch")

        • BATCH_OUTPUT("batch_output")

        • FINE_TUNE("fine-tune")

        • FINE_TUNE_RESULTS("fine-tune-results")

        • VISION("vision")

        • USER_DATA("user_data")

      • Status status

        Deprecated. The current status of the file, which can be either uploaded, processed, or error.

        • UPLOADED("uploaded")

        • PROCESSED("processed")

        • ERROR("error")

      • Optional<Long> expiresAt

        The Unix timestamp (in seconds) for when the file will expire.

      • Optional<String> statusDetails

        Deprecated. For details on why a fine-tuning training file failed validation, see the error field on fine_tuning.job.

Example

package com.openai.example;

import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.uploads.Upload;
import com.openai.models.uploads.UploadCancelParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        OpenAIClient client = OpenAIOkHttpClient.fromEnv();

        Upload upload = client.uploads().cancel("upload_abc123");
    }
}

Response

{
  "id": "id",
  "bytes": 0,
  "created_at": 0,
  "expires_at": 0,
  "filename": "filename",
  "object": "upload",
  "purpose": "purpose",
  "status": "pending",
  "file": {
    "id": "id",
    "bytes": 0,
    "created_at": 0,
    "filename": "filename",
    "object": "file",
    "purpose": "assistants",
    "status": "uploaded",
    "expires_at": 0,
    "status_details": "status_details"
  }
}

Domain Types

Upload

  • class Upload:

    The Upload object can accept byte chunks in the form of Parts.

    • String id

      The Upload unique identifier, which can be referenced in API endpoints.

    • long bytes

      The intended number of bytes to be uploaded.

    • long createdAt

      The Unix timestamp (in seconds) for when the Upload was created.

    • long expiresAt

      The Unix timestamp (in seconds) for when the Upload will expire.

    • String filename

      The name of the file to be uploaded.

    • JsonValue; object_ "upload"constant

      The object type, which is always "upload".

      • UPLOAD("upload")
    • String purpose

      The intended purpose of the file. Please refer here for acceptable values.

    • Status status

      The status of the Upload.

      • PENDING("pending")

      • COMPLETED("completed")

      • CANCELLED("cancelled")

      • EXPIRED("expired")

    • Optional<FileObject> file

      The File object represents a document that has been uploaded to OpenAI.

      • String id

        The file identifier, which can be referenced in the API endpoints.

      • long bytes

        The size of the file, in bytes.

      • long createdAt

        The Unix timestamp (in seconds) for when the file was created.

      • String filename

        The name of the file.

      • JsonValue; object_ "file"constant

        The object type, which is always file.

        • FILE("file")
      • Purpose purpose

        The intended purpose of the file. Supported values are assistants, assistants_output, batch, batch_output, fine-tune, fine-tune-results, vision, and user_data.

        • ASSISTANTS("assistants")

        • ASSISTANTS_OUTPUT("assistants_output")

        • BATCH("batch")

        • BATCH_OUTPUT("batch_output")

        • FINE_TUNE("fine-tune")

        • FINE_TUNE_RESULTS("fine-tune-results")

        • VISION("vision")

        • USER_DATA("user_data")

      • Status status

        Deprecated. The current status of the file, which can be either uploaded, processed, or error.

        • UPLOADED("uploaded")

        • PROCESSED("processed")

        • ERROR("error")

      • Optional<Long> expiresAt

        The Unix timestamp (in seconds) for when the file will expire.

      • Optional<String> statusDetails

        Deprecated. For details on why a fine-tuning training file failed validation, see the error field on fine_tuning.job.

Parts

Add upload part

UploadPart uploads().parts().create(PartCreateParamsparams, RequestOptionsrequestOptions = RequestOptions.none())

post /uploads/{upload_id}/parts

Add upload part

Parameters

  • PartCreateParams params

    • Optional<String> uploadId

    • String data

      The chunk of bytes for this Part.

Returns

  • class UploadPart:

    The upload Part represents a chunk of bytes we can add to an Upload object.

    • String id

      The upload Part unique identifier, which can be referenced in API endpoints.

    • long createdAt

      The Unix timestamp (in seconds) for when the Part was created.

    • JsonValue; object_ "upload.part"constant

      The object type, which is always upload.part.

      • UPLOAD_PART("upload.part")
    • String uploadId

      The ID of the Upload object that this Part was added to.

Example

package com.openai.example;

import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.uploads.parts.PartCreateParams;
import com.openai.models.uploads.parts.UploadPart;
import java.io.ByteArrayInputStream;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        OpenAIClient client = OpenAIOkHttpClient.fromEnv();

        PartCreateParams params = PartCreateParams.builder()
            .uploadId("upload_abc123")
            .data(new ByteArrayInputStream("Example data".getBytes()))
            .build();
        UploadPart uploadPart = client.uploads().parts().create(params);
    }
}

Response

{
  "id": "id",
  "created_at": 0,
  "object": "upload.part",
  "upload_id": "upload_id"
}

Domain Types

Upload Part

  • class UploadPart:

    The upload Part represents a chunk of bytes we can add to an Upload object.

    • String id

      The upload Part unique identifier, which can be referenced in API endpoints.

    • long createdAt

      The Unix timestamp (in seconds) for when the Part was created.

    • JsonValue; object_ "upload.part"constant

      The object type, which is always upload.part.

      • UPLOAD_PART("upload.part")
    • String uploadId

      The ID of the Upload object that this Part was added to.