Amazon Q Q Groups API

The Q Groups API from Amazon Q — 2 operation(s) for q groups.

Operations 4

DELETE /applications/{applicationId}/indices/{indexId}/groups/{groupName} Delete Group #
GET /applications/{applicationId}/indices/{indexId}/groups/{groupName} Get Group #
GET /applications/{applicationId}/indices/{indexId}/groups List Groups #
PUT /applications/{applicationId}/indices/{indexId}/groups Put Group #

Specifications

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/amazon-q:amazon-q-groups-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

amazon-q-groups-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: QBusiness Groups API
  version: '2023-11-27'
  description: Generated from AWS's published Smithy model for QBusiness. 4 operation(s).
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    identifier: Apache-2.0
    url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://qbusiness.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
tags:
- name: Groups
paths:
  /applications/{applicationId}/indices/{indexId}/groups/{groupName}:
    delete:
      operationId: DeleteGroup
      summary: Delete Group
      description: Deletes a group so that all users and sub groups that belong to the group can no longer access documents only available to that group. For example, after deleting the group "Summer Interns", all interns who belonged to that group no longer see intern-only documents in their chat results. If you want to delete, update, or replace users or sub groups of a group, you need to use the PutGroup operation. For example, if a user in the group "Engineering" leaves the engineering team and another user takes their place, you provide an updated list of users or sub groups that belong to the "Engineering" group when calling PutGroup.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteGroupResponse'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '409':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteGroupRequest'
      tags:
      - Groups
    get:
      operationId: GetGroup
      summary: Get Group
      description: Describes a group by group name.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetGroupResponse'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '409':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetGroupRequest'
      tags:
      - Groups
  /applications/{applicationId}/indices/{indexId}/groups:
    get:
      operationId: ListGroups
      summary: List Groups
      description: Provides a list of groups that are mapped to users.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListGroupsResponse'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '409':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListGroupsRequest'
      tags:
      - Groups
    put:
      operationId: PutGroup
      summary: Put Group
      description: Create, or updates, a mapping of users—who have access to a document—to groups. You can also map sub groups to groups. For example, the group "Company Intellectual Property Teams" includes sub groups "Research" and "Engineering". These sub groups include their own list of users or people who work in these teams. Only users who work in research and engineering, and therefore belong in the intellectual property group, can see top-secret company documents in their Amazon Q Business chat results. There are two options for creating groups, either passing group members inline or using an S3 file via the S3PathForGroupMembers field. For inline groups, there is a limit of 1000 members per group and for provided S3 files there is a limit of 100 thousand members. When creating a group using an S3 file, you provide both an S3 file and a RoleArn for Amazon Q Buisness to access the file.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PutGroupResponse'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '409':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '402':
          description: ServiceQuotaExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceQuotaExceededException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutGroupRequest'
      tags:
      - Groups
components:
  schemas:
    ListGroupsResponse:
      type: object
      properties:
        nextToken:
          type: string
          description: If the response is truncated, Amazon Q Business returns this token that you can use in the subsequent request to retrieve the next set of groups that are mapped to users.
        items:
          type: array
          items:
            $ref: '#/components/schemas/GroupSummary'
          description: Summary information for list of groups that are mapped to users.
    ErrorDetail:
      type: object
      properties:
        errorMessage:
          type: string
          description: The message explaining the Amazon Q Business request error.
        errorCode:
          type: string
          enum:
          - InternalError
          - InvalidRequest
          - ResourceInactive
          - ResourceNotFound
          description: The code associated with the Amazon Q Business request error.
    ListGroupsRequest:
      type: object
      properties:
        applicationId:
          type: string
          description: The identifier of the application for getting a list of groups mapped to users.
        indexId:
          type: string
          description: The identifier of the index for getting a list of groups mapped to users.
        updatedEarlierThan:
          type: string
          format: date-time
          description: The timestamp identifier used for the latest PUT or DELETE action for mapping users to their groups.
        dataSourceId:
          type: string
          description: The identifier of the data source for getting a list of groups mapped to users.
        nextToken:
          type: string
          description: If the previous response was incomplete (because there is more data to retrieve), Amazon Q Business returns a pagination token in the response. You can use this pagination token to retrieve the next set of groups that are mapped to users.
        maxResults:
          type: integer
          description: The maximum number of returned groups that are mapped to users.
      required:
      - applicationId
      - indexId
      - updatedEarlierThan
    GetGroupResponse:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/GroupStatusDetail'
        statusHistory:
          type: array
          items:
            $ref: '#/components/schemas/GroupStatusDetail'
          description: The status history of the group.
    PutGroupRequest:
      type: object
      properties:
        applicationId:
          type: string
          description: The identifier of the application in which the user and group mapping belongs.
        indexId:
          type: string
          description: The identifier of the index in which you want to map users to their groups.
        groupName:
          type: string
          description: The list that contains your users or sub groups that belong the same group. For example, the group "Company" includes the user "CEO" and the sub groups "Research", "Engineering", and "Sales and Marketing".
        dataSourceId:
          type: string
          description: The identifier of the data source for which you want to map users to their groups. This is useful if a group is tied to multiple data sources, but you only want the group to access documents of a certain data source. For example, the groups "Research", "Engineering", and "Sales and Marketing" are all tied to the company's documents stored in the data sources Confluence and Salesforce. However, "Sales and Marketing" team only needs access to customer-related documents stored in Salesforce.
        type:
          type: string
          enum:
          - INDEX
          - DATASOURCE
          description: The type of the group.
        groupMembers:
          $ref: '#/components/schemas/GroupMembers'
        roleArn:
          type: string
          description: The Amazon Resource Name (ARN) of an IAM role that has access to the S3 file that contains your list of users that belong to a group.
      required:
      - applicationId
      - indexId
      - groupName
      - type
      - groupMembers
    S3:
      type: object
      properties:
        bucket:
          type: string
          description: The name of the S3 bucket that contains the file.
        key:
          type: string
          description: The name of the file.
      required:
      - bucket
      - key
    DeleteGroupResponse:
      type: object
      properties: {}
    MemberUser:
      type: object
      properties:
        userId:
          type: string
          description: The identifier of the user you want to map to a group.
        type:
          type: string
          enum:
          - INDEX
          - DATASOURCE
          description: The type of the user.
      required:
      - userId
    AccessDeniedException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    InternalServerException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    ResourceNotFoundException:
      type: object
      properties:
        message:
          type: string
          description: The message describing a ResourceNotFoundException.
        resourceId:
          type: string
          description: The identifier of the resource affected.
        resourceType:
          type: string
          description: The type of the resource affected.
      required:
      - message
      - resourceId
      - resourceType
    DeleteGroupRequest:
      type: object
      properties:
        applicationId:
          type: string
          description: The identifier of the application in which the group mapping belongs.
        indexId:
          type: string
          description: The identifier of the index you want to delete the group from.
        groupName:
          type: string
          description: The name of the group you want to delete.
        dataSourceId:
          type: string
          description: The identifier of the data source linked to the group A group can be tied to multiple data sources. You can delete a group from accessing documents in a certain data source. For example, the groups "Research", "Engineering", and "Sales and Marketing" are all tied to the company's documents stored in the data sources Confluence and Salesforce. You want to delete "Research" and "Engineering" groups from Salesforce, so that these groups cannot access customer-related documents stored in Salesforce. Only "Sales and Marketing" should access documents in the Salesforce data source.
      required:
      - applicationId
      - indexId
      - groupName
    MemberGroup:
      type: object
      properties:
        groupName:
          type: string
          description: The name of the sub group.
        type:
          type: string
          enum:
          - INDEX
          - DATASOURCE
          description: The type of the sub group.
      required:
      - groupName
    ServiceQuotaExceededException:
      type: object
      properties:
        message:
          type: string
          description: The message describing a ServiceQuotaExceededException.
        resourceId:
          type: string
          description: The identifier of the resource affected.
        resourceType:
          type: string
          description: The type of the resource affected.
      required:
      - message
      - resourceId
      - resourceType
    PutGroupResponse:
      type: object
      properties: {}
    ValidationExceptionField:
      type: object
      properties:
        name:
          type: string
          description: The field name where the invalid entry was detected.
        message:
          type: string
          description: A message about the validation exception.
      required:
      - name
      - message
    ThrottlingException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    ConflictException:
      type: object
      properties:
        message:
          type: string
          description: The message describing a ConflictException.
        resourceId:
          type: string
          description: The identifier of the resource affected.
        resourceType:
          type: string
          description: The type of the resource affected.
      required:
      - message
      - resourceId
      - resourceType
    ValidationException:
      type: object
      properties:
        message:
          type: string
          description: The message describing the ValidationException.
        reason:
          type: string
          enum:
          - CANNOT_PARSE
          - FIELD_VALIDATION_FAILED
          - UNKNOWN_OPERATION
          description: The reason for the ValidationException.
        fields:
          type: array
          items:
            $ref: '#/components/schemas/ValidationExceptionField'
          description: The input field(s) that failed validation.
      required:
      - message
      - reason
    GroupSummary:
      type: object
      properties:
        groupName:
          type: string
          description: The name of the group the summary information is for.
    GroupStatusDetail:
      type: object
      properties:
        status:
          type: string
          enum:
          - FAILED
          - SUCCEEDED
          - PROCESSING
          - DELETING
          - DELETED
          description: The status of a group.
        lastUpdatedAt:
          type: string
          format: date-time
          description: The Unix timestamp when the Amazon Q Business application was last updated.
        errorDetail:
          $ref: '#/components/schemas/ErrorDetail'
    GroupMembers:
      type: object
      properties:
        memberGroups:
          type: array
          items:
            $ref: '#/components/schemas/MemberGroup'
          description: A list of sub groups that belong to a group. For example, the sub groups "Research", "Engineering", and "Sales and Marketing" all belong to the group "Company".
        memberUsers:
          type: array
          items:
            $ref: '#/components/schemas/MemberUser'
          description: A list of users that belong to a group. For example, a list of interns all belong to the "Interns" group.
        s3PathForGroupMembers:
          $ref: '#/components/schemas/S3'
    GetGroupRequest:
      type: object
      properties:
        applicationId:
          type: string
          description: The identifier of the application id the group is attached to.
        indexId:
          type: string
          description: The identifier of the index the group is attached to.
        groupName:
          type: string
          description: The name of the group.
        dataSourceId:
          type: string
          description: The identifier of the data source the group is attached to.
      required:
      - applicationId
      - indexId
      - groupName
  securitySchemes:
    sigv4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
      x-aws-sigv4:
        signingName: qbusiness
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/qbusiness/service/2023-11-27/qbusiness-2023-11-27.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)