# Webpages

Webpages are CMS pages associated with Records that enable public-facing content. They support dynamic content layouts using PageContent structures, preview and production environments, scheduled publishing (publish_at/unpublish_at), SEO metadata (title, excerpt, slug, image), custom CSS and JavaScript, and sidebar previews. Webpages are used to create career sites, landing pages, job detail pages, and other public-facing content. They integrate with Forms for data collection and Previews for displaying related Records. Webpages can be published/unpublished, support environment-specific content (preview vs production), and maintain publication timestamps. The Webpage system enables dynamic, data-driven public websites where content is managed through Records and automatically rendered as HTML pages.

## Get webpage details

 - [GET /api/v2/webpages/{uuid}](https://developer.caraer.com/apis/webpages/getwebpage.md): Retrieves detailed information for a webpage identified by its UUID. Optionally, the webpage title is 'smartened' if the smartened parameter is true.

## Update a webpage

 - [PUT /api/v2/webpages/{uuid}](https://developer.caraer.com/apis/webpages/updatewebpage.md): Updates an existing webpage identified by its UUID using the provided webpage details. Returns an UpdateResponse containing the updated webpage as a WebpageDTO. Validation: Webpage fields are validated according to the Webpage validation rules. Required fields and format constraints are enforced.

## Unpublish a webpage

 - [PUT /api/v2/webpages/{uuid}/unpublish](https://developer.caraer.com/apis/webpages/unpublishwebpage.md): Unpublishes a webpage by its UUID. Optionally, an unpublishAt timestamp (in seconds) may be provided. Returns an UpdateResponse containing the unpublished webpage details.

## Publish a webpage

 - [PUT /api/v2/webpages/{uuid}/publish](https://developer.caraer.com/apis/webpages/publishwebpage.md): Publishes a webpage by its UUID. Optionally, a publish_at timestamp (in seconds) may be provided. Returns an UpdateResponse containing the published webpage details.

## Upload a file for a webpage

 - [POST /api/v2/webpages/{uuid}/uploadFile](https://developer.caraer.com/apis/webpages/uploadfile.md): Uploads a file to S3 storage under the specified webpage's attachments folder, sets the file's ACL to public, and returns the public URL for the file in a SuccessResponse.

## Claim a webpage editing session

 - [POST /api/v2/webpages/{uuid}/editing-session](https://developer.caraer.com/apis/webpages/claimwebpageeditingsession.md): Registers the current user as editing this webpage so other users are blocked from opening the builder.

## Release a webpage editing session

 - [DELETE /api/v2/webpages/{uuid}/editing-session](https://developer.caraer.com/apis/webpages/releasewebpageeditingsession.md): Releases the editing session held by the current user for this webpage.

## Copy a webpage from one environment to another

 - [POST /api/v2/webpages/{uuid}/copy/{fromEnvironment}/{toEnvironment}](https://developer.caraer.com/apis/webpages/copywebpage.md): Copies a webpage by its UUID from one environment to another. Returns a CreateResponse containing the copied webpage as a WebpageDTO.

## Upload a file

 - [POST /api/v2/webpages/uploadFile](https://developer.caraer.com/apis/webpages/uploadfile_1.md): Uploads a file to S3 storage and returns the public URL for the file in a SuccessResponse.

## Get template webpage

 - [GET /api/v2/webpages/template/{objectName}/{environment}](https://developer.caraer.com/apis/webpages/gettemplatewebpage.md): Retrieves the template webpage for the given object name by querying the TemplateWebpage associated with it. Returns a ShowResponse containing TemplateWebpageDTO data.

## Create or update template webpage

 - [POST /api/v2/webpages/template/{objectName}/{environment}](https://developer.caraer.com/apis/webpages/createorupdatetemplatewebpage.md): Creates a new or updates an existing template webpage for the specified object. An event is published after the template is changed. Returns an UpdateResponse or CreateResponse with the template webpage details.

## Claim a template webpage editing session

 - [POST /api/v2/webpages/template/{objectName}/{environment}/editing-session](https://developer.caraer.com/apis/webpages/claimtemplatewebpageeditingsession.md): Registers the current user as editing the template webpage so other users are blocked from opening the builder.

## Release a template webpage editing session

 - [DELETE /api/v2/webpages/template/{objectName}/{environment}/editing-session](https://developer.caraer.com/apis/webpages/releasetemplatewebpageeditingsession.md): Releases the editing session held by the current user for this template webpage.

## Copy a template webpage from one environment to another

 - [POST /api/v2/webpages/template/{objectName}/copy/{fromEnvironment}/{toEnvironment}](https://developer.caraer.com/apis/webpages/copytemplatewebpage.md): Copies a template webpage by object name from one environment to another. Returns a CreateResponse containing the copied template webpage as a TemplateWebpageDTO.

## Get previews for a public webpage

 - [POST /api/v2/webpages/public/previews/{pageUuid}/{componentUuid}/{layout}](https://developer.caraer.com/apis/webpages/getpublicpreviews.md): Retrieves a list of previews for a public webpage identified by its UUID. Returns a PaginationResponse containing PreviewDTO objects.

## Get all environments

 - [GET /api/v2/webpages/environments](https://developer.caraer.com/apis/webpages/getenvironments.md): Retrieves a list of all environments.

## Create an environment

 - [POST /api/v2/webpages/environments](https://developer.caraer.com/apis/webpages/createenvironments.md): Creates an environment.

## Copy properties to environments

 - [POST /api/v2/webpages/environments/properties](https://developer.caraer.com/apis/webpages/copypropertytoenvironments.md): Copies selected properties for the chosen environments (e.g. production_title → german_production_title).

## Create a new webpage

 - [POST /api/v2/webpages/](https://developer.caraer.com/apis/webpages/createwebpage.md): Creates a new webpage using the provided webpage details. Returns a CreateResponse containing the newly created webpage as a WebpageDTO. Validation: Webpage fields are validated according to the Webpage validation rules. Required fields and format constraints are enforced.

## Check if a webpage is being edited

 - [GET /api/v2/webpages/{uuid}/editing-status](https://developer.caraer.com/apis/webpages/getwebpageeditingstatus.md): Returns whether another user is actively editing this webpage (via an open builder session or collaborative WebSocket connection).

## Check if a template webpage is being edited

 - [GET /api/v2/webpages/template/{objectName}/{environment}/editing-status](https://developer.caraer.com/apis/webpages/gettemplatewebpageeditingstatus.md): Returns whether another user is actively editing the template webpage for the given object and environment.

## Get a public webpage by slug

 - [GET /api/v2/webpages/public/{rootSlug}/{slug}](https://developer.caraer.com/apis/webpages/getpublicwebpage.md): Retrieves a published webpage based on the provided root slug and slug. Returns a ShowResponse containing WebpageDTO data.

## Get a public webpage by UUID

 - [GET /api/v2/webpages/public/uuid/{uuid}](https://developer.caraer.com/apis/webpages/getpublicwebpagebyuuid.md): Retrieves a published webpage based on its UUID. Returns a ShowResponse containing WebpageDTO data.

## Get all public webpage slugs

 - [GET /api/v2/webpages/public/getSlugs](https://developer.caraer.com/apis/webpages/getallslugs.md): Retrieves a list of all webpage slugs for the public site. Returns a PaginationResponse containing WebpageMapItemDTO objects.

## Fetch public web menus

 - [GET /api/v2/webpages/public/getMenus](https://developer.caraer.com/apis/webpages/getmenus.md): Retrieves a list of web menus for the public site. Returns a PaginationResponse containing WebMenuDTO objects.

## Fetch public company settings

 - [GET /api/v2/webpages/public/companySettings](https://developer.caraer.com/apis/webpages/getcompanysettings.md): Retrieves the public company configuration for the given subdomain. Returns a ShowResponse containing PublicCompanyDTO details.

## List webpages for picker dropdowns

 - [GET /api/v2/webpages/picker/pages](https://developer.caraer.com/apis/webpages/getwebpagepickerpages.md): Returns uuid and title for all webpage records across objects with a Page trait. Supports optional filters for published pages and excluding template-related pages.

## Delete an environment

 - [DELETE /api/v2/webpages/environments/{environment}](https://developer.caraer.com/apis/webpages/deleteenvironment.md): Soft deletes an environment.

