{
  "openapi": "3.1.0",
  "info": {
    "title": "Feedback API",
    "description": "The <strong>Feedback API</strong> includes resources for retrieving items awaiting feedback, retrieving and submitting feedback entries, providing feedback rating summaries, and responding to feedback. These methods allow users to manage feedback across buying and selling activities. <p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>Feedback is tracked at the line item level within an order, not for the whole order. Each line item can have its own feedback record.</span></p>",
    "contact": {
      "name": "eBay Inc,"
    },
    "license": {
      "name": "eBay API License Agreement",
      "url": "https://developer.ebay.com/join/api-license-agreement"
    },
    "version": "v1.0.0"
  },
  "servers": [
    {
      "url": "https://api.ebay.com{basePath}",
      "description": "Production",
      "variables": {
        "basePath": {
          "default": "/commerce/feedback/v1"
        }
      }
    }
  ],
  "security": [
    {}
  ],
  "paths": {
    "/awaiting_feedback": {
      "get": {
        "tags": [
          "awaiting_feedback"
        ],
        "description": "This method retrieves line items awaiting feedback from the user's order partner. You can refine the results using optional filter query parameters, such as item ID, username, or user role in the transaction. Sorting and pagination features help organize and navigate returned items efficiently.<p>For sellers, only sold items that have not yet received feedback are included. For buyers, only purchased items for which feedback is still pending are included. If the user is both a buyer and a seller, this API returns items awaiting feedback for transactions where the user acted as either. Applying filters can limit results to either buyer-only or seller-only transactions. </p><p>The response provides an overview of feedback yet to be left for completed transactions (as filtered) with counts for both the buyer and seller roles. It includes an array of line items, each containing the listing ID, title, and price (with currency and value). For each line item, the response offers feedback templates specifying which ratings are available.</p><p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>Detailed seller ratings are for sellers only and are created from buyer feedback.</span></p>",
        "operationId": "getItemsAwaitingFeedback",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to limit the response based on the specified filter parameters. Supported filter parameters include the following:<br><p><ul><li><strong>listingId</strong>: Filter results by the specific listing ID</li><li><strong>receiverName</strong>: Filter results by the user's order partner name involved in the transaction</li><li><strong>userRole</strong>: Use this filter to only retrieve feedback due from the user in role as a seller or a buyer. If this filter is not used, all feedback due in both user roles is retrieved (<code>BUYER</code> or <code>SELLER</code>)</li></ul></p><p>Send the filter as a query parameter in a comma-separated <em>name</em>:<em>value</em> list. For example: <br><code>filter=listingId:123,receiverName:user,userRole:BUYER</code><p>",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "This parameter sets the maximum number of line items to return per page of data.<br><p>Use this parameter in conjunction with the <strong>offset</strong> parameter to control the pagination of the output. For example, with offset set to <code>20</code> and limit set to <code>10</code>, the call retrieves entries 21 through 30 from the result set.</p><p>Although this field is optional, if omitted, the default value of <code>10</code> is used.</p><p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>The <strong>limit</strong> value is subject to the following rules:<ul><li>If a value greater than <code>25</code> is submitted, the system automatically defaults to a <strong>limit</strong> of <code>25</code>.</li><li>If a value of <code>0</code> or a negative number is submitted, the system automatically defaults to a <strong>limit</strong> of <code>10</code>.</li><li>If this parameter is omitted, the system defaults to a <strong>limit</strong> of <code>10</code>.</li></ul></span></span></p><p><strong>Default: </strong>10</p><p><strong>Maximum: </strong>25</p>",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Use this parameter to specify the number of items to skip in the result set. This is used with the <code>limit</code> field to control the pagination of the output. For example:<br><ul><li>If <strong>offset</strong> is <code>0</code> and <strong>limit</strong> is <code>10</code>, the method will retrieve items 1-10 from the list of line items returned.</li><li>If <strong>offset</strong> is <code>10</code> and <strong>limit</strong> is <code>10</code>, the method will retrieve items 11-20 from the list of line items returned.</li></ul><p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>This feature employs a zero-based list, where the first line item in the list has an offset of 0.</span></p><p>If this parameter is not set, its value defaults to <code>0</code>, which returns the first page of records.</p><p><strong>Default:</strong> 0</p>",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Use this parameter to configure the order of the returned listings. The time is based on when the buyer paid for the line item. Acceptable values:<br><ul><li><strong>END_TIME_ASC:</strong> Sorts listings by end time from oldest to newest</li><li><strong>END_TIME_DESC:</strong> Sorts listings by end time from newest to oldest (default)</li></ul><p>If this parameter is omitted, its value defaults to <strong>END_TIME_DESC</strong>.</p><p><strong>Default: </strong><code>END_TIME_DESC</code></p>",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AwaitingFeedbackResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "x-response-codes": {
              "errors": {
                "501024": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Input sort value is invalid."
                },
                "501025": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Input user role value is invalid."
                }
              }
            }
          },
          "401": {
            "description": "Not Authorized",
            "x-response-codes": {
              "errors": {
                "1001": {
                  "domain": "API_FEEDBACK",
                  "category": "APPLICATION",
                  "description": "Invalid access token. Check the value of the Authorization HTTP request header."
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "x-response-codes": {
              "errors": {
                "2003": {
                  "domain": "API_FEEDBACK",
                  "category": "APPLICATION",
                  "description": "There was a problem with an eBay internal system or process. Contact eBay developer support for assistance."
                }
              }
            }
          }
        },
        "security": [
          {
            "api_auth": [
              "https://api.ebay.com/oauth/api_scope/commerce.feedback"
            ]
          }
        ]
      }
    },
    "/feedback": {
      "get": {
        "tags": [
          "feedback"
        ],
        "description": "This method enables users to retrieve feedback for any specified user ID and feedback type (sent or received). You can refine the results using optional query parameters such as its feedback ID, listing ID, or order line item ID or by applying one or more filters.<p>Applying filters can narrow results using criteria such as comment type, photos, or topics identified through AI-based analysis. When filtering for feedback with photos (<code>filterImage:true</code>), only entries with images (entries that include image URLs) are returned. Additionally, feedback can be refined for the number of days to look back, the role of the user providing the feedback, and whether to include automated feedback entries left by eBay.</p><p>Sorting and pagination features help organize and navigate returned items efficiently.</p><p>Returned data includes feedback details (such as comment text and type), feedback ratings (covering criteria like overall experience and, for sellers, item description, shipping time, and communication), role and attributes of the feedback giver, line item and transaction summaries, images, and any available topics. See the <strong>filter</strong> query parameter for additional information. Privacy is safeguarded by restricting the amount of detail visible to users, depending on their context. When accessing another user's feedback without logging in, buyer names are masked and seller names are shown. Logged-in users viewing their own feedback see all names, while those viewing other users' feedback will encounter some masking.</p>",
        "operationId": "getFeedback",
        "parameters": [
          {
            "name": "feedback_id",
            "in": "query",
            "description": "Use this field to only return a specific feedback record by its feedback ID. <br><p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>If this query parameter is used, no other filters will be applicable.</span></p>",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "feedback_type",
            "in": "query",
            "description": "Use this field to specify the type of feedback records to return. Acceptable values include the following: <br><ul><li><strong>FEEDBACK_RECEIVED</strong>: Retrieve feedback received by the specified user.</li><li><strong>FEEDBACK_SENT</strong>: Retrieve feedback sent by the specified user.</li></ul><p>If not specified, both feedback received and feedback left for the user shall be retrieved.</p><p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>When using <strong>FEEDBACK_SENT</strong>, it is recommended to also filter <strong>feedback_id</strong> to target results accurately.</span></p>",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to limit the response based on the specified filter parameters as follows: <br><ul><li><strong>commentType</strong>: Return only feedback with the set type of comments. Comment types available are <code>POSITIVE</code>, <code>NEUTRAL</code>, or <code>NEGATIVE</code>. <p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>Sellers can only provide positive feedback.</span></p> </li><li><strong>filterImage</strong>: Return feedback dependent on if images are included. Filter values available:<ul><li><code>true</code>: Return only feedback with images</li><li><code>false</code>: Return feedback with or without images</li></ul></li><li><strong>topics</strong>: Uses AI to generate items returned that are associated with the set topic. For example, if you set <code>topics:shipping</code>, only feedback comments about shipping are returned. Topics available are <code>shipping</code>, <code>service</code>, <code>packaging</code>, <code>description</code>, <code>seller-satisfaction</code>, <code>overall-satisfaction</code>, <code>refund</code>, <code>inventory</code>, <code>customer loyalty</code>, <code>seller-other</code>, <code>quality</code>, <code>price</code>, <code>condition</code>, <code>fit</code>, <code>appearance</code>, <code>dimensions</code>, <code>usage</code>, <code>product-satisfaction</code>, <code>product-other</code>, and <code>extras</code>.<br><br>See <a href=\"/develop/guides-v2/communications/sell-communications-guide#retrieve-ai-filtered-items\" target=\"_blank\">Retrieve AI-filtered feedback</a> for an example.</li><li><strong>period</strong>: Filter results by the number of days to look back for feedback. If not set, lifetime results are returned. Supported values available are <code>7</code>, <code>30</code>, <code>90</code>, <code>180</code>, or <code>365</code>.</li><li><strong>role</strong>: Filter results by the role of the user providing feedback. Roles available are <code>BUYER</code> or <code>SELLER</code>.</li><li><strong>showAutomatedFeedback</strong>: Filter results to include automated feedback left by eBay  entries. For sellers with less than a 10 feedback score, an automated feedback message on behalf of eBay is returned.<ul><li><code>true</code>: Return automated feedback including both user and eBay generated feedback</li><li><code>false</code>: Do not return eBay's automatic feedback for seller in response (default)</li></ul></li></ul>Send the filter as a query parameter in a comma-separated <em>name</em>:<em>value</em> list. For example:  <br><br><code>filter=commentType:POSITIVE,filterImage:true,topics:fit,period:30,role:SELLER,showAutomatedFeedback:true</code></p>",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Use this parameter to set the maximum number of items to return per page of data.<br><p>Use this parameter in conjunction with the <strong>offset</strong> parameter to control the pagination of the output. For example, with offset set to <code>20</code> and limit set to <code>10</code>, the call retrieves entries 21 through 30 from the result set.</p><p> Although this field is optional, if omitted the default value of <code>25</code> is used.</p><p><strong>Default: </strong>25</p><p><strong>Minimum: </strong>1</p><p><strong>Maximum: </strong>200</p>",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "listing_id",
            "in": "query",
            "description": "Use this field to limit feedback entries to those associated with a specified listing.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Use this field to specify the number of line items to skip in the result set. This is used with the <code>limit</code> field to control the pagination of the output. For example:<br><ul><li>If <strong>offset</strong> is <code>0</code> and <strong>limit</strong> is <code>10</code>, the method will retrieve items 1-10 from the list of line items returned.</li><li>If <strong>offset</strong> is <code>10</code> and <strong>limit</strong> is <code>10</code>, the method will retrieve items 11-20 from the list of line items returned.</li></ul><p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>This feature employs a zero-based list, where the first line item in the list has an offset of 0.</span></p><p>If this parameter is not set, its value defaults to <code>0</code> which returns the first page of records.</p><p><strong>Default:</strong> 0</p>",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order_line_item_id",
            "in": "query",
            "description": "Use this field to retrieve specific feedback entries related to an order line item ID. A maximum of two entries may be retrieved: feedback left by the buyer and feedback left by the seller. <br><p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>If this query parameter is set, no other filters will be applicable.</span></p>",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Use this parameter to configure the order of the returned items. The time is based on when the buyer paid for the line item. Acceptable values include the following:<br><ul><li><strong>RELEVANCE</strong>: Sorts items by relevance (default). This sort takes into account any available factors such as a comment score, comment type (positive, negative, neutral), how long ago the comment was left, or the length of the comment.</li><li><strong>TIME</strong>: Sorts items by end time from newest to oldest.</li></ul><p>If this parameter is omitted, its value defaults to <strong>RELEVANCE</strong>.</p><p><strong>Default: </strong><code>RELEVANCE</code></p>",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transaction_id",
            "in": "query",
            "description": "Use this field to limit feedback entries to those associated with the specified transaction ID.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_id",
            "in": "query",
            "description": "Use this field to specify the unique identifier user ID (eBay username of the user) of the account for which feedback is being retrieved.<br><br><span class=\"tablenote\"><strong>Note:</strong> Both usernames and public user IDs will be accepted in this field. For more information, please refer to <a href=\"/api-docs/static/data-handling-update.html\" target=\"_blank\">Data Handling Compliance</a>.</span>",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetFeedbackResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "x-response-codes": {
              "errors": {
                "501000": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Username request parameter is required or is invalid."
                },
                "501001": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Feedback type request parameter is required or invalid. Must be FEEDBACK_RECEIVED or FEEDBACK_SENT."
                },
                "501002": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Unsupported request parameter combination."
                },
                "501003": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Listing id request parameter is invalid."
                },
                "501025": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Input user role value is invalid."
                },
                "501035": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Invalid sort type value. Must be RELEVANCE or TIME."
                },
                "501036": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Invalid overall rating value. Must be POSITIVE, NEUTRAL, or NEGATIVE."
                },
                "501037": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Invalid period value. Must be 30, 60, or 365."
                },
                "501038": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Invalid topics value. Must be from the allowed topics list."
                },
                "501039": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Feedback not found for the given request parameters."
                }
              }
            }
          },
          "401": {
            "description": "Not Authorized",
            "x-response-codes": {
              "errors": {
                "1001": {
                  "domain": "API_FEEDBACK",
                  "category": "APPLICATION",
                  "description": "Invalid access token. Check the value of the Authorization HTTP request header."
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "x-response-codes": {
              "errors": {
                "2003": {
                  "domain": "API_FEEDBACK",
                  "category": "APPLICATION",
                  "description": "There was a problem with an eBay internal system or process. Contact eBay developer support for assistance."
                }
              }
            }
          }
        },
        "security": [
          {
            "api_auth": [
              "https://api.ebay.com/oauth/api_scope/commerce.feedback",
              "https://api.ebay.com/oauth/api_scope/commerce.feedback.readonly"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "feedback"
        ],
        "description": "This method creates and submits feedback to the user's order partner for a line item in the order. For each order, the order partner is the other participant in the transaction, either the buyer or seller, depending on the eBay user associated with the user token. This method allows users to provide detailed information about the transaction, including the feedback rating, comments, and seller delivery. You can also add images to your feedback.<p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>A seller can only provide a comment for a buyer, but a buyer can provide a comment plus provide ratings on a number of metrics for a seller.</span></p> <p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>The feedback must adhere to community guidelines and be relevant to the transaction.</span></p> <p>When leaving feedback, keep the following in mind:<ul><li>Your feedback score is not affected when you leave feedback</li><li>Feedback can only be revised once after it is submitted</li></ul></p><p>For additional information on leaving feedback, see the following:<ul><li><a href=\"https://www.ebay.com/help/buying/leaving-feedback-sellers/leaving-feedback-sellers?id=4007\"  target=\"_blank\">Leaving feedback for sellers</a></li><li><a href=\"https://www.ebay.com/help/selling/leaving-feedback-buyers/leaving-feedback-buyers?id=4078\"  target=\"_blank\">Leaving feedback for buyers</a></li></ul></p><p>A successful call to this method returns a feedback ID, which is a unique identifier for the newly created feedback and allows for reference and tracking. </p>",
        "operationId": "leaveFeedback",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "description": "This header indicates the format of the request body provided by the client. Its value should be set to <strong>application/json</strong>.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Request body for leaving feedback. Required fields: commentText (the text of the feedback comment), commentType (acceptable values - [POSITIVE, NEUTRAL, NEGATIVE]), listingId (the listingId of the item the feedback is being left for), transactionId (the transactionId for the order), orderLineItemId (Search by order line item ID. order line item id is a concatenation of listing ID and transaction ID, joined by `-`. Ex `listing_id-transaction_id`), sellerRatings (array of ratings with keys - [ON_TIME_DELIVERY, ITEM_AS_DESCRIBED, COMMUNICATION, SHIPPING_CHARGES, SHIPPING_TIME]), images (array of images with url field, can add upto 5 images)",
          "content": {
            "application/json": {
              "schema": {
                "description": "Request body for leaving feedback. Required fields: commentText (the text of the feedback comment), commentType (acceptable values - [POSITIVE, NEUTRAL, NEGATIVE]), listingId (the listingId of the item the feedback is being left for), transactionId (the transactionId for the order), orderLineItemId (Search by order line item ID. order line item id is a concatenation of listing ID and transaction ID, joined by `-`. Ex `listing_id-transaction_id`), sellerRatings (array of ratings with keys - [ON_TIME_DELIVERY, ITEM_AS_DESCRIBED, COMMUNICATION, SHIPPING_CHARGES, SHIPPING_TIME]), images (array of images with url field, can add upto 5 images)",
                "$ref": "#/components/schemas/LeaveFeedbackRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LeaveFeedbackResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "x-response-codes": {
              "errors": {
                "501003": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Listing id request parameter is invalid."
                },
                "501004": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Transaction id request parameter is invalid."
                },
                "501005": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Comment text request parameter is invalid."
                },
                "501006": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Comment type request parameter is invalid."
                },
                "501007": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Seller ratings are not valid type."
                },
                "501013": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Comment text is too long. Maximum length is 500 characters."
                },
                "501014": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Comment text value is invalid."
                },
                "501015": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Comment text contains profanity."
                },
                "501016": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Seller ratings value is invalid."
                },
                "501017": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Seller ratings type is not supported for this provider role."
                },
                "501018": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Item rating type is invalid."
                },
                "501019": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "On-time delivery rating value is invalid."
                },
                "501034": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Only 5 images can be attached to a feedback."
                }
              }
            }
          },
          "401": {
            "description": "Not Authorized",
            "x-response-codes": {
              "errors": {
                "1001": {
                  "domain": "API_FEEDBACK",
                  "category": "APPLICATION",
                  "description": "Invalid access token. Check the value of the Authorization HTTP request header."
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "x-response-codes": {
              "errors": {
                "501008": {
                  "domain": "API_FEEDBACK",
                  "category": "BUSINESS",
                  "description": "Feedback already left for this listing."
                },
                "501009": {
                  "domain": "API_FEEDBACK",
                  "category": "BUSINESS",
                  "description": "Leaving feedback for this listing is blocked due to policy. Please contact eBay support."
                },
                "501010": {
                  "domain": "API_FEEDBACK",
                  "category": "BUSINESS",
                  "description": "Feedback receiver is not eligible to receive feedback."
                },
                "501011": {
                  "domain": "API_FEEDBACK",
                  "category": "BUSINESS",
                  "description": "Feedback provider is not eligible to leave feedback."
                },
                "501012": {
                  "domain": "API_FEEDBACK",
                  "category": "BUSINESS",
                  "description": "Feedback provider is relatively new to eBay. Provider should be at least 5 days on eBay."
                },
                "501020": {
                  "domain": "API_FEEDBACK",
                  "category": "BUSINESS",
                  "description": "Seller cannot leave negative or neutral feedback."
                },
                "501021": {
                  "domain": "API_FEEDBACK",
                  "category": "BUSINESS",
                  "description": "Seller cannot receive negative or neutral feedback."
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "x-response-codes": {
              "errors": {
                "2003": {
                  "domain": "API_FEEDBACK",
                  "category": "APPLICATION",
                  "description": "There was a problem with an eBay internal system or process. Contact eBay developer support for assistance."
                }
              }
            }
          }
        },
        "security": [
          {
            "api_auth": [
              "https://api.ebay.com/oauth/api_scope/commerce.feedback"
            ]
          }
        ]
      }
    },
    "/feedback_rating_summary": {
      "get": {
        "tags": [
          "feedback_rating_summary"
        ],
        "description": "This method provides a detailed overview of feedback ratings associated with a user in the eBay marketplace. Specify a user ID and apply filters to retrieve summarized feedback data categorized by rating types and user roles. These returned metrics are aggregated, which offers insight into user experiences and performance. <p class=\"msgbox_tipInDiv\" ><div class=\"msgbox_tip\"><span><strong><span style=\"color: #478415;\">Tip:</span></strong></span></span> You can use this method to help sellers and buyers understand their marketplace reputation and identify areas for improvement.</div></p><p>Returned data provides a summary of feedback ratings for a user by rating type (such as overall experience, communication, or delivery timeliness) for both buyer and seller roles. Each type of rating includes aggregated metrics like averages, counts, unique feedback givers, and the percentage of positive ratings (excluding neutrals). The response also details the distribution of specific rating values, their frequency, and time period (with period units like days or months) over which these metrics were calculated.</p>",
        "operationId": "getFeedbackRatingSummary",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to limit the response based on specified filter values:<br><ul><li><strong>ratingType</strong>: Specifies the type of rating being summarized and returned <strong>(Required)</strong>. Available values include <code>OVERALL_EXPERIENCE</code>, <code>OVERALL_EXPERIENCE_COMMENT</code>, <code>ON_TIME_DELIVERY</code>, <code>DSR_ITEM_AS_DESCRIBED</code>, <code>DSR_COMMUNICATION</code>, <code>DSR_SHIPPING_CHARGES</code>, <code>DSR_SHIPPING_TIME</code>, and <code>ITEM_RATING</code>.<br>See <strong>FeedbackRatingTypeEnum</strong> for descriptions of values. </li><li><strong>excludeRepeatFeedback</strong>: Set to <code>true</code> to exclude repeat feedback.</li><li><strong>lookbackPeriodInDays</strong>: Limit the response to a previous period of days. Available values include <code>7</code>, <code>30</code>, <code>90</code>, <code>180</code>, or <code>365</code></li></ul><p>You can send the filter as a query parameter, either with the required <strong>ratingType</strong> only, or combining the filter values with a comma-separated <em>name</em><strong>:</strong><em>value</em> list. For example:</p><p><code>filter=ratingType:OVERALL_EXPERIENCE,excludeRepeatFeedback:true,period:365</code></p>",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_id",
            "in": "query",
            "description": "Use this parameter to specify the unique identifier (the eBay username associated with the account) for the eBay user whose feedback summary is being retrieved.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetFeedbackRatingSummaryResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "x-response-codes": {
              "errors": {
                "501002": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Unsupported request parameter combination."
                },
                "501007": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Seller ratings are not valid type."
                },
                "501022": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Rating type request parameter is invalid."
                },
                "501037": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Invalid period value. Must be 30, 60, or 365."
                }
              }
            }
          },
          "401": {
            "description": "Not Authorized",
            "x-response-codes": {
              "errors": {
                "1001": {
                  "domain": "API_FEEDBACK",
                  "category": "APPLICATION",
                  "description": "Invalid access token. Check the value of the Authorization HTTP request header."
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "x-response-codes": {
              "errors": {
                "501023": {
                  "domain": "API_FEEDBACK",
                  "category": "APPLICATION",
                  "description": "Feedback rating summary user not found."
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "x-response-codes": {
              "errors": {
                "2003": {
                  "domain": "API_FEEDBACK",
                  "category": "APPLICATION",
                  "description": "There was a problem with an eBay internal system or process. Contact eBay developer support for assistance."
                }
              }
            }
          }
        },
        "security": [
          {
            "api_auth": [
              "https://api.ebay.com/oauth/api_scope/commerce.feedback",
              "https://api.ebay.com/oauth/api_scope/commerce.feedback.readonly"
            ]
          }
        ]
      }
    },
    "/respond_to_feedback": {
      "post": {
        "tags": [
          "respond_to_feedback"
        ],
        "description": "This method allows users to respond to feedback provided by the order partner for a specific line item in an order. For each order, the order partner is the other participant in the transaction, either the buyer or seller, depending on the eBay user associated with the user token. This method allows the user to provide additional context or address the order partner's feedback.<p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>The feedback response must adhere to community guidelines and be relevant to the transaction.</span></p><p>You can only use this method if feedback has been provided by the order partner and you have not yet responded to it. </p> <p>When responding to feedback, your feedback score is not affected when you respond.</p><p>For additional information on leaving feedback, see the following:<ul><li><a href=\"https://www.ebay.com/help/buying/leaving-feedback-sellers/leaving-feedback-sellers?id=4007\"  target=\"_blank\">Leaving feedback for sellers</a></li><li><a href=\"https://www.ebay.com/help/selling/leaving-feedback-buyers/leaving-feedback-buyers?id=4078\"  target=\"_blank\">Leaving feedback for buyers</a></li></ul></p><p>A successful call returns an HTTP status of <strong>200 Success</strong>.</p>",
        "operationId": "respondToFeedback",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "description": "This header indicates the format of the request body provided by the client. Its value should be set to <strong>application/json</strong>.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "This provides the request body for responding to feedback.",
          "content": {
            "application/json": {
              "schema": {
                "description": "This provides the request body for responding to feedback.",
                "$ref": "#/components/schemas/RespondToFeedbackRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "x-response-codes": {
              "errors": {
                "501013": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Comment text is too long. Maximum length is 500 characters."
                },
                "501014": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Comment text value is invalid."
                },
                "501015": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Comment text contains profanity."
                },
                "501026": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Feedback ID request parameter is required or is invalid."
                },
                "501027": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Response type request parameter is required or is invalid. Must be REPLY or FOLLOW_UP."
                },
                "501028": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Response text request parameter is required."
                },
                "501029": {
                  "domain": "API_FEEDBACK",
                  "category": "REQUEST",
                  "description": "Recipient user ID request parameter is required."
                }
              }
            }
          },
          "401": {
            "description": "Not Authorized",
            "x-response-codes": {
              "errors": {
                "1001": {
                  "domain": "API_FEEDBACK",
                  "category": "APPLICATION",
                  "description": "Invalid access token. Check the value of the Authorization HTTP request header."
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "x-response-codes": {
              "errors": {
                "501031": {
                  "domain": "API_FEEDBACK",
                  "category": "BUSINESS",
                  "description": "Reply not allowed for automated feedback."
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "x-response-codes": {
              "errors": {
                "501011": {
                  "domain": "API_FEEDBACK",
                  "category": "BUSINESS",
                  "description": "Feedback provider is not eligible to leave feedback."
                },
                "501032": {
                  "domain": "API_FEEDBACK",
                  "category": "BUSINESS",
                  "description": "Reply already left for feedback."
                },
                "501033": {
                  "domain": "API_FEEDBACK",
                  "category": "BUSINESS",
                  "description": "Follow up comment already left for feedback."
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "x-response-codes": {
              "errors": {
                "2003": {
                  "domain": "API_FEEDBACK",
                  "category": "APPLICATION",
                  "description": "There was a problem with an eBay internal system or process. Contact eBay developer support for assistance."
                }
              }
            }
          }
        },
        "security": [
          {
            "api_auth": [
              "https://api.ebay.com/oauth/api_scope/commerce.feedback"
            ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AwaitingFeedback": {
        "type": "object",
        "required": [
          "listingId",
          "listingPrice",
          "listingTitle",
          "orderLineItemId",
          "ratingTemplates",
          "transactionId"
        ],
        "properties": {
          "listingId": {
            "type": "string",
            "description": "This is the unique identifier for the listing associated with the line item. It is used to reference the specific listing that is awaiting feedback."
          },
          "listingPrice": {
            "description": "This container shows the sale price of the listing.",
            "$ref": "#/components/schemas/ListingPrice"
          },
          "listingTitle": {
            "type": "string",
            "description": "The title of the listing."
          },
          "orderLineItemId": {
            "type": "string",
            "description": "The unique identifier for the eBay order line item associated with the listing. It is used to pinpoint the exact line item awaiting feedback."
          },
          "ratingTemplates": {
            "type": "array",
            "description": "This array contains a list of available values for use in a particular rating as well as whether the value is enabled. This is dependent on what seller ratings the buyer's order partner qualifies.<br><p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>Rating templates should only be returned to the user in their role as a buyer; only sellers have Detailed Seller Ratings (DSRs). </span></p><p>Use the metadata returned here when leaving DSR ratings through the <strong>leaveFeedback</strong> method. The key field in this container is the <strong>ratingKey</strong> field. See <strong>FeedbackRatingTypeEnum</strong> for its values. The other metadata returned in this container apply to each <strong>ratingKey</strong> value that is returned.</p>",
            "items": {
              "$ref": "#/components/schemas/FeedbackRatingTemplateType"
            }
          },
          "transactionId": {
            "type": "string",
            "description": "The unique identifier of the sales transaction."
          }
        },
        "description": "This type contains the details for each line item awaiting feedback."
      },
      "AwaitingFeedbackResponse": {
        "type": "object",
        "required": [
          "itemsAwaitingFeedbackCount",
          "lineItems",
          "pagination"
        ],
        "properties": {
          "itemsAwaitingFeedbackCount": {
            "description": "This container returns the number of line items awaiting feedback. The <strong>asSeller</strong> and <strong>asBuyer</strong> fields return the total count of items awaiting feedback as seller and buyer and are not affected by the <strong>userRole</strong> filter.",
            "$ref": "#/components/schemas/ItemsAwaitingFeedbackCount"
          },
          "lineItems": {
            "type": "array",
            "description": "This array contains the details for each line item awaiting feedback. An empty array is returned if no line items are awaiting feedback or that match the filter criteria.",
            "items": {
              "$ref": "#/components/schemas/AwaitingFeedback"
            }
          },
          "pagination": {
            "description": "This container provides pagination information for the returned line items awaiting feedback (as filtered).",
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "description": "This type defines the fields for the <strong>getItemsAwaitingFeedback</strong> response."
      },
      "Comment": {
        "type": "object",
        "required": [
          "commentPeriod",
          "commentText",
          "commentTextRemovedPerPolicy",
          "state"
        ],
        "properties": {
          "commentPeriod": {
            "description": "This container indicates the timing of a feedback comment based on when it was left. It is only returned if a comment was provided. Possible values are 30 days, 90 days, 180 days, 365 days, or 5 years: <br><ul><li>Less than 30 days: 30 DAY</li> <li>Over 30 but less than 90 days: 90 DAY</li> <li>Over 90 but less than 180 days: 180 DAY</li> <li>Over 180 but less than 365 days: 365 DAY</li> <li>More than 365 days: 5 YEAR</li></ul>",
            "$ref": "#/components/schemas/CommentCommentPeriod"
          },
          "commentText": {
            "type": "string",
            "description": "The text of the feedback comment, follow-up, or reply. HTML formatting and personal information (for example, phone numbers) are not allowed. This field is returned if a comment was provided for the feedback entry. If the comment was removed due to eBay policy, this field will contain '<code>--</code>' and the <strong>commentTextRemovedPerPolicy</strong> field will return <code>true</code>."
          },
          "commentTextRemovedPerPolicy": {
            "type": "boolean",
            "description": "If <code>true</code>, this boolean indicates the feedback follow-up or reply comment text was removed per eBay policy.  This field is only returned when a <strong>followupComment</strong> container is returned."
          },
          "state": {
            "description": "This enumerated value indicates the state of the feedback (for example, <code>ENTERED</code>). This can be the state of the feedback comment, the follow-up comment, or the reply comment.",
            "$ref": "#/components/schemas/FeedbackCommentStateEnum"
          }
        },
        "description": "This type provides the details of the feedback comment left by the user."
      },
      "CommentCommentPeriod": {
        "type": "object",
        "required": [
          "unit"
        ],
        "properties": {
          "unit": {
            "type": "string",
            "description": "Unit of time for the <strong>value</strong>. Supported values: <code>DAY</code> or <code>YEAR</code>."
          },
          "value": {
            "type": "integer",
            "description": "Value of the time period expressed in the period contained in the <strong>unit</strong>. Supported values are <code>30</code>, <code>60</code>, or <code>365</code>. <p>See the <strong>commentPeriod</strong> container for more information.</p>",
            "format": "int32"
          }
        },
        "description": "This type provides fields that descrbes timing associated with the comment."
      },
      "Error": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string",
            "description": "Identifies the type of erro."
          },
          "domain": {
            "type": "string",
            "description": "Name for the primary system where the error occurred. This is relevant for application errors."
          },
          "errorId": {
            "type": "integer",
            "description": "A unique number to identify the error.",
            "format": "int32"
          },
          "inputRefIds": {
            "type": "array",
            "description": "An array of request elements most closely associated to the error.",
            "items": {
              "type": "string"
            }
          },
          "longMessage": {
            "type": "string",
            "description": "A more detailed explanation of the error."
          },
          "message": {
            "type": "string",
            "description": "Information on how to correct the problem, in the end user's terms and language where applicable."
          },
          "outputRefIds": {
            "type": "array",
            "description": "An array of request elements most closely associated to the error.",
            "items": {
              "type": "string"
            }
          },
          "parameters": {
            "type": "array",
            "description": "An array of name/value pairs that describe details the error condition. These are useful when multiple errors are returned.",
            "items": {
              "$ref": "#/components/schemas/ErrorParameter"
            }
          },
          "subdomain": {
            "type": "string",
            "description": "Further helps indicate which subsystem the error is coming from. System subcategories include: Initialization, Serialization, Security, Monitoring, Rate Limiting, etc."
          }
        },
        "description": "This type defines the fields that can be returned in an error."
      },
      "ErrorParameter": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The object of the error."
          },
          "value": {
            "type": "string",
            "description": "The value of the object."
          }
        }
      },
      "FeedbackAggregationTypeEnum": {
        "type": "object",
        "description": "This enumerated type provides fields for describing the feedback aggregation. | - **AVG**: This value represents the average value of feedback ratings. The metric associated with this value represents the mean of all feedback scores returned over a specified period, providing a general measure of user satisfaction or performance. - **COUNT**: This value indicates the total number of feedback entries returned. - **UNIQUE_PROVIDER_COUNT**: This value refers to the number of unique users who have provided feedback, which helps to identify how many individual users have contributed feedback. - **POSITIVE_PERCENT_EXCLUDING_NEUTRAL_FEEDBACK**: This value represents the percentage of positive feedback returned, excluding neutral responses. The metric associated with this value focuses on feedback that is explicitly positive (without neutral feedback).",
        "enum": [
          "AVG",
          "COUNT",
          "UNIQUE_PROVIDER_COUNT",
          "POSITIVE_PERCENT_EXCLUDING_NEUTRAL_FEEDBACK"
        ]
      },
      "FeedbackCommentStateEnum": {
        "type": "object",
        "description": "This enumerated type specifies the possible states of a feedback comment. It represents the current visibility of a comment associated with a feedback entry. | - **ENTERED**: This value indicates that the comment has been entered and is currently visible as submitted by the user. - **WITHDRAWN**: This value indicates that the comment has been withdrawn, typically by the user, and is no longer actively displayed. - **HIDDEN**: This value indicates that the comment is concealed from view, usually due to policy reasons or eBay moderation. - **REVISED**: This value indicates that the comment has been updated or modified after its initial entry.",
        "enum": [
          "ENTERED",
          "WITHDRAWN",
          "HIDDEN",
          "REVISED"
        ]
      },
      "FeedbackDetail": {
        "type": "object",
        "required": [
          "automatedFeedback",
          "commentType",
          "eligibleForRevision",
          "feedbackComment",
          "feedbackEnteredDate",
          "feedbackId",
          "feedbackState",
          "hasImages",
          "orderLineItemSummary",
          "providerUserDetail",
          "providerUserDetail"
        ],
        "properties": {
          "automatedFeedback": {
            "type": "boolean",
            "description": "If the returned value is <code>true</code>, feedback was generated and added automatically by eBay. If a seller has a feedback score 10 or less, eBay automatically leaves feedback. The buyer can choose to override the eBay feedback and leave feedback of their own. <br><p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>Detailed Seller Ratings (DSRs) are not provided by eBay, only a predefined comment and a positive rating.</span></p>"
          },
          "commentType": {
            "description": "This enumerated value indicates the type of feedback: <code>POSITIVE</code>, <code>NEUTRAL</code>, <code>NEGATIVE</code>. <br><p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>Sellers can only leave positive feedback for buyers.</span></p>",
            "$ref": "#/components/schemas/FeedbackRatingValuesEnum"
          },
          "eligibleForRevision": {
            "type": "boolean",
            "description": "This boolean indicates whether the feedback is eligible for revision. If returned as <code>true</code>, it means the feedback can be modified. Feedback that is older than 30 days or has already been revised once cannot be erased or further revised."
          },
          "feedbackComment": {
            "description": "This container provides the feedback comment left by a user when submitting feedback for a seller or buyer.",
            "$ref": "#/components/schemas/Comment"
          },
          "feedbackEnteredDate": {
            "type": "string",
            "description": "The timestamp when the feedback was submitted."
          },
          "feedbackEnteredPeriod": {
            "description": "This container represents the duration since feedback was entered, expressed as a numeric value and a unit of time in days.",
            "$ref": "#/components/schemas/FeedbackEnteredPeriod"
          },
          "feedbackId": {
            "type": "string",
            "description": "The unique identifier of the feedback entry."
          },
          "feedbackRatings": {
            "type": "array",
            "description": "This array contains a list of ratings attached to feedback.<br><p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>This array only applies to buyers feedback for sellers (sellers can only give positive feedback to buyers).</span></p>",
            "items": {
              "$ref": "#/components/schemas/FeedbackRating"
            }
          },
          "feedbackScore": {
            "type": "integer",
            "description": "The feedback receiver's feedback score after receiving this specific feedback.",
            "format": "int32"
          },
          "feedbackState": {
            "description": "This enumerated value indicates the current state of the feedback entry (for example, <code>ENTERED</code>).",
            "$ref": "#/components/schemas/FeedbackStateEnum"
          },
          "followupComment": {
            "description": "This container provides the details of any follow-up comment left. <br><p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>A buyer leaves follow-up comments and a seller leaves reply comments.</span></p>",
            "$ref": "#/components/schemas/Comment"
          },
          "hasImages": {
            "type": "boolean",
            "description": "If returned as <code>true</code>, this boolean indicates that the feedback entry has one or more images attached. If <code>false</code>, there are no images attached."
          },
          "images": {
            "type": "array",
            "description": "This array contains the list of attached images.",
            "items": {
              "$ref": "#/components/schemas/Image"
            }
          },
          "orderLineItemSummary": {
            "description": "This container provides a summary of the line item associated with the feedback entry. <p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>Certain fields within this container are returned only when the request uses the <strong>Authorization code grant flow</strong> (user access token) and the <strong>user_id</strong> matches the authenticated user. These fields are not returned when accessing a different <strong>user_id</strong> or when using the <strong>Client credentials grant flow</strong> (application access token). See <a href=\"#h3-oauth-scope\">OAuth scope</a> for details on the flows and required permissions.</span></p>",
            "$ref": "#/components/schemas/OrderLineItemSummary"
          },
          "providerUserDetail": {
            "description": "This container details the attributes of the user who provided the feedback.",
            "$ref": "#/components/schemas/ProviderUserDetail"
          },
          "repliedBeforeFollowup": {
            "type": "boolean",
            "description": "If returned as <code>true</code>, this boolean indicates the feedback reply was given by the seller before the follow-up comment was given by the buyer."
          },
          "replyComment": {
            "description": "This container provides the details of any reply to the feedback.<br><p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>A buyer leaves follow-up comments and a seller leaves reply comments.</span></p>",
            "$ref": "#/components/schemas/Comment"
          },
          "topics": {
            "type": "array",
            "description": "This array provides descriptions of AI-generated insights related to a feedback entry for the specified <strong>filter</strong> topic. The feedback provided is considered relevant to the requested <strong>topic</strong>. For example, when using the request parameter filter of <code>topics:product-satisfaction</code>, the returned array might be: <p><pre>{<br>  \"coarseTopic\" : \"product-satisfaction\",<br>  \"highlightedTexts\" : [<br>    \"This machine is amazing\",<br>    \"Very happy with this purchase\"<br>    ],<br>  \"sentiment\" : \"Positive\"<br>}</pre></p><p>If no topics exist for that feedback, an empty array is returned.</p>",
            "items": {
              "$ref": "#/components/schemas/Topic"
            }
          }
        },
        "description": "This type provides attributes for returned feedback entries."
      },
      "FeedbackEnteredPeriod": {
        "type": "object",
        "properties": {
          "unit": {
            "type": "string",
            "description": "The unit for the feedback entry period's <strong>value</strong>. Supported value: <code>DAY</code>."
          },
          "value": {
            "type": "integer",
            "description": "The value for the feedback entry period, specified in units of <strong>unit</strong>. Supported values are <code>7</code>, <code>30</code>, <code>90</code>, <code>180</code>, or <code>365</code>.",
            "format": "int32"
          }
        },
        "description": "This type specifies the amount of time elapsed associated with a feedback entry."
      },
      "FeedbackMetrics": {
        "type": "object",
        "properties": {
          "metricName": {
            "description": "This enumerated value specifies the type of feedback aggregation. For example, <code>AVG</code> would indicate the feedback returned represents the average value of the feedback. See <strong>metricValue</strong> for the value of the returned feedback.",
            "$ref": "#/components/schemas/FeedbackAggregationTypeEnum"
          },
          "metricValue": {
            "type": "number",
            "description": "The decimal value of the specified metric. For example, 55.8 would represent a value associated with the <strong>metricName</strong> (see <strong>metricName</strong> for interpretation and units)."
          }
        },
        "description": "This type provides fields for the array of metrics associated with feedback aggregation."
      },
      "FeedbackRating": {
        "type": "object",
        "properties": {
          "ratingType": {
            "description": "This enumerated value indicates the type of rating (for example, <code>OVERALL_EXPERIENCE</code>, <code>DSR_ITEM_AS_DESCRIBED</code>).",
            "$ref": "#/components/schemas/FeedbackRatingTypeEnum"
          },
          "value": {
            "type": "string",
            "description": "The value assigned to the rating, specified as a string representing a number from <code>1</code> to <code>5</code>, with <code>1</code> representing the lowest rating and <code>5</code> representing the highest rating."
          }
        },
        "description": "This type provides for fields in ratings attached to feedback."
      },
      "FeedbackRatingAcceptableValue": {
        "type": "object",
        "required": [
          "enabled",
          "value",
          "valueLabel"
        ],
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "If <code>true</code>, this boolean indicates that this value is enabled and selectable."
          },
          "value": {
            "type": "string",
            "description": "The value that can be selected for feedback. For most <strong>ratingType</strong> values, this is <code>1</code> through <code>5</code>, with <code>1</code> representing the lowest rating and <code>5</code> representing the highest rating. For <strong>ratingType</strong> of <code>OVERALL_EXPERIENCE</code>, this can be <code>POSITIVE</code>, <code>NEGATIVE</code>, and <code>NEUTRAL</code>. These are the same values as used with the <strong>leaveFeedback</strong> methods."
          },
          "valueLabel": {
            "type": "string",
            "description": "This field provides information about the corresponding <strong>value</strong>."
          }
        },
        "description": "This type provides fields for available values for use in a particular rating and whether the value is enabled."
      },
      "FeedbackRatingSummary": {
        "type": "object",
        "required": [
          "ratingType"
        ],
        "properties": {
          "ratingSummaryByRatingType": {
            "type": "array",
            "description": "An array that includes metrics and distributions for each rating type.",
            "items": {
              "$ref": "#/components/schemas/RatingSummaryByRatingType"
            }
          },
          "ratingType": {
            "description": "This enumerated value indicates the type of rating being summarized. For example, <code>OVERALL_EXPERIENCE</code> indicates the rating applies to the overall transaction experience.",
            "$ref": "#/components/schemas/FeedbackRatingTypeEnum"
          }
        },
        "description": "This type provides fields for an array containing a summary of feedback ratings. Each element provides detailed metrics and distributions for specific rating types."
      },
      "FeedbackRatingTemplateType": {
        "type": "object",
        "required": [
          "enabled",
          "ratingKey",
          "ratingLabel",
          "ratingValueType",
          "required"
        ],
        "properties": {
          "acceptableValues": {
            "type": "array",
            "description": "This array contains a list of available values for use in a particular rating and whether the value is enabled. This is provided if <strong>ratingValueType</strong> is <code>RANGE</code> or <code>PREDEFINED</code>.<p>The following is an example of a predefined list:<pre>[<br>  {<br>    \"value\": \"POSITIVE\",<br>    \"valueLabel\": \"Positive\",<br>    \"enabled\": true<br>  },<br>  {<br>    \"value\": \"NEUTRAL\",<br>    \"valueLabel\": \"Neutral\",<br>    \"enabled\": true<br>  },<br>  {<br>    \"value\": \"NEGATIVE\",<br>    \"valueLabel\": \"Negative\",<br>    \"enabled\": true<br>  }</br>]</pre>For other examples, see the <a href=\"/develop/guides-v2/communications/sell-communications-guide#using-rating-templates\"  target=\"_blank\">Using rating templates</a>.",
            "items": {
              "$ref": "#/components/schemas/FeedbackRatingAcceptableValue"
            }
          },
          "defaultValue": {
            "type": "string",
            "description": "The default value preselected for the rating, if set."
          },
          "earlyFeedbackMessage": {
            "type": "string",
            "description": "For eligible sellers, a message may be shown requiring a wait period before you can leave neutral or negative feedback."
          },
          "enabled": {
            "type": "boolean",
            "description": "If returned as <code>true</code>, this boolean indicates that the corresponding feedback rating template is enabled for the user to provide feedback for this line item. This value will generally be <code>true</code> when the user role is a buyer, but <code>false</code> when the user role is a seller because buyers do not have Detailed Seller Ratings (DSRs)."
          },
          "maximumCharactersAllowed": {
            "type": "integer",
            "description": "The maximum number of characters allowed to be used for a rating that uses freetext. It is only applicable for a rating whose <strong>ratingValueType</strong> is <code>FREETEXT</code>. <p><strong>Maximum: </strong>500</p>",
            "format": "int32"
          },
          "multiValueRating": {
            "type": "boolean",
            "description": "If returned as <code>true</code>, multiple values can be specified for the rating."
          },
          "ratingKey": {
            "description": "This enumerated value indicates the type of rating that is tracked for the seller. All of the metadata returned under each node for the <strong>ratingTemplates</strong> array will apply to this rating type. For example, the value <code>OVERALL_EXPERIENCE</code> indicates the rating is for the overall transaction experience.",
            "$ref": "#/components/schemas/FeedbackRatingTypeEnum"
          },
          "ratingLabel": {
            "type": "string",
            "description": "This field provides more details about and/or provides guidance on the corresponding rating type. For example, the rating label of <strong>Rate this transaction</strong> describes the feedback for the user to enter for an <code>OVERALL_EXPERIENCE</code> <strong>ratingKey</strong>."
          },
          "ratingValueType": {
            "description": "This enumerated value indicates the type of data used to provide the specific feedback rating.<br><p>If <code>PREDEFINED</code> or <code>RANGE</code> is returned, more information on the supported values will be returned under the <strong>acceptableValues</strong> array. If <code>FREETEXT</code> is returned, the maximum number of characters supported can be seen in the <strong>maximumCharactersAllowed</strong> field.</p>",
            "$ref": "#/components/schemas/FeedbackRatingValueTypeEnum"
          },
          "required": {
            "type": "boolean",
            "description": "If returned as <code>true</code>, this rating type is required when leaving feedback."
          }
        },
        "description": "This type defines fields for user feedback collection, including acceptable values, a default preselection value, and an early feedback message. It also provides fields to enable the template as well as limits and options for freetext characters, multi-value rating, and other similar features."
      },
      "FeedbackRatingTypeEnum": {
        "type": "object",
        "description": "This enumerated type indicates the key for the type of rating. For example, the value <code>OVERALL_EXPERIENCE</code> indicates the rating is for the overall transaction experience. | - **OVERALL_EXPERIENCE**: This value indicates the rating applies to the overall transaction experience. - **OVERALL_EXPERIENCE_COMMENT**: This value indicates the comments are related to the overall experience. - **ON_TIME_DELIVERY**: This value indicates the rating applies to the timeliness of delivery. - **DSR_ITEM_AS_DESCRIBED**: This value indicates the Detailed Seller Rating applies to listing description accuracy. - **DSR_COMMUNICATION**: This value indicates the Detailed Seller Rating applies to communication. - **DSR_SHIPPING_CHARGES**: This value indicates the Detailed Seller Rating applies to shipping charges. - **DSR_SHIPPING_TIME**: This value indicates the Detailed Seller Rating applies to shipping time. - **ITEM_RATING**: This value indicates the rating specifically applies to the item itself.",
        "enum": [
          "OVERALL_EXPERIENCE",
          "OVERALL_EXPERIENCE_COMMENT",
          "ON_TIME_DELIVERY",
          "DSR_ITEM_AS_DESCRIBED",
          "DSR_COMMUNICATION",
          "DSR_SHIPPING_CHARGES",
          "DSR_SHIPPING_TIME",
          "ITEM_RATING"
        ]
      },
      "FeedbackRatingValueDistribution": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "An integer representing the number of occurrences for a specific feedback rating <strong>value</strong>. For example, for the <code>POSITIVE</code> <strong>value</strong>, a <code>3</code> returned as the <strong>count</strong> represents three positive ratings were returned.",
            "format": "int32"
          },
          "value": {
            "type": "string",
            "description": "A string indicating the specific feedback rating value. Supported values include <code>POSITIVE</code>, <code>NEUTRAL</code>, <code>NEGATIVE</code>, <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, and <code>5</code>."
          }
        },
        "description": "This type provides fields for an array listing the distribution values of the feedback ratings."
      },
      "FeedbackRatingValueTypeEnum": {
        "type": "object",
        "description": "This enumerated type indicates the type of feedback values accepted. | - **RANGE**: This value indicates a numerical range and is used for star ratings of 1 through 5. For example, users can rate SHIPPING_TIME as 1 star for poor shipping time or 5 stars for on time shipping. - **FREETEXT**: This value indicates a free text input. - **PREDEFINED**: This value indicates a predefined format.",
        "enum": [
          "RANGE",
          "FREETEXT",
          "PREDEFINED"
        ]
      },
      "FeedbackRatingValuesEnum": {
        "type": "object",
        "description": "This enumerated type defines the possible rating values that can be assigned for specific feedback criteria when leaving feedback. | - **POSITIVE**: This value indicates that the feedback expresses satisfaction with the transaction or experience. This typically reflects a successful and favorable interaction between the buyer and seller. - **NEUTRAL**: This value indicates that the feedback is neither distinctly favorable nor unfavorable. The transaction was completed, but did not fully meet expectations, or was considered average. - **NEGATIVE**:This value indicates dissatisfaction with the transaction or experience. This type of feedback highlights issues or problems that occurred, signaling that the buyer or seller was not satisfied.",
        "enum": [
          "POSITIVE",
          "NEUTRAL",
          "NEGATIVE"
        ]
      },
      "FeedbackStarTypeEnum": {
        "type": "object",
        "description": "This enumerated type provides the available visual star representation of a feedback score. | - **YELLOW_STAR**: A yellow feedback star assigned to users with scores in the designated range. - **BLUE_STAR**: A blue feedback star assigned to users with scores in the designated range. - **TURQUOISE_STAR**: A turquoise feedback star assigned to users with scores in the designated range. - **PURPLE_STAR**: A purple feedback star assigned to users with scores in the designated range. - **RED_STAR**: A red feedback star assigned to users with scores in the designated range. - **GREEN_STAR**: A green feedback star assigned to users with scores in the designated range. - **YELLOW_SHOOTING_STAR**: A yellow shooting feedback star assigned to users with scores in the designated range. - **TURQUOISE_SHOOTING_STAR**: A turquoise shooting feedback star assigned to users with scores in the designated range. - **PURPLE_SHOOTING_STAR**: A purple shooting feedback star assigned to users with scores in the designated range. - **RED_SHOOTING_STAR**: A red shooting feedback star assigned to users with scores in the designated range. - **GREEN_SHOOTING_STAR**: A green shooting feedback star assigned to users with scores in the designated range. - **SILVER_SHOOTING_STAR**: A silver shooting feedback star assigned to users with scores in the designated range.",
        "enum": [
          "YELLOW_STAR",
          "BLUE_STAR",
          "TURQUOISE_STAR",
          "PURPLE_STAR",
          "RED_STAR",
          "GREEN_STAR",
          "YELLOW_SHOOTING_STAR",
          "TURQUOISE_SHOOTING_STAR",
          "PURPLE_SHOOTING_STAR",
          "RED_SHOOTING_STAR",
          "GREEN_SHOOTING_STAR",
          "SILVER_SHOOTING_STAR"
        ]
      },
      "FeedbackStateEnum": {
        "type": "object",
        "description": "This enumerated type defines the possible states of feedback entries returned. | - **ENTERED**: This value indicates that the feedback has been submitted and is currently active. The feedback is visible to applicable parties. - **WITHDRAWN**: This value indicates that the feedback has been officially withdrawn and no longer has an effect on reputation calculations. - **HIDDEN**: This value indicates that the feedback has been hidden due to policy and is not visible to standard views. See <a href=\"https://www.ebay.com/help/policies/feedback-policies/feedback-policy?id=4208\" target=\"_blank\">Feedback policy</a> for more information. - **REVISED**: This value indicates that the feedback was edited after initial submission. The revised version is not active. - **REVISION_OPEN**: This value indicates that a request to revise the feedback is in progress but not yet completed. - **REVISION_DECLINED_OR_EXPIRED**: This value indicates that the feedback revision request was declined or has expired.",
        "enum": [
          "ENTERED",
          "WITHDRAWN",
          "HIDDEN",
          "REVISED",
          "REVISION_OPEN",
          "REVISION_DECLINED_OR_EXPIRED"
        ]
      },
      "GetFeedbackRatingSummaryResponse": {
        "type": "object",
        "properties": {
          "feedbackRatingSummary": {
            "type": "array",
            "description": "An array containing a summary of feedback ratings. Each element provides detailed metrics and distributions for specific rating types.",
            "items": {
              "$ref": "#/components/schemas/FeedbackRatingSummary"
            }
          }
        },
        "description": "This type defines the fields for the <strong>getFeedbackRatingSummary</strong> response."
      },
      "GetFeedbackResponse": {
        "type": "object",
        "required": [
          "feedbackEntries"
        ],
        "properties": {
          "feedbackEntries": {
            "type": "array",
            "description": "This array contains a list of feedback entries that meet the specified criteria.",
            "items": {
              "$ref": "#/components/schemas/FeedbackDetail"
            }
          },
          "pagination": {
            "description": "This container provides pagination information for the returned feedback response (as filtered).",
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "description": "This type defines the fields for the <strong>getFeedback</strong> response."
      },
      "Image": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "description": "This field provides the URL of an attached image and is included in the response whenever an image is attached to the feedback."
          }
        },
        "description": "This type provides a field for image URLs."
      },
      "ItemsAwaitingFeedbackCount": {
        "type": "object",
        "required": [
          "asBuyer",
          "asSeller"
        ],
        "properties": {
          "asBuyer": {
            "type": "integer",
            "description": "The number of line items for which feedback is pending from the user in the buyer role.",
            "format": "int32"
          },
          "asSeller": {
            "type": "integer",
            "description": "The number of line items for which feedback is pending from the user in the seller role.",
            "format": "int32"
          }
        },
        "description": "This type returns the number of line items awaiting feedback."
      },
      "KeyEnum": {
        "type": "object",
        "description": "This enumerated type indicates the key for the type of feedback rating submitted. For example, the value <code>ON_TIME_DELIVERY</code> indicates the rating  provides feedback on if the item was delivered within the timeframe promised by the seller. | - **ON_TIME_DELIVERY**: This value indicates if the item was delivered within the timeframe promised by the seller. - **ITEM_AS_DESCRIBED**: This value reflects how accurately the item matched its description in the listing. - **COMMUNICATION**: This value evaluates the quality, responsiveness, and clarity of communication from the seller. - **SHIPPING_CHARGES**: This value rates the fairness and transparency of the shipping costs charged by the seller. - **SHIPPING_TIME**: This value assesses how quickly the seller shipped the item after payment was received.",
        "enum": [
          "ON_TIME_DELIVERY",
          "ITEM_AS_DESCRIBED",
          "COMMUNICATION",
          "SHIPPING_CHARGES",
          "SHIPPING_TIME"
        ]
      },
      "LeaveFeedbackRequest": {
        "type": "object",
        "required": [
          "commentText",
          "commentType",
          "listingId",
          "sellerRatings",
          "transactionId"
        ],
        "properties": {
          "commentText": {
            "type": "string",
            "description": "Use this field to provide the feedback left by the user, describing their experience with the line item of the transaction. No HTML formatting or personal information (such as phone numbers) is permitted.<br><p><strong>Maximum length:</strong> 500 characters</p>"
          },
          "commentType": {
            "description": "Set this enumerated value to indicate the overall rating of the transaction: <code>POSITIVE</code>, <code>NEUTRAL</code>, or <code>NEGATIVE</code>.<br><p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>Sellers can only provide positive feedback.</span></p>",
            "$ref": "#/components/schemas/FeedbackRatingValuesEnum"
          },
          "images": {
            "type": "array",
            "description": "Use this array to optionally list up to 5 images attached to the feedback.",
            "items": {
              "$ref": "#/components/schemas/Image"
            }
          },
          "listingId": {
            "type": "string",
            "description": "Use this field to provide the listing ID related to the transaction."
          },
          "orderLineItemId": {
            "type": "string",
            "description": "Use this field to provide the unique identifier of the line item for this feedback."
          },
          "sellerRatings": {
            "type": "array",
            "description": "Use this array to list ratings for specific aspects of the seller's performance.",
            "items": {
              "$ref": "#/components/schemas/SellerRating"
            }
          },
          "transactionId": {
            "type": "string",
            "description": "Use this field to provide the unique identifier of the transaction for this feedback."
          }
        },
        "description": "This type provides fields available to leave feedback in the <strong>leaveFeedback</strong> request."
      },
      "LeaveFeedbackResponse": {
        "type": "object",
        "required": [
          "feedbackId"
        ],
        "properties": {
          "feedbackId": {
            "type": "string",
            "description": "The unique ID assigned to the submitted feedback."
          }
        },
        "description": "This type defines the fields for the <strong>leaveFeedback</strong> response for the feedback."
      },
      "ListingPrice": {
        "type": "object",
        "required": [
          "currency",
          "value"
        ],
        "properties": {
          "currency": {
            "type": "string",
            "description": "This field provides the three-letter <a href=\"https://www.iso.org/iso-4217-currency-codes.html\"  target=\"_blank\">ISO 4217</a> code that represents the currency of the amount in the value field. Both the <strong>value</strong> and <strong>currency</strong> fields are always returned when expressing prices."
          },
          "value": {
            "type": "number",
            "description": "This field contains the numerical value of the listing price in the currency specified in the <strong>currency</strong> field. Both the <strong>value</strong> and <strong>currency</strong> fields are always returned when expressing prices."
          }
        },
        "description": "This type provides details about the price of the listing awaiting feedback."
      },
      "OrderLineItemAttribute": {
        "type": "object",
        "properties": {
          "name": {
            "description": "This enumerated value indicates an attribute of the line item. The <strong>value</strong> field indicates if the attribute applies.",
            "$ref": "#/components/schemas/OrderLineItemAttributesEnum"
          },
          "value": {
            "type": "string",
            "description": "If returned as <code>true</code>, the line item attribute <strong>name</strong> applies; if returned as <code>false</code>, the attribute does not apply."
          }
        },
        "description": "This type describes line item attributes."
      },
      "OrderLineItemAttributesEnum": {
        "type": "object",
        "description": "This enumerated type provides fields to indicate special characteristics associated with an item or transaction. | - **PRIVATE_ITEM**: This value indicates the item was listed as private, meaning buyer identities are not publicly disclosed. - **MATURE_CATEGORY**: This value specifies that the item belongs to a mature or adult-only category. - **SOLD_AS_BEST_OFFER**: This value signifies that the item was sold using eBay's Best Offer feature, where the price was negotiated.",
        "enum": [
          "PRIVATE_ITEM",
          "MATURE_CATEGORY",
          "SOLD_AS_BEST_OFFER"
        ]
      },
      "OrderLineItemSummary": {
        "type": "object",
        "required": [
          "transactionPeriod"
        ],
        "properties": {
          "listingId": {
            "type": "string",
            "description": "This field provides the unique identifier for the listing associated with the feedback entry. It is conditionally returned based on the authorization flow and user context. See <strong>orderLineItemSummary</strong> for details on when this field is included."
          },
          "listingPrice": {
            "description": "This container provides the sale price of the listing. It is conditionally returned based on the authorization flow and user context. See <strong>orderLineItemSummary</strong> for details on when this field is included.",
            "$ref": "#/components/schemas/ListingPrice"
          },
          "listingTitle": {
            "type": "string",
            "description": "This field contains the title of the listing. It is conditionally returned based on the authorization flow and user context. See <strong>orderLineItemSummary</strong> for details on when this field is included."
          },
          "orderLineItemAttributes": {
            "type": "array",
            "description": "This array describes order line attributes including names and values of a transaction.",
            "items": {
              "$ref": "#/components/schemas/OrderLineItemAttribute"
            }
          },
          "orderLineItemId": {
            "type": "string",
            "description": "The unique identifier of the line item for this feedback. It is conditionally returned based on the authorization flow and user context. See <strong>orderLineItemSummary</strong> for details on when this field is included."
          },
          "transactionPeriod": {
            "description": "This container indicates if the time since the item was bought on eBay is less than, more than, or equal to 90 days",
            "$ref": "#/components/schemas/TransactionPeriod"
          }
        },
        "description": "This type provides fields for a summary of the line item related to feedback."
      },
      "Pagination": {
        "type": "object",
        "required": [
          "count",
          "limit",
          "offset",
          "total"
        ],
        "properties": {
          "count": {
            "type": "integer",
            "description": "This value indicates the number of feedback entries on the current response page.",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "description": "The value of the <strong>limit</strong> parameter submitted in the request. This is the maximum number of line items awaiting feedback, as filtered, to return per page from the result set. This field indicates the number of line items returned per page of data. <p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>If this is the last or only page of the result set, the page may contain fewer line items than the <strong>limit</strong> value. </span></p><p>If a <strong>limit</strong> parameter was not included in the request, this value will default to <code>25</code>, returning up to 25 line items on each page.</p><p><strong>Default: </strong>25</p>",
            "format": "int32"
          },
          "next": {
            "type": "string",
            "description": "The relative URI for the next page of results starting with the resource name. This URI is returned if there is an additional page of results in the result set."
          },
          "offset": {
            "type": "integer",
            "description": "The value of the <strong>offset</strong> parameter submitted in the request. This field indicates how many results were skipped in the response. If an <strong>offset</strong> parameter was not included in the request, this value will default to <code>0</code>, returning the first page of results.<p><strong>Default: </strong>0</p>",
            "format": "int32"
          },
          "prev": {
            "type": "string",
            "description": "The relative URI for the previous page of results starting with the resource name. This URI is returned if there is a previous page of results in the result set.</p>"
          },
          "total": {
            "type": "integer",
            "description": "The total number of line items available that match the filter criteria. <p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>If the total value exceeds the limit value, there are multiple pages of results.</span></p>",
            "format": "int32"
          }
        },
        "description": "This type provides pagination information for the returned line items."
      },
      "Period": {
        "type": "object",
        "required": [
          "unit",
          "value"
        ],
        "properties": {
          "unit": {
            "type": "string",
            "description": "The unit of the period's <strong>value</strong>. Supported value: <code>DAY</code>."
          },
          "value": {
            "type": "integer",
            "description": "The value for the feedback period, specified in units of <strong>unit</strong>. Supported value: <code>90</code>.",
            "format": "int32"
          }
        },
        "description": "This type provides fields for the time period on which the feedback summary is calculated."
      },
      "ProviderUserDetail": {
        "type": "object",
        "required": [
          "feedbackScore",
          "feedbackStar",
          "role",
          "userAttributes",
          "userId"
        ],
        "properties": {
          "feedbackScore": {
            "type": "integer",
            "description": "This integer indicates the feedback score of the feedback provider at the time the specific feedback was left.",
            "format": "int32"
          },
          "feedbackStar": {
            "description": "This enumerated value provides the visual star representation of the feedback score (for example, <code>YELLOW_STAR</code>).",
            "$ref": "#/components/schemas/FeedbackStarTypeEnum"
          },
          "role": {
            "description": "This enumerated value indicates the user's role in the transaction (<code>BUYER</code> or <code>SELLER</code>).",
            "$ref": "#/components/schemas/UserRoleEnum"
          },
          "userAttributes": {
            "type": "array",
            "description": "This array lists additional attributes that relate to the user (such as verification status).",
            "items": {
              "$ref": "#/components/schemas/ProviderUserDetailUserAttributes"
            }
          },
          "userId": {
            "type": "string",
            "description": "This field indicates the unique identifier of the user who gave the feedback.<br><br><span class=\"tablenote\"><strong>Note:</strong> Select developers will not 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 <a href=\"/api-docs/static/data-handling-update.html\" target=\"_blank\">Data Handling Compliance</a>.</span>"
          }
        },
        "description": "This type provides the details of the user who provided the feedback of a <strong>getFeedback</strong> response."
      },
      "ProviderUserDetailUserAttributes": {
        "type": "object",
        "required": [
          "name",
          "value"
        ],
        "properties": {
          "name": {
            "description": "This enumerated value indicates an attribute of the user (for example, <code>USER_VERIFIED</code>). The <strong>value</strong> field indicates if the attribute applies.",
            "$ref": "#/components/schemas/UserAttributeEnum"
          },
          "value": {
            "type": "string",
            "description": "If returned as <code>true</code>, the user attribute <strong>name</strong> applies; if returned as <code>false</code>, the attribute does not apply."
          }
        },
        "description": "This type defines the attributes of the user who provided the feedback of a <strong>getFeedback</strong> response."
      },
      "RatingSummaryByRatingType": {
        "type": "object",
        "required": [
          "period",
          "userRoleType"
        ],
        "properties": {
          "feedbackMetrics": {
            "type": "array",
            "description": "An array of metrics associated with feedback aggregation.",
            "items": {
              "$ref": "#/components/schemas/FeedbackMetrics"
            }
          },
          "feedbackRatingValueDistribution": {
            "type": "array",
            "description": "An array listing the distribution values of the feedback ratings.",
            "items": {
              "$ref": "#/components/schemas/FeedbackRatingValueDistribution"
            }
          },
          "period": {
            "description": "The time period on which the feedback summary is calculated.",
            "$ref": "#/components/schemas/Period"
          },
          "userRoleType": {
            "description": "This enumerated value indicates the user's role in the feedback  (<code>BUYER</code> or <code>SELLER</code>).",
            "$ref": "#/components/schemas/UserRoleEnum"
          }
        },
        "description": "This type provides fields for an array that includes metrics and distributions for each rating type."
      },
      "RespondToFeedbackRequest": {
        "type": "object",
        "required": [
          "feedbackId",
          "recipientUserId",
          "responseText",
          "responseType"
        ],
        "properties": {
          "feedbackId": {
            "type": "string",
            "description": "Use this field to provide the unique identifier for the feedback being responded to. It is used to specify the feedback entry associated with the feedback response. This value can be returned using the <strong>getFeedback</strong> method (strong>feedbackId</strong> field)."
          },
          "recipientUserId": {
            "type": "string",
            "description": "Use this field to provide the identifier of the user who provided the original feedback. This value can be returned using the <strong>getFeedback</strong> method (<strong>userId</strong> field).<br><br><span class=\"tablenote\"><strong>Note:</strong> Both usernames and public user IDs will be accepted in this field. For more information, please refer to <a href=\"/api-docs/static/data-handling-update.html\" target=\"_blank\">Data Handling Compliance</a>.</span>"
          },
          "responseText": {
            "type": "string",
            "description": "Use this field to provide the text content of the response. This field is used to provide additional context or address the feedback given by the order partner. No HTML formatting or personal information (such as phone numbers) is permitted.<br><br><strong>Maximum length:</strong> 500 characters."
          },
          "responseType": {
            "description": "Set this enumerated value to describe the type of response being submitted (for example, a <code>REPLY</code> or a <code>FOLLOW_UP</code>).",
            "$ref": "#/components/schemas/ResponseTypeEnum"
          }
        },
        "description": "The type that defines the fields for the <strong>respondToFeedback</strong> request."
      },
      "ResponseTypeEnum": {
        "type": "object",
        "description": "This enumerated type categorizes the nature of responses provided to feedback entries. | - **REPLY**: This value indicates the feedback is a direct response to the feedback received. - **FOLLOW_UP**: This value indicates the feedback is a subsequent response that provides additional information or updates after an initial reply has been made.",
        "enum": [
          "REPLY",
          "FOLLOW_UP"
        ]
      },
      "SellerRating": {
        "type": "object",
        "required": [
          "key",
          "value"
        ],
        "properties": {
          "key": {
            "description": "The enumerated value of the category being rated, such as delivery timeliness (<code>ON_TIME_DELIVERY</code>).",
            "$ref": "#/components/schemas/KeyEnum"
          },
          "value": {
            "type": "string",
            "description": "The value assigned for the selected category. Use a value of <code>1</code> through <code>5</code>, with <code>1</code> being the lowest rating and <code>5</code> being the highest."
          }
        },
        "description": "This type provides fields for specific aspects of the seller's performance."
      },
      "ThresholdTypeEnum": {
        "type": "object",
        "description": "This enumerated type indicates the comparison of thresholds applicable to the transaction period. | - **MORE_THAN**: This value indicates the transaction period is longer than the specified threshold. For example, if the threshold value was 30 days, this value indicates periods exceeding 30 days. - **LESS_THAN**: This value indicates the transaction period is shorter than the specified threshold. For example, if the threshold value was 30 days, this value indicates periods falling short of 30 days. - **EQUAL**: This value indicates the transaction period matches the specified threshold.",
        "enum": [
          "MORE_THAN",
          "LESS_THAN",
          "EQUAL"
        ]
      },
      "Topic": {
        "type": "object",
        "properties": {
          "coarseTopic": {
            "type": "string",
            "description": "The main topic (or category) detected in the comment. See the available <strong>topics</strong> in the <strong>filter</strong> query parameter."
          },
          "fineTopic": {
            "type": "string",
            "description": "<p><span class=\"tablenote\"><span style=\"color:#004680\"><strong>Note: </strong>Fine topics are not currently  supported.</span></p>A more specific detail or subtopic related to the coarse topic. "
          },
          "highlightedTexts": {
            "type": "array",
            "description": "This array lists any text snippets, phrases, or examples from the feedback that supports the detected topic.",
            "items": {
              "type": "string"
            }
          },
          "sentiment": {
            "type": "string",
            "description": "This field indicates a classification of the feedback, whether the feedback is <code>Positive</code>, <code>Negative</code>, or <code>Neutral</code>."
          }
        },
        "description": "This type provides subject-based fields derived from feedback."
      },
      "TransactionPeriod": {
        "type": "object",
        "required": [
          "period",
          "thresholdType"
        ],
        "properties": {
          "period": {
            "description": "This container indicates if the time since the item was bought on eBay is less than, more than, or equal to 90 days.",
            "$ref": "#/components/schemas/Period"
          },
          "thresholdType": {
            "description": "This enumerated value indicates whether a transaction <strong>period</strong> exceeds, falls short, or matches the threshold. You can use this field to trigger specific logic or actions based on whether a transaction period exceeds, falls short, or matches the threshold.",
            "$ref": "#/components/schemas/ThresholdTypeEnum"
          }
        },
        "description": "This type specifies the amount of time elapsed and the threshold associated with a transaction."
      },
      "UserAttributeEnum": {
        "type": "object",
        "description": "This enumerated type defines the user attribute names for the user who provided the feedback. | - **USER_VERIFIED**: This value indicates that the user's account has successfully passed eBay's identity verification processes. - **USER_REGISTERED**: This value indicates that the user has completed registration and has an active account on eBay. - **USER_SAME_AS_SIGNED_IN_USER**: This value indicates that the feedback is being given by the same user who is currently authenticated in the API session. - **USER_PROFILE_PRIVATE**: This value indicates that the user has set their eBay profile details to be private (not visible to other users).",
        "enum": [
          "USER_VERIFIED",
          "USER_REGISTERED",
          "USER_SAME_AS_SIGNED_IN_USER",
          "USER_PROFILE_PRIVATE"
        ]
      },
      "UserRoleEnum": {
        "type": "object",
        "description": "This enumerated type provides fields that indicate the user's role associated with the feedback. | - **SELLER**: This value indicates feedback related to the user's role as a seller. - **BUYER**: This value indicates feedback related to the user's role as a buyer.",
        "enum": [
          "SELLER",
          "BUYER"
        ]
      }
    },
    "securitySchemes": {
      "api_auth": {
        "type": "oauth2",
        "description": "The security definitions for this API. Please check individual operations for applicable scopes.",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://auth.ebay.com/oauth2/authorize",
            "tokenUrl": "https://api.ebay.com/identity/v1/oauth2/token",
            "scopes": {
              "https://api.ebay.com/oauth/api_scope/commerce.feedback": ""
            }
          },
          "clientCredentials": {
            "tokenUrl": "https://api.ebay.com/identity/v1/oauth2/token",
            "scopes": {
              "https://api.ebay.com/oauth/api_scope/commerce.feedback.readonly": ""
            }
          }
        }
      },
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  }
}