[ci skip] block as endpoint