---
title: "My Apps"
method: GET
path: "/me/apps"
tags: ["me"]
---

# My Apps

`GET /me/apps`

## Request

- Base URL: `https://api.b2metric.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.b2metric.com/me/apps`
- Auth: none declared

One block per tenant the token names, in claim order; unknown tenants skipped.

With X-B2M-Tenant (or ?tenant=) the answer is exactly that tenant's block,
resolved like every other member endpoint (`active_tenant`) — which is how
staff open the launcher as a tenant, audited as `tenant.cross_access`.

Staff viewing a tenant cross-tenant hold no seat there, so for them the
block lists every app with a valid licence and `launchable` follows the
licence alone. Everyone else — staff who are members included — needs an
open seat.

## Query parameters

- `tenant` string, nullable: legacy alias of X-B2M-Tenant

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- TenantAppsOut[]
  - `tenant` string, required
  - `workspace_id` string, uuid, required
  - `apps` UserAppOut[], required
    - `app` string, required
    - `plan` string, required
    - `valid_until` string, date-time, required
    - `launchable` boolean
    - `onboarding` OnboardingBlock: Why a gated app can or cannot be opened. Absent for ungated apps.
      - `status` string, required
      - `milestone` string, nullable, required
      - `mode` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/b2metric/apis/b2metric-license-api.md) - [All operations](https://skmtc.dev/b2metric/apis/b2metric-license-api/llms.txt) - [OpenAPI document](https://skmtc.dev/b2metric/apis/b2metric-license-api/revisions/5ae75adf784e?raw)
