> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Internal links on these pages omit the .md extension. Append .md to a docs page URL, or send an Accept: text/markdown header, to get that page as markdown.

# Get page visibility

> <Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Returns the pages that a hidden parent page keeps out of search engines, using the same rule the published app applies.

Hiding a page with `noindex` also hides the pages under it, so hiding `Units` hides `/units/:id`. Keep one of those pages visible by setting `ignore_parent_noindex` to `true` on it with [Update page SEO settings](/api-reference/update-page-seo-settings). It then appears here with `ignored` set to `true`.

A page that's also hidden by its own `noindex` is listed when a parent would hide it too, because turning its own `noindex` off doesn't make it visible. A page can appear under two keys, its file path (`units/UnitDetail`) and its component name (`UnitDetail`), with the same entry under both.



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json get /api/apps/{app_id}/seo/page-visibility
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - PersonalAccessTokenAuth: []
paths:
  /api/apps/{app_id}/seo/page-visibility:
    get:
      summary: Get page visibility
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Returns the pages that a hidden parent page keeps out of search engines,
        using the same rule the published app applies.


        Hiding a page with `noindex` also hides the pages under it, so hiding
        `Units` hides `/units/:id`. Keep one of those pages visible by setting
        `ignore_parent_noindex` to `true` on it with [Update page SEO
        settings](/api-reference/update-page-seo-settings). It then appears here
        with `ignored` set to `true`.


        A page that's also hidden by its own `noindex` is listed when a parent
        would hide it too, because turning its own `noindex` off doesn't make it
        visible. A page can appear under two keys, its file path
        (`units/UnitDetail`) and its component name (`UnitDetail`), with the
        same entry under both.
      operationId: get_page_visibility_api_apps__app_id__seo_page_visibility_get
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            description: ID of the app whose SEO settings you want.
            title: App Id
          description: ID of the app whose SEO settings you want.
          example: 6820f3a4e7b91d003c45a1f2
      responses:
        '200':
          description: The pages a hidden parent page covers.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SEOPageVisibilityResponse'
        '401':
          description: Missing or invalid credentials.
        '403':
          description: >-
            You don't have access to this app, you used a workspace API key, or
            you used a read-only personal access token. These endpoints accept a
            user's credentials only, and none of them accept a read-only
            credential, including the ones that only read.
        '404':
          description: App not found.
        '429':
          description: >-
            Rate limit exceeded. The base limit is 30 requests per minute for
            each app, counted across the workspace rather than per caller, and
            shared with the app's other SEO endpoints. See [Rate
            limits](/developers/references/apps-api/get-started/rate-limits) for
            the multiplier your plan gets.
components:
  schemas:
    SEOPageVisibilityResponse:
      properties:
        result:
          additionalProperties:
            $ref: '#/components/schemas/ParentHidden'
          type: object
          title: Result
          description: >-
            Each page a hidden parent page covers, keyed by page name. Pages no
            parent hides aren't listed, so an app with no hidden parent pages
            gets an empty object.
          example:
            UnitDetail:
              hidden_by: Units
              ignored: false
            units/UnitDetail:
              hidden_by: Units
              ignored: false
      type: object
      required:
        - result
      title: SEOPageVisibilityResponse
    ParentHidden:
      properties:
        hidden_by:
          type: string
          title: Hidden By
          description: >-
            The hidden parent page, by its name when the app has a page by that
            name, such as `Units`, or else by its URL, such as `/units`.
          example: Units
        ignored:
          type: boolean
          title: Ignored
          description: >-
            Whether the page opts out with `ignore_parent_noindex`, so the
            parent doesn't hide it. `false` means search engines don't see the
            page.
          example: false
      type: object
      required:
        - hidden_by
        - ignored
      title: ParentHidden
      description: How a hidden parent page affects one page.
  securitySchemes:
    PersonalAccessTokenAuth:
      type: http
      scheme: bearer
      description: 'Personal access token, sent as `Authorization: Bearer <token>`.'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.