---
title: "Generates an OAuth token for Tailscale"
method: GET
path: "/api/device/tailscale/authToken"
tags: ["Device Communications"]
---

# Generates an OAuth token for Tailscale

`GET /api/device/tailscale/authToken`

## Request

- Base URL: `https://passivelogic.com` (the document declares no server; this is the origin it was published from)
- URL: `https://passivelogic.com/api/device/tailscale/authToken`
- Auth: one of:
  - API key in header `X-PL-AUTH`
  - API key in header `Authorization: PL-API-KEY`
  - API key in header `PL-API-KEY`
  - HTTP basic
- TypeScript: <https://skmtc.dev/passivelogic/apis/passivelogic-http-api/docs/api/device/tailscale/authToken/get.ts> (a function with typed inputs; its response is checked against the schema)

AutToken generated allowing hive's to enroll in our tailnet.

mTLS authentication required.

## Response `200`

OK

- TailscalePostTailnetKeyResponse
  - `capabilities` TailscaleCapabilities, required
    - `devices` TailscaleCapabilitiesDevices, required
      - `create` TailscaleCapabilitiesDevicesCreate, required
        - `tags` string[], required
        - `reusable` boolean, required
        - `ephemeral` boolean, required
        - `preauthorized` boolean, required
  - `keyType` string, required
  - `revoked` string, date-time, nullable
  - `expirySeconds` integer, required
  - `key` string, required
  - `description` string, nullable
  - `created` string, date-time, nullable
  - `expires` string, date-time, nullable
  - `invalid` boolean, nullable
  - `userId` string, nullable
  - `tags` string[], nullable
  - `id` string, required
  - `scopes` string[], nullable

---

[API](https://skmtc.dev/passivelogic/apis/passivelogic-http-api.md) - [All operations](https://skmtc.dev/passivelogic/apis/passivelogic-http-api/llms.txt) - [OpenAPI document](https://skmtc.dev/passivelogic/apis/passivelogic-http-api/revisions/28fce63bcdbb?raw)
