# Checklist
- [x] I have read the [contribution guidelines] (https://github.com/Azure/azure-iot-sdk-c/blob/main/.github/CONTRIBUTING.md).
- [x] I added or modified the existing tests to cover the change (we do not allow our test coverage to go down).
- If this is a modification that impacts the behavior of a public API
- [ ] I edited the corresponding document in the `devdoc` folder and added or modified requirements.
- I submitted this PR against the correct branch:
- [x] This pull-request is submitted against the `main` branch.
- [x] I have merged the latest `main` branch prior to submission and re-merged as needed after I took any feedback.
- [x] I have squashed my changes into one with a clear description of the change.
# Reference/Link to the issue solved with this PR (if any)
# Description of the problem
Customers cannot retry notifying Azure IoT Hub of upload completion if any failure on that step occurs.
Also adding a retry mechanism hidden in our code would not allow customers to tailor the retry to their specific needs.
Description of the solution
Expose functions in Azure IoT C SDK for customers directly create, upload and notify completion as they need.
Customers cannot retry notifying Azure IoT Hub of upload completion if any failure on that step occurs. Also adding a retry mechanism hidden in our code would not allow customers to tailor the retry to their specific needs.
Description of the solution
Expose functions in Azure IoT C SDK for customers directly create, upload and notify completion as they need.