openapi: 3.2.0
info:
title: Groups Management Group Users API
description: API for managing user groups (Team Views) within an account
version: 1.0.0
contact:
name: Avaya API Team
email: api-team@avaya.com
url: https://developers.avayacloud.com/avaya-infinity/
license:
name: Avaya Software Development Kit (SDK) Software License Terms
url: https://support.avaya.com/css/P8/documents/101038288
servers:
- url: https://core.{customerId}.ec.avayacloud.com/api/config/v1
description: Production
variables:
customerId:
description: Your organization identifier
default: your-org-id
security:
- BearerAuth: []
tags:
- name: Group Users
description: Group membership operations
paths:
/groups/{groupId}/users:
patch:
summary: Bulk add users to group
description: Adds multiple users to a group
tags:
- Group Users
parameters:
- $ref: '#/components/parameters/groupId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddUsersToGroupRequest'
responses:
'200':
description: Users added successfully
content:
application/json:
schema:
$ref: '#/components/schemas/AddUsersToGroupResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/ConstraintViolation'
'500':
$ref: '#/components/responses/InternalServerError'
operationId: patchGroupsByGroupIdUsers
x-operation-id-source: derived
components:
responses:
Unauthorized:
description: Unauthorized
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
example:
type: https://developers.avayacloud.com/errors/unauthorized
title: Unauthorized
status: 401
detail: Bearer token expired at 2025-12-08T10:15:00Z. Request a new token.
requestId: req_xyz789
timestamp: '2025-12-08T10:30:05Z'
BadRequest:
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
example:
type: https://developers.avayacloud.com/errors/constraint-violation
title: Constraint Violation
status: 400
detail: Request contains invalid or missing fields
violations:
- field: accountId
message: must match "^[a-zA-Z]{6}$"
code: 20006
Forbidden:
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
example:
type: https://developers.avayacloud.com/errors/forbidden
title: Forbidden
status: 403
detail: 'Missing required scope: ''workflows:execute''. Your token has: ''workflows:read'''
requestId: req_xyz789
timestamp: '2025-12-08T10:30:05Z'
ConstraintViolation:
description: Constraint Violation
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
InternalServerError:
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
example:
type: https://developers.avayacloud.com/errors/internal-error
title: Internal Server Error
status: 500
detail: An unexpected error occurred while processing your request
requestId: req_xyz789
timestamp: '2025-12-08T10:30:05Z'
NotFound:
description: Not Found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
example:
type: https://developers.avayacloud.com/errors/resource-not-found
title: Resource Not Found
status: 404
detail: workflowId 'wf_123abc' does not exist
requestId: req_xyz789
timestamp: '2025-12-08T10:30:05Z'
schemas:
AddUsersToGroupRequest:
description: Payload object for adding multiple users to a group in a single operation.
type: object
required:
- users
properties:
users:
description: Array of users to add to the group.
type: array
items:
$ref: '#/components/schemas/Member'
addUsersToChannel:
description: Whether to add users to associated channels (default true)
type: boolean
default: true
accountIdOverride:
description: Master account override
$ref: '#/components/schemas/AccountId'
accountId:
description: Target account ID
$ref: '#/components/schemas/AccountId'
Member:
description: Group user object with userId and includeInDashboard flag. Used in members property.
type: object
required:
- userId
properties:
userId:
description: ID of the user to include as a member of the group.
$ref: '#/components/schemas/UserId'
includeInDashboard:
description: Include in team dashboard (for team type groups)
type: boolean
default: true
example:
userId: 002507f1e1c8e3e9a8b7c5d4e3f2
includeInDashboard: true
AccountId:
description: Unique identifier for an account.
type: string
pattern: ^001[0-9a-f]{23}$
example: 001f8e7d6c5b4a39281706f5e4d
Problem:
type: object
description: 'Problem Detail is a way to carry machine-readable details of errors in an HTTP
response to avoid the need to define new error response formats for HTTP APIs
RFC 7807
'
properties:
type:
description: 'An absolute URI that identifies the problem type.
When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g., using HTML).
'
type: string
format: uri
readOnly: true
example: https://developers.avayacloud.com/avaya-infinity/docs/group-management#error-reference
title:
description: 'A short, summary of the problem type.
Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
'
type: string
readOnly: true
example: Service Unavailable
status:
description: 'The HTTP status code generated by the origin server for this occurrence of the problem.
'
type: integer
format: int32
minimum: 300
exclusiveMaximum: 600
readOnly: true
example: 503
detail:
description: 'A human-readable explanation specific to this occurrence of the problem.
'
type: string
readOnly: true
example: Connection to database timed out
instance:
description: 'An absolute URI that identifies the specific occurrence of the problem.
It may or may not yield further information if dereferenced.
'
type: string
format: uri
readOnly: true
violations:
description: 'A list of violations that occurred as a result of invalid data provided as part of a request.
'
type: array
items:
$ref: '#/components/schemas/Violation'
readOnly: true
UserId:
description: Unique identifier for a user.
type: string
pattern: ^002[0-9a-f]{23}$
example: 002507f1e1c8e3e9a8b7c5d4e3f2
GroupId:
description: Unique identifier for a group.
type: string
pattern: ^007[0-9a-f]{23}$
example: 007a1b2c3d4e5f67890abcdef12
AddUsersToGroupResponse:
description: Brief list of the group's members after the update.
type: array
items:
type: object
required:
- userId
properties:
userId:
description: ID of the user to include as a member of the group.
$ref: '#/components/schemas/UserId'
readOnly: true
includeInDashboard:
description: Is this user to be included in team dashboard (for team type groups)
type: boolean
readOnly: true
Violation:
type: object
properties:
field:
description: 'The name of the field in the request that caused the violation.
This can be the name of a path parameter, query parameter, or a field within the request body.
'
type: string
readOnly: true
example: jobName
message:
description: 'A human-readable explanation specific to this occurrence of the violation.
'
type: string
readOnly: true
example: must match "^[a-zA-Z]{6}$"
code:
description: 'The violation code generated by the server for this occurrence of the violation.
Use this code when implementing any error handling logic instead of the message, as the message can change.
'
type: integer
format: int32
readOnly: true
example: 20006
required:
- field
- message
- code
example:
- field: emailAddress
message: must not be null
code: 20002
parameters:
groupId:
name: groupId
description: ID of the group in question
in: path
required: true
schema:
$ref: '#/components/schemas/GroupId'
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: 'OAuth 2.0 Bearer Token with scoped permissions.
Required scopes documented per endpoint.
'