wp/v2 belongs to WordPress core. Your plugin needs its own namespace.
Real code from our plugins on wordpress.org:
- 4WP FAQ: registerrestroute( ‘forwp-faq/v1’, ‘/settings’, … ) — namespace · version · resource.
- One route, two doors: GET → editposts, POST → manageoptions. An Editor reads (200) but can’t write (403 rest_forbidden).
- 4WP Weather: the public weather route uses permissioncallback ‘returntrue’ — public on purpose, and we said so to the reviewers.
- 4WP Account: wp.org review flagged a hardcoded /wp-json/ callback URL. Fix: resturl() — it also works with plain permalinks (/?restroute=…).
Go deeper
- Full guide: 4wp.dev/development/rest-api/custom-endpoints