> ## Documentation Index
> Fetch the complete documentation index at: https://redo-44af351d-docs-v3-graphql-api-reference.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# return

> Fetch a single return by its id — a branded Redo return id or its legacy Mongo ObjectId.

**Required scopes:**
[`returns_read`](/docs/api-reference/v3/reference/scopes#scope-returns_read)

## Arguments

<ResponseField name="id" type="ID!" required>
  The id of the return: a branded Redo id or a 24-char Mongo ObjectId hex.
</ResponseField>

## Returns

<ResponseField name="return" type={<a href="/docs/api-reference/v3/reference/returns/return">Return</a>}>
  A return, exchange, claim, or warranty a customer opened on an order.

  <Expandable title="fields" lazyRender>
    <ResponseField name="compensationMethods" type={<a href="/docs/api-reference/v3/reference/returns/return-compensation-method">[ReturnCompensationMethod!]!</a>} required>
      How the customer is compensated (e.g. refund, store credit, exchange).
    </ResponseField>

    <ResponseField name="completeWithNoAction" type="Boolean!" required>
      Whether the return was closed without any action taken.
    </ResponseField>

    <ResponseField name="createdAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
      When the return was created.
    </ResponseField>

    <ResponseField name="destination" type={<a href="/docs/api-reference/v3/reference/returns/return-destination">ReturnDestination!</a>} required>
      Where the returned items are sent (the merchant).

      <Expandable title="fields" lazyRender>
        <ResponseField name="mailingAddress" type={<a href="/docs/api-reference/v3/reference/common/mailing-address">MailingAddress!</a>} required>
          The merchant's return address.

          <Expandable title="fields" lazyRender>
            <ResponseField name="address1" type="String">
              The first line of the address (street and number).
            </ResponseField>

            <ResponseField name="address2" type="String">
              The second line of the address (apartment, suite, unit, etc.).
            </ResponseField>

            <ResponseField name="city" type="String">
              The city, town, or village.
            </ResponseField>

            <ResponseField name="country" type="String">
              The country.
            </ResponseField>

            <ResponseField name="postalCode" type="String">
              The postal or ZIP code.
            </ResponseField>

            <ResponseField name="province" type="String">
              The province, state, or region.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="phoneNumber" type="String">
          A contact phone number for the destination.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="dropoffs" type={<a href="/docs/api-reference/v3/reference/returns/return-dropoff">[ReturnDropoff!]!</a>} required>
      Chosen label-free dropoffs for returning items.

      <Expandable title="fields" lazyRender>
        <ResponseField name="provider" type="String!" required>
          The merchant-facing dropoff provider name.
        </ResponseField>

        <ResponseField name="qrCode" type="String">
          The dropoff QR code, if any.
        </ResponseField>

        <ResponseField name="qrCodeUrl" type="String">
          A URL to the dropoff QR code, if any.
        </ResponseField>

        <ResponseField name="shipmentGroupId" type="String!" required>
          The shipment group this dropoff is for.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="exchange" type={<a href="/docs/api-reference/v3/reference/returns/return-exchange">ReturnExchange!</a>} required>
      Exchange details for the return.

      <Expandable title="fields" lazyRender>
        <ResponseField name="itemCount" type="Int!" required>
          Total quantity of exchange items.
        </ResponseField>

        <ResponseField name="items" type={<a href="/docs/api-reference/v3/reference/returns/exchange-item">[ExchangeItem!]!</a>} required>
          The items on the exchange order.

          <Expandable title="fields" lazyRender>
            <ResponseField name="id" type="String!" required>
              The exchange item id.
            </ResponseField>

            <ResponseField name="lineItemId" type="String">
              The exchange order's line item id, if known.
            </ResponseField>

            <ResponseField name="originalPrice" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
              The item's original price.
            </ResponseField>

            <ResponseField name="price" type={<a href="/docs/api-reference/v3/reference/returns/exchange-item-price">ExchangeItemPrice!</a>} required>
              The item's price.
            </ResponseField>

            <ResponseField name="quantity" type="Float!" required>
              The exchanged quantity.
            </ResponseField>

            <ResponseField name="sku" type="String">
              The item's SKU.
            </ResponseField>

            <ResponseField name="variant" type={<a href="/docs/api-reference/v3/reference/returns/external-ref">ExternalRef!</a>} required>
              The exchanged-for variant.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="order" type={<a href="/docs/api-reference/v3/reference/returns/exchange-order">ExchangeOrder!</a>} required>
          The exchange/new order.

          <Expandable title="fields" lazyRender>
            <ResponseField name="externalId" type="String">
              The exchange order's external id.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="provision" type={<a href="/docs/api-reference/v3/reference/returns/return-provision-type">ReturnProvisionType</a>}>
          How the exchange is provisioned.
        </ResponseField>

        <ResponseField name="totalTax" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
          Total tax on the exchange order.

          <Expandable title="fields" lazyRender>
            <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
              The exact amount as a decimal string (e.g. "19.99").
            </ResponseField>

            <ResponseField name="currency" type="String!" required>
              ISO 4217 currency code (e.g. USD).
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="externalReturnIds" type={<a href="/docs/api-reference/v3/reference/returns/external-return-id">[ExternalReturnId!]!</a>} required>
      This return's ids in external systems (e.g. Shopify).

      <Expandable title="fields" lazyRender>
        <ResponseField name="provider" type="String!" required>
          The external system, e.g. shopify.
        </ResponseField>

        <ResponseField name="value" type="String!" required>
          The id within that system.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="giftCards" type={<a href="/docs/api-reference/v3/reference/returns/return-gift-card">[ReturnGiftCard!]!</a>} required>
      Gift cards issued as part of the return.

      <Expandable title="fields" lazyRender>
        <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/money">Money</a>}>
          The gift card's value.

          <Expandable title="fields" lazyRender>
            <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
              The exact amount as a decimal string (e.g. "19.99").
            </ResponseField>

            <ResponseField name="currency" type="String!" required>
              ISO 4217 currency code (e.g. USD).
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="code" type="String">
          The gift card code.
        </ResponseField>

        <ResponseField name="externalId" type="String">
          The gift card's id in the external system.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="id" type="ID!" required>
      The id of this return.
    </ResponseField>

    <ResponseField name="integrations" type={<a href="/docs/api-reference/v3/reference/returns/return-integration">[ReturnIntegration!]!</a>} required>
      Links to this return in external integrations.

      <Expandable title="fields" lazyRender>
        <ResponseField name="externalId" type="String!" required>
          The id of the record in the external system.
        </ResponseField>

        <ResponseField name="provider" type="String!" required>
          The integration provider.
        </ResponseField>

        <ResponseField name="type" type="String!" required>
          The kind of external record (e.g. rma).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="internalCreatedByName" type="String">
      The name of the merchant user who created the return, if merchant-created.
    </ResponseField>

    <ResponseField name="items" type={<a href="/docs/api-reference/v3/reference/returns/return-item">[ReturnItem!]!</a>} required>
      The items being returned.

      <Expandable title="fields" lazyRender>
        <ResponseField name="assessments" type={<a href="/docs/api-reference/v3/reference/returns/assessment">[Assessment!]</a>}>
          Merchant assessments recorded for the item, if any.

          <Expandable title="fields" lazyRender>
            <ResponseField name="assignedUser" type={<a href="/docs/api-reference/v3/reference/returns/assessment-user">AssessmentUser!</a>} required>
              The user who performed the assessment.
            </ResponseField>

            <ResponseField name="responses" type={<a href="/docs/api-reference/v3/reference/returns/assessment-response">[AssessmentResponse!]!</a>} required>
              The assessment responses.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="customerComment" type="String!" required>
          Free-text comments the customer left for this item.
        </ResponseField>

        <ResponseField name="exchangeItem" type={<a href="/docs/api-reference/v3/reference/returns/return-item-exchange-item">ReturnItemExchangeItem</a>}>
          The item exchanged for this one, if an exchange.

          <Expandable title="fields" lazyRender>
            <ResponseField name="product" type={<a href="/docs/api-reference/v3/reference/returns/external-ref">ExternalRef!</a>} required>
              The exchanged-for product.
            </ResponseField>

            <ResponseField name="quantity" type="Int!" required>
              The exchanged quantity.
            </ResponseField>

            <ResponseField name="variant" type={<a href="/docs/api-reference/v3/reference/returns/external-ref">ExternalRef!</a>} required>
              The exchanged-for variant.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="externalIdentifier" type="String">
          A merchant-set external identifier for the item.
        </ResponseField>

        <ResponseField name="externalReturnLineItemId" type="String">
          The external return line item id, if any.
        </ResponseField>

        <ResponseField name="grade" type="String">
          The merchant-assigned grade.
        </ResponseField>

        <ResponseField name="greenReturn" type="Boolean">
          Whether the item is a green (keep-it) return.
        </ResponseField>

        <ResponseField name="id" type="String!" required>
          The return item id.
        </ResponseField>

        <ResponseField name="multipleChoiceQuestions" type={<a href="/docs/api-reference/v3/reference/returns/multiple-choice-question">[MultipleChoiceQuestion!]!</a>} required>
          Multiple-choice question answers for the item.

          <Expandable title="fields" lazyRender>
            <ResponseField name="answer" type="String!" required>
              The chosen answer.
            </ResponseField>

            <ResponseField name="question" type="String!" required>
              The question.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="orderLineItemId" type="String">
          The id of the order line item this return item came from.
        </ResponseField>

        <ResponseField name="outcome" type="String">
          The merchant-assigned processing outcome.
        </ResponseField>

        <ResponseField name="processingImages" type="[String!]!" required>
          Merchant-uploaded processing images.
        </ResponseField>

        <ResponseField name="processingNotes" type="String">
          Merchant processing notes.
        </ResponseField>

        <ResponseField name="productAdjustment" type="String">
          The merchant price adjustment for the item.
        </ResponseField>

        <ResponseField name="productId" type="String">
          The item's product id.
        </ResponseField>

        <ResponseField name="productValueNoTaxNoAdjustment" type={<a href="/docs/api-reference/v3/reference/returns/return-amount">ReturnAmount!</a>} required>
          The item's product value excluding tax and adjustments.

          <Expandable title="fields" lazyRender>
            <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
              The amount.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="quantity" type="Int!" required>
          The returned quantity.
        </ResponseField>

        <ResponseField name="reason" type="String">
          The return reason.
        </ResponseField>

        <ResponseField name="reasonCode" type="String">
          The return reason code.
        </ResponseField>

        <ResponseField name="reasonCodes" type="[String!]!" required>
          All return reason codes.
        </ResponseField>

        <ResponseField name="reasons" type="[String!]!" required>
          All return reasons.
        </ResponseField>

        <ResponseField name="refund" type={<a href="/docs/api-reference/v3/reference/returns/item-refund">ItemRefund!</a>} required>
          The refund for this item.

          <Expandable title="fields" lazyRender>
            <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
              The refunded amount for the item.
            </ResponseField>

            <ResponseField name="type" type={<a href="/docs/api-reference/v3/reference/returns/return-item-strategy">ReturnItemStrategy</a>}>
              The compensation strategy (null for exchanges).
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="shipmentGroupIds" type="[String!]!" required>
          Shipment groups this item belongs to.
        </ResponseField>

        <ResponseField name="sku" type="String">
          The item's SKU.
        </ResponseField>

        <ResponseField name="status" type={<a href="/docs/api-reference/v3/reference/returns/return-item-status">ReturnItemStatus</a>}>
          The item's processing status.
        </ResponseField>

        <ResponseField name="upc" type="String">
          The item's barcode/UPC.
        </ResponseField>

        <ResponseField name="variantId" type="String">
          The item's variant id.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="legacyId" type="String!" required>
      The return's legacy Mongo ObjectId (24-char hex), for cross-referencing v2 data.
    </ResponseField>

    <ResponseField name="notes" type={<a href="/docs/api-reference/v3/reference/returns/return-note">[ReturnNote!]!</a>} required>
      Non-system notes on the return's timeline.

      <Expandable title="fields" lazyRender>
        <ResponseField name="image" type="String">
          A URL of the first image attached to the note, if any.
        </ResponseField>

        <ResponseField name="message" type="String">
          The note text.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="order" type={<a href="/docs/api-reference/v3/reference/returns/return-order">ReturnOrder</a>}>
      The order this return was created against.

      <Expandable title="fields" lazyRender>
        <ResponseField name="legacyId" type="String!" required>
          The order's legacy Mongo ObjectId (24-char hex). Use `orders` for the modeled Order relationship.
        </ResponseField>

        <ResponseField name="name" type="String">
          The order's display name, e.g. #1001.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="orders" type={<a href="/docs/api-reference/v3/pagination">OrderConnection!</a>} required>
      The orders the returned items came from.

      **Requires:** [`orders_read`](/docs/api-reference/v3/reference/scopes#scope-orders_read)

      <Expandable title="fields" lazyRender>
        **Arguments**

        <ResponseField name="after" type="String">
          Forward cursor — orders after this `edges[].cursor`.
        </ResponseField>

        <ResponseField name="before" type="String">
          Backward cursor — orders before this `edges[].cursor`.
        </ResponseField>

        <ResponseField name="first" type="Int">
          Forward pagination: the first N orders (max 100, default 25). Use with `after`.
        </ResponseField>

        <ResponseField name="last" type="Int">
          Backward pagination: the last N orders (max 100, default 25). Use with `before`.
        </ResponseField>

        **Fields**

        <ResponseField name="edges" type={<a href="/docs/api-reference/v3/pagination">[OrderEdge!]!</a>} required>
          The list of edges (each a node plus its pagination `cursor`).

          <Expandable title="fields" lazyRender>
            <ResponseField name="cursor" type="String!" required>
              Opaque cursor for this item; pass to `after`/`before` to page from here.
            </ResponseField>

            <ResponseField name="node" type={<a href="/docs/api-reference/v3/reference/orders/order">Order!</a>} required>
              The item at this edge.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="nodes" type={<a href="/docs/api-reference/v3/reference/orders/order">[Order!]!</a>} required>
          The nodes in this page, without the edge/cursor wrapper — a convenience over `edges`.

          <Expandable title="fields" lazyRender>
            <ResponseField name="createdAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
              When the order was placed (the ecommerce provider's creation time, falling back to Redo's ingestion time).
            </ResponseField>

            <ResponseField name="currencyCode" type="String">
              The ISO 4217 currency code the order was placed in.
            </ResponseField>

            <ResponseField name="customer" type={<a href="/docs/api-reference/v3/reference/orders/order-customer">OrderCustomer</a>}>
              The customer who placed the order, if known.
            </ResponseField>

            <ResponseField name="externalId" type="String!" required>
              The order's id in the source ecommerce platform.
            </ResponseField>

            <ResponseField name="fulfillments" type={<a href="/docs/api-reference/v3/reference/orders/order-fulfillment">[OrderFulfillment!]!</a>} required>
              The shipments fulfilling this order's items.
            </ResponseField>

            <ResponseField name="id" type="ID!" required>
              The id of this order.
            </ResponseField>

            <ResponseField name="legacyId" type="String!" required>
              The order's legacy Mongo ObjectId (24-char hex) from before the CockroachDB migration.
            </ResponseField>

            <ResponseField name="lineItems" type={<a href="/docs/api-reference/v3/reference/orders/order-line-item">[OrderLineItem!]!</a>} required>
              The items purchased on this order.
            </ResponseField>

            <ResponseField name="shipping" type={<a href="/docs/api-reference/v3/reference/orders/order-shipping">OrderShipping</a>}>
              The order's shipping method, cost, and destination.
            </ResponseField>

            <ResponseField name="subtotalPrice" type={<a href="/docs/api-reference/v3/reference/common/money">Money</a>}>
              The order subtotal, excluding tax and shipping, if known.
            </ResponseField>

            <ResponseField name="tags" type="[String!]!" required>
              Free-form tags applied to the order.
            </ResponseField>

            <ResponseField name="totalPrice" type={<a href="/docs/api-reference/v3/reference/common/money">Money</a>}>
              The order total, including tax and shipping, if known.
            </ResponseField>

            <ResponseField name="totalTax" type={<a href="/docs/api-reference/v3/reference/common/money">Money</a>}>
              The total tax charged on the order, if known.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="pageInfo" type={<a href="/docs/api-reference/v3/pagination">PageInfo!</a>} required>
          Pagination metadata for the current page.

          <Expandable title="fields" lazyRender>
            <ResponseField name="endCursor" type="String">
              Cursor of the last edge in this page; pass to `after` to page forward.
            </ResponseField>

            <ResponseField name="hasNextPage" type="Boolean!" required>
              Whether more items exist after this page (drives forward pagination with `first`/`after`).
            </ResponseField>

            <ResponseField name="hasPreviousPage" type="Boolean!" required>
              Whether more items exist before this page (drives backward pagination with `last`/`before`).
            </ResponseField>

            <ResponseField name="startCursor" type="String">
              Cursor of the first edge in this page; pass to `before` to page backward.
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="refunds" type={<a href="/docs/api-reference/v3/reference/returns/return-refund">[ReturnRefund!]!</a>} required>
      Refund transactions issued for the return.

      <Expandable title="fields" lazyRender>
        <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
          The refunded amount.

          <Expandable title="fields" lazyRender>
            <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
              The exact amount as a decimal string (e.g. "19.99").
            </ResponseField>

            <ResponseField name="currency" type="String!" required>
              ISO 4217 currency code (e.g. USD).
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="externalId" type="String">
          The refund/transaction id in the external system.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="shipment" type={<a href="/docs/api-reference/v3/reference/returns/return-shipment">ReturnShipment</a>}>
      The return's primary shipment, if any.

      <Expandable title="fields" lazyRender>
        <ResponseField name="carrier" type="String">
          The carrier.
        </ResponseField>

        <ResponseField name="deliveredAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime</a>}>
          When the shipment was delivered, if it has been.
        </ResponseField>

        <ResponseField name="estimatedDeliveryDate" type={<a href="/docs/api-reference/v3/reference/common/date">Date</a>}>
          The carrier's estimated delivery date, if any.
        </ResponseField>

        <ResponseField name="externalLocationId" type="String">
          The destination external location id, if any.
        </ResponseField>

        <ResponseField name="formLabel" type="String">
          A URL to the customs/return form, if any.
        </ResponseField>

        <ResponseField name="itemIds" type="[String!]!" required>
          Ids of the return items in this shipment.
        </ResponseField>

        <ResponseField name="postageLabel" type="String">
          A URL to the postage label, if any.
        </ResponseField>

        <ResponseField name="shipmentGroupId" type="String">
          The shipment group this shipment belongs to.
        </ResponseField>

        <ResponseField name="status" type="String">
          The tracking status.
        </ResponseField>

        <ResponseField name="tracker" type="String">
          The tracking code.
        </ResponseField>

        <ResponseField name="trackingUrl" type="String">
          A public tracking URL.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="shipments" type={<a href="/docs/api-reference/v3/reference/returns/return-shipment">[ReturnShipment!]!</a>} required>
      All shipments for the return.

      <Expandable title="fields" lazyRender>
        <ResponseField name="carrier" type="String">
          The carrier.
        </ResponseField>

        <ResponseField name="deliveredAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime</a>}>
          When the shipment was delivered, if it has been.
        </ResponseField>

        <ResponseField name="estimatedDeliveryDate" type={<a href="/docs/api-reference/v3/reference/common/date">Date</a>}>
          The carrier's estimated delivery date, if any.
        </ResponseField>

        <ResponseField name="externalLocationId" type="String">
          The destination external location id, if any.
        </ResponseField>

        <ResponseField name="formLabel" type="String">
          A URL to the customs/return form, if any.
        </ResponseField>

        <ResponseField name="itemIds" type="[String!]!" required>
          Ids of the return items in this shipment.
        </ResponseField>

        <ResponseField name="postageLabel" type="String">
          A URL to the postage label, if any.
        </ResponseField>

        <ResponseField name="shipmentGroupId" type="String">
          The shipment group this shipment belongs to.
        </ResponseField>

        <ResponseField name="status" type="String">
          The tracking status.
        </ResponseField>

        <ResponseField name="tracker" type="String">
          The tracking code.
        </ResponseField>

        <ResponseField name="trackingUrl" type="String">
          A public tracking URL.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="source" type={<a href="/docs/api-reference/v3/reference/returns/return-source">ReturnSource!</a>} required>
      Who the return is from (the customer).

      <Expandable title="fields" lazyRender>
        <ResponseField name="emailAddress" type="String">
          The customer's email address.
        </ResponseField>

        <ResponseField name="mailingAddress" type={<a href="/docs/api-reference/v3/reference/common/mailing-address">MailingAddress</a>}>
          The customer's shipping address, if known.

          <Expandable title="fields" lazyRender>
            <ResponseField name="address1" type="String">
              The first line of the address (street and number).
            </ResponseField>

            <ResponseField name="address2" type="String">
              The second line of the address (apartment, suite, unit, etc.).
            </ResponseField>

            <ResponseField name="city" type="String">
              The city, town, or village.
            </ResponseField>

            <ResponseField name="country" type="String">
              The country.
            </ResponseField>

            <ResponseField name="postalCode" type="String">
              The postal or ZIP code.
            </ResponseField>

            <ResponseField name="province" type="String">
              The province, state, or region.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="name" type={<a href="/docs/api-reference/v3/reference/returns/person-name">PersonName!</a>} required>
          The customer's name.

          <Expandable title="fields" lazyRender>
            <ResponseField name="given" type="String!" required>
              The given (first) name.
            </ResponseField>

            <ResponseField name="surname" type="String!" required>
              The family (last) name.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="phoneNumber" type="String">
          A contact phone number for the customer.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="status" type={<a href="/docs/api-reference/v3/reference/returns/return-status">ReturnStatus!</a>} required>
      The return's current lifecycle status.
    </ResponseField>

    <ResponseField name="tags" type={<a href="/docs/api-reference/v3/reference/returns/return-tag">[ReturnTag!]!</a>} required>
      Tags applied to the return.

      <Expandable title="fields" lazyRender>
        <ResponseField name="name" type="String!" required>
          The tag's name.
        </ResponseField>

        <ResponseField name="source" type="String!" required>
          What applied the tag (e.g. merchant, automation).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="totals" type={<a href="/docs/api-reference/v3/reference/returns/return-totals">ReturnTotals!</a>} required>
      The monetary totals for the return.

      <Expandable title="fields" lazyRender>
        <ResponseField name="charge" type={<a href="/docs/api-reference/v3/reference/returns/return-amount">ReturnAmount!</a>} required>
          Outstanding balance charged to the customer.

          <Expandable title="fields" lazyRender>
            <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
              The amount.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="exchange" type={<a href="/docs/api-reference/v3/reference/returns/return-amount">ReturnAmount!</a>} required>
          Value of the new/exchange order.

          <Expandable title="fields" lazyRender>
            <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
              The amount.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="labelCost" type={<a href="/docs/api-reference/v3/reference/returns/return-amount">ReturnAmount!</a>} required>
          Merchant's return-label cost. Not stored on the returns mirror (lives in billing) — returned as 0 here.

          <Expandable title="fields" lazyRender>
            <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
              The amount.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="refund" type={<a href="/docs/api-reference/v3/reference/returns/return-amount">ReturnAmount!</a>} required>
          Total refunded to the customer (excluding shipping).

          <Expandable title="fields" lazyRender>
            <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
              The amount.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="storeCredit" type={<a href="/docs/api-reference/v3/reference/returns/return-amount">ReturnAmount!</a>} required>
          Total issued as store credit.

          <Expandable title="fields" lazyRender>
            <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
              The amount.
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="type" type={<a href="/docs/api-reference/v3/reference/returns/return-type">ReturnType!</a>} required>
      What kind of return this is.
    </ResponseField>

    <ResponseField name="updatedAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
      When the return was last updated.
    </ResponseField>
  </Expandable>
</ResponseField>

## Example

```graphql theme={null}
query {
  return(id: "...") {
    compensationMethods
    completeWithNoAction
    createdAt
    id
    internalCreatedByName
    legacyId
    orders {
      nodes {
        createdAt
        currencyCode
        externalId
        id
        legacyId
        tags
      }
      pageInfo {
        hasNextPage
        endCursor
      }
    }
    status
    # ...
  }
}
```
