---
title: "May this caller auto-update the CLI from the next channel?"
method: GET
path: "/cli/channel-entitlement"
tags: ["Code"]
---

# May this caller auto-update the CLI from the next channel?

`GET /cli/channel-entitlement`

## Request

- Base URL: `https://api.mnemom.ai/v1`
- URL: `https://api.mnemom.ai/v1/cli/channel-entitlement`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Mnemom-Api-Key`
  - API key in cookie `mnemom_session`

The `@mnemom/mnemom` CLI's prerelease-channel gate. The CLI's background updater calls it when `update.channel = next`. Entitled when the caller's email is in the internal cohort (`@mnemom.ai`), the caller is Mnemom staff, or the caller's own account or any org they belong to holds a `product_access_grant` for product `cli_next` or `code` (Mnemom Code invites install the CLI from `@next`; typically from a redeemed invitation, `POST /v1/invites/accept`). Not being entitled is a normal 200 with `next: false` and a hint; the CLI then updates from `latest`. This is a soft gate: the `next` dist-tag is public on npm, and the gate only decides who the CLI auto-updates onto it. A lookup failure is 503 (retryable), never a silent deny.

## Response `200`

The caller's entitlement to the next channel.

- union
  - object
    - `next` true, required
    - `source` 'internal_cohort' | 'staff' | 'invitation', required: Why the caller is entitled: internal cohort (@mnemom.ai email), platform staff, or a `cli_next` or `code` product-access grant on the caller or a member org.
  - object
    - `next` false, required
    - `hint` string, required: How to get access; the CLI prints it once.

## Other responses

- `401`: Authentication required
- `429`: Rate-limit exceeded. The global per-IP limiter (100 requests/minute, applied to every `/v1/*` route) rejected this request. Back off until the window resets — `Retry-After` carries the cooldown in seconds and `X-RateLimit-Reset` the absolute reset time.
- `500`: Server error — request was well-formed but the server failed to fulfill it. Typically a downstream dependency (DB / RPC / external API) returned an unexpected error.
- `503`: An upstream dependency is currently unavailable. The request was not processed; retry after the cooldown window.

---

[API](https://skmtc.dev/mnemom/apis/mnemom-api.md) · [All operations](https://skmtc.dev/mnemom/apis/mnemom-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mnemom/apis/mnemom-api/revisions/274b7a6ea182?raw)
