{
"errors": [
{
"message": "Payments::DisputeFileUpload with ID=6798311513 does not exists",
"extensions": { "code": "NOT_FOUND" }
}
],
"data": { "disputeEvidenceUpdate": null }
}
Question:
Am I using the correct field (uncategorizedFile) to pass an existing disputeFileUpload?
If so, why is the mutation saying the Payments::DisputeFileUpload does not exist, even though I just queried it successfully under disputeEvidence.disputeFileUploads?
Or is uncategorizedFile meant for uploading a new file, rather than referencing one returned by disputeFileUploads?
}
but from which quey i get the gid://shopify/ShopifyPaymentsDisputeFileUpload/xxxx
@Alan_G I can’t find the x-request-id. Can we schedule a short meeting so I can show you how I run the query and the response in real time, and you can debug it directly?
In the attached ticket, I showed that the API to submit evidence using GraphQL doesn’t always work. You confirmed the issue and fixed it in the latest version, but it seems it’s still not working.
Unfortunately, at the moment, I’m not able to set up calls right now. If you do need live help though, you can get in touch with our Developer Support team through help.shopify.com (they do have limited hours at the moment I believe, but they are available for most API related questions that way).
Just out of curiosity, how are you running the mutation? Is this via the GraphiQL app in the store admin, or through another client? If it’s through the admin GraphiQL app, it can be hard to capture the x-request-id for sure. If you wanted to try using an API client like Postman (https://www.postman.com), this would make it easy to grab the x-request-id from the response headers. If you’d like, I can help walk through setting up Postman over DM I just can’t assist live at the moment.
Let me know if a DM works for you and I can definitely set that up!
I’ve already tried running the mutation through Postman, and I’d be happy to get your assistance on how to properly capture the x-request-id.
That said, I believe this is a critical bug in Shopify’s GraphQL API. As shown in the attached ticket, Shopify updated this API in the latest GraphQL version, but it still doesn’t work. I’m not asking to be compensated for debugging Shopify’s API—I just want to ensure this issue is addressed.
The reason I suggested a short call is because it would let me quickly walk you through the exact flow I use to submit evidence and show you the problem in real time. Right now, the API simply isn’t functioning as documented, and I believe it should either be fixed or temporarily removed from the documentation until it is
@Liam-Shopify
disputeId: gid://shopify/ShopifyPaymentsDispute/10181935193
disputeFileUploads.id: gid://shopify/ShopifyPaymentsDisputeFileUpload/6798311513
disputeEvidence.id: gid://shopify/ShopifyPaymentsDisputeEvidence/10179969113
attached link to the video
Hey @Itay_Kirshenboim - thanks very much for sending that video our way and for sharing the additional details. You should be able to pull the request id in your headers section here in Postman:
If you can share that ID I can pull the API calls you’re making in our logs and get this prioritized for you, definitely understand it’s causing issues, so happy to investigate for sure
Hi @Itay_Kirshenboim - thanks for following up, I don’t have an update on a fix to share at the moment, but can confirm that I’ve reached out to our product team on this for you and will loop back with you here once I have next steps. I’ll keep you posted!
Hi again @Itay_Kirshenboim - I was able to touch base with our product team on this, and can confirm we’re looking at a fix on our end. I can’t guarantee an exact turnaround at the moment, but did want to share that as a temporary workaround, you should be able to use the REST endpoint to update the dispute evidence:
Generally, we don’t reccommend using the REST API as it is a legacy API, but in this case I did just want to share it as a workaround.
I’ll keep an eye on the status of the fix on my end here and loop back with you once I have more info to share. Hope this helps a little bit
@Alan_G Thank you. I would prefer to proceed with the stable GraphQL version instead of a REST-based workaround. Please let me know when we can schedule a meeting to review this. I’ve invested substantial time debugging your API, and your evaluation and support until this endpoint functions correctly on my side would be greatly appreciated.
Hi @Itay_Kirshenboim - I definitely understand where you’re coming from regarding GraphQL vs. REST. On our end, it does look like a fix has been pushed that should resolve this issue. Can you let me know if you’re still seeing it pop up?
I’m unable to hop on calls at the moment, but if the issue does persist I am happy to keep working with you 1 on 1 in DMs on the forums here to prioritize this.
@Alan_G Thanks for the update. I just re-tested and the issue still persists on my side when calling the GraphQL mutation that uses ShopifyPaymentsDisputeEvidenceUpdateInput.
Evidence: I’ve attached a fresh screen recording from today.
Preference: I’d like to keep using the stable GraphQL path rather than a REST workaround.
Given the time I’ve already spent debugging this, I don’t think we can resolve it asynchronously. Could we please schedule a short call with someone from the engineering team?
Proposed times (Asia/Jerusalem, UTC+3):
Tue–Wed (Sep 9–10) between 10:00–16:00
Thu (Sep 11) between 11:00–15:00
If a call isn’t possible, please connect me directly with a developer by email so we can sync in detail.
To help you triage quickly, let me know if you also need:
The exact mutation + variables I’m sending
Environment details (prod/sandbox), merchant/account IDs, or timestamps
Any additional headers or logs on my side
Appreciate the help—happy to retest immediately once you confirm next steps.
Thanks @Itay_Kirshenboim - I was able to pull the logs on my end and can confirm it looks like it’s still failing. I can’t confirm if we’ll be able to set up a meeting with our product team for you, but I will let them know this still appears to be happening and confirm the situation on my end and request that for you.
I’ll follow up with next steps here once I have them and prioritize looking at this with you as soon as I can.
Hi again @Itay_Kirshenboim - just following up here to confirm that I’ve spoken with our development team and we are looking into this further for you. I still can’t guarantee a turnaround time on a permanent fix, but I do realize using REST isn’t the most ideal workaround, especially if it means refactoring code, etc.
I’ll open up a DM with you here in a moment so I can keep you up to date personally on my end and I’ll loop back here in the public thread once we can confirm a fix.