getUserReturns
Note: The Return Management API is no longer recommended. Instead, current users of the Return Management API should make plans to migrate to, and use the Return operations of the Post-Order API. New users interested is programmatically managing return requests, should also make plans to integrate with the Post-Order API. The Return Management API was developed to be used by sellers who had opted in to "Hassle-free Returns". Hassle-free Returns have been replaced by a new Returns Platform, where sellers fully or partially automate the processing of return requests through Return Automation Rules. The Return Management API does not support all features and logic of the new Returns Platform, and this API will be deprecated in the near future.
This call retrieves summary information for returns in which the user is involved as a buyer or seller. This call can be used to retrieve returns created within the last 18 months.
Note: Users of this call should start using the GET /post-order/v2/return/search call of the Post-Order API instead.Request Details
Making a getUserReturns call with no input parameters will retrieve all returns in which the user is (or was) involved as a buyer or seller in the last 30 days. In addition to this basic call, there are also numerous filtering, sorting, and pagination options for a getUserReturns call, which are described below.Using Filters
It is possible to use any and all filter types in one call, and boolean AND logic is used when retrieving results. Each filter types is described below:- Order Filter: the orderId filter can be used to retrieve returns filed against an order (can be more than one for multiple line item orders).
- Item Filter: the itemFilter container can be used to retrieve returns filed against an item listing (can be more than one for multiple-quantity, fixed-price listings) or to retrieve a return filed against a specific order line item.
- Return Status Filter: the ReturnStatusFilter container can be used to retrieve returns in specific state(s), such as ITEM_SHIPPED, CLOSED, MY_RESPONSE_DUE, and others.
- Creation Date Filter: the creationDateRangeFilter container is used to set a date range. All returns created within this date range are retrieved. The maximum date range period is 90 days.
- Other User Filter: the otherUserFilter container is used to retrieve returns for another eBay user acting in a buyer or seller role. If this filter type is used, all other filters will act in matching and retrieving returns for the specified user as opposed to the eBay user making the call.
Sorting Results
The two sorting fields are sortType and sortOrderType. sortType sets the primary entity to sort against, such as return filing date or estimated amount of return. If this field is not included in the request, the sort type defaults to "FilingDate". sortOrderType controls whether results are sorted in ascending or descending order. If this field is not included in the request, the sort order defaults to "Descending".
Using Pagination
The paginationInput container is used to control how many returns are included on one page of results, and if there are multiple pages of results, the pageNumber value is used to control which page of results is retrieved.
Pagination can be very helpful for managing large result sets. The seller can then use subsequent getUserReturns calls to retrieve results page by page by incrementing the pageNumber value in the request each time.
If paginationInput values are not used, up to 200 returns may be returned on one page. The entriesPerPage value defaults to 200, and the pageNumber value defaults to 1.
Working with the Response
A returns node is returned for each return that satisfies the input criteria. The following container/fields are always returned under a returns node:
- creationDate: timestamp indicating when the return was opened by the buyer.
- ReturnId.id: the unique identifier of the return. This value will be used in other Return Management API calls to identify the return to retrieve, to provide an Return Merchandise Authorization number, to issue a refund, to provide an alternative return address, or to get the next possible action to take on the return.
- otherParty: this container identifies the eBay user on the other side of the return.
- status: this field contains an enumeration value that indicates the current status of the return.
- returnRequest: this container consists of details related to the item being returned, including the buyer's reason for returning the item.
The paginationOutput container is always returned regardless of whether the caller used the paginationInput container in the request. The paginationOutput container consists of values that indicate the total number of pages and returns that match the input criteria, the number of returns per page, and the current page number being viewed.
The responseDue container is returned if the buyer or seller has a pending response due in the return. The current status of the return dictates the type or response that is due.
Related Information
See also the reference documentation for this call:
- getReturnDetail - This call can be used by a seller or buyer to retrieve detailed information about a specific return in which they are involved.
Input
See also Samples.
The box below lists all fields that could be included in the call request. To learn more about an individual field or its type, click its name in the box (or scroll down to find it in the table below the box).
See also the Deprecated Objects link above. Fields presented in this color are deprecated, and fields presented in this color are (or soon will be) non-operational.
<?xml version="1.0" encoding="utf-8"?> <getUserReturnsRequest xmlns="http://www.ebay.com/marketplace/returns/v1/services"> <!-- Call-specific Input Fields --> <creationDateRangeFilter> DateRangeFilterType <fromDate> dateTime </fromDate> <toDate> dateTime </toDate> </creationDateRangeFilter> <itemFilter> ItemFilterType <itemId> string </itemId> <transactionId> string </transactionId> </itemFilter> <orderId> string </orderId> <otherUserFilter> UserFilterType <role> UserFilterRoleType </role> <userId> string </userId> <userLoginName> string </userLoginName> </otherUserFilter> <paginationInput> PaginationInput <entriesPerPage> int </entriesPerPage> <pageNumber> int </pageNumber> </paginationInput> <ReturnStatusFilter> ReturnStatusFilterType <ReturnStatus> ReturnStatusInputType </ReturnStatus> <!-- ... more ReturnStatus values allowed here ... --> </ReturnStatusFilter> <sortOrderType> ReturnSortOrderType </sortOrderType> <sortType> ReturnSortType </sortType> </getUserReturnsRequest>
| Argument | Type | Occurrence | Meaning |
|---|
If more than one filter type is used in one call, boolean AND logic is applied to the result set.
.fromDate dateTime Conditional The starting date for the date range. The fromDate must be older than the toDate, and it cannot be set back more than 18 months in the past. This field is required if the dateRangeFilter container is used.
If more than one filter type is used in one call, boolean AND logic is applied to the result set.
If more than one filter type is used in one call, boolean AND logic is applied to the result set.
An itemId value is required if the itemFilter container is used. If a transactionId value is used to identify a specific eBay order line item, that transactionId value must be associated with the itemId value or an error occurs.
Max length: 19.
Max length: 19.
If an orderId value is specified, any return filed against this order is retrieved. It is possible that multiple returns can be retrieved if the order has multiple line items, and the buyer filed a return against more than one of these order line items.
If more than one filter type is used in one call, boolean AND logic is applied to the result set.
Applicable values:
Note: Effective September 26, 2025, both usernames and public user IDs will be accepted in this field. For more information, please refer to Data Handling Compliance.
If the paginationInput container is not used, all returns matching the filter criteria are retrieved and displayed on one "page" of the response.
Min: 1. Max: 200. Default: 200.
Min: 1. Max: 100. Default: 1.
If more than one filter type is used in one call, boolean AND logic is applied to the result set.
.ReturnStatus ReturnStatusInputType Conditional,
repeatable: [1..*] To retrieve returns in a specific state (such as open, closed, item shipped, etc.), pass in a ReturnStatusInputType value. At least one ReturnStatus field is required if the ReturnStatusFilter container is used, and multiple ReturnStatus values are allowed.
Applicable values:
- CLOSED
- CS_CLOSED
- EXPIRED
- YOU_CONTACTED_CS_ABOUT_CLOSED_Return
- MY_PAYMENT_DUE
- MY_RESPONSE_DUE
- OTHER_PARTY_CONTACTED_CS_AWAITING_RESPONSE
- OTHER_PARTY_RESPONSE_DUE
- PAID
- WAITING_DELIVERY
- YOU_CONTACTED_CS_AWAITING_RESPONSE
- BuyerLoginName: Results are sorted based on name from Z to A
- EstimatedAmount: Results are sorted based on dollar amount from highest to lowest value
- FilingDate: Results are sorted based on filing date from most recent to oldest
- RefundDueDate: Results are sorted based on the date a refund is due to the seller from a date further in the future to a date less further in the future
Default: Descending.
Applicable values:
Default: FilingDate.
Applicable values:
Output
See also Samples.
The box below lists all fields that might be returned in the response. To learn more about an individual field or its type, click its name in the box (or scroll down to find it in the table below the box).
See also the Deprecated Objects link above. Fields presented in this color are deprecated, and fields presented in this color are not returned (or soon will not be returned) or are not operational (or soon will be non-operational).
<?xml version="1.0" encoding="utf-8"?> <getUserReturnsResponse xmlns="http://www.ebay.com/marketplace/returns/v1/services"> <!-- Call-specific Output Fields --> <paginationOutput> PaginationOutput <entriesPerPage> int </entriesPerPage> <pageNumber> int </pageNumber> <totalEntries> int </totalEntries> <totalPages> int </totalPages> </paginationOutput> <returns> ReturnSummaryType <creationDate> dateTime </creationDate> <lastModifiedDate> dateTime </lastModifiedDate> <otherParty> ReturnUserType <role> ReturnUserRoleType </role> <userId> string </userId> </otherParty> <responseDue> ReturnResponseDueType <party> ReturnUserType <role> ReturnUserRoleType </role> <userId> string </userId> </party> <respondByDate> dateTime </respondByDate> </responseDue> <ReturnId> ReturnIdType <id> string </id> </ReturnId> <returnRequest> ReturnRequestType <comments> string </comments> <returnItem> ReturnItemType <itemId> string </itemId> <returnQuantity> int </returnQuantity> <transactionId> string </transactionId> </returnItem> <!-- ... more returnItem nodes allowed here ... --> <returnReason> ReturnReasonType (EnumerationDetailType) <code> token </code> </returnReason> </returnRequest> <ReturnType> ReturnType </ReturnType> <status> ReturnStatusType </status> </returns> <!-- ... more returns nodes allowed here ... --> <!-- Standard Output Fields --> <ack> AckValue </ack> <errorMessage> ErrorMessage <error> ErrorData <category> ErrorCategory </category> <domain> string </domain> <errorId> long </errorId> <exceptionId> token </exceptionId> <message> string </message> <parameter name="string"> ErrorParameter (string) </parameter> <!-- ... more parameter values allowed here ... --> <severity> ErrorSeverity </severity> <subdomain> string </subdomain> </error> <!-- ... more error nodes allowed here ... --> </errorMessage> <timestamp> dateTime </timestamp> <version> string </version> </getUserReturnsResponse>
| Return Value | Type | Occurrence | Meaning |
|---|
.entriesPerPage int Always This integer value indicates the maximum number of returns to return in a single "page" of data. This value, along with the number of returns that match the input criteria, determines the total pages (see paginationOutput.totalPages) in the result set.
Min: 1. Max: 100. Default: 1.
Min: 1. Max: 200. Default: 1.
repeatable: [1..*] Container consisting of high-level information for each return matching the input criteria. This information includes the creation and modification dates for the return, the reason for the return, item information, response date, and the current status of the return.
Applicable values:
Code so that your app gracefully handles any future changes to this list.
Applicable values:
Code so that your app gracefully handles any future changes to this list.
.userId string Always The eBay user ID for the party involved in the return. Note: Effective September 26, 2025, select developers will no longer receive username data for U.S. users through this field. Instead, an immutable user ID will be returned in its place. For more information, please refer to Data Handling Compliance.
.respondByDate dateTime Conditionally This date indicates the due date of the party's response.
Max length: 38.
.returnItem ReturnItemType Always,
repeatable: [1..*] Container consisting of the eBay Item ID, the Transaction ID, and quantity of the item being returned to the seller. The returnItem container is returned in the getUserReturns and getReturnDetail calls.
.returnItem.itemId string Always The unique identifier for an eBay listing.
Max length: 19.
.returnItem.returnQuantity int Always This value indicates the quantity of items to be returned. This value is usually '1' unless multiple identical items were purchased by the buyer.
Min: 1.
.returnItem.transactionId string Always The unique identifier for an eBay order line item.
.returnReason ReturnReasonType (EnumerationDetailType) Always This value indicates the buyer's reason for returning an item. Possible values include I_DONT_WANT_IT (buyer remorse) and SNAD (item Significantly Not As Described).
Applicable values:
Code so that your app gracefully handles any future changes to this list.
Applicable values: See status.
Code so that your app gracefully handles any future changes to this list.
Applicable values:
Code so that your app gracefully handles any future changes to this list.
repeatable: [0..*] Details about a single error.
Applicable values:
Code so that your app gracefully handles any future changes to this list.
repeatable: [0..*] Various warning and error messages return one or more variables that contain contextual information about the error. This is often the field or value that triggered the error.
[ attribute name ] string Conditionally Various warning and error messages return one or more variables that contain contextual information about the error. This is often the field or value that triggered the error.
If the request fails and the application is the source of the error (for example, a required element is missing), update the application before you retry the request. If the problem is due to incorrect user data, alert the end user to the problem and provide the means for them to correct the data. Once the problem in the application or data is resolved, resend the request to eBay.
If the source of the problem is on eBay's side, you can retry the request a reasonable number of times (eBay recommends you try the request twice). If the error persists, contact Developer Technical Support. Once the problem has been resolved, you can resend the request in its original form.
If a warning occurs, warning information is returned in addition to the business data. Normally, you do not need to resend the request (as the original request was successful). However, depending on the cause of the warning, you might need to contact the end user, or eBay, to effect a long term solution to the problem.
Applicable values:
Code so that your app gracefully handles any future changes to this list.
Samples
New to making API calls? Please see Making a Call.
Note: Some item IDs, user IDs, or other data in these samples might no longer be active on eBay. If necessary, you can substitute current eBay data in your requests.
This call retrieves summary information for returns in which the user is involved as a buyer or seller. This call can be used to retrieve returns created within the last 18 months.
Description
This getUserReturns call sample is used by a seller named u********r. This seller uses the creationDateRangeFilter container, so all of this seller's returns created within the specified date range are retrieved.
The caller must be authenticated to make this call.
Input
This getUserReturns call sample is used by a seller named u********r. This seller uses the creationDateRangeFilter container, so all of this seller's returns created within the date range are retrieved. The fromDate and toDate values set the date range. In this specific sample, the seller is looking for all returns created from 11-26-2011 until 1-11-2012.
The seller also uses the paginationInput container to restrict the number of returns that appear on one page of results, noting that only one page can be returned per call. In this specific example, u********r wants to retrieve 50 returns per call (entriesPerPage=50), and wants the first page of results (pageNumber=1).
SOAP format. Also available is the XML equivalent. <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ser="http://www.ebay.com/marketplace/returns/v1/services"> <soap:Header/> <soap:Body> <ser:getUserReturnsRequest> <ser:RequesterCredentials> <ser:eBayAuthToken>A********3</ser:eBayAuthToken> </ser:RequesterCredentials> <ser:creationDateRangeFilter> <ser:fromDate>2011年11月26日</ser:fromDate> <ser:toDate>2012年01月11日</ser:toDate> </ser:creationDateRangeFilter> <ser:paginationInput> <ser:pageNumber>1</ser:pageNumber> <ser:entriesPerPage>50</ser:entriesPerPage> </ser:paginationInput> </ser:getUserReturnsRequest> </soap:Body> </soap:Envelope>
Output
This specific call returns only three returns, which can be verified by looking at the paginationOutput.totalEntries value (at the end of the response). If you view the paginationOutput container, you'll notice that the entriesPerPage value changes to '3' to mirror the actual number of returns on the page, even though the paginationInput.entriesPerPage value was set to '50' in the request.
A returns container is returned for each return that matches the input criteria (in this call sample, all returns created from 11-26-2011 until 1-11-2012. The returns container is very similar to the ReturnSummary container returned in getReturnDetail and consists of data such as the following:
- The return ID.
- The role and user ID of the other party in the return. In this response, there are three unique buyers with returns filed against u********r.
- The creation date of the return.
- The current status of the return. The states in this response include ITEM_DELIVERED and READY_FOR_SHIPPING.
- information on the item being returned, including the return reason. Return reasons in this response include DEFECTIVE_ITEM and ORDERED_ACCIDENTALLY
- information on a response due from the seller or the buyer
SOAP format. Also available is the XML equivalent. <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <soapenv:Header/> <soapenv:Body> <ns1:getUserReturnsResponse xmlns:ns1="http://www.ebay.com/marketplace/returns/v1/services"> <ns1:ack>Success</ns1:ack> <ns1:version>1.0.0</ns1:version> <ns1:timestamp>2012年01月13日T15:29:30.596Z</ns1:timestamp> <ns1:returns> <ns1:ReturnId> <ns1:id>5********9</ns1:id> </ns1:ReturnId> <ns1:otherParty> <ns1:userId>e********0</ns1:userId> <ns1:role>BUYER</ns1:role> </ns1:otherParty> <ns1:returnRequest> <ns1:returnItem> <ns1:itemId>1**********7</ns1:itemId> <ns1:transactionId>2*********1</ns1:transactionId> <ns1:returnQuantity>1</ns1:returnQuantity> </ns1:returnItem> <ns1:returnReason> <ns1:code>9</ns1:code> <ns1:description>DEFECTIVE_ITEM</ns1:description> </ns1:returnReason> <ns1:comments>test</ns1:comments> </ns1:returnRequest> <ns1:status>ITEM_DELIVERED</ns1:status> <ns1:responseDue> <ns1:party> <ns1:userId>e********0</ns1:userId> <ns1:role>BUYER</ns1:role> </ns1:party> <ns1:respondByDate>2012年01月12日T23:59:31.000Z</ns1:respondByDate> </ns1:responseDue> <ns1:creationDate>2012年01月06日T02:38:33.000Z</ns1:creationDate> </ns1:returns> <ns1:returns> <ns1:ReturnId> <ns1:id>5********1</ns1:id> </ns1:ReturnId> <ns1:otherParty> <ns1:userId>e********1</ns1:userId> <ns1:role>BUYER</ns1:role> </ns1:otherParty> <ns1:returnRequest> <ns1:returnItem> <ns1:itemId>1**********8</ns1:itemId> <ns1:transactionId>2*********1</ns1:transactionId> <ns1:returnQuantity>1</ns1:returnQuantity> </ns1:returnItem> <ns1:returnReason> <ns1:code>2</ns1:code> <ns1:description>ORDERED_ACCIDENTALLY</ns1:description> </ns1:returnReason> <ns1:comments>test</ns1:comments> </ns1:returnRequest> <ns1:status>READY_FOR_SHIPPING</ns1:status> <ns1:responseDue> <ns1:party> <ns1:userId>e********1</ns1:userId> <ns1:role>BUYER</ns1:role> </ns1:party> <ns1:respondByDate>2012年01月12日T23:59:49.000Z</ns1:respondByDate> </ns1:responseDue> <ns1:creationDate>2012年01月06日T03:04:56.000Z</ns1:creationDate> </ns1:returns> <ns1:returns> <ns1:ReturnId> <ns1:id>5********4</ns1:id> </ns1:ReturnId> <ns1:otherParty> <ns1:userId>e********3</ns1:userId> <ns1:role>BUYER</ns1:role> </ns1:otherParty> <ns1:returnRequest> <returnItem> <itemId>1**********6</itemId> <transactionId>2*********1</transactionId> <returnQuantity>1</returnQuantity> </returnItem> <returnReason> <code>9</code> <description>DEFECTIVE_ITEM</description> </returnReason> <comments>test</comments> </ns1:returnRequest> <ns1:status>READY_FOR_SHIPPING</ns1:status> <ns1:responseDue> <ns1:party> <ns1:userId>e********3</ns1:userId> <ns1:role>BUYER</ns1:role> </ns1:party> <ns1:respondByDate>2012年01月12日T23:59:05.000Z</ns1:respondByDate> </ns1:responseDue> <ns1:creationDate>2012年01月06日T03:12:05.000Z</ns1:creationDate> </ns1:returns> <ns1:paginationOutput> <ns1:pageNumber>1</ns1:pageNumber> <ns1:entriesPerPage>3</ns1:entriesPerPage> <ns1:totalPages>1</ns1:totalPages> <ns1:totalEntries>3</ns1:totalEntries> </ns1:paginationOutput> </ns1:getUserReturnsResponse> </soapenv:Body> </soapenv:Envelope>
Here is the same output in XML format. Note that this does not include standard values.
XML format. Also available is the SOAP equivalent. <?xml version="1.0" encoding="utf-8"?> <getUserReturnsResponse xmlns:ns1="http://www.ebay.com/marketplace/returns/v1/services"> <ack>Success</ack> <version>1.0.0</version> <timestamp>2012年01月13日T15:29:30.596Z</timestamp> <returns> <ReturnId> <id>5********9</id> </ReturnId> <otherParty> <userId>e********0</userId> <role>BUYER</role> </otherParty> <returnRequest> <returnItem> <itemId>1**********7</itemId> <transactionId>2*********1</transactionId> <returnQuantity>1</returnQuantity> </returnItem> <returnReason> <code>9</code> <description>DEFECTIVE_ITEM</description> </returnReason> <comments>test</comments> </returnRequest> <status>ITEM_DELIVERED</status> <responseDue> <party> <userId>e********0</userId> <role>BUYER</role> </party> <respondByDate>2012年01月12日T23:59:31.000Z</respondByDate> </responseDue> <creationDate>2012年01月06日T02:38:33.000Z</creationDate> </returns> <returns> <ReturnId> <id>5********1</id> </ReturnId> <otherParty> <userId>e********1</userId> <role>BUYER</role> </otherParty> <returnRequest> <returnItem> <itemId>1**********8</itemId> <transactionId>2*********1</transactionId> <returnQuantity>1</returnQuantity> </returnItem> <returnReason> <code>2</code> <description>ORDERED_ACCIDENTALLY</description> </returnReason> <comments>test</comments> </returnRequest> <status>READY_FOR_SHIPPING</status> <responseDue> <party> <userId>e********1</userId> <role>BUYER</role> </party> <respondByDate>2012年01月12日T23:59:49.000Z</respondByDate> </responseDue> <creationDate>2012年01月06日T03:04:56.000Z</creationDate> </returns> <returns> <ReturnId> <id>5000000734</id> </ReturnId> <otherParty> <userId>e********3</userId> <role>BUYER</role> </otherParty> <returnRequest> <returnItem> <itemId>1**********6</itemId> <transactionId>2*********1</transactionId> <returnQuantity>1</returnQuantity> </returnItem> <returnReason> <code>9</code> <description>DEFECTIVE_ITEM</description> </returnReason> <comments>test</comments> </returnRequest> <status>READY_FOR_SHIPPING</status> <responseDue> <party> <userId>e********3</userId> <role>BUYER</role> </party> <respondByDate>2012年01月12日T23:59:05.000Z</respondByDate> </responseDue> <creationDate>2012年01月06日T03:12:05.000Z</creationDate> </returns> <paginationOutput> <pageNumber>1</pageNumber> <entriesPerPage>3</entriesPerPage> <totalPages>1</totalPages> <totalEntries>3</totalEntries> </paginationOutput> </getUserReturnsResponse>
Change History
| Change Date | Description |
|---|---|
| 1.1.0 2014年01月14日 |
|
| 1.0.0 2012年04月23日 |
|