UCP Checker

keepcard_submit_return_reason

Submit the return reason for an eligible return session. The store decision engine evaluates the reason and returns either a keep offer, where the customer keeps the item and receives a discount code, or routes directly to the standard return portal. Call after keepcard_check_return_eligibility for single-item orders or after keepcard_select_return_items for multi-item orders. Map plain language reasons to slugs: "changed my mind" or similar -> changed_mind, "not expected" -> not_expected, "broken" or "damaged" -> damaged, size/fit issues -> size. The server also normalizes these automatically. If the result includes a keep_offer, the next customer reply should usually map directly to keepcard_accept_keep_offer for yes or accept style replies, or keepcard_decline_keep_offer for no, decline, or return-it style replies. If outcome=route_to_return and return_url is present, do not ask another question: display the return link immediately and treat customer_message as final user-facing text.

1verified stores declare the keepcard_submit_return_reason tool
0%of the verified stores we check

Who declares it

verified stores we check
By store platform
WooCommerce 100%
By release
2026-08-25100%

Examples

1 of 1, highest UCP Score first

Each store has its own status page. To find more, search the directory.

Input schema

inputSchema
{
    "type": "object",
    "required": [
        "session_id",
        "reason"
    ],
    "properties": {
        "reason": {
            "type": "string",
            "description": "Return reason slug. Common values include size, changed_mind, not_expected, damaged, and other. Natural language such as \"changed my mind\", \"cahnge my mind\", \"not expected\", or \"broken\" is also accepted and normalized server-side."
        },
        "session_id": {
            "type": "string",
            "description": "The session_id returned by keepcard_check_return_eligibility."
        },
        "reason_text": {
            "type": "string",
            "description": "Optional verbatim detail from the customer, up to 500 characters."
        }
    }
}

Explore protocol data