openapi: 3.0.1 info: title: Symphony Agent Add All API description: 'This document refers to Symphony API calls to send and receive messages and content. They need the on-premise Agent installed to perform decryption/encryption of content. - sessionToken and keyManagerToken can be obtained by calling the authenticationAPI on the symphony back end and the key manager respectively. Refer to the methods described in authenticatorAPI.yaml. - Actions are defined to be atomic, ie will succeed in their entirety or fail and have changed nothing. - If it returns a 40X status then it will have sent no message to any stream even if a request to some subset of the requested streams would have succeeded. - If this contract cannot be met for any reason then this is an error and the response code will be 50X. - MessageML is a markup language for messages. See reference here: https://rest-api.symphony.com/docs/messagemlv2 - **Real Time Events**: The following events are returned when reading from a real time messages and events stream ("datafeed"). These events will be returned for datafeeds created with the v5 endpoints. To know more about the endpoints, refer to Create Messages/Events Stream and Read Messages/Events Stream. Unless otherwise specified, all events were added in 1.46. ' version: 22.9.1 servers: - url: / tags: - name: All paths: /v1/groups/deleteAll: delete: summary: Symphony Delete all data related to the current pod (extracted from JWT). This endpoint is for maintenance/test and it is usually disabled or restricted parameters: - in: header name: X-Symphony-Host schema: type: string description: headers to indentify the originator nullable: false minLength: 1 example: localhost.symphony.com required: true operationId: deleteAllGroups tags: - All responses: '200': description: Successful response. Returns the list of all groups (it should be empty) content: application/json: schema: $ref: '#/components/schemas/GroupList' '400': description: Returned if missing required parameters or wrong parameters $ref: ./symphony-common-definitions.yaml#/components/responses/BadRequest '401': description: Returned if wrong or missing JWT token $ref: ./symphony-common-definitions.yaml#/components/responses/Unauthorized '403': description: Returned if JWT token missing the required entitlement $ref: ./symphony-common-definitions.yaml#/components/responses/Forbidden '429': description: Returned if the backend is overloaded $ref: '#/components/responses/TooManyRequests' components: schemas: GroupImplicitConnection: description: Group implicit connections. properties: connectedTenantsList: type: array items: type: integer example: - 100 connectedUsersList: type: array items: type: integer format: int64 example: - 12345678900000 GroupList: properties: pagination: $ref: ./symphony-common-definitions.yaml#/components/schemas/Pagination data: type: array items: $ref: '#/components/schemas/ReadGroup' GroupInteractionTransfer: description: Group interaction transfer. properties: restrictedTenantsList: type: array items: type: integer example: - 100 restrictedUsersList: type: array items: type: integer format: int64 example: - 12345678900000 Status: type: string enum: - ACTIVE - DELETED description: Status flag to distinguish between active and deleted objects example: ACTIVE GroupVisibilityRestriction: description: Group visibility restriction. properties: restrictedTenantsList: type: array items: type: integer example: - 100 restrictedUsersList: type: array items: type: integer format: int64 example: - 12345678900000 ReadMember: allOf: - $ref: '#/components/schemas/Member' - type: object required: - rootCause properties: addedDate: description: Date/time when the member has been added in the group in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sZ) type: string format: date-time status: description: Some group types (e.g. COMPANY) keep disabled users, flagging them as DISABLED. However, this attribute is not relevant for group types (e.g. SDL) that remove (instead of flag) disabled user from group type: string enum: - ENABLED - DISABLED example: ENABLED Profile: allOf: - $ref: '#/components/schemas/BaseProfile' - type: object required: - rootCause properties: id: type: string description: Profile unique identifier avatars: type: array items: $ref: '#/components/schemas/Avatar' Member: description: A Group member. properties: memberTenant: type: integer description: Member's tenant id nullable: false example: 100 memberId: type: integer format: int64 description: Member's user id nullable: false example: 12345678900000 BaseProfile: description: The group's profile. Please note that in case of a company group type, the profile shouldn't be provided when creating a new company and do not exist in case of an existing company group properties: displayName: type: string description: The display name in Directory, it is expected to be the same as group name nullable: false minLength: 1 example: Test Group companyName: type: string description: The company name is expected to be the same as group company owner example: Acme Corporation email: type: string example: testgroup@acme.com mobile: type: string example: +33(0)600000000 jobTitle: type: string jobRole: type: string example: Director jobDepartment: type: string jobDivision: type: string jobPhone: type: string jobCity: type: string industryOfInterest: type: array items: type: string example: - Services assetClassesOfInterest: type: array items: type: string example: - Equities marketCoverage: type: array uniqueItems: true items: type: string example: - EMEA responsibility: type: array uniqueItems: true items: type: string example: - Escalation function: type: array uniqueItems: true items: type: string example: - Collateral instrument: type: array uniqueItems: true items: type: string example: - Equities Avatar: properties: size: type: string url: type: string ReadGroup: allOf: - $ref: '#/components/schemas/BaseGroup' - type: object required: - rootCause properties: id: type: string description: Group's unique identifier createdDate: type: string format: date-time createdBy: type: string updatedDate: type: string format: date-time updatedBy: type: string status: $ref: '#/components/schemas/Status' eTag: type: string example: e3a52e72-0854-4401-8c24-e0b17c0ca304 subType: type: string enum: - COMMUNITY - CHANNEL description: The type of the company group, This field is mandatory in case of a company group type, but not applicable for Symphony Distribution List example: COMMUNITY referrer: type: string description: The referring company name. This field is mandatory in case of a company group type, but not applicable for Symphony Distribution List example: Symphony, referring company name, referring channel partner name members: type: array items: $ref: '#/components/schemas/ReadMember' profile: $ref: '#/components/schemas/Profile' description: The profile is not supported for company group, but only works with SDL as group type visibilityRestriction: $ref: '#/components/schemas/GroupVisibilityRestriction' implicitConnection: $ref: '#/components/schemas/GroupImplicitConnection' interactionTransfer: $ref: '#/components/schemas/GroupInteractionTransfer' BaseGroup: description: A reduced set Group object, for retrieving list of group purpose properties: type: type: string nullable: false minLength: 1 description: Group type identifier example: SDL ownerType: $ref: '#/components/schemas/Owner' nullable: false ownerId: type: integer format: int64 description: Owner id if the owner type is tenant (podId) or user (userId), otherwise null example: 100 name: type: string nullable: false minLength: 1 description: Group's name example: Test Group required: - type - ownerType - ownerId - name Owner: type: string enum: - PLATFORM - TENANT - USER description: Owner type. Ony TENANT supported now example: TENANT responses: TooManyRequests: description: Too Many Requests content: application/json: schema: $ref: ./symphony-common-definitions.yaml#/components/schemas/Error