s46.apiv1

Account

Current user and paired-device management.

Current user and paired-device management. All account routes require Authorization: Bearer <accessToken> or a valid s46_access auth cookie.

Route inventory

MethodRoutePurpose
GET/v1/meAuthenticated user, organization, team, and role.
GET/v1/devicesList active paired devices for the account.
DELETE/v1/devices/{deviceId}Revoke a paired device and its token family.

Current user

GET/v1/me200

Returns the identity behind the bearer token. Use the role to decide whether to show admin surfaces: owner and admin may call admin routes for their target org/team; member and viewer may not.

Auth · bearer / cookie

curl https://api.s46.dev/v1/me \
  -H "Authorization: Bearer $S46_ACCESS_TOKEN"
const me = await fetch("https://api.s46.dev/v1/me", {
  headers: { Authorization: `Bearer ${accessToken}` },
}).then((r) => r.json());
me = requests.get("https://api.s46.dev/v1/me",
                  headers={"Authorization": f"Bearer {access_token}"}).json()
{
  "email": "dscape@s46.dev",
  "organization": "s46",
  "team": "@s46/engineering",
  "role": "owner"
}

Paired devices

GET/v1/devices200
DELETE/v1/devices/{deviceId}200

List the account's active devices, or revoke one. deviceId must be URL path-escaped. Deleting the current device invalidates the token family used for the request.

Auth · bearer / cookie

# List devices
curl https://api.s46.dev/v1/devices \
  -H "Authorization: Bearer $S46_ACCESS_TOKEN"

# Revoke a device (deviceId must be URL path-escaped)
curl -X DELETE https://api.s46.dev/v1/devices/dev-laptop \
  -H "Authorization: Bearer $S46_ACCESS_TOKEN"
const devices = await fetch("https://api.s46.dev/v1/devices", {
  headers: { Authorization: `Bearer ${accessToken}` },
}).then((r) => r.json());

await fetch("https://api.s46.dev/v1/devices/dev-laptop", {
  method: "DELETE",
  headers: { Authorization: `Bearer ${accessToken}` },
});
devices = requests.get("https://api.s46.dev/v1/devices",
                       headers={"Authorization": f"Bearer {access_token}"}).json()

requests.delete("https://api.s46.dev/v1/devices/dev-laptop",
                headers={"Authorization": f"Bearer {access_token}"})
{
  "devices": [
    {
      "id": "dev-laptop",
      "name": "Dev laptop",
      "account": "dscape@s46.dev",
      "organizationSlug": "s46",
      "team": "@s46/engineering",
      "createdAt": "2030-01-01T10:00:00Z",
      "lastSeenAt": "2030-01-01T12:30:00Z",
      "lastSeenIp": "203.0.113.10"
    }
  ]
}
{ "revoked": true, "deviceId": "dev-laptop" }

On this page