---
title: "List memberships available to a device authorization"
method: GET
path: "/credits/mcp/oauth/device/tenants"
tags: ["MCP"]
---

# List memberships available to a device authorization

`GET /credits/mcp/oauth/device/tenants`

## Request

- Base URL: `https://api.paywithlocus.com/api`
- URL: `https://api.paywithlocus.com/api/credits/mcp/oauth/device/tenants`
- Auth: HTTP bearer

Signed-in consent helper. Returns active Locus Pro memberships so a person with more than one account can make an explicit selection. It does not approve the device.

## Query parameters

- `user_code` string, required: Case-insensitive device-code input. Locus ignores non-alphanumeric punctuation, rejects ambiguous characters, and normalizes the six significant characters to XXX-XXX.

## Headers

- `X-Locus-Tenant-Id` string, uuid

## Response `200`

Available memberships and current selection

- McpOAuthDeviceTenantListResponse
  - `success` unknown, required
  - `data` object, required
    - `tenants` object[], required
      - `id` string, uuid, required
      - `name` string, required
      - `role` 'owner' | 'admin' | 'developer' | 'billing' | 'viewer', required: Owner and admin are workspace-administrator roles. Exactly one member holds owner; it moves only through the transfer-ownership operation, never through role updates or invitations.
    - `selectedTenantId` string, uuid, nullable, required

## Other responses

- `400`: Invalid/expired user code or missing signed-in user
- `401`: Dashboard session required
- `403`: No active Locus Pro membership is available
- `429`: Too many verification attempts

---

[API](https://skmtc.dev/paywithlocus/apis/locus-pro-api.md) - [All operations](https://skmtc.dev/paywithlocus/apis/locus-pro-api/llms.txt) - [OpenAPI document](https://skmtc.dev/paywithlocus/apis/locus-pro-api/revisions/aab8fa5d6cef?raw)
