[wp-trac] [WordPress Trac] #64032: wp_die() status code Rest API component updates (parent ticket: #64009)

WordPress Trac noreply at wordpress.org
Tue Sep 23 17:29:27 UTC 2025


#64032: wp_die() status code Rest API component updates (parent ticket: #64009)
--------------------------+-----------------------------
 Reporter:  callumbw95    |      Owner:  (none)
     Type:  defect (bug)  |     Status:  new
 Priority:  normal        |  Milestone:  Awaiting Review
Component:  REST API      |    Version:  trunk
 Severity:  normal        |   Keywords:
  Focuses:                |
--------------------------+-----------------------------
 If you have come here directly, please refer back to the parent ticket
 here: [https://core.trac.wordpress.org/ticket/6400 || Bad Request9 #6400
 || Bad Request9]

 This ticket is regarding the `wp_die()` function calls within the Media
 component and will cover the following locations. Please note links were
 correct at the time of testing and writing this up, but line numbers may
 have changed slightly:

 || **Filepath** || **Line Number** || **Context** || **Status Code** ||
 **New Code** || **Code Meaning** ||
 || [https://github.com/WordPress/wordpress-develop/blob/6.8/src/wp-admin
 /admin-ajax.php src/wp-admin/admin-ajax.php] || 211 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || [https://github.com/WordPress/wordpress-develop/blob/6.8/src/wp-
 admin/includes/ajax-actions.php src/wp-admin/includes/ajax-actions.php] ||
 93 || User Permissions: does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 98 || Die: After ajax request
 || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 108 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 119 || User Permissions: does
 not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 152 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 177 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 187 || User Permissions: does
 not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 197 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 210 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 213 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 223 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 227 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 247 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 258 || User Permissions: does
 not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 269 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 281 || Die: After ajax
 request     || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 291 || User Permissions: does
 not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 296 || User Permissions: does
 not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 360 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 433 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 442 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 596 || User Permissions: does
 not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 732 || User Permissions: does
 not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 758 || Error: cannot update
 post status to already set status || 500 || 409 || Conflict ||
 || src/wp-admin/includes/ajax-actions.php || 764 || Error: cannot update
 post status to already set status || 500 || 409 || Conflict ||
 || src/wp-admin/includes/ajax-actions.php || 776 || Error: invalid params
 || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 784 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 797 || User Permissions: does
 not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 808 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 822 || User Permissions: does
 not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 833 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 856 || User Permissions: does
 not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 860 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 882 || User Permissions: does
 not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 890 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 912 || User Permissions: does
 not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 923 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 963 || User Permissions: does
 not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 971 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 1001 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 1004 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 1007 || Error: cannot update
 post status to already set status || 500 || 409 || Conflict ||
 || src/wp-admin/includes/ajax-actions.php || 1030 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 1050 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 1098 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 1185 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 1192 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 1196 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 1235 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 1264 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 1270 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 1323 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 1327 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 1329 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 1354 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 1360 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 1393 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 1473 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 1477 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 1530 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 1593 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 1608 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 1624 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 1628 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 1662 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 1665 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 1670 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 1693 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 1707 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 1753 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 1759 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 1809 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 1814 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 1827 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 1840 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 1845 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 1851 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 1863 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 1868 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 1878 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 1919 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 1955 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 1965 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 1971 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 1975 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 1995 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 2000 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 2021 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 2028 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 2039 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 2052 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 2068 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 2075 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 2079 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 2097 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 2167 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 2186 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 2190 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 2196 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 2231 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 2312 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 2339 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 2342 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 2356 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 2396 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 2408 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 2439 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 2443 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 2451 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 2475 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 2500 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 2588 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 2601 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 2605 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 2632 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 2664 || Error: invalid params
 || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 2674 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 2686 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 2742 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 2758 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 2767 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 2781 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 2856 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 2865 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 2919 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 2932 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 2938 || User Permissions:
 does not have access || 500 || 403 || Forbidden ||
 || src/wp-admin/includes/ajax-actions.php || 2951 || Die: After ajax
 request || 500 || 200 || OK ||
 || src/wp-admin/includes/ajax-actions.php || 2963 || REQUEST: invalid
 params || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 2967 || Error: invalid params
 || 500 || 400 || Bad Request ||
 || src/wp-admin/includes/ajax-actions.php || 2978 || Die: After ajax
 request || 500 || 200 || OK ||
 || [https://github.com/WordPress/wordpress-develop/blob/6.8/src/wp-
 includes/rest-api.php src/wp-includes/rest-api.php] || 440 || 500 ||
 Error: invalid params || 400 || Bad Request ||

 I have also put in a PR with these changes so it’s easier to see where in
 the code each lies, and the surrounding code.

 There are however the following function calls I have not touched as I
 felt they were already valid with their current status code:

 || **Filepath** || **Line Number** || **Status Code** ||
 || [https://github.com/WordPress/wordpress-develop/blob/6.8/src/wp-
 admin/includes/ajax-actions.php src/wp-admin/includes/ajax-actions.php] ||
 89 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 115 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 266 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 725 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 738 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 744 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 804 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 810 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 827 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 831 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 849 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 863 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 886 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 892 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 916 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 926 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 967 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 973 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 1209 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 1213 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 1231 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 1276 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 1319 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 1405 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 1411 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 1486 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 1500 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 1573 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 1695 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 1713 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 1949 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 2210 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 2212 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 2216 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 2218 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 2649 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 2756 || 500 ||
 || src/wp-admin/includes/ajax-actions.php || 2926 || 500 ||
 || [https://github.com/WordPress/wordpress-develop/blob/6.8/src/wp-
 includes/class-wp-ajax-response.php src/wp-includes/class-wp-ajax-
 response.php] || 160 || 500 ||

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/64032>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list