Use Tailscale to manage devices, DNS, ACLs, auth keys, users, and routes in a tailnet.
The Tailscale block uses API key authentication. To get an API key:
Go to the Tailscale admin console
Navigate to Settings > Keys
Click Generate API key
Set an expiry (1-90 days) and copy the key (starts with tskey-api-)
You must have an Owner , Admin , IT admin , or Network admin role to generate API keys.
Every operation requires a tailnet parameter. This is typically your organization's domain name (e.g., example.com). You can also use "-" to refer to your default tailnet.
Interact with the Tailscale API to manage devices, DNS, ACLs, auth keys, users, and routes across your tailnet.
List all devices in the tailnet
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default
Parameter Type Description devicesarray List of devices in the tailnet ↳ id string Legacy device ID ↳ nodeId string Preferred device ID ↳ name string Device name ↳ hostname string Device hostname ↳ user string Associated user ↳ os string Operating system ↳ clientVersion string Tailscale client version ↳ addresses array Tailscale IP addresses ↳ tags array Device tags ↳ authorized boolean Whether the device is authorized ↳ blocksIncomingConnections boolean Whether the device blocks incoming connections ↳ keyExpiryDisabled boolean Whether the device key is exempt from expiring ↳ expires string The device's auth key expiration timestamp ↳ lastSeen string Last seen timestamp ↳ created string Creation timestamp countnumber Total number of devices
Get details of a specific device by ID
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default deviceIdstring Yes Device ID
Parameter Type Description idstring Legacy device ID nodeIdstring Preferred device ID namestring Device name hostnamestring Device hostname userstring Associated user osstring Operating system clientVersionstring Tailscale client version addressesarray Tailscale IP addresses tagsarray Device tags authorizedboolean Whether the device is authorized blocksIncomingConnectionsboolean Whether the device blocks incoming connections keyExpiryDisabledboolean Whether the device key is exempt from expiring expiresstring The device's auth key expiration timestamp lastSeenstring Last seen timestamp createdstring Creation timestamp isExternalboolean Whether the device is external updateAvailableboolean Whether an update is available machineKeystring Machine key nodeKeystring Node key
Remove a device from the tailnet
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default deviceIdstring Yes Device ID to delete
Parameter Type Description successboolean Whether the device was successfully deleted deviceIdstring ID of the deleted device
Authorize or deauthorize a device on the tailnet
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default deviceIdstring Yes Device ID to authorize authorizedboolean Yes Whether to authorize (true) or deauthorize (false) the device
Parameter Type Description successboolean Whether the operation succeeded deviceIdstring Device ID authorizedboolean Authorization status after the operation
Set tags on a device in the tailnet
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default deviceIdstring Yes Device ID tagsstring Yes Comma-separated list of tags (e.g., "tag:server,tag:production")
Parameter Type Description successboolean Whether the tags were successfully set deviceIdstring Device ID tagsarray Tags set on the device
Get the subnet routes for a device
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default deviceIdstring Yes Device ID
Parameter Type Description advertisedRoutesarray Subnet routes the device is advertising enabledRoutesarray Subnet routes that are approved/enabled
Set the enabled subnet routes for a device
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default deviceIdstring Yes Device ID routesstring Yes Comma-separated list of subnet routes to enable (e.g., "10.0.0.0/24,192.168.1.0/24")
Parameter Type Description advertisedRoutesarray Subnet routes the device is advertising enabledRoutesarray Subnet routes that are now enabled
Enable or disable key expiry on a device
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default deviceIdstring Yes Device ID keyExpiryDisabledboolean Yes Whether to disable key expiry (true) or enable it (false)
Parameter Type Description successboolean Whether the operation succeeded deviceIdstring Device ID keyExpiryDisabledboolean Whether key expiry is now disabled
Immediately expire a device's node key, requiring it to re-authenticate before it can reconnect to the tailnet
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default deviceIdstring Yes Device ID to expire the key for
Parameter Type Description successboolean Whether the device's key was successfully expired deviceIdstring Device ID
Get the DNS nameservers configured for the tailnet
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default
Parameter Type Description dnsarray List of DNS nameserver addresses
Set the DNS nameservers for the tailnet
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default dnsstring Yes Comma-separated list of DNS nameserver IP addresses (e.g., "8.8.8.8,8.8.4.4")
Parameter Type Description dnsarray Updated list of DNS nameserver addresses magicDNSboolean Whether MagicDNS is enabled
Get the DNS preferences for the tailnet including MagicDNS status
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default
Parameter Type Description magicDNSboolean Whether MagicDNS is enabled
Set DNS preferences for the tailnet (enable/disable MagicDNS)
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default magicDNSboolean Yes Whether to enable (true) or disable (false) MagicDNS
Parameter Type Description magicDNSboolean Updated MagicDNS status
Get the DNS search paths configured for the tailnet
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default
Parameter Type Description searchPathsarray List of DNS search path domains
Set the DNS search paths for the tailnet
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default searchPathsstring Yes Comma-separated list of DNS search path domains (e.g., "corp.example.com,internal.example.com")
Parameter Type Description searchPathsarray Updated list of DNS search path domains
List all users in the tailnet
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default
Parameter Type Description usersarray List of users in the tailnet ↳ id string User ID ↳ displayName string Display name ↳ loginName string Login name / email ↳ profilePicURL string Profile picture URL ↳ role string User role (owner, admin, member, etc.) ↳ status string User status (active, suspended, etc.) ↳ type string User type (member, shared, tagged) ↳ created string Creation timestamp ↳ lastSeen string Last seen timestamp ↳ deviceCount number Number of devices owned by user countnumber Total number of users
Suspend a user's access to the tailnet
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default userIdstring Yes User ID to suspend
Parameter Type Description successboolean Whether the user was successfully suspended userIdstring ID of the suspended user
Delete a user from the tailnet
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default userIdstring Yes User ID to delete
Parameter Type Description successboolean Whether the user was successfully deleted userIdstring ID of the deleted user
Create a new auth key for the tailnet to pre-authorize devices
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default reusableboolean No Whether the key can be used more than once ephemeralboolean No Whether devices authenticated with this key are ephemeral preauthorizedboolean No Whether devices are pre-authorized (skip manual approval) tagsstring No Comma-separated list of tags for devices using this key (e.g., "tag:server,tag:prod") descriptionstring No Description for the auth key expirySecondsnumber No Key expiry time in seconds (default: 90 days)
Parameter Type Description idstring Auth key ID keystring The auth key value (only shown once at creation) descriptionstring Key description createdstring Creation timestamp expiresstring Expiration timestamp revokedstring Revocation timestamp (empty if not revoked) capabilitiesobject Key capabilities ↳ reusable boolean Whether the key is reusable ↳ ephemeral boolean Whether devices are ephemeral ↳ preauthorized boolean Whether devices are pre-authorized ↳ tags array Tags applied to devices using this key
List all auth keys in the tailnet
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default
Parameter Type Description keysarray List of auth keys ↳ id string Auth key ID ↳ description string Key description ↳ created string Creation timestamp ↳ expires string Expiration timestamp ↳ revoked string Revocation timestamp ↳ capabilities object Key capabilities ↳ reusable boolean Whether the key is reusable ↳ ephemeral boolean Whether devices are ephemeral ↳ preauthorized boolean Whether devices are pre-authorized ↳ tags array Tags applied to devices countnumber Total number of auth keys
Get details of a specific auth key
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default keyIdstring Yes Auth key ID
Parameter Type Description idstring Auth key ID descriptionstring Key description createdstring Creation timestamp expiresstring Expiration timestamp revokedstring Revocation timestamp capabilitiesobject Key capabilities ↳ reusable boolean Whether the key is reusable ↳ ephemeral boolean Whether devices are ephemeral ↳ preauthorized boolean Whether devices are pre-authorized ↳ tags array Tags applied to devices using this key
Revoke and delete an auth key
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default keyIdstring Yes Auth key ID to delete
Parameter Type Description successboolean Whether the auth key was successfully deleted keyIdstring ID of the deleted auth key
Get the current ACL policy for the tailnet
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default
Parameter Type Description aclstring ACL policy as JSON string etagstring ETag for the current ACL version (use with If-Match header for updates)
Replace the ACL policy file for the tailnet
Inputs and outputsParameter Type Required Description apiKeystring Yes Tailscale API key tailnetstring Yes Tailnet name (e.g., example.com) or "-" for default aclstring Yes The new ACL policy file, as a JSON string ifMatchstring No ETag from a prior Get ACL call to avoid overwriting concurrent updates. Use "ts-default" to only replace an untouched default policy file.
Parameter Type Description aclstring Updated ACL policy as JSON string etagstring ETag for the new ACL version (use with If-Match header for future updates)