POST
/repos/{owner}/{repo}/pagesCreate a GitHub Pages site
Configures a GitHub Pages site. For more information, see "About GitHub Pages."
The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission.
OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.
- RetriesRetries up to 2×, 500ms backoff, 30s timeout.
ownerstringrequired
The account owner of the repository. The name is not case sensitive.
repostringrequired
The name of the repository without the `.git` extension. The name is not case sensitive.
build_typestringoptional
The process in which the Page will be built. Possible values are `"legacy"` and `"workflow"`.
sourceobjectrequired
The source branch and directory used to publish your Pages site.
201Response
urlstringrequired
The API address for accessing this Page resource.
statusstringrequired
The status of the most recent build of the Page.
cnamestringrequired
The Pages site's custom domain
protected_domain_statestringoptional
The state if the domain is verified
pending_domain_unverified_atstringoptional
The timestamp when a pending domain becomes unverified.
custom_404booleanrequired
Whether the Page has a custom 404 page.
html_urlstringoptional
The web address the Page can be accessed from.
build_typestringoptional
The process in which the Page will be built.
sourceobjectoptional
publicbooleanrequired
Whether the GitHub Pages site is publicly visible. If set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site.
https_certificateobjectoptional
https_enforcedbooleanoptional
Whether https is enabled on the domain
409Conflict
messagestringoptional
documentation_urlstringoptional
urlstringoptional
statusstringoptional
422Validation failed, or the endpoint has been spammed.
messagestringrequired
documentation_urlstringrequired
errorsarray<object>optional
Error handling
A 409 is returned: Conflict. A 422 is returned: Validation failed, or the endpoint has been spammed.