{
  "parameters": {
    "fields": {
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query"
    },
    "key": {
      "type": "string",
      "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.",
      "location": "query"
    },
    "quotaUser": {
      "type": "string",
      "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.",
      "location": "query"
    },
    "alt": {
      "default": "json",
      "location": "query",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "type": "string",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ]
    },
    "uploadType": {
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query"
    },
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "upload_protocol": {
      "location": "query",
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "callback": {
      "type": "string",
      "description": "JSONP",
      "location": "query"
    },
    "oauth_token": {
      "location": "query",
      "type": "string",
      "description": "OAuth 2.0 token for the current user."
    },
    "prettyPrint": {
      "default": "true",
      "location": "query",
      "type": "boolean",
      "description": "Returns response with indentations and line breaks."
    },
    "$.xgafv": {
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string",
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ]
    }
  },
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "title": "Cloud Storage for Firebase API",
  "servicePath": "",
  "protocol": "rest",
  "resources": {
    "projects": {
      "methods": {
        "getDefaultBucket": {
          "flatPath": "v1alpha/projects/{projectsId}/defaultBucket",
          "description": "Gets the default bucket.",
          "parameterOrder": [
            "name"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform",
            "https://www.googleapis.com/auth/firebase"
          ],
          "id": "firebasestorage.projects.getDefaultBucket",
          "parameters": {
            "name": {
              "pattern": "^projects/[^/]+/defaultBucket$",
              "required": true,
              "location": "path",
              "description": "Required. The name of the default bucket to retrieve, `projects/{project_id_or_number}/defaultBucket`.",
              "type": "string"
            }
          },
          "httpMethod": "GET",
          "path": "v1alpha/{+name}",
          "response": {
            "$ref": "DefaultBucket"
          }
        },
        "deleteDefaultBucket": {
          "parameterOrder": [
            "name"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform",
            "https://www.googleapis.com/auth/firebase"
          ],
          "flatPath": "v1alpha/projects/{projectsId}/defaultBucket",
          "description": "Unlinks and deletes the default bucket.",
          "httpMethod": "DELETE",
          "path": "v1alpha/{+name}",
          "response": {
            "$ref": "Empty"
          },
          "id": "firebasestorage.projects.deleteDefaultBucket",
          "parameters": {
            "name": {
              "description": "Required. The name of the default bucket to delete, `projects/{project_id_or_number}/defaultBucket`.",
              "type": "string",
              "pattern": "^projects/[^/]+/defaultBucket$",
              "required": true,
              "location": "path"
            }
          }
        }
      },
      "resources": {
        "buckets": {
          "methods": {
            "removeFirebase": {
              "id": "firebasestorage.projects.buckets.removeFirebase",
              "parameters": {
                "bucket": {
                  "location": "path",
                  "pattern": "^projects/[^/]+/buckets/[^/]+$",
                  "required": true,
                  "description": "Required. Resource name of the bucket, mirrors the ID of the underlying Google Cloud Storage bucket, `projects/{project_id_or_number}/buckets/{bucket_id}`.",
                  "type": "string"
                }
              },
              "request": {
                "$ref": "RemoveFirebaseRequest"
              },
              "httpMethod": "POST",
              "path": "v1alpha/{+bucket}:removeFirebase",
              "response": {
                "$ref": "Empty"
              },
              "flatPath": "v1alpha/projects/{projectsId}/buckets/{bucketsId}:removeFirebase",
              "description": "Unlinks a linked Google Cloud Storage bucket from a Firebase project.",
              "parameterOrder": [
                "bucket"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/firebase"
              ]
            },
            "list": {
              "httpMethod": "GET",
              "path": "v1alpha/{+parent}/buckets",
              "response": {
                "$ref": "ListBucketsResponse"
              },
              "id": "firebasestorage.projects.buckets.list",
              "parameters": {
                "parent": {
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "location": "path",
                  "description": "Required. Resource name of the parent Firebase project, `projects/{project_id_or_number}`.",
                  "type": "string"
                },
                "pageToken": {
                  "description": "A page token, received from a previous `ListBuckets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBuckets` must match the call that provided the page token.",
                  "type": "string",
                  "location": "query"
                },
                "pageSize": {
                  "description": "The maximum number of buckets to return. If not set, the server will use a reasonable default.",
                  "type": "integer",
                  "location": "query",
                  "format": "int32"
                }
              },
              "parameterOrder": [
                "parent"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/firebase"
              ],
              "flatPath": "v1alpha/projects/{projectsId}/buckets",
              "description": "Lists the linked storage buckets for a project."
            },
            "addFirebase": {
              "path": "v1alpha/{+bucket}:addFirebase",
              "response": {
                "$ref": "Bucket"
              },
              "request": {
                "$ref": "AddFirebaseRequest"
              },
              "httpMethod": "POST",
              "parameters": {
                "bucket": {
                  "description": "Required. Resource name of the bucket, mirrors the ID of the underlying Google Cloud Storage bucket, `projects/{project_id_or_number}/buckets/{bucket_id}`.",
                  "type": "string",
                  "location": "path",
                  "pattern": "^projects/[^/]+/buckets/[^/]+$",
                  "required": true
                }
              },
              "id": "firebasestorage.projects.buckets.addFirebase",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/firebase"
              ],
              "parameterOrder": [
                "bucket"
              ],
              "description": "Links a Google Cloud Storage bucket to a Firebase project.",
              "flatPath": "v1alpha/projects/{projectsId}/buckets/{bucketsId}:addFirebase"
            },
            "get": {
              "description": "Gets a single linked storage bucket.",
              "flatPath": "v1alpha/projects/{projectsId}/buckets/{bucketsId}",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/firebase"
              ],
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. Resource name of the bucket, mirrors the ID of the underlying Google Cloud Storage bucket, `projects/{project_id_or_number}/buckets/{bucket_id}`.",
                  "type": "string",
                  "location": "path",
                  "pattern": "^projects/[^/]+/buckets/[^/]+$",
                  "required": true
                }
              },
              "id": "firebasestorage.projects.buckets.get",
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "Bucket"
              },
              "httpMethod": "GET"
            }
          }
        },
        "defaultBucket": {
          "methods": {
            "create": {
              "httpMethod": "POST",
              "request": {
                "$ref": "DefaultBucket"
              },
              "path": "v1alpha/{+parent}/defaultBucket",
              "response": {
                "$ref": "DefaultBucket"
              },
              "id": "firebasestorage.projects.defaultBucket.create",
              "parameters": {
                "parent": {
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "location": "path",
                  "description": "Required. The parent resource where the default bucket will be created, `projects/{project_id_or_number}`.",
                  "type": "string"
                }
              },
              "parameterOrder": [
                "parent"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/firebase"
              ],
              "flatPath": "v1alpha/projects/{projectsId}/defaultBucket",
              "description": "Creates a Spark tier-eligible Cloud Storage bucket and links it to your Firebase project. If the default bucket already exists, this method will re-link it to your Firebase project. See https://firebase.google.com/pricing for pricing details."
            }
          }
        }
      }
    }
  },
  "baseUrl": "https://firebasestorage.googleapis.com/",
  "kind": "discovery#restDescription",
  "description": "The Cloud Storage for Firebase API enables programmatic management of Cloud Storage buckets for use in Firebase projects",
  "ownerName": "Google",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/firebase": {
          "description": "View and administer all your Firebase data and settings"
        },
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
        }
      }
    }
  },
  "basePath": "",
  "id": "firebasestorage:v1alpha",
  "version_module": true,
  "mtlsRootUrl": "https://firebasestorage.mtls.googleapis.com/",
  "revision": "20260410",
  "batchPath": "batch",
  "discoveryVersion": "v1",
  "name": "firebasestorage",
  "schemas": {
    "Bucket": {
      "properties": {
        "name": {
          "description": "Output only. Resource name of the bucket.",
          "type": "string",
          "readOnly": true
        }
      },
      "id": "Bucket",
      "description": "A storage bucket and its relation to a parent Firebase project.",
      "type": "object"
    },
    "ListBucketsResponse": {
      "description": "The response returned by `ListBuckets`.",
      "type": "object",
      "id": "ListBucketsResponse",
      "properties": {
        "buckets": {
          "items": {
            "$ref": "Bucket"
          },
          "description": "The list of linked buckets.",
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        }
      }
    },
    "Empty": {
      "id": "Empty",
      "properties": {},
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }",
      "type": "object"
    },
    "RemoveFirebaseRequest": {
      "description": "The request used to unlink a Google Cloud Storage bucket from a Firebase project.",
      "type": "object",
      "id": "RemoveFirebaseRequest",
      "properties": {}
    },
    "AddFirebaseRequest": {
      "properties": {},
      "id": "AddFirebaseRequest",
      "description": "The request used to link a Google Cloud Storage bucket to a Firebase project.",
      "type": "object"
    },
    "DefaultBucket": {
      "description": "Spark tier-eligible Cloud Storage bucket. One per project. This resource exists if the underlying Cloud Storage bucket exists and it is linked to your Firebase project. See https://firebase.google.com/pricing for pricing details.",
      "type": "object",
      "id": "DefaultBucket",
      "properties": {
        "name": {
          "description": "Identifier. Resource name of the default bucket.",
          "type": "string"
        },
        "bucket": {
          "description": "Output only. Underlying bucket resource.",
          "readOnly": true,
          "$ref": "Bucket"
        },
        "location": {
          "description": "Immutable. Location of the default bucket.",
          "type": "string"
        },
        "storageClass": {
          "description": "Immutable. Storage class of the default bucket. Supported values are available at https://cloud.google.com/storage/docs/storage-classes#classes.",
          "type": "string"
        }
      }
    }
  },
  "ownerDomain": "google.com",
  "documentationLink": "https://firebase.google.com/docs/storage",
  "fullyEncodeReservedExpansion": true,
  "version": "v1alpha",
  "rootUrl": "https://firebasestorage.googleapis.com/",
  "canonicalName": "Firebasestorage"
}
