openapi-directory
Version:
Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS
1 lines • 82.8 kB
JSON
{"openapi":"3.0.0","servers":[{"url":"https://firebasehosting.googleapis.com/"}],"info":{"contact":{"name":"Google","url":"https://google.com","x-twitter":"youtube"},"description":"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.","license":{"name":"Creative Commons Attribution 3.0","url":"http://creativecommons.org/licenses/by/3.0/"},"termsOfService":"https://developers.google.com/terms/","title":"Firebase Hosting API","version":"v1beta1","x-apiClientRegistration":{"url":"https://console.developers.google.com"},"x-apisguru-categories":["analytics","media"],"x-logo":{"url":"https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"},"x-origin":[{"format":"google","url":"https://firebasehosting.googleapis.com/$discovery/rest?version=v1beta1","version":"v1"}],"x-preferred":true,"x-providerName":"googleapis.com","x-serviceName":"firebasehosting"},"externalDocs":{"url":"https://firebase.google.com/docs/hosting/"},"tags":[{"name":"projects"},{"name":"sites"}],"paths":{"/v1beta1/{name}":{"delete":{"description":"Deletes the specified version.","operationId":"firebasehosting.sites.versions.delete","parameters":[{"description":"Required. The fully-qualified resource name for the version, in the format: sites/SITE_ID/versions/VERSION_ID","in":"path","name":"name","required":true,"schema":{"type":"string"}},{"description":"If true, the request succeeds even if the `CustomDomain` doesn't exist.","in":"query","name":"allowMissing","schema":{"type":"boolean"}},{"description":"A tag that represents the state of the `CustomDomain` as you know it. If present, the supplied tag must match the current value on your `CustomDomain`, or the request fails.","in":"query","name":"etag","schema":{"type":"string"}},{"description":"If true, Hosting validates that it's possible to complete your request but doesn't actually delete the `CustomDomain`.","in":"query","name":"validateOnly","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Empty"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/firebase"],"Oauth2c":["https://www.googleapis.com/auth/firebase"]}],"tags":["sites"]},"get":{"description":"Get the specified version that has been created for the specified site. This can include versions that were created for the default `live` channel or for any active preview channels for the specified site.","operationId":"firebasehosting.sites.versions.get","parameters":[{"description":"Required. The fully-qualified resource name for the version, in the format: sites/SITE_ID/versions/VERSION_ID","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-platform.read-only"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform.read-only"]},{"Oauth2":["https://www.googleapis.com/auth/firebase"],"Oauth2c":["https://www.googleapis.com/auth/firebase"]},{"Oauth2":["https://www.googleapis.com/auth/firebase.readonly"],"Oauth2c":["https://www.googleapis.com/auth/firebase.readonly"]}],"tags":["sites"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"patch":{"description":" Updates the specified metadata for the specified version. This method will fail with `FAILED_PRECONDITION` in the event of an invalid state transition. The supported [state](../sites.versions#versionstatus) transitions for a version are from `CREATED` to `FINALIZED`. Use [`DeleteVersion`](delete) to set the status of a version to `DELETED`.","operationId":"firebasehosting.sites.versions.patch","parameters":[{"description":"The fully-qualified resource name for the version, in the format: sites/ SITE_ID/versions/VERSION_ID This name is provided in the response body when you call [`CreateVersion`](sites.versions/create).","in":"path","name":"name","required":true,"schema":{"type":"string"}},{"description":"A set of field names from your [version](../sites.versions) that you want to update. A field will be overwritten if, and only if, it's in the mask. If a mask is not provided then a default mask of only [`status`](../sites.versions#Version.FIELDS.status) will be used.","in":"query","name":"updateMask","schema":{"type":"string"}},{"description":"If true, Hosting validates that it's possible to complete your request but doesn't actually create or update the `CustomDomain`.","in":"query","name":"validateOnly","schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/firebase"],"Oauth2c":["https://www.googleapis.com/auth/firebase"]}],"tags":["sites"]},"put":{"description":"Updates the specified domain mapping, creating the mapping as if it does not exist.","operationId":"firebasehosting.sites.domains.update","parameters":[{"description":"Required. The name of the domain association to update or create, if an association doesn't already exist.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Domain"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Domain"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/firebase"],"Oauth2c":["https://www.googleapis.com/auth/firebase"]}],"tags":["sites"]}},"/v1beta1/{name}/operations":{"get":{"description":"Lists operations that match the specified filter in the request.","operationId":"firebasehosting.projects.sites.customDomains.operations.list","parameters":[{"description":"The name of the operation's parent resource.","in":"path","name":"name","required":true,"schema":{"type":"string"}},{"description":"The standard list filter.","in":"query","name":"filter","schema":{"type":"string"}},{"description":"The standard list page size.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"The standard list page token.","in":"query","name":"pageToken","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOperationsResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-platform.read-only"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform.read-only"]},{"Oauth2":["https://www.googleapis.com/auth/firebase"],"Oauth2c":["https://www.googleapis.com/auth/firebase"]},{"Oauth2":["https://www.googleapis.com/auth/firebase.readonly"],"Oauth2c":["https://www.googleapis.com/auth/firebase.readonly"]}],"tags":["projects"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}]},"/v1beta1/{name}:undelete":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Undeletes the specified `CustomDomain` if it has been soft-deleted. Hosting retains soft-deleted custom domains for around 30 days before permanently deleting them.","operationId":"firebasehosting.projects.sites.customDomains.undelete","parameters":[{"description":"Required. The name of the `CustomDomain` to delete.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UndeleteCustomDomainRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/firebase"],"Oauth2c":["https://www.googleapis.com/auth/firebase"]}],"tags":["projects"]}},"/v1beta1/{parent}/channels":{"get":{"description":"Lists the channels for the specified site. All sites have a default `live` channel.","operationId":"firebasehosting.sites.channels.list","parameters":[{"description":"Required. The site for which to list channels, in the format: sites/SITE_ID","in":"path","name":"parent","required":true,"schema":{"type":"string"}},{"description":"The maximum number of channels to return. The service may return a lower number if fewer channels exist than this maximum number. If unspecified, defaults to 10. The maximum value is 100; values above 100 will be coerced to 100.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"A token from a previous call to `ListChannels` that tells the server where to resume listing.","in":"query","name":"pageToken","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListChannelsResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-platform.read-only"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform.read-only"]},{"Oauth2":["https://www.googleapis.com/auth/firebase"],"Oauth2c":["https://www.googleapis.com/auth/firebase"]},{"Oauth2":["https://www.googleapis.com/auth/firebase.readonly"],"Oauth2c":["https://www.googleapis.com/auth/firebase.readonly"]}],"tags":["sites"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Creates a new channel in the specified site.","operationId":"firebasehosting.sites.channels.create","parameters":[{"description":"Required. The site in which to create this channel, in the format: sites/ SITE_ID","in":"path","name":"parent","required":true,"schema":{"type":"string"}},{"description":"Required. Immutable. A unique ID within the site that identifies the channel.","in":"query","name":"channelId","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Channel"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Channel"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/firebase"],"Oauth2c":["https://www.googleapis.com/auth/firebase"]}],"tags":["sites"]}},"/v1beta1/{parent}/customDomains":{"get":{"description":"Lists each `CustomDomain` associated with the specified parent Hosting site. Returns `CustomDomain`s in a consistent, but undefined, order to facilitate pagination.","operationId":"firebasehosting.projects.sites.customDomains.list","parameters":[{"description":"Required. The Firebase Hosting `Site` with `CustomDomain` entities you'd like to list.","in":"path","name":"parent","required":true,"schema":{"type":"string"}},{"description":"The max number of `CustomDomain` entities to return in a request. Defaults to 10.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"A token from a previous call to `ListCustomDomains` that tells the server where to resume listing.","in":"query","name":"pageToken","schema":{"type":"string"}},{"description":"If true, the request returns soft-deleted `CustomDomain`s that haven't been fully-deleted yet. To restore deleted `CustomDomain`s, make an `UndeleteCustomDomain` request.","in":"query","name":"showDeleted","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCustomDomainsResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-platform.read-only"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform.read-only"]},{"Oauth2":["https://www.googleapis.com/auth/firebase"],"Oauth2c":["https://www.googleapis.com/auth/firebase"]},{"Oauth2":["https://www.googleapis.com/auth/firebase.readonly"],"Oauth2c":["https://www.googleapis.com/auth/firebase.readonly"]}],"tags":["projects"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Creates a `CustomDomain`.","operationId":"firebasehosting.projects.sites.customDomains.create","parameters":[{"description":"Required. The custom domain's parent, specifically a Firebase Hosting `Site`.","in":"path","name":"parent","required":true,"schema":{"type":"string"}},{"description":"Required. The ID of the `CustomDomain`, which is the domain name you'd like to use with Firebase Hosting.","in":"query","name":"customDomainId","schema":{"type":"string"}},{"description":"If true, Hosting validates that it's possible to complete your request but doesn't actually create a new `CustomDomain`.","in":"query","name":"validateOnly","schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDomain"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/firebase"],"Oauth2c":["https://www.googleapis.com/auth/firebase"]}],"tags":["projects"]}},"/v1beta1/{parent}/domains":{"get":{"description":"Lists the domains for the specified site.","operationId":"firebasehosting.sites.domains.list","parameters":[{"description":"Required. The parent for which to list domains, in the format: sites/ site-name","in":"path","name":"parent","required":true,"schema":{"type":"string"}},{"description":"The page size to return. Defaults to 50.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"The next_page_token from a previous request, if provided.","in":"query","name":"pageToken","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListDomainsResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-platform.read-only"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform.read-only"]},{"Oauth2":["https://www.googleapis.com/auth/firebase"],"Oauth2c":["https://www.googleapis.com/auth/firebase"]},{"Oauth2":["https://www.googleapis.com/auth/firebase.readonly"],"Oauth2c":["https://www.googleapis.com/auth/firebase.readonly"]}],"tags":["sites"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Creates a domain mapping on the specified site.","operationId":"firebasehosting.sites.domains.create","parameters":[{"description":"Required. The parent to create the domain association for, in the format: sites/site-name","in":"path","name":"parent","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Domain"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Domain"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/firebase"],"Oauth2c":["https://www.googleapis.com/auth/firebase"]}],"tags":["sites"]}},"/v1beta1/{parent}/files":{"get":{"description":"Lists the remaining files to be uploaded for the specified version.","operationId":"firebasehosting.sites.versions.files.list","parameters":[{"description":"Required. The version for which to list files, in the format: sites/SITE_ID /versions/VERSION_ID","in":"path","name":"parent","required":true,"schema":{"type":"string"}},{"description":"The maximum number of version files to return. The service may return a lower number if fewer version files exist than this maximum number. If unspecified, defaults to 1000.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"A token from a previous call to `ListVersionFiles` that tells the server where to resume listing.","in":"query","name":"pageToken","schema":{"type":"string"}},{"description":" The type of files that should be listed for the specified version.","in":"query","name":"status","schema":{"enum":["STATUS_UNSPECIFIED","EXPECTED","ACTIVE"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListVersionFilesResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-platform.read-only"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform.read-only"]},{"Oauth2":["https://www.googleapis.com/auth/firebase"],"Oauth2c":["https://www.googleapis.com/auth/firebase"]},{"Oauth2":["https://www.googleapis.com/auth/firebase.readonly"],"Oauth2c":["https://www.googleapis.com/auth/firebase.readonly"]}],"tags":["sites"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}]},"/v1beta1/{parent}/releases":{"get":{"description":"Lists the releases that have been created for the specified site or channel. When used to list releases for a site, this list includes releases for both the default `live` channel and any active preview channels for the specified site.","operationId":"firebasehosting.sites.releases.list","parameters":[{"description":"Required. The site or channel for which to list releases, in either of the following formats: - sites/SITE_ID - sites/SITE_ID/channels/CHANNEL_ID ","in":"path","name":"parent","required":true,"schema":{"type":"string"}},{"description":"The maximum number of releases to return. The service may return a lower number if fewer releases exist than this maximum number. If unspecified, defaults to 100.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"A token from a previous call to `releases.list` or `channels.releases.list` that tells the server where to resume listing.","in":"query","name":"pageToken","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListReleasesResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-platform.read-only"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform.read-only"]},{"Oauth2":["https://www.googleapis.com/auth/firebase"],"Oauth2c":["https://www.googleapis.com/auth/firebase"]},{"Oauth2":["https://www.googleapis.com/auth/firebase.readonly"],"Oauth2c":["https://www.googleapis.com/auth/firebase.readonly"]}],"tags":["sites"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Creates a new release, which makes the content of the specified version actively display on the appropriate URL(s).","operationId":"firebasehosting.sites.releases.create","parameters":[{"description":"Required. The site or channel to which the release belongs, in either of the following formats: - sites/SITE_ID - sites/SITE_ID/channels/CHANNEL_ID","in":"path","name":"parent","required":true,"schema":{"type":"string"}},{"description":" The unique identifier for a version, in the format: sites/SITE_ID/versions/ VERSION_ID The SITE_ID in this version identifier must match the SITE_ID in the `parent` parameter. This query parameter must be empty if the `type` field in the request body is `SITE_DISABLE`.","in":"query","name":"versionName","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Release"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Release"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/firebase"],"Oauth2c":["https://www.googleapis.com/auth/firebase"]}],"tags":["sites"]}},"/v1beta1/{parent}/sites":{"get":{"description":"Lists each Hosting Site associated with the specified parent Firebase project.","operationId":"firebasehosting.projects.sites.list","parameters":[{"description":"Required. The Firebase project for which to list sites, in the format: projects/PROJECT_IDENTIFIER Refer to the `Site` [`name`](../projects#Site.FIELDS.name) field for details about PROJECT_IDENTIFIER values.","in":"path","name":"parent","required":true,"schema":{"type":"string"}},{"description":"Optional. The maximum number of sites to return. The service may return a lower number if fewer sites exist than this maximum number. If unspecified, defaults to 40.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"Optional. A token from a previous call to `ListSites` that tells the server where to resume listing.","in":"query","name":"pageToken","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSitesResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-platform.read-only"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform.read-only"]},{"Oauth2":["https://www.googleapis.com/auth/firebase"],"Oauth2c":["https://www.googleapis.com/auth/firebase"]},{"Oauth2":["https://www.googleapis.com/auth/firebase.readonly"],"Oauth2c":["https://www.googleapis.com/auth/firebase.readonly"]}],"tags":["projects"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Creates a new Hosting Site in the specified parent Firebase project. Note that Hosting sites can take several minutes to propagate through Firebase systems.","operationId":"firebasehosting.projects.sites.create","parameters":[{"description":"Required. The Firebase project in which to create a Hosting site, in the format: projects/PROJECT_IDENTIFIER Refer to the `Site` [`name`](../projects#Site.FIELDS.name) field for details about PROJECT_IDENTIFIER values.","in":"path","name":"parent","required":true,"schema":{"type":"string"}},{"description":"Required. Immutable. A globally unique identifier for the Hosting site. This identifier is used to construct the Firebase-provisioned subdomains for the site, so it must also be a valid domain name label.","in":"query","name":"siteId","schema":{"type":"string"}},{"description":"Optional. If set, validates that the site_id is available and that the request would succeed, returning the expected resulting site or error.","in":"query","name":"validateOnly","schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Site"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Site"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/firebase"],"Oauth2c":["https://www.googleapis.com/auth/firebase"]}],"tags":["projects"]}},"/v1beta1/{parent}/versions":{"get":{"description":"Lists the versions that have been created for the specified site. This list includes versions for both the default `live` channel and any active preview channels for the specified site.","operationId":"firebasehosting.sites.versions.list","parameters":[{"description":"Required. The site or channel for which to list versions, in either of the following formats: - sites/SITE_ID - sites/SITE_ID/channels/CHANNEL_ID ","in":"path","name":"parent","required":true,"schema":{"type":"string"}},{"description":"A filter string used to return a subset of versions in the response. The currently supported fields for filtering are: `name`, `status`, and `create_time`. Learn more about filtering in Google's [AIP 160 standard](https://google.aip.dev/160).","in":"query","name":"filter","schema":{"type":"string"}},{"description":"The maximum number of versions to return. The service may return a lower number if fewer versions exist than this maximum number. If unspecified, defaults to 25. The maximum value is 100; values above 100 will be coerced to 100.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"A token from a previous call to `ListVersions` that tells the server where to resume listing.","in":"query","name":"pageToken","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListVersionsResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-platform.read-only"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform.read-only"]},{"Oauth2":["https://www.googleapis.com/auth/firebase"],"Oauth2c":["https://www.googleapis.com/auth/firebase"]},{"Oauth2":["https://www.googleapis.com/auth/firebase.readonly"],"Oauth2c":["https://www.googleapis.com/auth/firebase.readonly"]}],"tags":["sites"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Creates a new version for the specified site.","operationId":"firebasehosting.sites.versions.create","parameters":[{"description":"Required. The site in which to create the version, in the format: sites/ SITE_ID","in":"path","name":"parent","required":true,"schema":{"type":"string"}},{"description":"The self-reported size of the version. This value is used for a pre-emptive quota check for legacy version uploads.","in":"query","name":"sizeBytes","schema":{"type":"string"}},{"description":"A unique id for the new version. This is was only specified for legacy version creations, and should be blank.","in":"query","name":"versionId","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/firebase"],"Oauth2c":["https://www.googleapis.com/auth/firebase"]}],"tags":["sites"]}},"/v1beta1/{parent}/versions:clone":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Creates a new version on the specified target site using the content of the specified version.","operationId":"firebasehosting.sites.versions.clone","parameters":[{"description":"Required. The target site for the cloned version, in the format: sites/ SITE_ID","in":"path","name":"parent","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloneVersionRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/firebase"],"Oauth2c":["https://www.googleapis.com/auth/firebase"]}],"tags":["sites"]}},"/v1beta1/{parent}:populateFiles":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":" Adds content files to the specified version. Each file must be under 2 GB.","operationId":"firebasehosting.sites.versions.populateFiles","parameters":[{"description":"Required. The version to which to add files, in the format: sites/SITE_ID /versions/VERSION_ID","in":"path","name":"parent","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PopulateVersionFilesRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PopulateVersionFilesResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/firebase"],"Oauth2c":["https://www.googleapis.com/auth/firebase"]}],"tags":["sites"]}}},"components":{"parameters":{"_.xgafv":{"description":"V1 error format.","in":"query","name":"$.xgafv","schema":{"enum":["1","2"],"type":"string"}},"access_token":{"description":"OAuth access token.","in":"query","name":"access_token","schema":{"type":"string"}},"alt":{"description":"Data format for response.","in":"query","name":"alt","schema":{"enum":["json","media","proto"],"type":"string"}},"callback":{"description":"JSONP","in":"query","name":"callback","schema":{"type":"string"}},"fields":{"description":"Selector specifying which fields to include in a partial response.","in":"query","name":"fields","schema":{"type":"string"}},"key":{"description":"API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.","in":"query","name":"key","schema":{"type":"string"}},"oauth_token":{"description":"OAuth 2.0 token for the current user.","in":"query","name":"oauth_token","schema":{"type":"string"}},"prettyPrint":{"description":"Returns response with indentations and line breaks.","in":"query","name":"prettyPrint","schema":{"type":"boolean"}},"quotaUser":{"description":"Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.","in":"query","name":"quotaUser","schema":{"type":"string"}},"uploadType":{"description":"Legacy upload protocol for media (e.g. \"media\", \"multipart\").","in":"query","name":"uploadType","schema":{"type":"string"}},"upload_protocol":{"description":"Upload protocol for media (e.g. \"raw\", \"multipart\").","in":"query","name":"upload_protocol","schema":{"type":"string"}}},"schemas":{"ActingUser":{"description":"Contains metadata about the user who performed an action, such as creating a release or finalizing a version.","properties":{"email":{"description":"The email address of the user when the user performed the action.","type":"string"},"imageUrl":{"description":"A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.","type":"string"}},"type":"object"},"CertDnsChallenge":{"description":"Represents a DNS certificate challenge.","properties":{"domainName":{"description":"The domain name upon which the DNS challenge must be satisfied.","type":"string"},"token":{"description":"The value that must be present as a TXT record on the domain name to satisfy the challenge.","type":"string"}},"type":"object"},"CertHttpChallenge":{"description":"Represents an HTTP certificate challenge.","properties":{"path":{"description":"The URL path on which to serve the specified token to satisfy the certificate challenge.","type":"string"},"token":{"description":"The token to serve at the specified URL path to satisfy the certificate challenge.","type":"string"}},"type":"object"},"CertVerification":{"description":"A set of ACME challenges you can use to allow Hosting to create an SSL certificate for your domain name before directing traffic to Hosting servers. Use either the DNS or HTTP challenge; it's not necessary to provide both.","properties":{"dns":{"$ref":"#/components/schemas/DnsUpdates","description":"Output only. A `TXT` record to add to your DNS records that confirms your intent to let Hosting create an SSL cert for your domain name.","readOnly":true},"http":{"$ref":"#/components/schemas/HttpUpdate","description":"Output only. A file to add to your existing, non-Hosting hosting service that confirms your intent to let Hosting create an SSL cert for your domain name.","readOnly":true}},"type":"object"},"Certificate":{"description":"An SSL certificate used to provide end-to-end encryption for requests against your domain name. A `Certificate` can be an actual SSL certificate or, for newly-created custom domains, Hosting's intent to create one.","properties":{"createTime":{"description":"Output only. The certificate's creation time. For `TEMPORARY` certs this is the time Hosting first generated challenges for your domain name. For all other cert types, it's the time the actual cert was created.","format":"google-datetime","readOnly":true,"type":"string"},"expireTime":{"description":"Output only. The certificate's expiration time. After this time, the cert can no longer be used to provide secure communication between Hosting and your site's visitors.","format":"google-datetime","readOnly":true,"type":"string"},"issues":{"description":"Output only. A set of errors Hosting encountered when attempting to create a cert for your domain name. Resolve these issues to ensure Hosting is able to provide secure communication with your site's visitors.","items":{"$ref":"#/components/schemas/Status"},"readOnly":true,"type":"array"},"state":{"description":"Output only. The state of the certificate. Only the `CERT_ACTIVE` and `CERT_EXPIRING_SOON` states provide SSL coverage for a domain name. If the state is `PROPAGATING` and Hosting had an active cert for the domain name before, that formerly-active cert provides SSL coverage for the domain name until the current cert propagates.","enum":["CERT_STATE_UNSPECIFIED","CERT_PREPARING","CERT_VALIDATING","CERT_PROPAGATING","CERT_ACTIVE","CERT_EXPIRING_SOON","CERT_EXPIRED"],"readOnly":true,"type":"string"},"type":{"description":"Output only. The certificate's type.","enum":["TYPE_UNSPECIFIED","TEMPORARY","GROUPED","PROJECT_GROUPED","DEDICATED"],"readOnly":true,"type":"string"},"verification":{"$ref":"#/components/schemas/CertVerification","description":"Output only. A set of ACME challenges you can add to your DNS records or existing, non-Hosting hosting provider to allow Hosting to create an SSL certificate for your domain name before you point traffic toward hosting. You can use thse challenges as part of a zero downtime transition from your old provider to Hosting.","readOnly":true}},"type":"object"},"Channel":{"description":"A `Channel` represents a stream of releases for a site. All sites have a default `live` channel that serves content to the Firebase-provided subdomains and any connected custom domains.","properties":{"createTime":{"description":"Output only. The time at which the channel was created.","format":"google-datetime","readOnly":true,"type":"string"},"expireTime":{"description":"The time at which the channel will be automatically deleted. If null, the channel will not be automatically deleted. This field is present in the output whether it's set directly or via the `ttl` field.","format":"google-datetime","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Text labels used for extra metadata and/or filtering.","type":"object"},"name":{"description":"The fully-qualified resource name for the channel, in the format: sites/ SITE_ID/channels/CHANNEL_ID","type":"string"},"release":{"$ref":"#/components/schemas/Release","description":"Output only. The current release for the channel, if any.","readOnly":true},"retainedReleaseCount":{"description":"The number of previous releases to retain on the channel for rollback or other purposes. Must be a number between 1-100. Defaults to 10 for new channels.","format":"int32","type":"integer"},"ttl":{"description":"Input only. A time-to-live for this channel. Sets `expire_time` to the provided duration past the time of the request.","format":"google-duration","type":"string"},"updateTime":{"description":"Output only. The time at which the channel was last updated.","format":"google-datetime","readOnly":true,"type":"string"},"url":{"description":"Output only. The URL at which the content of this channel's current release can be viewed. This URL is a Firebase-provided subdomain of `web.app`. The content of this channel's current release can also be viewed at the Firebase-provided subdomain of `firebaseapp.com`. If this channel is the `live` channel for the Hosting site, then the content of this channel's current release can also be viewed at any connected custom domains.","readOnly":true,"type":"string"}},"type":"object"},"CloneVersionRequest":{"properties":{"exclude":{"$ref":"#/components/schemas/PathFilter","description":"If provided, only paths that do not match any of the RegEx values in this list will be included in the new version."},"finalize":{"description":"If true, the call to `CloneVersion` immediately finalizes the version after cloning is complete. If false, the cloned version will have a status of `CREATED`. Use [`UpdateVersion`](patch) to set the status of the version to `FINALIZED`.","type":"boolean"},"include":{"$ref":"#/components/schemas/PathFilter","description":"If provided, only paths that match one or more RegEx values in this list will be included in the new version."},"sourceVersion":{"description":"Required. The unique identifier for the version to be cloned, in the format: sites/SITE_ID/versions/VERSION_ID","type":"string"}},"type":"object"},"CloudRunRewrite":{"description":"A configured rewrite that directs requests to a Cloud Run service. If the Cloud Run service does not exist when setting or updating your Firebase Hosting configuration, then the request fails. Any errors from the Cloud Run service are passed to the end user (for example, if you delete a service, any requests directed to that service receive a `404` error).","properties":{"region":{"description":"Optional. User-provided region where the Cloud Run service is hosted. Defaults to `us-central1` if not supplied.","type":"string"},"serviceId":{"description":"Required. User-defined ID of the Cloud Run service.","type":"string"},"tag":{"description":"Optional. User-provided TrafficConfig tag to send traffic to. When omitted, traffic is sent to the service-wide URI","type":"string"}},"type":"object"},"CustomDomain":{"description":"A `CustomDomain` is an entity that links a domain name to a Firebase Hosting site. Add a `CustomDomain` to your site to allow Hosting to serve the site's content in response to requests against your domain name.","properties":{"annotations":{"additionalProperties":{"type":"string"},"description":"Annotations you can add to leave both human- and machine-readable metadata about your `CustomDomain`.","type":"object"},"cert":{"$ref":"#/components/schemas/Certificate","description":"Output only. The SSL certificate Hosting has for this custom domain's domain name. For new custom domains, this often represents Hosting's intent to create a certificate, rather than an actual cert. Check the `state` field for more.","readOnly":true},"certPreference":{"description":"A field that lets you specify which SSL certificate type Hosting creates for your domain name. Spark plan custom domains only have access to the `GROUPED` cert type, while Blaze plan domains can select any option.","enum":["TYPE_UNSPECIFIED","TEMPORARY","GROUPED","PROJECT_GROUPED","DEDICATED"],"type":"string"},"createTime":{"description":"Output only. The custom domain's create time.","format":"google-datetime","readOnly":true,"type":"string"},"deleteTime":{"description":"Output only. The time the `CustomDomain` was deleted; null for custom domains that haven't been deleted. Deleted custom domains persist for approximately 30 days, after which time Hosting removes them completely. To restore a deleted custom domain, make an `UndeleteCustomDomain` request.","format":"google-datetime","readOnly":true,"type":"string"},"etag":{"description":"Output only. A string that represents the current state of the `CustomDomain` and allows you to confirm its initial state in requests that would modify it. Use the tag to ensure consistency when making `UpdateCustomDomain`, `DeleteCustomDomain`, and `UndeleteCustomDomain` requests.","readOnly":true,"type":"string"},"expireTime":{"description":"Output only. The minimum time before a soft-deleted `CustomDomain` is completely removed from Hosting; null for custom domains that haven't been deleted.","format":"google-datetime","readOnly":true,"type":"string"},"hostState":{"description":"Output only. The `HostState` of the domain name this `CustomDomain` refers to.","enum":["HOST_STATE_UNSPECIFIED","HOST_UNHOSTED","HOST_UNREACHABLE","HOST_MISMATCH","HOST_CONFLICT","HOST_ACTIVE"],"readOnly":true,"type":"string"},"issues":{"description":"Output only. A set of errors Hosting systems encountered when trying to establish Hosting's ability to serve secure content for your domain name. Resolve these issues to ensure your `CustomDomain` behaves properly.","items":{"$ref":"#/components/schemas/Status"},"readOnly":true,"type":"array"},"labels":{"additionalProperties":{"type":"string"},"description":"Labels used for extra metadata and/or filtering.","type":"object"},"name":{"description":"Output only. The fully-qualified name of the `CustomDomain`.","readOnly":true,"type":"string"},"ownershipState":{"description":"Output only. The `OwnershipState` of the domain name this `CustomDomain` refers to.","enum":["OWNERSHIP_STATE_UNSPECIFIED","OWNERSHIP_MISSING","OWNERSHIP_UNREACHABLE","OWNERSHIP_MISMATCH","OWNERSHIP_CONFLICT","OWNERSHIP_PENDING","OWNERSHIP_ACTIVE"],"readOnly":true,"type":"string"},"reconciling":{"description":"Output only. A field that, if true, indicates that Hosting's systems are attmepting to make the custom domain's state match your preferred state. This is most frequently `true` when initially provisioning a `CustomDomain` after a `CreateCustomDomain` request or when creating a new SSL certificate to match an updated `cert_preference` after an `UpdateCustomDomain` request.","readOnly":true,"type":"boolean"},"redirectTarget":{"description":"A domain name that this `CustomDomain` should direct traffic towards. If specified, Hosting will respond to requests against this custom domain with an HTTP 301 code, and route traffic to the specified `redirect_target` instead.","type":"string"},"requiredDnsUpdates":{"$ref":"#/components/schemas/DnsUpdates","description":"Output only. A set of updates you should make to the domain name's DNS records to let Hosting serve secure content on its behalf.","readOnly":true},"updateTime":{"description":"Output only. The last time the `CustomDomain` was updated.","format":"google-datetime","readOnly":true,"type":"string"}},"type":"object"},"CustomDomainMetadata":{"description":"Metadata associated with a`CustomDomain` operation.","properties":{"certState":{"description":"The `CertState` of the domain name's SSL certificate.","enum":["CERT_STATE_UNSPECIFIED","CERT_PREPARING","CERT_VALIDATING","CERT_PROPAGATING","CERT_ACTIVE","CERT_EXPIRING_SOON","CERT_EXPIRED"],"type":"string"},"hostState":{"description":"The `HostState` of the domain name this `CustomDomain` refers to.","enum":["HOST_STATE_UNSPECIFIED","HOST_UNHOSTED","HOST_UNREACHABLE","HOST_