# Headscale unofficial > Headscale unofficial API documentation ## API Reference › Api - [GET /api/v1/apikey](https://octri-pg7rnxxaa9ve.octri.dev/get-api-v1-apikey): List API keys - [POST /api/v1/apikey](https://octri-pg7rnxxaa9ve.octri.dev/post-api-v1-apikey): Create an API key - [DELETE /api/v1/apikey/{prefix}](https://octri-pg7rnxxaa9ve.octri.dev/delete-api-v1-apikey-prefix): Delete an API key - [POST /api/v1/apikey/expire](https://octri-pg7rnxxaa9ve.octri.dev/post-api-v1-apikey-expire): Expire an API key - [POST /api/v1/auth/approve](https://octri-pg7rnxxaa9ve.octri.dev/post-api-v1-auth-approve): Approve a pending authentication session - [POST /api/v1/auth/register](https://octri-pg7rnxxaa9ve.octri.dev/post-api-v1-auth-register): Register a node through the authentication flow - [POST /api/v1/auth/reject](https://octri-pg7rnxxaa9ve.octri.dev/post-api-v1-auth-reject): Reject a pending authentication session - [POST /api/v1/debug/node](https://octri-pg7rnxxaa9ve.octri.dev/post-api-v1-debug-node): Create a node for debugging - [GET /api/v1/health](https://octri-pg7rnxxaa9ve.octri.dev/get-api-v1-health): Get server health - [GET /api/v1/node](https://octri-pg7rnxxaa9ve.octri.dev/get-api-v1-node): List nodes - [GET /api/v1/node/{nodeId}](https://octri-pg7rnxxaa9ve.octri.dev/get-api-v1-node-nodeid): Get a node - [DELETE /api/v1/node/{nodeId}](https://octri-pg7rnxxaa9ve.octri.dev/delete-api-v1-node-nodeid): Delete a node - [POST /api/v1/node/{nodeId}/approve_routes](https://octri-pg7rnxxaa9ve.octri.dev/post-api-v1-node-nodeid-approve_routes): Set approved routes for a node - [POST /api/v1/node/{nodeId}/expire](https://octri-pg7rnxxaa9ve.octri.dev/post-api-v1-node-nodeid-expire): Update node expiry - [POST /api/v1/node/{nodeId}/rename/{newName}](https://octri-pg7rnxxaa9ve.octri.dev/post-api-v1-node-nodeid-rename-newname): Rename a node - [POST /api/v1/node/{nodeId}/tags](https://octri-pg7rnxxaa9ve.octri.dev/post-api-v1-node-nodeid-tags): Set tags for a node - [POST /api/v1/node/backfillips](https://octri-pg7rnxxaa9ve.octri.dev/post-api-v1-node-backfillips): Backfill node IP addresses - [POST /api/v1/node/register](https://octri-pg7rnxxaa9ve.octri.dev/post-api-v1-node-register): Register a node - [GET /api/v1/policy](https://octri-pg7rnxxaa9ve.octri.dev/get-api-v1-policy): Get the policy - [PUT /api/v1/policy](https://octri-pg7rnxxaa9ve.octri.dev/put-api-v1-policy): Set the policy - [POST /api/v1/policy/check](https://octri-pg7rnxxaa9ve.octri.dev/post-api-v1-policy-check): Check a policy - [GET /api/v1/preauthkey](https://octri-pg7rnxxaa9ve.octri.dev/get-api-v1-preauthkey): List pre-auth keys - [POST /api/v1/preauthkey](https://octri-pg7rnxxaa9ve.octri.dev/post-api-v1-preauthkey): Create a pre-auth key - [DELETE /api/v1/preauthkey](https://octri-pg7rnxxaa9ve.octri.dev/delete-api-v1-preauthkey): Delete a pre-auth key - [POST /api/v1/preauthkey/expire](https://octri-pg7rnxxaa9ve.octri.dev/post-api-v1-preauthkey-expire): Expire a pre-auth key - [GET /api/v1/user](https://octri-pg7rnxxaa9ve.octri.dev/get-api-v1-user): List users - [POST /api/v1/user](https://octri-pg7rnxxaa9ve.octri.dev/post-api-v1-user): Create a user - [DELETE /api/v1/user/{id}](https://octri-pg7rnxxaa9ve.octri.dev/delete-api-v1-user-id): Delete a user - [POST /api/v1/user/{oldId}/rename/{newName}](https://octri-pg7rnxxaa9ve.octri.dev/post-api-v1-user-oldid-rename-newname): Rename a user ## Optional - [SDK Downloads](https://octri-pg7rnxxaa9ve.octri.dev/sdk): Client SDKs in TypeScript, Python, Go, and 7 more languages - [Changelog](https://octri-pg7rnxxaa9ve.octri.dev/changelog): API version history and breaking changes