Google Cloud Storage BucketAccessControls API

Operations for managing bucket-level access control lists

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gcp-cloud-storage/refs/heads/main/json-schema/gcp-cloud-storage-bucket-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gcp-cloud-storage/refs/heads/main/json-schema/gcp-cloud-storage-json-bucket-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gcp-cloud-storage/refs/heads/main/json-schema/gcp-cloud-storage-json-bucket-access-control-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gcp-cloud-storage/refs/heads/main/json-schema/gcp-cloud-storage-json-bucket-list-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gcp-cloud-storage/refs/heads/main/json-schema/gcp-cloud-storage-json-channel-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gcp-cloud-storage/refs/heads/main/json-schema/gcp-cloud-storage-json-compose-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gcp-cloud-storage/refs/heads/main/json-schema/gcp-cloud-storage-json-error-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gcp-cloud-storage/refs/heads/main/json-schema/gcp-cloud-storage-json-object-access-control-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gcp-cloud-storage/refs/heads/main/json-schema/gcp-cloud-storage-json-object-list-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gcp-cloud-storage/refs/heads/main/json-schema/gcp-cloud-storage-json-object-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gcp-cloud-storage/refs/heads/main/json-schema/gcp-cloud-storage-json-policy-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/gcp-cloud-storage/refs/heads/main/json-schema/gcp-cloud-storage-json-rewrite-response-schema.json

Other Resources

OpenAPI Specification

gcp-cloud-storage-bucketaccesscontrols-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Google Cloud Storage JSON BucketAccessControls API
  description: RESTful API for managing Google Cloud Storage resources including buckets and objects. Cloud Storage allows you to store and retrieve data on Google's infrastructure with high durability, availability, and scalability. The JSON API provides programmatic access to create, configure, and manage storage buckets, upload and download objects, control access permissions, and manage object metadata.
  version: v1
  contact:
    name: Google Cloud Storage
    url: https://cloud.google.com/storage/docs/json_api
  termsOfService: https://cloud.google.com/terms
  license:
    name: Creative Commons Attribution 4.0
    url: https://creativecommons.org/licenses/by/4.0/
servers:
- url: https://storage.googleapis.com/storage/v1
  description: Google Cloud Storage JSON API v1
security:
- oauth2: []
- bearerAuth: []
tags:
- name: BucketAccessControls
  description: Operations for managing bucket-level access control lists
paths:
  /b/{bucket}/acl:
    get:
      operationId: listBucketAccessControls
      summary: Google Cloud Storage List Bucket Acl Entries
      description: Retrieves ACL entries on the specified bucket. The authenticated user must have the storage.buckets.getIamPolicy permission.
      tags:
      - BucketAccessControls
      parameters:
      - $ref: '#/components/parameters/bucketName'
      - $ref: '#/components/parameters/userProject'
      responses:
        '200':
          description: Successful response with bucket ACL entries.
          content:
            application/json:
              schema:
                type: object
                properties:
                  kind:
                    type: string
                    default: storage#bucketAccessControls
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/BucketAccessControl'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: insertBucketAccessControl
      summary: Google Cloud Storage Create a Bucket Acl Entry
      description: Creates a new ACL entry on the specified bucket. The authenticated user must have the storage.buckets.setIamPolicy permission.
      tags:
      - BucketAccessControls
      parameters:
      - $ref: '#/components/parameters/bucketName'
      - $ref: '#/components/parameters/userProject'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BucketAccessControl'
      responses:
        '200':
          description: Bucket ACL entry created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BucketAccessControl'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /b/{bucket}/acl/{entity}:
    get:
      operationId: getBucketAccessControl
      summary: Google Cloud Storage Get a Bucket Acl Entry
      description: Returns the ACL entry for the specified entity on the specified bucket.
      tags:
      - BucketAccessControls
      parameters:
      - $ref: '#/components/parameters/bucketName'
      - $ref: '#/components/parameters/entity'
      - $ref: '#/components/parameters/userProject'
      responses:
        '200':
          description: Successful response with the bucket ACL entry.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BucketAccessControl'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateBucketAccessControl
      summary: Google Cloud Storage Update a Bucket Acl Entry
      description: Updates an ACL entry on the specified bucket.
      tags:
      - BucketAccessControls
      parameters:
      - $ref: '#/components/parameters/bucketName'
      - $ref: '#/components/parameters/entity'
      - $ref: '#/components/parameters/userProject'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BucketAccessControl'
      responses:
        '200':
          description: Bucket ACL entry updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BucketAccessControl'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      operationId: patchBucketAccessControl
      summary: Google Cloud Storage Patch a Bucket Acl Entry
      description: Patches an ACL entry on the specified bucket.
      tags:
      - BucketAccessControls
      parameters:
      - $ref: '#/components/parameters/bucketName'
      - $ref: '#/components/parameters/entity'
      - $ref: '#/components/parameters/userProject'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BucketAccessControl'
      responses:
        '200':
          description: Bucket ACL entry patched successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BucketAccessControl'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteBucketAccessControl
      summary: Google Cloud Storage Delete a Bucket Acl Entry
      description: Permanently deletes the ACL entry for the specified entity on the specified bucket.
      tags:
      - BucketAccessControls
      parameters:
      - $ref: '#/components/parameters/bucketName'
      - $ref: '#/components/parameters/entity'
      - $ref: '#/components/parameters/userProject'
      responses:
        '204':
          description: Bucket ACL entry deleted successfully.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  responses:
    BadRequest:
      description: Bad Request. The request was malformed or contained invalid parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: Forbidden. The authenticated user does not have permission to perform the requested operation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Unauthorized. Authentication credentials were missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Not Found. The specified resource does not exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    entity:
      name: entity
      in: path
      required: true
      description: 'The entity holding the permission, in one of the following forms: user-userId, user-email, group-groupId, group-email, domain-domain, project-team-projectId, allUsers, or allAuthenticatedUsers.'
      schema:
        type: string
      example: user-example@gmail.com
    bucketName:
      name: bucket
      in: path
      required: true
      description: Name of the bucket. Bucket names must be globally unique and comply with naming requirements.
      schema:
        type: string
      example: my-bucket
    userProject:
      name: userProject
      in: query
      required: false
      description: The project to be billed for this request. Required for Requester Pays buckets.
      schema:
        type: string
  schemas:
    Error:
      type: object
      description: An error response from the Cloud Storage JSON API.
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
              description: The HTTP status code.
            message:
              type: string
              description: A human-readable description of the error.
            errors:
              type: array
              items:
                type: object
                properties:
                  domain:
                    type: string
                  reason:
                    type: string
                  message:
                    type: string
                  locationType:
                    type: string
                  location:
                    type: string
          example: example_value
    BucketAccessControl:
      type: object
      description: An access-control entry for a bucket.
      properties:
        kind:
          type: string
          description: The kind of item this is.
          default: storage#bucketAccessControl
          readOnly: true
          example: example_value
        id:
          type: string
          description: The ID of the access-control entry.
          readOnly: true
          example: abc123
        selfLink:
          type: string
          format: uri
          description: The link to this access-control entry.
          readOnly: true
          example: https://www.example.com
        bucket:
          type: string
          description: The name of the bucket.
          example: example_value
        entity:
          type: string
          description: 'The entity holding the permission, in one of the following forms: user-userId, user-email, group-groupId, group-email, domain-domain, project-team-projectId, allUsers, or allAuthenticatedUsers.'
          example: example_value
        role:
          type: string
          description: The access permission for the entity.
          enum:
          - OWNER
          - WRITER
          - READER
          example: OWNER
        email:
          type: string
          format: email
          description: The email address associated with the entity, if any.
          readOnly: true
          example: user@example.com
        domain:
          type: string
          description: The domain associated with the entity, if any.
          readOnly: true
          example: example_value
        entityId:
          type: string
          description: The ID for the entity, if any.
          readOnly: true
          example: '500123'
        etag:
          type: string
          description: HTTP 1.1 Entity tag for the access-control entry.
          readOnly: true
          example: example_value
        projectTeam:
          type: object
          description: The project team associated with the entity, if any.
          readOnly: true
          properties:
            projectNumber:
              type: string
              description: The project number.
            team:
              type: string
              description: The team.
              enum:
              - editors
              - owners
              - viewers
          example: example_value
      required:
      - entity
      - role
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 authentication for Google Cloud APIs
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/v2/auth
          tokenUrl: https://oauth2.googleapis.com/token
          scopes:
            https://www.googleapis.com/auth/devstorage.full_control: Full control of Cloud Storage resources
            https://www.googleapis.com/auth/devstorage.read_only: View your data in Cloud Storage
            https://www.googleapis.com/auth/devstorage.read_write: Manage your data in Cloud Storage
            https://www.googleapis.com/auth/cloud-platform: View and manage your data across Google Cloud services
            https://www.googleapis.com/auth/cloud-platform.read-only: View your data across Google Cloud services
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token authentication using a Google Cloud access token obtained via service account or user credentials.
externalDocs:
  description: Google Cloud Storage JSON API Documentation
  url: https://cloud.google.com/storage/docs/json_api/v1