---
title: "Get Modules"
method: GET
path: "/modules"
tags: ["modules"]
---

# Get Modules

`GET /modules`

## Request

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

Single payload the /modules page reads: full catalog + which the user
has, + their plan so the UI can render the Studio bypass state.

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- ModulesCatalogResponse
  - `plan` string, required
  - `studio_includes_all` boolean, required
  - `stripe_billing_enabled` boolean, required
  - `modules` ModuleEntry[], required
    - `slug` string, required
    - `name` string, required
    - `monthly_price_usd` integer, required
    - `state` string, required
    - `entitled` boolean, required
    - `status` string, nullable, required
    - `checkout_available` boolean, required

## Other responses

- `422`: Validation Error

---

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