[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