#28294 [Bug] GET /v1/files returns raw provider IDs for batch output files — wrong created_by in CheckBatchCost
## LiteLLM Version
1.83.14
## Environment
Managed Files / Managed Batches mode (Postgres required, `model_info.mode: batch`)
## Describe the bug
When using managed batches, `GET /v1/files` returns raw provider file IDs (e.g. `file-94bdfa884ea5458ead0f07b8`) for output files created when batches complete, while returning correct unified managed IDs for input files uploaded via `POST /v1/files`.
**Three consequences:** 1. Callers cannot use the returned output file ID with `GET /v1/files/{id}/content` — the raw ID bypasses managed-files routing and falls through to default OpenAI credentials, returning a 500 or routing to the wrong deployment. 2. Ownership checks (from PR #19981) are not enforced on output files — a user who obtains a raw output file ID can retrieve another user's batch output. 3. `GET /v1/files` returns an inconsistent mix of managed and raw IDs.
## Steps to Reproduce
1. Configure proxy with a batch model (`model_info.mode: batch`) and Postgres enabled. 2. Upload a batch input file via `POST /v1/files`, create a batch, wait for it to complete. 3. Call `GET /v1/files`. 4. Observe: input file IDs are unified managed IDs (base64-encoded `litellm_proxy:...`), bu…