# Refund - admin-graphql - OBJECT Version: 2025-01 ## Description The record of the line items and transactions that were refunded to a customer, along with restocking instructions for refunded line items. ### Access Scopes `read_orders` access scope or `read_marketplace_orders` access scope. ## Fields * [createdAt](/docs/api/admin-graphql/2025-01/scalars/DateTime): DateTime - The date and time when the refund was created. * [duties](/docs/api/admin-graphql/2025-01/objects/RefundDuty): RefundDuty - A list of the refunded duties as part of this refund. * [id](/docs/api/admin-graphql/2025-01/scalars/ID): ID! - A globally-unique ID. * [legacyResourceId](/docs/api/admin-graphql/2025-01/scalars/UnsignedInt64): UnsignedInt64! - The ID of the corresponding resource in the REST Admin API. * [note](/docs/api/admin-graphql/2025-01/scalars/String): String - The optional note associated with the refund. * [order](/docs/api/admin-graphql/2025-01/objects/Order): Order! - The order associated with the refund. * [return](/docs/api/admin-graphql/2025-01/objects/Return): Return - The return associated with the refund. * [staffMember](/docs/api/admin-graphql/2025-01/objects/StaffMember): StaffMember - The staff member who created the refund. * [totalRefunded](/docs/api/admin-graphql/2025-01/objects/MoneyV2): MoneyV2! - The total amount across all transactions for the refund. * [totalRefundedSet](/docs/api/admin-graphql/2025-01/objects/MoneyBag): MoneyBag! - The total amount across all transactions for the refund, in shop and presentment currencies. * [updatedAt](/docs/api/admin-graphql/2025-01/scalars/DateTime): DateTime! - The date and time when the refund was updated. ## Connections * [orderAdjustments](/docs/api/admin-graphql/2025-01/connections/OrderAdjustmentConnection): OrderAdjustmentConnection! * [refundLineItems](/docs/api/admin-graphql/2025-01/connections/RefundLineItemConnection): RefundLineItemConnection! * [refundShippingLines](/docs/api/admin-graphql/2025-01/connections/RefundShippingLineConnection): RefundShippingLineConnection! * [transactions](/docs/api/admin-graphql/2025-01/connections/OrderTransactionConnection): OrderTransactionConnection! ## Related queries * [refund](/docs/api/admin-graphql/2025-01/queries/refund) Returns a Refund resource by ID. ## Related mutations * [refundCreate](/docs/api/admin-graphql/2025-01/mutations/refundCreate) Creates a refund. * [returnRefund](/docs/api/admin-graphql/2025-01/mutations/returnRefund) Refunds a return when its status is `OPEN` or `CLOSED` and associates it with the related return request. ## Related Unions ## Examples ### Get refund duties Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2025-01/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"query refund($input: ID!) { refund(id: $input) { duties { originalDuty { countryCodeOfOrigin } amountSet { shopMoney { amount } } } } }\",\n \"variables\": {\n \"input\": \"gid://shopify/Refund/850600470\"\n }\n}'\n" Node example: "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n data: {\n \"query\": `query refund($input: ID!) {\n refund(id: $input) {\n duties {\n originalDuty {\n countryCodeOfOrigin\n }\n amountSet {\n shopMoney {\n amount\n }\n }\n }\n }\n }`,\n \"variables\": {\n \"input\": \"gid://shopify/Refund/850600470\"\n },\n },\n});\n" Ruby example: "session = ShopifyAPI::Auth::Session.new(\n shop: \"your-development-store.myshopify.com\",\n access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n session: session\n)\n\nquery = <<~QUERY\n query refund($input: ID!) {\n refund(id: $input) {\n duties {\n originalDuty {\n countryCodeOfOrigin\n }\n amountSet {\n shopMoney {\n amount\n }\n }\n }\n }\n }\nQUERY\n\nvariables = {\n \"input\": \"gid://shopify/Refund/850600470\"\n}\n\nresponse = client.query(query: query, variables: variables)\n" Remix example: "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n `#graphql\n query refund($input: ID!) {\n refund(id: $input) {\n duties {\n originalDuty {\n countryCodeOfOrigin\n }\n amountSet {\n shopMoney {\n amount\n }\n }\n }\n }\n }`,\n {\n variables: {\n \"input\": \"gid://shopify/Refund/850600470\"\n },\n },\n);\n\nconst data = await response.json();\n" Graphql query: "query refund($input: ID!) {\n refund(id: $input) {\n duties {\n originalDuty {\n countryCodeOfOrigin\n }\n amountSet {\n shopMoney {\n amount\n }\n }\n }\n }\n}" #### Graphql Input { "input": "gid://shopify/Refund/850600470" } #### Graphql Response { "data": { "refund": { "duties": [ { "originalDuty": { "countryCodeOfOrigin": "US" }, "amountSet": { "shopMoney": { "amount": "6.0" } } } ] } } } ### Get the total refunded amount Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2025-01/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"query refund($input: ID!) { refund(id: $input) { totalRefundedSet { shopMoney { amount currencyCode } } } }\",\n \"variables\": {\n \"input\": \"gid://shopify/Refund/196417871\"\n }\n}'\n" Node example: "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n data: {\n \"query\": `query refund($input: ID!) {\n refund(id: $input) {\n totalRefundedSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n }\n }`,\n \"variables\": {\n \"input\": \"gid://shopify/Refund/196417871\"\n },\n },\n});\n" Ruby example: "session = ShopifyAPI::Auth::Session.new(\n shop: \"your-development-store.myshopify.com\",\n access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n session: session\n)\n\nquery = <<~QUERY\n query refund($input: ID!) {\n refund(id: $input) {\n totalRefundedSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n }\n }\nQUERY\n\nvariables = {\n \"input\": \"gid://shopify/Refund/196417871\"\n}\n\nresponse = client.query(query: query, variables: variables)\n" Remix example: "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n `#graphql\n query refund($input: ID!) {\n refund(id: $input) {\n totalRefundedSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n }\n }`,\n {\n variables: {\n \"input\": \"gid://shopify/Refund/196417871\"\n },\n },\n);\n\nconst data = await response.json();\n" Graphql query: "query refund($input: ID!) {\n refund(id: $input) {\n totalRefundedSet {\n shopMoney {\n amount\n currencyCode\n }\n }\n }\n}" #### Graphql Input { "input": "gid://shopify/Refund/196417871" } #### Graphql Response { "data": { "refund": { "totalRefundedSet": { "shopMoney": { "amount": "5.75", "currencyCode": "USD" } } } } } ### Retrieves a specific refund Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2025-01/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"query RefundShow($id: ID!) { refund(id: $id) { id note totalRefundedSet { presentmentMoney { amount currencyCode } } } }\",\n \"variables\": {\n \"id\": \"gid://shopify/Refund/196417871\"\n }\n}'\n" Node example: "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n data: {\n \"query\": `query RefundShow($id: ID!) {\n refund(id: $id) {\n id\n note\n totalRefundedSet {\n presentmentMoney {\n amount\n currencyCode\n }\n }\n }\n }`,\n \"variables\": {\n \"id\": \"gid://shopify/Refund/196417871\"\n },\n },\n});\n" Ruby example: "session = ShopifyAPI::Auth::Session.new(\n shop: \"your-development-store.myshopify.com\",\n access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n session: session\n)\n\nquery = <<~QUERY\n query RefundShow($id: ID!) {\n refund(id: $id) {\n id\n note\n totalRefundedSet {\n presentmentMoney {\n amount\n currencyCode\n }\n }\n }\n }\nQUERY\n\nvariables = {\n \"id\": \"gid://shopify/Refund/196417871\"\n}\n\nresponse = client.query(query: query, variables: variables)\n" Remix example: "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n `#graphql\n query RefundShow($id: ID!) {\n refund(id: $id) {\n id\n note\n totalRefundedSet {\n presentmentMoney {\n amount\n currencyCode\n }\n }\n }\n }`,\n {\n variables: {\n \"id\": \"gid://shopify/Refund/196417871\"\n },\n },\n);\n\nconst data = await response.json();\n" Graphql query: "query RefundShow($id: ID!) {\n refund(id: $id) {\n id\n note\n totalRefundedSet {\n presentmentMoney {\n amount\n currencyCode\n }\n }\n }\n}" #### Graphql Input { "id": "gid://shopify/Refund/196417871" } #### Graphql Response { "data": { "refund": { "id": "gid://shopify/Refund/196417871", "note": "free shipping", "totalRefundedSet": { "presentmentMoney": { "amount": "5.75", "currencyCode": "USD" } } } } }