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.
Discovery document
A Discovery Document is a machine-readable specification for describing and consuming REST APIs. It is used to build client libraries, IDE plugins, and other tools that interact with Google APIs. One service may provide multiple discovery documents. This service provides the following discovery document:
Service endpoint
A service endpoint is a base URL that specifies the network address of an API service. One service might have multiple service endpoints. This service has the following service endpoint and all URIs below are relative to this service endpoint:
https://firebasehosting.googleapis.com
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
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. |