Skip to Main Content
Shape the future of IBM watsonx Orchestrate

Start by searching and reviewing ideas others have posted, and add a comment (private if needed), vote, or subscribe to updates on them if they matter to you.

If you can't find what you are looking for, create a new idea:

  1. stick to one feature enhancement per idea

  2. add as much detail as possible, including use-case, examples & screenshots (put anything confidential in Hidden details field or a private comment)

  3. Explain business impact and timeline of project being affected

[For IBMers] Add customer/project name, details & timeline in Hidden details field or a private comment (only visible to you and the IBM product team).

This all helps to scope and prioritize your idea among many other good ones. Thank you for your feedback!

Specific links you will want to bookmark for future use
Learn more about IBM watsonx Orchestrate - Use this site to find out additional information and details about the product.
Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.
IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.
ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Submitted
Created by Guest
Created on Oct 9, 2026

Have the /v1/orchestrate/upload-to-s3 be OpenAI compatible - API design incompatibility is blocking third-party integration

The current API for uploading files into Orchestrate: /v1/orchestrate/upload-to-s3
https://developer.ibm.com/apis/catalog/watsonorchestrate--custom-assistants/api/API--watsonorchestrate--agent-execution-and-runtime#upload_to_s3_v1_orchestrate_upload_to_s3__post

is not compliant with the file API of OpenAI: https://developers.openai.com/api/reference/resources/files/methods/create

The POST /v1/orchestrate/upload-to-s3 endpoint deviates from the OpenAI Files API standard (POST /v1/files) on three key dimensions. These deviations prevent any OpenAI-compatible integration framework from calling the WxO upload endpoint natively, requiring a custom proxy layer in every integration.

Aligning upload-to-s3 with the OpenAI standard would enable direct, zero-glue integration for any tool or platform that already supports the OpenAI Files API.

Proposed Changes

1 Accept file as field name (Issue 2.1)

Accept file (singular) as an alias for files in the multipart request body, consistent with the OpenAI standard and the behaviour of all OpenAI-compatible client libraries.

2 Return a JSON object for single-file uploads (Issue 2.2)

Return a flat JSON object (not an array) when a single file is uploaded, consistent with the OpenAI standard. For multi-file uploads, return an object with a files array, or a separate response per file.

3 Return a short id field (Issue 2.3 — primary request)

Surface the UUID already present in the presigned URL path as a top-level id field in the response:

{
  "id": "f41884d6-a354-44a9-af4f-364ad2e3c7e6",
  "object": "file",
  "filename": "document.pdf",
  "bytes": 231403,
  "created_at": 1728469010,
  "expires_at": 1728472610,
  "status": "processed",
  "url": "https://s3.us-south.../document.pdf?X-Amz-..."
}

The id field requires no new server-side logic — it is the UUID already generated and embedded in every presigned URL path segment. Exposing it as a dedicated top-level field costs nothing and unlocks native integration for all OpenAI-compatible clients.

4 Optional: file retrieval endpoint

Add a companion endpoint:

GET /v1/orchestrate/files/{file_id}

that returns a fresh presigned URL for a stored file id. This mirrors GET /v1/files/{file_id}/content from the OpenAI standard and would allow clients to store only the short id and regenerate the presigned URL on demand, eliminating expiry concerns entirely.

 

Idea priority High