Skip to content

Pages API

DETAILS: Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

Endpoints for managing GitLab Pages.

The GitLab Pages feature must be enabled to use these endpoints. Find out more about administering and using the feature.

Unpublish Pages

Prerequisites:

  • You must have administrator access to the instance.

Remove Pages.

DELETE /projects/:id/pages
Attribute Type Required Description
id integer/string yes The ID or URL-encoded path of the project owned by the authenticated user
curl --request 'DELETE' --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/2/pages"

Get Pages settings for a project

Prerequisites:

  • You must have at least the Maintainer role for the project.

List Pages settings for the project.

GET /projects/:id/pages

Supported attributes:

Attribute Type Required Description
id integer/string Yes The ID or URL-encoded path of the project owned by the authenticated user

If successful, returns 200 and the following response attributes:

Attribute Type Description
url string URL to access this project's Pages.
is_unique_domain_enabled boolean If unique domain is enabled.
force_https boolean true if the project is set to force HTTPS.
deployments[] array List of current active deployments.
deployments[] attribute Type Description
created_at date Date deployment was created.
url string URL for this deployment.
path_prefix string Path prefix of this deployment when using multiple deployments.
root_directory string Root directory.

Example request:

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/2/pages"

Example response:

{
  "url": "http://html-root-4160ce5f0e9a6c90ccb02755b7fc80f5a2a09ffbb1976cf80b653.pages.gdk.test:3010",
  "is_unique_domain_enabled": true,
  "force_https": false,
  "deployments": [
    {
      "created_at": "2024-01-05T18:58:14.916Z",
      "url": "http://html-root-4160ce5f0e9a6c90ccb02755b7fc80f5a2a09ffbb1976cf80b653.pages.gdk.test:3010/",
      "path_prefix": "",
      "root_directory": null
    },
    {
      "created_at": "2024-01-05T18:58:46.042Z",
      "url": "http://html-root-4160ce5f0e9a6c90ccb02755b7fc80f5a2a09ffbb1976cf80b653.pages.gdk.test:3010/mr3",
      "path_prefix": "mr3",
      "root_directory": null
    }
  ]
}

Update Pages settings for a project

Prerequisites:

  • You must have administrator access to the instance.

Update Pages settings for the project.

PATCH /projects/:id/pages

Supported attributes:

Attribute Type Required Description
id integer/string Yes The ID or URL-encoded path of the project owned by the authenticated user
pages_unique_domain_enabled boolean No Whether to use unique domain
pages_https_only boolean No Whether to force HTTPs

If successful, returns 200 and the following response attributes:

Attribute Type Description
url string URL to access this project's Pages.
is_unique_domain_enabled boolean If unique domain is enabled.
force_https boolean true if the project is set to force HTTPS.
deployments[] array List of current active deployments.
deployments[] attribute Type Description
created_at date Date deployment was created.
url string URL for this deployment.
path_prefix string Path prefix of this deployment when using multiple deployments.
root_directory string Root directory.

Example request:

curl --request PATCH --header "PRIVATE-TOKEN: <your_access_token>" --url "https://gitlab.example.com/api/v4/projects/:id/pages" \
--form 'pages_unique_domain_enabled=true' --form 'pages_https_only=true'

Example response:

{
  "url": "http://html-root-4160ce5f0e9a6c90ccb02755b7fc80f5a2a09ffbb1976cf80b653.pages.gdk.test:3010",
  "is_unique_domain_enabled": true,
  "force_https": false,
  "deployments": [
    {
      "created_at": "2024-01-05T18:58:14.916Z",
      "url": "http://html-root-4160ce5f0e9a6c90ccb02755b7fc80f5a2a09ffbb1976cf80b653.pages.gdk.test:3010/",
      "path_prefix": "",
      "root_directory": null
    },
    {
      "created_at": "2024-01-05T18:58:46.042Z",
      "url": "http://html-root-4160ce5f0e9a6c90ccb02755b7fc80f5a2a09ffbb1976cf80b653.pages.gdk.test:3010/mr3",
      "path_prefix": "mr3",
      "root_directory": null
    }
  ]
}