Google Cloud IAM Service Accounts API

The Service Accounts API from Google Cloud IAM — 2 operation(s) for service accounts.

OpenAPI Specification

google-cloud-iam-service-accounts-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Google Cloud IAM Permissions Service Accounts API
  description: The Cloud IAM API enables management of identity and access control policies, service accounts, roles, and permissions for Google Cloud resources.
  version: 1.0.0
  contact:
    name: Google Cloud
    url: https://cloud.google.com/iam
servers:
- url: https://iam.googleapis.com/v1
  description: Google Cloud IAM Production
tags:
- name: Service Accounts
paths:
  /projects/{projectId}/serviceAccounts:
    get:
      operationId: listServiceAccounts
      summary: Google Cloud IAM List service accounts
      description: Lists every service account in a project.
      tags:
      - Service Accounts
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      - name: pageSize
        in: query
        schema:
          type: integer
      - name: pageToken
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  accounts:
                    type: array
                    items:
                      $ref: '#/components/schemas/ServiceAccount'
                  nextPageToken:
                    type: string
    post:
      operationId: createServiceAccount
      summary: Google Cloud IAM Create a service account
      description: Creates a new service account in a project.
      tags:
      - Service Accounts
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                accountId:
                  type: string
                serviceAccount:
                  $ref: '#/components/schemas/ServiceAccount'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceAccount'
  /projects/{projectId}/serviceAccounts/{serviceAccountEmail}:
    get:
      operationId: getServiceAccount
      summary: Google Cloud IAM Get a service account
      description: Retrieves a specific service account.
      tags:
      - Service Accounts
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      - name: serviceAccountEmail
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceAccount'
    patch:
      operationId: patchServiceAccount
      summary: Google Cloud IAM Update a service account
      description: Updates a service account.
      tags:
      - Service Accounts
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      - name: serviceAccountEmail
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceAccount'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceAccount'
    delete:
      operationId: deleteServiceAccount
      summary: Google Cloud IAM Delete a service account
      description: Deletes a service account.
      tags:
      - Service Accounts
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      - name: serviceAccountEmail
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
components:
  schemas:
    ServiceAccount:
      type: object
      properties:
        name:
          type: string
          description: Resource name of the service account.
        projectId:
          type: string
          description: ID of the project that owns the service account.
        uniqueId:
          type: string
          description: Unique numeric ID of the service account.
        email:
          type: string
          format: email
          description: Email address of the service account.
        displayName:
          type: string
          description: Human-readable name for the service account.
        description:
          type: string
          description: Description of the service account.
        disabled:
          type: boolean
          description: Whether the service account is disabled.
        etag:
          type: string
          description: Entity tag for optimistic concurrency control.
  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/iam: Manage IAM resources
            https://www.googleapis.com/auth/cloud-platform: Full access to Google Cloud