---
updatedAt: 2026-02-19T13:57:38.000Z
agentTools:
  projectIndex: https://developers.happeo.com/llms.txt
---

# List page groups

Lists page groups visible to the requesting user.

# OpenAPI definition

```json
{
  "openapi": "3.0.2",
  "info": {
    "version": "0.0.1",
    "title": "Happeo Pages API",
    "description": "API to manage pages and page groups.",
    "license": {
      "name": "UNLICENSED"
    },
    "termsOfService": "https://www.happeo.com/tos",
    "contact": {
      "name": "API Support",
      "email": "support@happeo.com"
    }
  },
  "servers": [
    {
      "url": "https://api.happeo.com",
      "description": "Production server"
    },
    {
      "url": "https://api.unvrs.io",
      "description": "Staging server"
    }
  ],
  "components": {
    "securitySchemes": {
      "headerAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "x-happeo-apikey",
        "description": "API key passed in the headers."
      }
    },
    "schemas": {
      "Timestamps": {
        "type": "object",
        "description": "Timestamp information.",
        "nullable": true,
        "properties": {
          "updated": {
            "type": "string",
            "nullable": true,
            "example": "2024-02-10T12:00:00Z"
          },
          "created": {
            "type": "string",
            "nullable": true,
            "example": "2024-02-09T10:00:00Z"
          },
          "archived": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "PageGroupListItem": {
        "type": "object",
        "description": "Summary page group object returned in GET /page-groups list. Omits locale, layout, languages and properties.\n",
        "properties": {
          "urn": {
            "type": "string",
            "nullable": true,
            "example": "urn:happeo:page-group:abc123"
          },
          "id": {
            "type": "string",
            "example": "1h9tm1r306kfh02kh0"
          },
          "name": {
            "type": "string",
            "nullable": true,
            "example": "My Page Group"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "archived": {
            "type": "boolean",
            "example": false
          },
          "timestamps": {
            "$ref": "#/components/schemas/Timestamps"
          },
          "navigation": {
            "$ref": "#/components/schemas/Navigation"
          }
        }
      },
      "Navigation": {
        "type": "object",
        "description": "Hierarchical page tree.",
        "nullable": true,
        "properties": {
          "type": {
            "type": "string",
            "nullable": true,
            "example": "sidebar"
          },
          "pages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NavigationItem"
            }
          }
        }
      },
      "NavigationItem": {
        "type": "object",
        "description": "A navigation entry with optional subpages.",
        "properties": {
          "page": {
            "$ref": "#/components/schemas/Page"
          },
          "permissions": {
            "type": "object",
            "nullable": true
          },
          "subpages": {
            "type": "array",
            "description": "Nested subpages (up to four levels deep).",
            "items": {
              "$ref": "#/components/schemas/NavigationItemNested"
            }
          }
        }
      },
      "NavigationItemNested": {
        "type": "object",
        "description": "A nested navigation entry.",
        "properties": {
          "page": {
            "$ref": "#/components/schemas/Page"
          },
          "permissions": {
            "type": "object",
            "nullable": true
          },
          "subpages": {
            "type": "array",
            "description": "Further nested subpages.",
            "items": {
              "$ref": "#/components/schemas/NavigationItemLeaf"
            }
          }
        }
      },
      "NavigationItemLeaf": {
        "type": "object",
        "description": "A leaf navigation entry (no further nesting).",
        "properties": {
          "page": {
            "$ref": "#/components/schemas/Page"
          },
          "permissions": {
            "type": "object",
            "nullable": true
          }
        }
      },
      "Page": {
        "type": "object",
        "description": "Page object. When type is \"regular\", includes description, published, timestamps and optionally sections. When type is \"hyperlink\", includes uri and target instead. Sections are only present in single page group and direct page responses, not in list navigation.\n",
        "properties": {
          "urn": {
            "type": "string",
            "nullable": true,
            "example": "urn:happeo:page:1h9tm1rcnm01jod60e"
          },
          "id": {
            "type": "string",
            "example": "1h9tm1rcnm01jod60e"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "enum": [
              "regular",
              "hyperlink"
            ],
            "nullable": true,
            "example": "regular"
          },
          "archived": {
            "type": "boolean",
            "example": false
          },
          "revision": {
            "type": "integer",
            "nullable": true,
            "example": 1
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "published": {
            "type": "boolean",
            "description": "Regular pages only."
          },
          "timestamps": {
            "$ref": "#/components/schemas/Timestamps"
          },
          "uri": {
            "type": "string",
            "description": "Hyperlink pages only.",
            "nullable": true,
            "example": "https://example.com"
          },
          "target": {
            "type": "string",
            "description": "Hyperlink pages only.",
            "nullable": true,
            "example": "_blank"
          },
          "sections": {
            "type": "array",
            "description": "Present in full page responses only, not in list navigation.",
            "items": {
              "type": "object"
            },
            "nullable": true
          }
        }
      }
    },
    "parameters": {
      "archived": {
        "name": "archived",
        "in": "query",
        "description": "Whether to include archived page groups.",
        "required": false,
        "schema": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "responses": {
      "PageGroupListResponse": {
        "description": "A list of page groups.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "items": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PageGroupListItem"
                  }
                }
              }
            }
          }
        }
      },
      "ForbiddenResponse": {
        "description": "Access denied. The user does not have permission to access this resource.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Access denied."
                }
              }
            }
          }
        }
      }
    }
  },
  "security": [
    {
      "headerAuth": []
    }
  ],
  "paths": {
    "/page-groups": {
      "get": {
        "summary": "List page groups",
        "description": "Lists page groups visible to the requesting user.",
        "operationId": "listPageGroups",
        "parameters": [
          {
            "$ref": "#/components/parameters/archived"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/PageGroupListResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          }
        },
        "tags": [
          "Page Groups"
        ]
      }
    }
  },
  "tags": [
    {
      "name": "Page Groups",
      "description": "Page group related operations."
    }
  ]
}
```