Airbyte Groups API

The Groups API from Airbyte — 6 operation(s) for groups.

OpenAPI Specification

airbyte-groups-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: airbyte-api Applications Groups API
  version: 1.0.0
  description: Programmatically control Airbyte Cloud, OSS & Enterprise.
servers:
- url: https://api.airbyte.com/v1
  description: Airbyte API v1
tags:
- name: Groups
paths:
  /groups:
    get:
      tags:
      - Groups
      summary: Airbyte List Groups
      description: List all groups within the specified organization
      parameters:
      - name: organizationId
        in: query
        description: Filter groups by organization ID
        required: true
        schema:
          type: string
          format: uuid
      - name: limit
        description: Set the limit on the number of Groups returned. The default is 20 Groups.
        schema:
          format: int32
          default: 20
          maximum: 100
          minimum: 1
          type: integer
        in: query
      - name: offset
        description: Set the offset to start at when returning Groups. The default is 0.
        schema:
          format: int32
          default: 0
          minimum: 0
          type: integer
        in: query
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupsResponse'
              examples:
                listGroups200Example:
                  summary: Default listGroups 200 response
                  x-microcks-default: true
                  value:
                    data: example
                    next: example
                    previous: example
          description: List Groups.
        '403':
          description: Not allowed
        '404':
          description: Not found
      operationId: listGroups
      x-speakeasy-alias: listGroups
      x-speakeasy-group: Groups
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      tags:
      - Groups
      summary: Airbyte Create Group
      description: Create a new group within an organization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupCreateRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupResponse'
              examples:
                createGroup200Example:
                  summary: Default createGroup 200 response
                  x-microcks-default: true
                  value:
                    groupId: abc123
                    name: example-name
                    description: Example description
                    organizationId: abc123
                    memberCount: 1
          description: Group created successfully.
        '400':
          description: Invalid input
        '403':
          description: Not allowed
        '409':
          description: Group with this name already exists in the organization
      operationId: createGroup
      x-speakeasy-alias: createGroup
      x-speakeasy-group: Groups
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /groups/{groupId}:
    parameters:
    - name: groupId
      in: path
      required: true
      description: Group identifier
      schema:
        type: string
        format: uuid
    get:
      tags:
      - Groups
      summary: Airbyte Get Group Details
      description: Get a specific group by ID
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupResponse'
              examples:
                getGroup200Example:
                  summary: Default getGroup 200 response
                  x-microcks-default: true
                  value:
                    groupId: abc123
                    name: example-name
                    description: Example description
                    organizationId: abc123
                    memberCount: 1
          description: Get a Group by the id in the path.
        '403':
          description: Not allowed
        '404':
          description: Not found
      operationId: getGroup
      x-speakeasy-alias: getGroup
      x-speakeasy-group: Groups
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      tags:
      - Groups
      summary: Airbyte Update Group
      description: Update an existing group
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupUpdateRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupResponse'
              examples:
                updateGroup200Example:
                  summary: Default updateGroup 200 response
                  x-microcks-default: true
                  value:
                    groupId: abc123
                    name: example-name
                    description: Example description
                    organizationId: abc123
                    memberCount: 1
          description: Group updated successfully.
        '400':
          description: Invalid input
        '403':
          description: Not allowed
        '404':
          description: Not found
        '409':
          description: Group name conflict
      operationId: updateGroup
      x-speakeasy-alias: updateGroup
      x-speakeasy-group: Groups
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      tags:
      - Groups
      summary: Airbyte Delete Group
      description: Delete a group and remove all associated memberships
      responses:
        '204':
          description: Group deleted successfully
        '403':
          description: Not allowed
        '404':
          description: Not found
      operationId: deleteGroup
      x-speakeasy-alias: deleteGroup
      x-speakeasy-group: Groups
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /groups/{groupId}/members:
    parameters:
    - name: groupId
      in: path
      required: true
      description: Group identifier
      schema:
        type: string
        format: uuid
    get:
      tags:
      - Groups
      summary: Airbyte List Group Members
      description: Get all members of a specific group
      parameters:
      - name: limit
        description: Set the limit on the number of members returned. The default is 20.
        schema:
          format: int32
          default: 20
          maximum: 100
          minimum: 1
          type: integer
        in: query
      - name: offset
        description: Set the offset to start at when returning members. The default is 0.
        schema:
          format: int32
          default: 0
          minimum: 0
          type: integer
        in: query
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupMembersResponse'
              examples:
                listGroupMembers200Example:
                  summary: Default listGroupMembers 200 response
                  x-microcks-default: true
                  value:
                    data: example
                    next: example
                    previous: example
          description: List Group members.
        '403':
          description: Not allowed
        '404':
          description: Not found
      operationId: listGroupMembers
      x-speakeasy-alias: listGroupMembers
      x-speakeasy-group: Groups
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      tags:
      - Groups
      summary: Airbyte Add Member to Group
      description: Add a user to a group
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupMemberAddRequest'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupMemberResponse'
              examples:
                addGroupMember201Example:
                  summary: Default addGroupMember 201 response
                  x-microcks-default: true
                  value:
                    memberId: abc123
                    groupId: abc123
                    userId: abc123
                    userEmail: user@example.com
                    userName: example-name
          description: Member added successfully.
        '400':
          description: Invalid input
        '403':
          description: Not allowed
        '404':
          description: Not found
        '409':
          description: User is already a member of this group
      operationId: addGroupMember
      x-speakeasy-alias: addGroupMember
      x-speakeasy-group: Groups
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /groups/{groupId}/members/{userId}:
    parameters:
    - name: groupId
      in: path
      required: true
      description: Group identifier
      schema:
        type: string
        format: uuid
    - name: userId
      in: path
      required: true
      description: User identifier
      schema:
        type: string
        format: uuid
    delete:
      tags:
      - Groups
      summary: Airbyte Remove Member from Group
      description: Remove a user from a group
      responses:
        '204':
          description: Member removed successfully
        '403':
          description: Not allowed
        '404':
          description: Not found
      operationId: removeGroupMember
      x-speakeasy-alias: removeGroupMember
      x-speakeasy-group: Groups
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /groups/{groupId}/permissions:
    parameters:
    - name: groupId
      in: path
      required: true
      description: Group identifier
      schema:
        type: string
        format: uuid
    get:
      tags:
      - Groups
      summary: Airbyte List Group Permissions
      description: Get all permissions assigned to a group
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupPermissionsResponse'
              examples:
                listGroupPermissions200Example:
                  summary: Default listGroupPermissions 200 response
                  x-microcks-default: true
                  value:
                    data: example
          description: List Group permissions.
        '403':
          description: Not allowed
        '404':
          description: Not found
      operationId: listGroupPermissions
      x-speakeasy-alias: listGroupPermissions
      x-speakeasy-group: Groups
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      tags:
      - Groups
      summary: Airbyte Create Group Permission
      description: Assign a permission to a group
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupPermissionCreateRequest'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupPermissionResponse'
              examples:
                createGroupPermission201Example:
                  summary: Default createGroupPermission 201 response
                  x-microcks-default: true
                  value:
                    permissionId: abc123
                    groupId: abc123
                    permissionType: instance_admin
                    workspaceId: abc123
                    organizationId: abc123
          description: Permission created successfully.
        '400':
          description: Invalid input
        '403':
          description: Not allowed
        '404':
          description: Not found
        '409':
          description: Permission already exists for this group
      operationId: createGroupPermission
      x-speakeasy-alias: createGroupPermission
      x-speakeasy-group: Groups
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /groups/{groupId}/permissions/{permissionId}:
    parameters:
    - name: groupId
      in: path
      required: true
      description: Group identifier
      schema:
        type: string
        format: uuid
    - name: permissionId
      in: path
      required: true
      description: Permission identifier
      schema:
        type: string
        format: uuid
    delete:
      tags:
      - Groups
      summary: Airbyte Delete Group Permission
      description: Remove a permission from a group
      responses:
        '204':
          description: Permission deleted successfully
        '403':
          description: Not allowed
        '404':
          description: Not found
      operationId: deleteGroupPermission
      x-speakeasy-alias: deleteGroupPermission
      x-speakeasy-group: Groups
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    GroupPermissionResponse:
      title: Root Type for GroupPermissionResponse
      description: Provides details of a single group permission
      type: object
      required:
      - permissionId
      - groupId
      - permissionType
      properties:
        permissionId:
          type: string
          format: uuid
          description: The ID of the permission
        groupId:
          type: string
          format: uuid
          description: The ID of the group
        permissionType:
          $ref: '#/components/schemas/PermissionType'
        workspaceId:
          type: string
          format: uuid
          nullable: true
          description: The workspace ID for workspace-scoped permissions
        organizationId:
          type: string
          format: uuid
          nullable: true
          description: The organization ID for organization-scoped permissions
      x-speakeasy-component: true
      x-speakeasy-entity: GroupPermission
      x-speakeasy-param-suppress-computed-diff: true
    GroupResponse:
      title: Root Type for GroupResponse
      description: Provides details of a single group
      type: object
      required:
      - groupId
      - name
      - organizationId
      - memberCount
      properties:
        groupId:
          type: string
          format: uuid
          description: The ID of the group
        name:
          type: string
          description: The name of the group
        description:
          type: string
          nullable: true
          description: Optional description of the group
        organizationId:
          type: string
          format: uuid
          description: The ID of the organization the group belongs to
        memberCount:
          type: integer
          format: int64
          description: The number of members in the group
      x-speakeasy-component: true
      x-speakeasy-entity: Group
      x-speakeasy-param-suppress-computed-diff: true
    PermissionType:
      type: string
      description: Describes what actions/endpoints the permission entitles to
      enum:
      - instance_admin
      - organization_admin
      - organization_editor
      - organization_runner
      - organization_reader
      - organization_member
      - workspace_owner
      - workspace_admin
      - workspace_runner
      - workspace_editor
      - workspace_reader
      x-speakeasy-component: true
    GroupPermissionsResponse:
      title: Root Type for GroupPermissionsResponse
      description: List/Array of group permissions
      required:
      - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/GroupPermissionResponse'
      x-speakeasy-component: true
      x-speakeasy-entity: GroupPermission
      x-speakeasy-param-suppress-computed-diff: true
    GroupMembersResponse:
      title: Root Type for GroupMembersResponse
      description: List/Array of group members
      required:
      - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/GroupMemberResponse'
        next:
          type: string
          description: Link to the next page of results
          nullable: true
        previous:
          type: string
          description: Link to the previous page of results
          nullable: true
      x-speakeasy-component: true
      x-speakeasy-entity: GroupMember
      x-speakeasy-param-suppress-computed-diff: true
    GroupMemberResponse:
      title: Root Type for GroupMemberResponse
      description: Provides details of a single group member
      type: object
      required:
      - memberId
      - groupId
      - userId
      - userEmail
      - userName
      properties:
        memberId:
          type: string
          format: uuid
          description: The ID of the group membership
        groupId:
          type: string
          format: uuid
          description: The ID of the group
        userId:
          type: string
          format: uuid
          description: The ID of the user
        userEmail:
          type: string
          format: email
          description: The email of the user
        userName:
          type: string
          description: The name of the user
      x-speakeasy-component: true
      x-speakeasy-entity: GroupMember
      x-speakeasy-param-suppress-computed-diff: true
    GroupCreateRequest:
      title: Root Type for GroupCreateRequest
      description: Request body for creating a group
      required:
      - name
      - organizationId
      type: object
      properties:
        name:
          type: string
          description: The name of the group
        description:
          type: string
          nullable: true
          description: Optional description of the group
        organizationId:
          type: string
          format: uuid
          description: The ID of the organization the group belongs to
      x-speakeasy-component: true
      x-speakeasy-entity: Group
      x-speakeasy-param-suppress-computed-diff: true
    GroupPermissionCreateRequest:
      title: Root Type for GroupPermissionCreateRequest
      description: Request body for creating a group permission
      required:
      - permissionType
      type: object
      properties:
        permissionType:
          $ref: '#/components/schemas/PermissionType'
        workspaceId:
          type: string
          format: uuid
          nullable: true
          description: Required for workspace-scoped permissions
        organizationId:
          type: string
          format: uuid
          nullable: true
          description: Required for organization-scoped permissions
      oneOf:
      - required:
        - workspaceId
      - required:
        - organizationId
      x-speakeasy-component: true
      x-speakeasy-entity: GroupPermission
      x-speakeasy-param-suppress-computed-diff: true
    GroupUpdateRequest:
      title: Root Type for GroupUpdateRequest
      description: Request body for updating a group
      type: object
      properties:
        name:
          type: string
          description: The updated name of the group
        description:
          type: string
          nullable: true
          description: The updated description of the group
      x-speakeasy-component: true
      x-speakeasy-entity: Group
      x-speakeasy-param-suppress-computed-diff: true
    GroupMemberAddRequest:
      title: Root Type for GroupMemberAddRequest
      description: Request body for adding a member to a group
      required:
      - userId
      type: object
      properties:
        userId:
          type: string
          format: uuid
          description: The ID of the user to add to the group
      x-speakeasy-component: true
      x-speakeasy-entity: GroupMember
      x-speakeasy-param-suppress-computed-diff: true
    GroupsResponse:
      title: Root Type for GroupsResponse
      description: List/Array of multiple groups
      required:
      - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/GroupResponse'
        next:
          type: string
          description: Link to the next page of results
          nullable: true
        previous:
          type: string
          description: Link to the previous page of results
          nullable: true
      x-speakeasy-component: true
      x-speakeasy-entity: Group
      x-speakeasy-param-suppress-computed-diff: true