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

# Retrieve a page group

Retrieves a page group by ID.

# 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
          }
        }
      },
      "Languages": {
        "type": "object",
        "description": "Available languages configuration.",
        "nullable": true,
        "properties": {
          "default": {
            "type": "string",
            "example": "en"
          },
          "others": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "fi",
              "de",
              "fr"
            ]
          }
        }
      },
      "PageGroup": {
        "type": "object",
        "description": "Full page group object returned by GET /page-groups/{pageGroupId}. Includes locale, layout, languages and properties.\n",
        "properties": {
          "urn": {
            "type": "string",
            "nullable": true,
            "example": "urn:happeo:page-group:abc123"
          },
          "id": {
            "type": "string",
            "example": "1h9tm1r306kfh02kh0"
          },
          "locale": {
            "type": "string",
            "nullable": true,
            "example": "en"
          },
          "archived": {
            "type": "boolean",
            "example": false
          },
          "name": {
            "type": "string",
            "nullable": true,
            "example": "My Page Group"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "navigation": {
            "$ref": "#/components/schemas/Navigation"
          },
          "layout": {
            "type": "string",
            "nullable": true,
            "example": "default"
          },
          "languages": {
            "$ref": "#/components/schemas/Languages"
          },
          "timestamps": {
            "$ref": "#/components/schemas/Timestamps"
          }
        }
      },
      "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": {
      "pageGroupId": {
        "name": "pageGroupId",
        "in": "path",
        "description": "The page group ID.",
        "required": true,
        "schema": {
          "type": "string",
          "example": "1h9tm1r306kfh02kh0"
        }
      }
    },
    "responses": {
      "PageGroupResponse": {
        "description": "A page group.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PageGroup"
            }
          }
        }
      },
      "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."
                }
              }
            }
          }
        }
      },
      "NotFoundResponse": {
        "description": "The requested resource was not found.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Not found."
                }
              }
            }
          }
        }
      }
    }
  },
  "security": [
    {
      "headerAuth": []
    }
  ],
  "paths": {
    "/page-groups/{pageGroupId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/pageGroupId"
        }
      ],
      "get": {
        "summary": "Retrieve a page group",
        "description": "Retrieves a page group by ID.",
        "operationId": "getPageGroup",
        "responses": {
          "200": {
            "$ref": "#/components/responses/PageGroupResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          }
        },
        "tags": [
          "Page Groups"
        ]
      }
    }
  },
  "tags": [
    {
      "name": "Page Groups",
      "description": "Page group related operations."
    }
  ]
}
```