Firebase Hosting API

The Firebase Hosting REST API enables programmatic and customizable management and deployments to your Firebase-hosted sites. Use this REST API to create and manage channels and sites as well as to deploy new or updated hosting configurations and content files.

For a step-by-step example of the deploy workflow, visit Deploy using the REST API.

Service: firebasehosting.googleapis.com

To call this service, we recommend that you use the Google-provided client libraries. If your application needs to use your own libraries to call this service, use the following information when you make the API requests.

REST Resource: v1beta1.projects.operations

Methods
get GET /v1beta1/{name=projects/*/operations/*}
Gets the latest state of a long-running operation.

REST Resource: v1beta1.projects.sites

Methods
create POST /v1beta1/{parent=projects/*}/sites
Creates a new Hosting Site in the specified parent Firebase project.
delete DELETE /v1beta1/{name=projects/*/sites/*}
Deletes the specified Hosting Site from the specified parent Firebase project.
get GET /v1beta1/{name=projects/*/sites/*}
Gets the specified Hosting Site.
list GET /v1beta1/{parent=projects/*}/sites
Lists each Hosting Site associated with the specified parent Firebase project.
patch PATCH /v1beta1/{site.name=projects/*/sites/*}
Updates attributes of the specified Hosting Site.

REST Resource: v1beta1.projects.sites.customDomains

Methods
create POST /v1beta1/{parent=projects/*/sites/*}/customDomains
Creates a CustomDomain.
delete DELETE /v1beta1/{name=projects/*/sites/*/customDomains/*}
Deletes the specified CustomDomain.
get GET /v1beta1/{name=projects/*/sites/*/customDomains/*}
Gets the specified CustomDomain.
list GET /v1beta1/{parent=projects/*/sites/*}/customDomains
Lists each CustomDomain associated with the specified parent Hosting site.
patch PATCH /v1beta1/{customDomain.name=projects/*/sites/*/customDomains/*}
Updates the specified CustomDomain.
undelete POST /v1beta1/{name=projects/*/sites/*/customDomains/*}:undelete
Undeletes the specified CustomDomain if it has been soft-deleted.

REST Resource: v1beta1.projects.sites.customDomains.operations

Methods
get GET /v1beta1/{name=projects/*/sites/*/customDomains/*/operations/*}
Gets the latest state of a long-running operation.
list GET /v1beta1/{name=projects/*/sites/*/customDomains/*}/operations
Lists operations that match the specified filter in the request.

REST Resource: v1beta1.sites.channels

Methods
create POST /v1beta1/{parent=sites/*}/channels
Creates a new channel in the specified site.
delete DELETE /v1beta1/{name=sites/*/channels/*}
Deletes the specified channel of the specified site.
get GET /v1beta1/{name=sites/*/channels/*}
Retrieves information for the specified channel of the specified site.
list GET /v1beta1/{parent=sites/*}/channels
Lists the channels for the specified site.
patch PATCH /v1beta1/{channel.name=sites/*/channels/*}
Updates information for the specified channel of the specified site.

REST Resource: v1beta1.sites.channels.releases

Methods
create POST /v1beta1/{parent=sites/*/channels/*}/releases
Creates a new release, which makes the content of the specified version actively display on the appropriate URL(s).
get GET /v1beta1/{name=sites/*/channels/*/releases/*}
Gets the specified release for a site or channel.
list GET /v1beta1/{parent=sites/*/channels/*}/releases
Lists the releases that have been created for the specified site or channel.

REST Resource: v1beta1.sites.releases

Methods
create POST /v1beta1/{parent=sites/*}/releases
Creates a new release, which makes the content of the specified version actively display on the appropriate URL(s).
get GET /v1beta1/{name=sites/*/releases/*}
Gets the specified release for a site or channel.
list GET /v1beta1/{parent=sites/*}/releases
Lists the releases that have been created for the specified site or channel.

REST Resource: v1beta1.sites.versions

Methods
clone POST /v1beta1/{parent=sites/*}/versions:clone
Creates a new version on the specified target site using the content of the specified version.
create POST /v1beta1/{parent=sites/*}/versions
Creates a new version for the specified site.
delete DELETE /v1beta1/{name=sites/*/versions/*}
Deletes the specified version.
get GET /v1beta1/{name=sites/*/versions/*}
Get the specified version that has been created for the specified site.
list GET /v1beta1/{parent=sites/*}/versions
Lists the versions that have been created for the specified site.
patch PATCH /v1beta1/{version.name=sites/*/versions/*}
Updates the specified metadata for the specified version.
populateFiles POST /v1beta1/{parent=sites/*/versions/*}:populateFiles
Adds content files to the specified version.

REST Resource: v1beta1.sites.versions.files

Methods
list GET /v1beta1/{parent=sites/*/versions/*}/files
Lists the remaining files to be uploaded for the specified version.