--- title: disputeEvidenceUpdate - GraphQL Admin description: Updates a dispute evidence. api_version: 2025-10 api_name: admin type: mutation api_type: graphql source_url: html: https://shopify.dev/docs/api/admin-graphql/latest/mutations/disputeEvidenceUpdate?example=updates-dispute-evidence md: https://shopify.dev/docs/api/admin-graphql/latest/mutations/disputeEvidenceUpdate.md?example=updates-dispute-evidence --- # dispute​Evidence​Update mutation Requires `write_shopify_payments_dispute_evidences` access scope. Also: The user must have `manage_orders_information` permission. Updates a dispute evidence. ## Arguments * id [ID!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/ID) required The ID of the dispute evidence to be updated. * input [Shopify​Payments​Dispute​Evidence​Update​Input!](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/ShopifyPaymentsDisputeEvidenceUpdateInput) required The updated properties for a dispute evidence. *** ## Dispute​Evidence​Update​Payload returns * dispute​Evidence [Shopify​Payments​Dispute​Evidence](https://shopify.dev/docs/api/admin-graphql/latest/objects/ShopifyPaymentsDisputeEvidence) The updated dispute evidence. * user​Errors [\[Dispute​Evidence​Update​User​Error!\]!](https://shopify.dev/docs/api/admin-graphql/latest/objects/DisputeEvidenceUpdateUserError) non-null The list of errors that occurred from executing the mutation. *** ## Examples * ### Delete a dispute evidence file #### Query ```graphql mutation ShopifyPaymentsDisputeFileUploadDestroy($id: ID!, $fileId: ID!) { disputeEvidenceUpdate(id: $id, input: {uncategorizedFile: {id: $fileId, destroy: true}}) { disputeEvidence { disputeFileUploads { id } dispute { amount { amount currencyCode } evidenceDueBy evidenceSentOn finalizedOn id initiatedAt reasonDetails { reason networkReasonCode } status type } } userErrors { field message } } } ``` #### Variables ```json { "id": "gid://shopify/ShopifyPaymentsDisputeEvidence/819974671", "fileId": "gid://shopify/ShopifyPaymentsDisputeFileUpload/567271523" } ``` #### cURL ```bash curl -X POST \ https://your-development-store.myshopify.com/admin/api/2025-10/graphql.json \ -H 'Content-Type: application/json' \ -H 'X-Shopify-Access-Token: {access_token}' \ -d '{ "query": "mutation ShopifyPaymentsDisputeFileUploadDestroy($id: ID!, $fileId: ID!) { disputeEvidenceUpdate(id: $id, input: {uncategorizedFile: {id: $fileId, destroy: true}}) { disputeEvidence { disputeFileUploads { id } dispute { amount { amount currencyCode } evidenceDueBy evidenceSentOn finalizedOn id initiatedAt reasonDetails { reason networkReasonCode } status type } } userErrors { field message } } }", "variables": { "id": "gid://shopify/ShopifyPaymentsDisputeEvidence/819974671", "fileId": "gid://shopify/ShopifyPaymentsDisputeFileUpload/567271523" } }' ``` #### React Router ```javascript import { authenticate } from "../shopify.server"; export const loader = async ({request}) => { const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql mutation ShopifyPaymentsDisputeFileUploadDestroy($id: ID!, $fileId: ID!) { disputeEvidenceUpdate(id: $id, input: {uncategorizedFile: {id: $fileId, destroy: true}}) { disputeEvidence { disputeFileUploads { id } dispute { amount { amount currencyCode } evidenceDueBy evidenceSentOn finalizedOn id initiatedAt reasonDetails { reason networkReasonCode } status type } } userErrors { field message } } }`, { variables: { "id": "gid://shopify/ShopifyPaymentsDisputeEvidence/819974671", "fileId": "gid://shopify/ShopifyPaymentsDisputeFileUpload/567271523" }, }, ); const json = await response.json(); return json.data; } ``` #### Ruby ```ruby session = ShopifyAPI::Auth::Session.new( shop: "your-development-store.myshopify.com", access_token: access_token ) client = ShopifyAPI::Clients::Graphql::Admin.new( session: session ) query = <<~QUERY mutation ShopifyPaymentsDisputeFileUploadDestroy($id: ID!, $fileId: ID!) { disputeEvidenceUpdate(id: $id, input: {uncategorizedFile: {id: $fileId, destroy: true}}) { disputeEvidence { disputeFileUploads { id } dispute { amount { amount currencyCode } evidenceDueBy evidenceSentOn finalizedOn id initiatedAt reasonDetails { reason networkReasonCode } status type } } userErrors { field message } } } QUERY variables = { "id": "gid://shopify/ShopifyPaymentsDisputeEvidence/819974671", "fileId": "gid://shopify/ShopifyPaymentsDisputeFileUpload/567271523" } response = client.query(query: query, variables: variables) ``` #### Node.js ```javascript const client = new shopify.clients.Graphql({session}); const data = await client.query({ data: { "query": `mutation ShopifyPaymentsDisputeFileUploadDestroy($id: ID!, $fileId: ID!) { disputeEvidenceUpdate(id: $id, input: {uncategorizedFile: {id: $fileId, destroy: true}}) { disputeEvidence { disputeFileUploads { id } dispute { amount { amount currencyCode } evidenceDueBy evidenceSentOn finalizedOn id initiatedAt reasonDetails { reason networkReasonCode } status type } } userErrors { field message } } }`, "variables": { "id": "gid://shopify/ShopifyPaymentsDisputeEvidence/819974671", "fileId": "gid://shopify/ShopifyPaymentsDisputeFileUpload/567271523" }, }, }); ``` #### Response ```json { "disputeEvidenceUpdate": { "disputeEvidence": { "disputeFileUploads": [], "dispute": { "amount": { "amount": "11.5", "currencyCode": "USD" }, "evidenceDueBy": "2024-11-20T19:00:00-05:00", "evidenceSentOn": null, "finalizedOn": null, "id": "gid://shopify/ShopifyPaymentsDispute/598735659", "initiatedAt": "2013-05-04T00:00:00Z", "reasonDetails": { "reason": "FRAUDULENT", "networkReasonCode": "4827" }, "status": "NEEDS_RESPONSE", "type": "CHARGEBACK" } }, "userErrors": [] } } ``` * ### Updates dispute evidence #### Query ```graphql mutation ShopifyPaymentsDisputeEvidenceUpdate($id: ID!, $input: ShopifyPaymentsDisputeEvidenceUpdateInput!) { disputeEvidenceUpdate(id: $id, input: $input) { disputeEvidence { uncategorizedText dispute { amount { amount currencyCode } evidenceDueBy evidenceSentOn finalizedOn id initiatedAt reasonDetails { reason networkReasonCode } status type } } userErrors { field message } } } ``` #### Variables ```json { "id": "gid://shopify/ShopifyPaymentsDisputeEvidence/819974671", "input": { "customerFirstName": "Kermit", "customerLastName": "The frog", "customerEmailAddress": "kermit@example.com", "shippingAddress": { "address1": "1 Infinite Loop", "address2": "Muppet Studio", "city": "Cupertino", "zip": "95014", "country": "US", "province": "California" }, "uncategorizedText": "Test uncategorized text", "accessActivityLog": "Test access activity log", "cancellationPolicyDisclosure": "Test cancellation policy disclosure", "cancellationRebuttal": "Test cancellation rebuttal", "refundPolicyDisclosure": "Test refund policy disclosure", "refundRefusalExplanation": "Test refund refusal explanation" } } ``` #### cURL ```bash curl -X POST \ https://your-development-store.myshopify.com/admin/api/2025-10/graphql.json \ -H 'Content-Type: application/json' \ -H 'X-Shopify-Access-Token: {access_token}' \ -d '{ "query": "mutation ShopifyPaymentsDisputeEvidenceUpdate($id: ID!, $input: ShopifyPaymentsDisputeEvidenceUpdateInput!) { disputeEvidenceUpdate(id: $id, input: $input) { disputeEvidence { uncategorizedText dispute { amount { amount currencyCode } evidenceDueBy evidenceSentOn finalizedOn id initiatedAt reasonDetails { reason networkReasonCode } status type } } userErrors { field message } } }", "variables": { "id": "gid://shopify/ShopifyPaymentsDisputeEvidence/819974671", "input": { "customerFirstName": "Kermit", "customerLastName": "The frog", "customerEmailAddress": "kermit@example.com", "shippingAddress": { "address1": "1 Infinite Loop", "address2": "Muppet Studio", "city": "Cupertino", "zip": "95014", "country": "US", "province": "California" }, "uncategorizedText": "Test uncategorized text", "accessActivityLog": "Test access activity log", "cancellationPolicyDisclosure": "Test cancellation policy disclosure", "cancellationRebuttal": "Test cancellation rebuttal", "refundPolicyDisclosure": "Test refund policy disclosure", "refundRefusalExplanation": "Test refund refusal explanation" } } }' ``` #### React Router ```javascript import { authenticate } from "../shopify.server"; export const loader = async ({request}) => { const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql mutation ShopifyPaymentsDisputeEvidenceUpdate($id: ID!, $input: ShopifyPaymentsDisputeEvidenceUpdateInput!) { disputeEvidenceUpdate(id: $id, input: $input) { disputeEvidence { uncategorizedText dispute { amount { amount currencyCode } evidenceDueBy evidenceSentOn finalizedOn id initiatedAt reasonDetails { reason networkReasonCode } status type } } userErrors { field message } } }`, { variables: { "id": "gid://shopify/ShopifyPaymentsDisputeEvidence/819974671", "input": { "customerFirstName": "Kermit", "customerLastName": "The frog", "customerEmailAddress": "kermit@example.com", "shippingAddress": { "address1": "1 Infinite Loop", "address2": "Muppet Studio", "city": "Cupertino", "zip": "95014", "country": "US", "province": "California" }, "uncategorizedText": "Test uncategorized text", "accessActivityLog": "Test access activity log", "cancellationPolicyDisclosure": "Test cancellation policy disclosure", "cancellationRebuttal": "Test cancellation rebuttal", "refundPolicyDisclosure": "Test refund policy disclosure", "refundRefusalExplanation": "Test refund refusal explanation" } }, }, ); const json = await response.json(); return json.data; } ``` #### Ruby ```ruby session = ShopifyAPI::Auth::Session.new( shop: "your-development-store.myshopify.com", access_token: access_token ) client = ShopifyAPI::Clients::Graphql::Admin.new( session: session ) query = <<~QUERY mutation ShopifyPaymentsDisputeEvidenceUpdate($id: ID!, $input: ShopifyPaymentsDisputeEvidenceUpdateInput!) { disputeEvidenceUpdate(id: $id, input: $input) { disputeEvidence { uncategorizedText dispute { amount { amount currencyCode } evidenceDueBy evidenceSentOn finalizedOn id initiatedAt reasonDetails { reason networkReasonCode } status type } } userErrors { field message } } } QUERY variables = { "id": "gid://shopify/ShopifyPaymentsDisputeEvidence/819974671", "input": { "customerFirstName": "Kermit", "customerLastName": "The frog", "customerEmailAddress": "kermit@example.com", "shippingAddress": { "address1": "1 Infinite Loop", "address2": "Muppet Studio", "city": "Cupertino", "zip": "95014", "country": "US", "province": "California" }, "uncategorizedText": "Test uncategorized text", "accessActivityLog": "Test access activity log", "cancellationPolicyDisclosure": "Test cancellation policy disclosure", "cancellationRebuttal": "Test cancellation rebuttal", "refundPolicyDisclosure": "Test refund policy disclosure", "refundRefusalExplanation": "Test refund refusal explanation" } } response = client.query(query: query, variables: variables) ``` #### Node.js ```javascript const client = new shopify.clients.Graphql({session}); const data = await client.query({ data: { "query": `mutation ShopifyPaymentsDisputeEvidenceUpdate($id: ID!, $input: ShopifyPaymentsDisputeEvidenceUpdateInput!) { disputeEvidenceUpdate(id: $id, input: $input) { disputeEvidence { uncategorizedText dispute { amount { amount currencyCode } evidenceDueBy evidenceSentOn finalizedOn id initiatedAt reasonDetails { reason networkReasonCode } status type } } userErrors { field message } } }`, "variables": { "id": "gid://shopify/ShopifyPaymentsDisputeEvidence/819974671", "input": { "customerFirstName": "Kermit", "customerLastName": "The frog", "customerEmailAddress": "kermit@example.com", "shippingAddress": { "address1": "1 Infinite Loop", "address2": "Muppet Studio", "city": "Cupertino", "zip": "95014", "country": "US", "province": "California" }, "uncategorizedText": "Test uncategorized text", "accessActivityLog": "Test access activity log", "cancellationPolicyDisclosure": "Test cancellation policy disclosure", "cancellationRebuttal": "Test cancellation rebuttal", "refundPolicyDisclosure": "Test refund policy disclosure", "refundRefusalExplanation": "Test refund refusal explanation" } }, }, }); ``` #### Response ```json { "disputeEvidenceUpdate": { "disputeEvidence": { "uncategorizedText": "Test uncategorized text", "dispute": { "amount": { "amount": "11.5", "currencyCode": "USD" }, "evidenceDueBy": "2024-11-20T19:00:00-05:00", "evidenceSentOn": null, "finalizedOn": null, "id": "gid://shopify/ShopifyPaymentsDispute/598735659", "initiatedAt": "2013-05-04T00:00:00Z", "reasonDetails": { "reason": "FRAUDULENT", "networkReasonCode": "4827" }, "status": "NEEDS_RESPONSE", "type": "CHARGEBACK" } }, "userErrors": [] } } ``` * ### Upload a file to a dispute #### Query ```graphql mutation ShopifyPaymentsDisputeFileUpload($id: ID!, $fileId: ID!) { disputeEvidenceUpdate(id: $id, input: {uncategorizedFile: {id: $fileId}}) { disputeEvidence { disputeFileUploads { id } dispute { amount { amount currencyCode } evidenceDueBy evidenceSentOn finalizedOn id initiatedAt reasonDetails { reason networkReasonCode } status type } } userErrors { field message } } } ``` #### Variables ```json { "id": "gid://shopify/ShopifyPaymentsDisputeEvidence/819974671", "fileId": "gid://shopify/ShopifyPaymentsDisputeFileUpload/567271523" } ``` #### cURL ```bash curl -X POST \ https://your-development-store.myshopify.com/admin/api/2025-10/graphql.json \ -H 'Content-Type: application/json' \ -H 'X-Shopify-Access-Token: {access_token}' \ -d '{ "query": "mutation ShopifyPaymentsDisputeFileUpload($id: ID!, $fileId: ID!) { disputeEvidenceUpdate(id: $id, input: {uncategorizedFile: {id: $fileId}}) { disputeEvidence { disputeFileUploads { id } dispute { amount { amount currencyCode } evidenceDueBy evidenceSentOn finalizedOn id initiatedAt reasonDetails { reason networkReasonCode } status type } } userErrors { field message } } }", "variables": { "id": "gid://shopify/ShopifyPaymentsDisputeEvidence/819974671", "fileId": "gid://shopify/ShopifyPaymentsDisputeFileUpload/567271523" } }' ``` #### React Router ```javascript import { authenticate } from "../shopify.server"; export const loader = async ({request}) => { const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql mutation ShopifyPaymentsDisputeFileUpload($id: ID!, $fileId: ID!) { disputeEvidenceUpdate(id: $id, input: {uncategorizedFile: {id: $fileId}}) { disputeEvidence { disputeFileUploads { id } dispute { amount { amount currencyCode } evidenceDueBy evidenceSentOn finalizedOn id initiatedAt reasonDetails { reason networkReasonCode } status type } } userErrors { field message } } }`, { variables: { "id": "gid://shopify/ShopifyPaymentsDisputeEvidence/819974671", "fileId": "gid://shopify/ShopifyPaymentsDisputeFileUpload/567271523" }, }, ); const json = await response.json(); return json.data; } ``` #### Ruby ```ruby session = ShopifyAPI::Auth::Session.new( shop: "your-development-store.myshopify.com", access_token: access_token ) client = ShopifyAPI::Clients::Graphql::Admin.new( session: session ) query = <<~QUERY mutation ShopifyPaymentsDisputeFileUpload($id: ID!, $fileId: ID!) { disputeEvidenceUpdate(id: $id, input: {uncategorizedFile: {id: $fileId}}) { disputeEvidence { disputeFileUploads { id } dispute { amount { amount currencyCode } evidenceDueBy evidenceSentOn finalizedOn id initiatedAt reasonDetails { reason networkReasonCode } status type } } userErrors { field message } } } QUERY variables = { "id": "gid://shopify/ShopifyPaymentsDisputeEvidence/819974671", "fileId": "gid://shopify/ShopifyPaymentsDisputeFileUpload/567271523" } response = client.query(query: query, variables: variables) ``` #### Node.js ```javascript const client = new shopify.clients.Graphql({session}); const data = await client.query({ data: { "query": `mutation ShopifyPaymentsDisputeFileUpload($id: ID!, $fileId: ID!) { disputeEvidenceUpdate(id: $id, input: {uncategorizedFile: {id: $fileId}}) { disputeEvidence { disputeFileUploads { id } dispute { amount { amount currencyCode } evidenceDueBy evidenceSentOn finalizedOn id initiatedAt reasonDetails { reason networkReasonCode } status type } } userErrors { field message } } }`, "variables": { "id": "gid://shopify/ShopifyPaymentsDisputeEvidence/819974671", "fileId": "gid://shopify/ShopifyPaymentsDisputeFileUpload/567271523" }, }, }); ``` #### Response ```json { "disputeEvidenceUpdate": { "disputeEvidence": { "disputeFileUploads": [ { "id": "gid://shopify/ShopifyPaymentsDisputeFileUpload/567271523" } ], "dispute": { "amount": { "amount": "11.5", "currencyCode": "USD" }, "evidenceDueBy": "2024-11-20T19:00:00-05:00", "evidenceSentOn": null, "finalizedOn": null, "id": "gid://shopify/ShopifyPaymentsDispute/598735659", "initiatedAt": "2013-05-04T00:00:00Z", "reasonDetails": { "reason": "FRAUDULENT", "networkReasonCode": "4827" }, "status": "NEEDS_RESPONSE", "type": "CHARGEBACK" } }, "userErrors": [] } } ``` * ### disputeEvidenceUpdate reference [Open in GraphiQL](http://localhost:3457/graphiql?query=mutation%20ShopifyPaymentsDisputeEvidenceUpdate\(%24id%3A%20ID!%2C%20%24input%3A%20ShopifyPaymentsDisputeEvidenceUpdateInput!\)%20%7B%0A%20%20disputeEvidenceUpdate\(id%3A%20%24id%2C%20input%3A%20%24input\)%20%7B%0A%20%20%20%20disputeEvidence%20%7B%0A%20%20%20%20%20%20uncategorizedText%0A%20%20%20%20%20%20dispute%20%7B%0A%20%20%20%20%20%20%20%20amount%20%7B%0A%20%20%20%20%20%20%20%20%20%20amount%0A%20%20%20%20%20%20%20%20%20%20currencyCode%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20evidenceDueBy%0A%20%20%20%20%20%20%20%20evidenceSentOn%0A%20%20%20%20%20%20%20%20finalizedOn%0A%20%20%20%20%20%20%20%20id%0A%20%20%20%20%20%20%20%20initiatedAt%0A%20%20%20%20%20%20%20%20reasonDetails%20%7B%0A%20%20%20%20%20%20%20%20%20%20reason%0A%20%20%20%20%20%20%20%20%20%20networkReasonCode%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20status%0A%20%20%20%20%20%20%20%20type%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20userErrors%20%7B%0A%20%20%20%20%20%20field%0A%20%20%20%20%20%20message%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D\&variables=%7B%0A%20%20%22id%22%3A%20%22gid%3A%2F%2Fshopify%2FShopifyPaymentsDisputeEvidence%2F819974671%22%2C%0A%20%20%22input%22%3A%20%7B%0A%20%20%20%20%22customerFirstName%22%3A%20%22Kermit%22%2C%0A%20%20%20%20%22customerLastName%22%3A%20%22The%20frog%22%2C%0A%20%20%20%20%22customerEmailAddress%22%3A%20%22kermit%40example.com%22%2C%0A%20%20%20%20%22shippingAddress%22%3A%20%7B%0A%20%20%20%20%20%20%22address1%22%3A%20%221%20Infinite%20Loop%22%2C%0A%20%20%20%20%20%20%22address2%22%3A%20%22Muppet%20Studio%22%2C%0A%20%20%20%20%20%20%22city%22%3A%20%22Cupertino%22%2C%0A%20%20%20%20%20%20%22zip%22%3A%20%2295014%22%2C%0A%20%20%20%20%20%20%22country%22%3A%20%22US%22%2C%0A%20%20%20%20%20%20%22province%22%3A%20%22California%22%0A%20%20%20%20%7D%2C%0A%20%20%20%20%22uncategorizedText%22%3A%20%22Test%20uncategorized%20text%22%2C%0A%20%20%20%20%22accessActivityLog%22%3A%20%22Test%20access%20activity%20log%22%2C%0A%20%20%20%20%22cancellationPolicyDisclosure%22%3A%20%22Test%20cancellation%20policy%20disclosure%22%2C%0A%20%20%20%20%22cancellationRebuttal%22%3A%20%22Test%20cancellation%20rebuttal%22%2C%0A%20%20%20%20%22refundPolicyDisclosure%22%3A%20%22Test%20refund%20policy%20disclosure%22%2C%0A%20%20%20%20%22refundRefusalExplanation%22%3A%20%22Test%20refund%20refusal%20explanation%22%0A%20%20%7D%0A%7D) ```javascript import { authenticate } from "../shopify.server"; export const loader = async ({request}) => { const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql mutation ShopifyPaymentsDisputeEvidenceUpdate($id: ID!, $input: ShopifyPaymentsDisputeEvidenceUpdateInput!) { disputeEvidenceUpdate(id: $id, input: $input) { disputeEvidence { uncategorizedText dispute { amount { amount currencyCode } evidenceDueBy evidenceSentOn finalizedOn id initiatedAt reasonDetails { reason networkReasonCode } status type } } userErrors { field message } } }`, { variables: { "id": "gid://shopify/ShopifyPaymentsDisputeEvidence/819974671", "input": { "customerFirstName": "Kermit", "customerLastName": "The frog", "customerEmailAddress": "kermit@example.com", "shippingAddress": { "address1": "1 Infinite Loop", "address2": "Muppet Studio", "city": "Cupertino", "zip": "95014", "country": "US", "province": "California" }, "uncategorizedText": "Test uncategorized text", "accessActivityLog": "Test access activity log", "cancellationPolicyDisclosure": "Test cancellation policy disclosure", "cancellationRebuttal": "Test cancellation rebuttal", "refundPolicyDisclosure": "Test refund policy disclosure", "refundRefusalExplanation": "Test refund refusal explanation" } }, }, ); const json = await response.json(); return json.data; } ``` ##### GQL ``` mutation ShopifyPaymentsDisputeEvidenceUpdate($id: ID!, $input: ShopifyPaymentsDisputeEvidenceUpdateInput!) { disputeEvidenceUpdate(id: $id, input: $input) { disputeEvidence { uncategorizedText dispute { amount { amount currencyCode } evidenceDueBy evidenceSentOn finalizedOn id initiatedAt reasonDetails { reason networkReasonCode } status type } } userErrors { field message } } } ``` ##### cURL ``` curl -X POST \ https://your-development-store.myshopify.com/admin/api/2025-10/graphql.json \ -H 'Content-Type: application/json' \ -H 'X-Shopify-Access-Token: {access_token}' \ -d '{ "query": "mutation ShopifyPaymentsDisputeEvidenceUpdate($id: ID!, $input: ShopifyPaymentsDisputeEvidenceUpdateInput!) { disputeEvidenceUpdate(id: $id, input: $input) { disputeEvidence { uncategorizedText dispute { amount { amount currencyCode } evidenceDueBy evidenceSentOn finalizedOn id initiatedAt reasonDetails { reason networkReasonCode } status type } } userErrors { field message } } }", "variables": { "id": "gid://shopify/ShopifyPaymentsDisputeEvidence/819974671", "input": { "customerFirstName": "Kermit", "customerLastName": "The frog", "customerEmailAddress": "kermit@example.com", "shippingAddress": { "address1": "1 Infinite Loop", "address2": "Muppet Studio", "city": "Cupertino", "zip": "95014", "country": "US", "province": "California" }, "uncategorizedText": "Test uncategorized text", "accessActivityLog": "Test access activity log", "cancellationPolicyDisclosure": "Test cancellation policy disclosure", "cancellationRebuttal": "Test cancellation rebuttal", "refundPolicyDisclosure": "Test refund policy disclosure", "refundRefusalExplanation": "Test refund refusal explanation" } } }' ``` ##### React Router ``` import { authenticate } from "../shopify.server"; export const loader = async ({request}) => { const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql mutation ShopifyPaymentsDisputeEvidenceUpdate($id: ID!, $input: ShopifyPaymentsDisputeEvidenceUpdateInput!) { disputeEvidenceUpdate(id: $id, input: $input) { disputeEvidence { uncategorizedText dispute { amount { amount currencyCode } evidenceDueBy evidenceSentOn finalizedOn id initiatedAt reasonDetails { reason networkReasonCode } status type } } userErrors { field message } } }`, { variables: { "id": "gid://shopify/ShopifyPaymentsDisputeEvidence/819974671", "input": { "customerFirstName": "Kermit", "customerLastName": "The frog", "customerEmailAddress": "kermit@example.com", "shippingAddress": { "address1": "1 Infinite Loop", "address2": "Muppet Studio", "city": "Cupertino", "zip": "95014", "country": "US", "province": "California" }, "uncategorizedText": "Test uncategorized text", "accessActivityLog": "Test access activity log", "cancellationPolicyDisclosure": "Test cancellation policy disclosure", "cancellationRebuttal": "Test cancellation rebuttal", "refundPolicyDisclosure": "Test refund policy disclosure", "refundRefusalExplanation": "Test refund refusal explanation" } }, }, ); const json = await response.json(); return json.data; } ``` ##### Node.js ``` const client = new shopify.clients.Graphql({session}); const data = await client.query({ data: { "query": `mutation ShopifyPaymentsDisputeEvidenceUpdate($id: ID!, $input: ShopifyPaymentsDisputeEvidenceUpdateInput!) { disputeEvidenceUpdate(id: $id, input: $input) { disputeEvidence { uncategorizedText dispute { amount { amount currencyCode } evidenceDueBy evidenceSentOn finalizedOn id initiatedAt reasonDetails { reason networkReasonCode } status type } } userErrors { field message } } }`, "variables": { "id": "gid://shopify/ShopifyPaymentsDisputeEvidence/819974671", "input": { "customerFirstName": "Kermit", "customerLastName": "The frog", "customerEmailAddress": "kermit@example.com", "shippingAddress": { "address1": "1 Infinite Loop", "address2": "Muppet Studio", "city": "Cupertino", "zip": "95014", "country": "US", "province": "California" }, "uncategorizedText": "Test uncategorized text", "accessActivityLog": "Test access activity log", "cancellationPolicyDisclosure": "Test cancellation policy disclosure", "cancellationRebuttal": "Test cancellation rebuttal", "refundPolicyDisclosure": "Test refund policy disclosure", "refundRefusalExplanation": "Test refund refusal explanation" } }, }, }); ``` ##### Ruby ``` session = ShopifyAPI::Auth::Session.new( shop: "your-development-store.myshopify.com", access_token: access_token ) client = ShopifyAPI::Clients::Graphql::Admin.new( session: session ) query = <<~QUERY mutation ShopifyPaymentsDisputeEvidenceUpdate($id: ID!, $input: ShopifyPaymentsDisputeEvidenceUpdateInput!) { disputeEvidenceUpdate(id: $id, input: $input) { disputeEvidence { uncategorizedText dispute { amount { amount currencyCode } evidenceDueBy evidenceSentOn finalizedOn id initiatedAt reasonDetails { reason networkReasonCode } status type } } userErrors { field message } } } QUERY variables = { "id": "gid://shopify/ShopifyPaymentsDisputeEvidence/819974671", "input": { "customerFirstName": "Kermit", "customerLastName": "The frog", "customerEmailAddress": "kermit@example.com", "shippingAddress": { "address1": "1 Infinite Loop", "address2": "Muppet Studio", "city": "Cupertino", "zip": "95014", "country": "US", "province": "California" }, "uncategorizedText": "Test uncategorized text", "accessActivityLog": "Test access activity log", "cancellationPolicyDisclosure": "Test cancellation policy disclosure", "cancellationRebuttal": "Test cancellation rebuttal", "refundPolicyDisclosure": "Test refund policy disclosure", "refundRefusalExplanation": "Test refund refusal explanation" } } response = client.query(query: query, variables: variables) ``` ## Input variables JSON ```json { "id": "gid://shopify/ShopifyPaymentsDisputeEvidence/819974671", "input": { "customerFirstName": "Kermit", "customerLastName": "The frog", "customerEmailAddress": "kermit@example.com", "shippingAddress": { "address1": "1 Infinite Loop", "address2": "Muppet Studio", "city": "Cupertino", "zip": "95014", "country": "US", "province": "California" }, "uncategorizedText": "Test uncategorized text", "accessActivityLog": "Test access activity log", "cancellationPolicyDisclosure": "Test cancellation policy disclosure", "cancellationRebuttal": "Test cancellation rebuttal", "refundPolicyDisclosure": "Test refund policy disclosure", "refundRefusalExplanation": "Test refund refusal explanation" } } ``` ## Response JSON ```json { "disputeEvidenceUpdate": { "disputeEvidence": { "uncategorizedText": "Test uncategorized text", "dispute": { "amount": { "amount": "11.5", "currencyCode": "USD" }, "evidenceDueBy": "2024-11-20T19:00:00-05:00", "evidenceSentOn": null, "finalizedOn": null, "id": "gid://shopify/ShopifyPaymentsDispute/598735659", "initiatedAt": "2013-05-04T00:00:00Z", "reasonDetails": { "reason": "FRAUDULENT", "networkReasonCode": "4827" }, "status": "NEEDS_RESPONSE", "type": "CHARGEBACK" } }, "userErrors": [] } } ```