Recued
Menu
← Back to packs

Devices, Invites, and Keys - Tailscale API

by recued-core v1 app_pack 14 views

Tailscale devices, routes, posture attributes, sharing and user invitations, auth keys, API access tokens, OAuth clients, and federated identities. Generated from Tailscale's byte- and hash-locked official OpenAPI 3.1.0 document (95fa0cb9d3be…) at https://api.tailscale.com/api/v2?outputOpenapiSchema=true. This leaf carries 31 of 95 callable capabilities derived from all 90 official operations. Runtime uses the origin-only https://api.tailscale.com base plus explicit /api/v2 wire paths, with path_alias.wire_prefix preserving documentary proof. Every operation inherits the global bearerAuth contract, and encrypted API access or OAuth access tokens never become arguments. All documented request bodies are required bounded body_raw payloads; JSON and HuJSON media remain distinct. JSON responses preserve unsafe integers, HuJSON responses remain text, and empty successes claim no body. The provider explicitly declares no pagination. Every mutation requires approval, reads are uncached, and provider failures receive no hidden retry. One-time keys, invitation URLs, webhook secrets, and OAuth app client secrets are labeled and excluded from bundled workflows. The local tailscale CLI is a separate binary/daemon capability family, and no network resource is misrepresented as a task, note, or user-work project Source.

What this pack installs

  • tailscale-api-devices-access Ingredient

Trust & control

What installing this whole pack would let it do. Recued grants these permissions at install — review them there before approving.

What it's allowed to do

Destructive Web APIs tailscale-api-devices-access external change
Read: devices.list_tailnet_devices · No approvalAdmin: devices.batch_update_custom_device_posture_attributes · Always asksRead: devices.get_device · No approvalDestructive: devices.delete_device · Always asksDestructive: devices.expire_device_key · Always asksRead: devices.list_device_routes · No approvalDestructive: devices.set_device_routes · Always asksDestructive: devices.authorize_device · Always asksAdmin: devices.set_device_name · Always asksAdmin: devices.set_device_tags · Always asksAdmin: devices.update_device_key · Always asksDestructive: devices.set_device_ip · Always asksRead: devices.get_device_posture_attributes · No approvalAdmin: devices.set_custom_device_posture_attributes · Always asksDestructive: devices.delete_custom_device_posture_attributes · Always asksRead: device_invites.list_device_invites · No approvalAdmin: device_invites.create_device_invites · Always asksRead: user_invites.list_user_invites · No approvalAdmin: user_invites.create_user_invites · Always asksRead: user_invites.get_user_invite · No approvalDestructive: user_invites.delete_user_invite · Always asksWrite: user_invites.resend_user_invite · Always asksRead: device_invites.get_device_invite · No approvalDestructive: device_invites.delete_device_invite · Always asksWrite: device_invites.resend_device_invite · Always asksAdmin: device_invites.accept_device_invite · Always asksRead: keys.list_tailnet_keys · No approvalAdmin: keys.create_key · Always asksRead: keys.get_key · No approvalAdmin: keys.set_key · Always asksDestructive: keys.delete_key · Always asks

Data it touches

SurfacesWeb APIs

About

Tags

pack:tailscale-apitailscaletailscale-apidevicesroutesinviteskeysidentityapicomposition