# refund - admin-graphql - QUERY Version: 2024-10 ## Description Returns a Refund resource by ID. ### Access Scopes `read_orders` access scope or `read_marketplace_orders` access scope. ## Arguments * [id](/docs/api/admin-graphql/2024-10/scalars/ID): ID! - The ID of the Refund to return. ## Returns * [createdAt](/docs/api/admin-graphql/2024-10/scalars/DateTime): DateTime The date and time when the refund was created. * [duties](/docs/api/admin-graphql/2024-10/objects/RefundDuty): RefundDuty A list of the refunded duties as part of this refund. * [id](/docs/api/admin-graphql/2024-10/scalars/ID): ID! A globally-unique ID. * [legacyResourceId](/docs/api/admin-graphql/2024-10/scalars/UnsignedInt64): UnsignedInt64! The ID of the corresponding resource in the REST Admin API. * [note](/docs/api/admin-graphql/2024-10/scalars/String): String The optional note associated with the refund. * [order](/docs/api/admin-graphql/2024-10/objects/Order): Order! The order associated with the refund. * [return](/docs/api/admin-graphql/2024-10/objects/Return): Return The return associated with the refund. * [staffMember](/docs/api/admin-graphql/2024-10/objects/StaffMember): StaffMember The staff member who created the refund. * [totalRefunded](/docs/api/admin-graphql/2024-10/objects/MoneyV2): MoneyV2! The total amount across all transactions for the refund. * [totalRefundedSet](/docs/api/admin-graphql/2024-10/objects/MoneyBag): MoneyBag! The total amount across all transactions for the refund, in shop and presentment currencies. * [updatedAt](/docs/api/admin-graphql/2024-10/scalars/DateTime): DateTime! The date and time when the refund was updated. ## Examples ### Get refund duties Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2024-10/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/2024-10/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/2024-10/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" } } } } }