1. The response body is empty
A 204 No Content, a DELETE that returns nothing or an endpoint that errors without a body will all throw this when you call response.json(). Read the body as text first and only parse it when there's something there.
const response = await fetch('/api/orders/42', { method: 'DELETE' })
const text = await response.text()
const data = text ? JSON.parse(text) : null