# Sections · Management API

> Management API reference for sections: GET /sections.

> Markdown version of https://kanorio.com/en/developers/management-api/sections. Append `.md` to any developer docs URL for this format. Index: https://kanorio.com/llms.txt · MCP: https://app.kanorio.com/api/mcp

Base URL: `https://app.kanorio.com/api/v1` · [Errors](https://kanorio.com/en/developers/basics/errors) · [Pagination](https://kanorio.com/en/developers/basics/pagination)

### Describe sections

`GET /sections`

- Stability: beta
- Rate limit: default (120/minute per token)
- MCP tool: `sections_describe`

List the section (module) types that can be placed on a page, with an English name, description, category and, in full mode, the JSON Schema (draft 2020-12) each section object must satisfy. Call this before pages.replace_sections. Without `types` you get a compact summary of all types; pass `types` (or detail=full) to receive the schemas. Pass `websiteId` to learn which types are available on that website's plan (sets `available`); this requires the editor:enter scope on that website. Errors: FORBIDDEN (no access to websiteId or website does not exist), WEBSITE_NOT_FOUND.

**Parameters**

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `websiteId` | query | string | no | Optional. When set, `available` reflects that website's plan; needs editor:enter. |
| `types` | query | string[] | no | Return only these section types, with full JSON Schemas. |
| `detail` | query | "summary" \| "full" | no | summary (default when `types` is omitted) or full (schemas included). |

**Response** (200)

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `sections` | object[] | yes | — |
| `sections[].type` | string | yes | — |
| `sections[].name` | string | yes | — |
| `sections[].description` | string \| null | yes | — |
| `sections[].categories` | string[] | yes | — |
| `sections[].minimumPlan` | string \| null | yes | — |
| `sections[].available` | boolean \| null | yes | — |
| `sections[].schema` | object | no | — |
| `conventions` | object | yes | — |

**Errors**

| Code | Status | When |
| --- | --- | --- |
| `FORBIDDEN` | 403 | no access to websiteId or website does not exist |
| `WEBSITE_NOT_FOUND` | 404 | — |

```bash
curl -X GET "https://app.kanorio.com/api/v1/sections?types=hero%2Cfaq&detail=summary" \
  -H "Authorization: Bearer $KANORIO_TOKEN"
```

```json
{
  "sections": [
    {
      "type": "hero",
      "name": "Hero",
      "description": "Full-width opening section with headline, subtitle, image and buttons.",
      "categories": [
        "intro"
      ],
      "minimumPlan": null,
      "available": true
    },
    {
      "type": "faq",
      "name": "FAQ",
      "description": "Question and answer list.",
      "categories": [
        "content"
      ],
      "minimumPlan": null,
      "available": true
    }
  ],
  "conventions": {
    "brandFirst": "Set brand colors and buttons before filling pages."
  }
}
```
