openapi: 3.0.1 info: title: Symphony Agent Add Channelco 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: Channelco paths: /v1/channelco/user: get: tags: - Channelco security: - JwtAuth: [] summary: Symphony Search Channelco User operationId: searchUser parameters: - name: email in: query schema: type: string required: true description: user's email example: user@comcocompany.com responses: '200': description: body content: application/json: schema: $ref: '#/components/schemas/ChannelCoUserAndCompany' '400': description: Something was wrong about the request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized request content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: The user do not exist content: application/json: schema: $ref: '#/components/schemas/ApiError' post: tags: - Channelco security: - JwtAuth: [] summary: Symphony Create Channelco User operationId: createUser requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ChannelCoUsersListRequest' responses: '201': description: body content: application/json: schema: $ref: '#/components/schemas/ChannelCoUsersListResponse' '400': description: Something was wrong about the request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized request content: application/json: schema: $ref: '#/components/schemas/ApiError' /v1/channelco/company/{companyId}/user/{userId}/roles/add: post: tags: - Channelco security: - JwtAuth: [] summary: Symphony Adds a Role to a Channelco User's Account operationId: addRole parameters: - name: userId in: path schema: type: integer format: int64 required: true description: symphony user id example: 123456789 - name: companyId in: path schema: type: string required: true description: company Id of the user example: '10' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Role' responses: '200': description: body content: application/json: schema: $ref: '#/components/schemas/ApiInfo' '400': description: Something was wrong about the request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized request content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: The user do not exist content: application/json: schema: $ref: '#/components/schemas/ApiError' /v1/channelco/company/{companyId}/user/{userId}: get: tags: - Channelco security: - JwtAuth: [] summary: Symphony Get Channelco User by Companyid and Userid operationId: getUser parameters: - name: userId in: path schema: type: integer format: int64 required: true description: symphony user id example: 123456789 - name: companyId in: path schema: type: string required: true description: company Id of the user example: '10' responses: '200': description: body content: application/json: schema: $ref: '#/components/schemas/ChannelCoUserAndCompany' '400': description: Something was wrong about the request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized request content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: The user do not exist content: application/json: schema: $ref: '#/components/schemas/ApiError' put: tags: - Channelco security: - JwtAuth: [] summary: Symphony Update Channelco User operationId: updateUser parameters: - name: userId in: path schema: type: integer format: int64 required: true description: symphony user id example: 123456789 - name: companyId in: path schema: type: string required: true description: company Id of the user example: '10' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateChannelCoUserRequest' responses: '200': description: body content: application/json: schema: $ref: '#/components/schemas/ChannelCoUser' '400': description: Something was wrong about the request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized request content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: The user do not exist content: application/json: schema: $ref: '#/components/schemas/ApiError' delete: tags: - Channelco security: - JwtAuth: [] summary: Symphony Disable Channelco User operationId: disableUser parameters: - name: userId in: path schema: type: integer format: int64 required: true description: symphony user id example: 123456789 - name: companyId in: path schema: type: string required: true description: company Id of the user example: '10' responses: '204': description: The user was disabled successfully. '400': description: Something was wrong about the request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized request content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: The user do not exist content: application/json: schema: $ref: '#/components/schemas/ApiError' components: schemas: ChannelCoUserErrorResponse: allOf: - $ref: '#/components/schemas/ChannelCoUserRequest' - type: object properties: code: type: string description: error code example: alreadyExisting: value: USER_ALREADY_EXISTS description: user already existing belong a pod (error message will provide detail about pod url) existingCompany: value: COMPANY_ALREADY_EXISTS_USER_NEEDS_ACCESS description: company already exists and the user need access (error message will provide detail about pod url) existingComCoCompany: value: COMCO_COMPANY_ALREADY_EXISTS_USER_NEED_ACCESS description: comco company already exists and the user need access mismatchCompany: value: UNEXPECTED_ERROR message: type: string description: Human readable details about the information the api is returning ChannelCoUserAndCompany: allOf: - $ref: '#/components/schemas/ChannelCoUser' - type: object properties: companyId: type: string description: company Id of the user example: '10' companyName: type: string description: company name of the user example: Symphony maxLength: 64 ApiInfo: type: object properties: code: type: string description: info code message: type: string description: Human readable details about the information the api is returning details: description: Full details about info type: object UpdateChannelCoUserRequest: type: object description: payload to update a channelco user account properties: email: type: string format: email example: foo@example.com firstName: type: string example: Paul maxLength: 64 lastName: type: string example: Smith maxLength: 64 displayName: type: string example: Paul Smith phoneNumber: type: string example: 33612345678 department: type: string example: Product Engineering maxLength: 256 title: type: string example: Engineering manager maxLength: 256 location: type: string description: country ChannelCoUser: allOf: - $ref: '#/components/schemas/ChannelCoUserRequest' - type: object properties: userId: type: integer format: int64 description: Member's user id username: type: string description: Member's username generated by API. If there is no naming conflict it is (in lower case) Role: type: object properties: id: type: string description: role Id example: COMPLIANCE_OFFICER required: - id ChannelCoUserRequest: type: object description: payload to onboard a channelco user account properties: email: type: string format: email example: foo@example.com firstName: type: string example: Paul maxLength: 64 lastName: type: string example: Smith maxLength: 64 displayName: type: string example: Paul Smith maxLength: 128 description: if omitted, it will be generated with the pattern phoneNumber: type: string example: 33612345678 department: type: string example: Product Engineering maxLength: 256 title: type: string example: Engineering manager maxLength: 256 location: type: string description: country required: - email - firstName - lastName ChannelCoUserResponse: allOf: - $ref: '#/components/schemas/ChannelCoUserRequest' - type: object properties: userId: type: integer format: int64 description: Member's user id username: type: string description: Member's username generated by API. It is expected to be the same as email code: type: string description: info code example: newCompany: value: USER_ADDED_NEW_COMPANY description: new company created and user added into it existingCompany: value: USER_ADDED_EXISTING_COMPANY description: company already exists, user added into it mismatchCompany: value: USER_ADDED_TO_DIFFERENT_COMPANY_NAME description: company already exists (lookup by domain name), but the name is different. User is added in the existing one message: type: string description: Human readable details about the information the api is returning ApiError: type: object properties: code: type: string description: error code message: type: string description: Human readable details about the error details: description: Full details about error, usefull for 400 type: object ChannelCoUsersListRequest: type: object description: payload to onboard channelco users properties: companyName: type: string description: This field is mandatory only if a company with same domain (taken from email) does not exist yet example: Symphony maxLength: 64 users: type: array items: $ref: '#/components/schemas/ChannelCoUserRequest' required: - companyName - users ChannelCoUsersListResponse: type: object properties: companyId: type: string description: company Id of the users example: '10' companyName: type: string description: company name of the users example: Symphony maxLength: 64 success: type: array items: $ref: '#/components/schemas/ChannelCoUserResponse' errors: type: array items: $ref: '#/components/schemas/ChannelCoUserErrorResponse'