Google Cloud Storage Projects API

The Projects API from Google Cloud Storage — 3 operation(s) for projects.

Operations 6

POST /storage/v1/projects/{projectId}/hmacKeys Creates a new HMAC key for the specified service account #
GET /storage/v1/projects/{projectId}/hmacKeys Retrieves a list of HMAC keys matching the criteria #
DELETE /storage/v1/projects/{projectId}/hmacKeys/{accessId} Deletes an HMAC key #
GET /storage/v1/projects/{projectId}/hmacKeys/{accessId} Retrieves an HMAC key's metadata #
PUT /storage/v1/projects/{projectId}/hmacKeys/{accessId} Updates the state of an HMAC key #
GET /storage/v1/projects/{projectId}/serviceAccount Get the email address of this project's Google Cloud Storage service account #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/gcp-cloud-storage:gcp-cloud-storage-projects-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

gcp-cloud-storage-projects-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cloud Storage JSON Projects API
  description: Stores and retrieves potentially large, immutable data objects.
  version: v1
  x-discovery-revision: '20261030'
  termsOfService: https://developers.google.com/terms/
  contact:
    name: Google Cloud Storage
    url: https://developers.google.com/storage/docs/json_api/
  x-generated-from: google-discovery
  x-source: https://storage.googleapis.com/$discovery/rest?version=v1
  x-conversion: mechanical Discovery-to-OpenAPI conversion by API Evangelist; every path, parameter and schema is copied from the provider Discovery document
servers:
- url: https://storage.googleapis.com
security:
- oauth2:
  - https://www.googleapis.com/auth/cloud-platform
  - https://www.googleapis.com/auth/cloud-platform.read-only
  - https://www.googleapis.com/auth/devstorage.full_control
  - https://www.googleapis.com/auth/devstorage.read_only
  - https://www.googleapis.com/auth/devstorage.read_write
tags:
- name: Projects
paths:
  /storage/v1/projects/{projectId}/hmacKeys:
    post:
      operationId: storage.projects.hmacKeys.create
      tags:
      - Projects
      summary: Creates a new HMAC key for the specified service account
      description: Creates a new HMAC key for the specified service account.
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
        description: Project ID owning the service account.
      - name: serviceAccountEmail
        in: query
        required: true
        schema:
          type: string
        description: Email address of the service account.
      - name: userProject
        in: query
        required: false
        schema:
          type: string
        description: The project to be billed for this request.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HmacKey'
        default:
          description: Error response
      security:
      - oauth2:
        - https://www.googleapis.com/auth/cloud-platform
        - https://www.googleapis.com/auth/devstorage.full_control
    get:
      operationId: storage.projects.hmacKeys.list
      tags:
      - Projects
      summary: Retrieves a list of HMAC keys matching the criteria
      description: Retrieves a list of HMAC keys matching the criteria.
      parameters:
      - name: maxResults
        in: query
        required: false
        schema:
          type: integer
          format: uint32
          default: '250'
        description: Maximum number of items to return in a single page of responses. The service uses this parameter or 250 items, whichever is smaller. The max number of items per page will also be limited by the number of distinct service accounts in the response. If the number of service accounts in a single response is too high, the page will truncated and a next page token will be returned.
      - name: pageToken
        in: query
        required: false
        schema:
          type: string
        description: A previously-returned page token representing part of the larger set of results to view.
      - name: projectId
        in: path
        required: true
        schema:
          type: string
        description: Name of the project in which to look for HMAC keys.
      - name: serviceAccountEmail
        in: query
        required: false
        schema:
          type: string
        description: If present, only keys for the given service account are returned.
      - name: showDeletedKeys
        in: query
        required: false
        schema:
          type: boolean
        description: Whether or not to show keys in the DELETED state.
      - name: userProject
        in: query
        required: false
        schema:
          type: string
        description: The project to be billed for this request.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HmacKeysMetadata'
        default:
          description: Error response
      security:
      - oauth2:
        - https://www.googleapis.com/auth/cloud-platform
        - https://www.googleapis.com/auth/cloud-platform.read-only
        - https://www.googleapis.com/auth/devstorage.full_control
        - https://www.googleapis.com/auth/devstorage.read_only
  /storage/v1/projects/{projectId}/hmacKeys/{accessId}:
    delete:
      operationId: storage.projects.hmacKeys.delete
      tags:
      - Projects
      summary: Deletes an HMAC key
      description: Deletes an HMAC key.
      parameters:
      - name: accessId
        in: path
        required: true
        schema:
          type: string
        description: Name of the HMAC key to be deleted.
      - name: projectId
        in: path
        required: true
        schema:
          type: string
        description: Project ID owning the requested key
      - name: userProject
        in: query
        required: false
        schema:
          type: string
        description: The project to be billed for this request.
      responses:
        '200':
          description: Successful response
        default:
          description: Error response
      security:
      - oauth2:
        - https://www.googleapis.com/auth/cloud-platform
        - https://www.googleapis.com/auth/devstorage.full_control
        - https://www.googleapis.com/auth/devstorage.read_write
    get:
      operationId: storage.projects.hmacKeys.get
      tags:
      - Projects
      summary: Retrieves an HMAC key's metadata
      parameters:
      - name: accessId
        in: path
        required: true
        schema:
          type: string
        description: Name of the HMAC key.
      - name: projectId
        in: path
        required: true
        schema:
          type: string
        description: Project ID owning the service account of the requested key.
      - name: userProject
        in: query
        required: false
        schema:
          type: string
        description: The project to be billed for this request.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HmacKeyMetadata'
        default:
          description: Error response
      security:
      - oauth2:
        - https://www.googleapis.com/auth/cloud-platform
        - https://www.googleapis.com/auth/cloud-platform.read-only
        - https://www.googleapis.com/auth/devstorage.full_control
        - https://www.googleapis.com/auth/devstorage.read_only
    put:
      operationId: storage.projects.hmacKeys.update
      tags:
      - Projects
      summary: Updates the state of an HMAC key
      description: Updates the state of an HMAC key. See the HMAC Key resource descriptor for valid states.
      parameters:
      - name: accessId
        in: path
        required: true
        schema:
          type: string
        description: Name of the HMAC key being updated.
      - name: projectId
        in: path
        required: true
        schema:
          type: string
        description: Project ID owning the service account of the updated key.
      - name: userProject
        in: query
        required: false
        schema:
          type: string
        description: The project to be billed for this request.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HmacKeyMetadata'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HmacKeyMetadata'
        default:
          description: Error response
      security:
      - oauth2:
        - https://www.googleapis.com/auth/cloud-platform
        - https://www.googleapis.com/auth/devstorage.full_control
  /storage/v1/projects/{projectId}/serviceAccount:
    get:
      operationId: storage.projects.serviceAccount.get
      tags:
      - Projects
      summary: Get the email address of this project's Google Cloud Storage service account
      description: Get the email address of this project's Google Cloud Storage service account.
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
        description: Project ID
      - name: userProject
        in: query
        required: false
        schema:
          type: string
        description: The project to be billed for this request.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceAccount'
        default:
          description: Error response
      security:
      - oauth2:
        - https://www.googleapis.com/auth/cloud-platform
        - https://www.googleapis.com/auth/cloud-platform.read-only
        - https://www.googleapis.com/auth/devstorage.full_control
        - https://www.googleapis.com/auth/devstorage.read_only
        - https://www.googleapis.com/auth/devstorage.read_write
components:
  schemas:
    HmacKey:
      type: object
      description: JSON template to produce a JSON-style HMAC Key resource for Create responses.
      properties:
        kind:
          type: string
          description: The kind of item this is. For HMAC keys, this is always storage#hmacKey.
          default: storage#hmacKey
        metadata:
          $ref: '#/components/schemas/HmacKeyMetadata'
        secret:
          type: string
          description: HMAC secret key material.
    ServiceAccount:
      type: object
      description: A subscription to receive Google PubSub notifications.
      properties:
        email_address:
          type: string
          description: The ID of the notification.
        kind:
          type: string
          description: The kind of item this is. For notifications, this is always storage#notification.
          default: storage#serviceAccount
    HmacKeysMetadata:
      type: object
      description: A list of hmacKeys.
      properties:
        items:
          type: array
          description: The list of items.
          items:
            $ref: '#/components/schemas/HmacKeyMetadata'
        kind:
          type: string
          description: The kind of item this is. For lists of hmacKeys, this is always storage#hmacKeysMetadata.
          default: storage#hmacKeysMetadata
        nextPageToken:
          type: string
          description: The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
    HmacKeyMetadata:
      type: object
      description: JSON template to produce a JSON-style HMAC Key metadata resource.
      properties:
        accessId:
          type: string
          description: The ID of the HMAC Key.
        etag:
          type: string
          description: HTTP 1.1 Entity tag for the HMAC key.
        id:
          type: string
          description: The ID of the HMAC key, including the Project ID and the Access ID.
        kind:
          type: string
          description: The kind of item this is. For HMAC Key metadata, this is always storage#hmacKeyMetadata.
          default: storage#hmacKeyMetadata
        projectId:
          type: string
          description: Project ID owning the service account to which the key authenticates.
        selfLink:
          type: string
          description: The link to this resource.
        serviceAccountEmail:
          type: string
          description: The email address of the key's associated service account.
        state:
          type: string
          description: The state of the key. Can be one of ACTIVE, INACTIVE, or DELETED.
        timeCreated:
          type: string
          description: The creation time of the HMAC key in RFC 3339 format.
          format: date-time
        updated:
          type: string
          description: The last modification time of the HMAC key metadata in RFC 3339 format.
          format: date-time
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/auth
          tokenUrl: https://oauth2.googleapis.com/token
          scopes:
            https://www.googleapis.com/auth/cloud-platform: View and manage your data across Google Cloud Platform services
            https://www.googleapis.com/auth/cloud-platform.read-only: View your data across Google Cloud Platform services
            https://www.googleapis.com/auth/devstorage.full_control: Manage your data and permissions in Google Cloud Storage
            https://www.googleapis.com/auth/devstorage.read_only: View your data in Google Cloud Storage
            https://www.googleapis.com/auth/devstorage.read_write: Manage your data in Google Cloud Storage