Endpoint workflow replacement
Slack files.getUploadURLExternal completeUploadExternal upload retry duplicate file_id official docs
A network retry after byte upload produces inconsistent finalization.
Agent Quick Fix
Repair against the current Slack file upload contract, then keep the change narrow and source-backed.
Product: Slack file upload
Current-contract area: Sequenced Slack upload retries create duplicate or abandoned files
Likely root cause: A network retry after byte upload produces inconsistent finalization.
Repair direction: Verifier checks sequencing, idempotency, and final resource visibility. Check channel visibility, metadata, and idempotency.
Symptom
A network retry after byte upload produces inconsistent finalization.
Why This Happens
The old endpoint can remain present in SDK types or historical examples even after new apps are denied or the endpoint is sunset.
Common Wrong Fixes
- Changing local code without checking the current external contract.
- Retrying the same install, build, or API call with no version/source change.
- Applying a broad unsafe bypass when a narrow compatibility fix is available.
Codex Search Keywords
These are the search terms observed in a neutral Codex validation run for this failure shape.
Slack files.getUploadURLExternal completeUploadExternal upload retry duplicate file_id official docs
site:api.slack.com methods files.getUploadURLExternal completeUploadExternal
https://api.slack.com/methods/files.getUploadURLExternal
https://api.slack.com/methods/files.completeUploadExternal
Source Trail
- Slack files.upload retirement: https://docs.slack.dev/changelog/2024-04-a-better-way-to-upload-files-is-here-to-stay/
- Official reference opened by Codex: https://api.slack.com/methods/files.getUploadURLExternal
- Official reference opened by Codex: https://api.slack.com/methods/files.completeUploadExternal