20_10_0_LOCAL.pod-api-public-deprecated.yaml Maven / Gradle / Ivy
swagger: '2.0'
info:
version: '20.10.0'
title: Pod API
description: |
This document refers to Symphony API calls that do not need
encryption or decryption of content.
- sessionToken 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 made no change to the
system even if ome subset of the request would have succeeded.
- If this contract cannot be met for any reason then this is an error
and the response code will be 50X.
paths:
'/v1/companycert/list':
get:
summary: List all trusted certs
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: skip
description: Pagination start
in: query
required: false
type: integer
- name: limit
description: Row limit
in: query
required: false
type: integer
tags:
- Security
responses:
'200':
description: Success
schema:
$ref: '#/definitions/CompanyCertInfoList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v2/companycert/create':
post:
summary: Create a company trusted or untrusted certificate.
Different from V1 in that we reject expired certificates.
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: cert
in: body
required: true
schema:
$ref: '#/definitions/CompanyCert'
tags:
- Security
responses:
'200':
description: Success
schema:
$ref: '#/definitions/CompanyCertDetail'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/companycert/delete':
post:
summary: Delete a company certificate
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: fingerPrint
in: body
required: true
schema:
$ref: '#/definitions/StringId'
tags:
- Security
responses:
'200':
description: Success
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/companycert/{fingerPrint}/get':
get:
summary: Get the details of a company certificate
consumes:
- application/json
produces:
- application/json
parameters:
- name: fingerPrint
description: Certificate fingerPrint (ID)
in: path
required: true
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Security
responses:
'200':
description: Success
schema:
$ref: '#/definitions/CompanyCertDetail'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/companycert/{fingerPrint}/update':
post:
summary: Update a company certificate
consumes:
- application/json
produces:
- application/json
parameters:
- name: fingerPrint
description: Certificate fingerPrint (ID)
in: path
required: true
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: certAttributes
in: body
required: true
schema:
$ref: '#/definitions/CompanyCertAttributes'
tags:
- Security
responses:
'200':
description: Success
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/companycert/{fingerPrint}/issuedBy':
get:
summary: |
Return a list of all certificates which were verified to the cert whose
fingerprint is passed.
consumes:
- application/json
produces:
- application/json
parameters:
- name: fingerPrint
description: Certificate fingerPrint (ID)
in: path
required: true
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Security
responses:
'200':
description: Success
schema:
$ref: '#/definitions/CompanyCertInfoList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/companycert/podmanaged/list':
get:
summary: List all trusted certs
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: skip
description: Pagination start
in: query
required: false
type: integer
- name: limit
description: Row limit
in: query
required: false
type: integer
tags:
- Security
responses:
'200':
description: Success
schema:
$ref: '#/definitions/CompanyCertInfoList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/companycert/type/list':
post:
summary: List all certs of the given types
consumes:
- application/json
produces:
- application/json
parameters:
- name: typeIdList
description: Certificate type list
in: body
required: true
schema:
$ref: '#/definitions/CompanyCertTypeList'
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: skip
description: Pagination start
in: query
required: false
type: integer
- name: limit
description: Row limit
in: query
required: false
type: integer
tags:
- Security
responses:
'200':
description: Success
schema:
$ref: '#/definitions/CompanyCertInfoList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/podcert':
get:
summary: |
Retrieve the pod certificate that can be use to validate signed JWT tokens generated from the pod
produces:
- application/json
tags:
- Pod
responses:
'200':
description: OK
schema:
$ref: '#/definitions/PodCertificate'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/connection/list':
get:
summary: List of requesting user's connection
description: |
This retrieves all connections of the requesting user. (i.e. both connections in which the requesting user is the sender and those
in which the requesting user is the inivtee) By default, if you haven't specified the connection status to filter on, this call will only
return results for both "pending_incoming" and "pending_outgoing". You can optionally filter by userIds to further restrict the results of
a specific connection status. If the users are in the same private pod, the users have an implicit connection status of "accepted". Those
users will not be returned in the response if you don't specify the connection status as "accepted" (default is "pending")
and the explicit userIds in the request.
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: status
description: |
Filter the connection list based on the connection status.
The connection status can only be pending_incoming, pending_outgoing, accepted, rejected, or all (all of the above)
in: query
type: string
enum:
- PENDING_INCOMING
- PENDING_OUTGOING
- ACCEPTED
- REJECTED
- ALL
- name: userIds
description: |
The userIds parameter should be specified as a comma delimited list of user ids and can be used to restrict the results of a specific connection.
Note that this is particularly important if the caller intends to retrieve results for implicit connection (user within the same pod).
Implicit connections will not be included in the response if userId is not provided.
in: query
type: string
tags:
- Connection
responses:
'200':
description: OK
schema:
$ref: '#/definitions/UserConnectionList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'404':
description: 'Not Found: Connection cannot be found.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/connection/create':
post:
summary: Sends an invitation to connect with another user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: connectionRequest
in: body
required: true
schema:
$ref: '#/definitions/UserConnectionRequest'
tags:
- Connection
responses:
'200':
description: OK
schema:
$ref: '#/definitions/UserConnection'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'404':
description: 'Not Found: User cannot be found.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/connection/accept':
post:
summary: Accept the connection request for the requesting user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: connectionRequest
in: body
required: true
schema:
$ref: '#/definitions/UserConnectionRequest'
tags:
- Connection
responses:
'200':
description: Success
schema:
$ref: '#/definitions/UserConnection'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'404':
description: 'Not Found: Connection cannot be found.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/connection/reject':
post:
summary: Reject the connection request for the requesting user.
description: |
Reject the connection between the requesting user and request sender. If both users are in the same private pod,
an error will be returned because both users have an implicit connection which cannot be rejected.
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: connectionRequest
in: body
required: true
schema:
$ref: '#/definitions/UserConnectionRequest'
tags:
- Connection
responses:
'200':
description: Success
schema:
$ref: '#/definitions/UserConnection'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'404':
description: 'Not Found: Connection cannot be found.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/connection/user/{userId}/info':
get:
summary: The status of the connection invitation to another user.
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: userId
description: user Id
in: path
required: true
type: string
tags:
- Connection
responses:
'200':
description: OK
schema:
$ref: '#/definitions/UserConnection'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'404':
description: 'Not Found: Connection cannot be found.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/connection/user/{uid}/remove':
post:
summary: Removes a connection with a user.
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: |
User ID as a decimal integer
in: path
required: true
type: integer
format: int64
tags:
- Connection
responses:
'200':
description: OK
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'404':
description: 'Not Found: Connection cannot be found.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/im/create':
post:
summary: Create a new single or multi party instant message conversation between the caller and specified users.
description: |
At least one user ID must be provided or
an error response will be sent.
The caller is implicitly included in the members of the
created chat.
Duplicate users will be included in the membership of the chat but
the duplication will be silently ignored.
If there is an existing IM conversation with the same set of participants then
the id of that existing stream will be returned.
This method was incorrectly specified to take a query parameter in
version 1.0 of this specification but now expects a JSON array of
user IDs in the body of the request.
consumes:
- application/json
produces:
- application/json
parameters:
- name: uidList
description: List of (integer) User IDs of participants
in: body
required: true
schema:
$ref: '#/definitions/UserIdList'
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Streams
responses:
'200':
description: OK
schema:
$ref: '#/definitions/Stream'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/presence/feed/create':
post:
summary: Create Presence status feed.
description: |
Create a new stream capturing presence status changes ("presence feed").
When read from, the feed will return the current presence status of company (pod) users
if it has changed since the last read.
Returns the ID of the presence feed to be used in subsequent read operations.
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Presence
responses:
'200':
description: OK
schema:
$ref: '#/definitions/StringId'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/presence/feed/{feedId}/read':
get:
summary: Read a presence status feed.
description: |
Returns the current presence status of company (pod) users
if it has changed since the last read. Returns up to 500 records at a time.
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: feedId
description: Presence feed ID.
in: path
required: true
type: string
tags:
- Presence
responses:
'200':
description: OK
schema:
$ref: '#/definitions/V2PresenceList'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/presence/feed/{feedId}/delete':
post:
summary: Delete a presence status feed.
description: |
Returns the ID of the deleted feed.
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: feedId
description: Presence feed ID.
in: path
required: true
type: string
tags:
- Presence
responses:
'200':
description: OK
schema:
$ref: '#/definitions/StringId'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v3/room/create':
post:
summary: Create a new chatroom.
description: |
Create a new chatroom.
If no attributes are specified, the room is created as a private chatroom.
consumes:
- application/json
produces:
- application/json
parameters:
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/V3RoomAttributes'
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Streams
responses:
'200':
description: OK
schema:
$ref: '#/definitions/V3RoomDetail'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'451':
description: 'Unavailable for Legal Reasons: Compliance Issues found in room creation request.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v3/room/search':
post:
summary: Search rooms according to the specified criteria.
produces:
- application/json
consumes:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: skip
description: |
No. of results to skip.
in: query
type: integer
- name: limit
description: |
Max no. of results to return. If no value is provided, 50 is the default. Must be a positive
integer and must not exceed 100
in: query
type: integer
required: false
- name: query
description: The search query object.
in: body
required: true
schema:
$ref: '#/definitions/V2RoomSearchCriteria'
tags:
- Streams
responses:
'200':
description: OK
schema:
$ref: '#/definitions/V3RoomSearchResults'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v3/room/{id}/info':
get:
summary: Get information about a partcular chatroom.
produces:
- application/json
parameters:
- name: id
description: Room streamId
in: path
required: true
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Streams
responses:
'200':
description: OK
schema:
$ref: '#/definitions/V3RoomDetail'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/room/{id}/setActive':
post:
summary: Deactivate or reactivate a chatroom. At creation, a new chatroom is active.
consumes:
- application/json
produces:
- application/json
parameters:
- name: id
description: Room streamId
in: path
required: true
type: string
- name: active
in: query
required: true
type: boolean
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Streams
responses:
'200':
description: OK
schema:
$ref: '#/definitions/RoomDetail'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v3/room/{id}/update':
post:
summary: Update the attributes of an existing chatroom.
consumes:
- application/json
produces:
- application/json
parameters:
- name: id
description: Room streamId
in: path
required: true
type: string
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/V3RoomAttributes'
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Streams
responses:
'200':
description: OK
schema:
$ref: '#/definitions/V3RoomDetail'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'451':
description: 'Unavailable for Legal Reasons: Compliance Issues found in room update request.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/room/{id}/membership/add':
post:
summary: Adds new member to an existing room.
consumes:
- application/json
produces:
- application/json
parameters:
- name: id
description: Room streamId
in: path
required: true
type: string
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/UserId'
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Room Membership
responses:
'200':
description: OK
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/room/{id}/membership/remove':
post:
summary: Removes member from an existing room.
consumes:
- application/json
produces:
- application/json
parameters:
- name: id
description: Room streamId
in: path
required: true
type: string
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/UserId'
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Room Membership
responses:
'200':
description: OK
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/room/{id}/membership/promoteOwner':
post:
summary: Promotes user to owner.
consumes:
- application/json
produces:
- application/json
parameters:
- name: id
description: Room streamId
in: path
required: true
type: string
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/UserId'
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Room Membership
responses:
'200':
description: OK
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/room/{id}/membership/demoteOwner':
post:
summary: Demotes room owner.
consumes:
- application/json
produces:
- application/json
parameters:
- name: id
description: Room streamId
in: path
required: true
type: string
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/UserId'
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Room Membership
responses:
'200':
description: OK
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v2/room/{id}/membership/list':
get:
summary: Lists current members of an existing room.
produces:
- application/json
parameters:
- name: id
description: Room streamId
in: path
required: true
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Room Membership
responses:
'200':
description: OK
schema:
$ref: '#/definitions/MembershipList'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v2/sessioninfo':
get:
summary: Get information about the current user's session.
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Session
responses:
'200':
description: OK
schema:
$ref: '#/definitions/UserV2'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v2/user':
get:
summary: Get user information
produces:
- application/json
parameters:
- name: uid
description: User ID as a decimal integer
in: query
required: false
type: integer
format: int64
- name: email
description: Email address
in: query
required: false
type: string
format: email
- name: username
description: login user name
in: query
required: false
type: string
- name: local
description: |
If true then a local DB search will be performed and only local pod users will be
returned. If absent or false then a directory search will be performed and users
from other pods who are visible to the calling user will also be returned.
Note: for username search, the local flag must be true
in: query
required: false
type: boolean
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Users
responses:
'200':
description: OK
schema:
$ref: '#/definitions/UserV2'
'204':
description: 'No user found.'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v3/users':
get:
summary: |
Search users by emails or ids.
Only one of the search lists should be informed at a time.
Search lists may containt up to 100 elements.
produces:
- application/json
parameters:
- name: uid
description: User IDs as a list of decimal integers separated by comma
in: query
required: false
type: string
- name: email
description: List of email addresses separated by comma
in: query
required: false
type: string
- name: username
description: List of username separated by comma
in: query
required: false
type: string
- name: local
description: |
If true then a local DB search will be performed and only local pod users will be
returned. If absent or false then a directory search will be performed and users
from other pods who are visible to the calling user will also be returned.
in: query
required: false
type: boolean
- name: active
description: |
If not set all user status will be returned,
if true all active users will be returned,
if false all inactive users will be returned
in: query
required: false
type: boolean
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Users
responses:
'200':
description: OK
schema:
$ref: '#/definitions/V2UserList'
'204':
description: 'No user found.'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/user/presence/register':
post:
summary: Register interest in a user's presence status
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uidList
description: List of (integer) User IDs of users whose presence to query
in: body
required: true
schema:
$ref: '#/definitions/UserIdList'
tags:
- Presence
responses:
'200':
description: OK
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'404':
description: 'Not Found: user id cannot be located.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v2/user/presence':
get:
summary: Get presence information about the requesting user.
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Presence
responses:
'200':
description: OK
schema:
$ref: '#/definitions/V2Presence'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Invalid session token'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
post:
summary: Set the presence of the requesting user.
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: soft
description: |
If true, the user's current status is taken into consideration. If the user is currently OFFLINE,
the user's presence will still be OFFLINE, but the new presence will take effect when the
user comes online. If the user is currently online, the user's activity state will be
applied to the presence if applicable. (e.g. if you are setting their presence to AVAILABLE,
but the user is currently idle, their status will be represented as AWAY)
in: query
required: false
type: boolean
- name: presence
in: body
required: true
schema:
$ref: '#/definitions/V2PresenceStatus'
tags:
- Presence
responses:
'200':
description: OK
schema:
$ref: '#/definitions/V2Presence'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Invalid session token.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v3/user/{uid}/presence':
get:
summary: Get presence information about a particular user.
produces:
- application/json
parameters:
- name: uid
description: |
User ID as a decimal integer
in: path
required: true
type: integer
format: int64
- name: local
description: |
If true, a local query will be performed and the presence will be
set to OFFLINE for users who are not local to the calling user's
pod. If false or absent, then the presence of all local users and
the presence of all external users to whom the calling user is
connected will be queried.
For external users, a "presence interest" should be registered through
/v1/user/presence/register before querying for presence.
in: query
type: boolean
required: false
default: false
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Presence
responses:
'200':
description: OK
schema:
$ref: '#/definitions/V2Presence'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'404':
description: 'Not Found: user id cannot be located.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v2/users/presence':
get:
summary: Get presence information about all company (pod) users.
description: |
The returned data is taken from the in-memory cache for performance
reasons which means inactive users may be omitted from the response.
All non-inactive users WILL be returned and some inactive users MAY
be included. Any omitted user IS inactive.
Returned records are sorted by user ID, ascending.
This method is expensive. It pulls ALL records from the cache, sorts them and then only uses a subset.
For large numbers of users, this can be very inefficient both due to sorting
and due to the cache being distributed across many nodes.
Addiionally, there is the potential to miss users if they become active
after the page in which their user ID falls has already been read by the client.
To avoid this situation, a presence feed should be created (and optionally read from)
first to capture presence changes of users who get reactivated during a paged call to this endpoint.
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: lastUserId
description: Last user ID retrieved. Used for paging; if provided, results will skip users with IDs less than this parameter.
in: query
required: false
type: integer
format: int64
- name: limit
description: Max number of records to return. If no value is provided, 1000 is the default. The maximum supported value is 5000.
in: query
type: integer
required: false
tags:
- Presence
responses:
'200':
description: OK
schema:
$ref: '#/definitions/V2PresenceList'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v3/user/presence':
post:
summary: Set presence information for a particular user.
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: soft
description: |
If true, the user's current status is taken into consideration. If the user is currently OFFLINE,
the user's presence will still be OFFLINE, but the new presence will take effect when the
user comes online. If the user is currently online, the user's activity state will be
applied to the presence if applicable. (e.g. if you are setting their presence to AVAILABLE,
but the user is currently idle, their status will be represented as AWAY)
in: query
required: false
type: boolean
- name: presence
in: body
required: true
schema:
$ref: '#/definitions/V2UserPresence'
tags:
- Presence
responses:
'200':
description: OK
schema:
$ref: '#/definitions/V2Presence'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden.'
schema:
$ref: '#/definitions/Error'
'404':
description: 'Not Found: user id cannot be located.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/user/search':
post:
summary: Search for users by name or email address
consumes:
- application/json
produces:
- application/json
parameters:
- name: skip
description: number of records to skip
in: query
type: integer
- name: limit
description: Max number of records to return. If no value is provided, 50 is the default.
in: query
type: integer
- name: local
description: |
If true then a local DB search will be performed and only local pod users will be
returned. If absent or false then a directory search will be performed and users
from other pods who are visible to the calling user will also be returned.
in: query
required: false
type: boolean
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: searchRequest
description: search criteria
in: body
required: true
schema:
$ref: '#/definitions/UserSearchQuery'
tags:
- Users
responses:
'200':
description: OK
schema:
$ref: '#/definitions/UserSearchResults'
'204':
description: 'No user found.'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/streams/list':
post:
summary: |
Retrieve a list of all streams of which the requesting user is a member,
sorted by creation date (ascending).
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: skip
description: |
No. of results to skip.
in: query
type: integer
- name: limit
description: |
Max no. of results to return. If no value is provided, 50 is the default.
in: query
type: integer
- name: filter
description: Stream filtering criteria.
in: body
schema:
$ref: '#/definitions/StreamFilter'
tags:
- Streams
responses:
'200':
description: OK
schema:
$ref: '#/definitions/StreamList'
'204':
description: 'Stream not found.'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v2/streams/{sid}/info':
get:
summary: Get information about a partcular stream.
produces:
- application/json
parameters:
- name: sid
description: Stream Id
in: path
required: true
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Streams
responses:
'200':
description: OK
schema:
$ref: '#/definitions/V2StreamAttributes'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/streams/{sid}/attachments':
get:
summary: Get attachments in a particular stream.
produces:
- application/json
parameters:
- name: sid
description: Stream Id
in: path
required: true
type: string
- name: since
description: |
Timestamp of first required attachment.
This is a long integer value representing milliseconds since Jan 1 1970
in: query
required: false
type: integer
format: int64
- name: to
description: |
Timestamp of last required attachment.
This is a long integer value representing milliseconds since Jan 1 1970
in: query
required: false
type: integer
format: int64
- name: limit
description: Maximum number of attachments to return. Default is 50. Must be a positive
integer and must not exceed 100.
in: query
type: integer
required: false
- name: sortDir
description: |
Attachment date sort direction : ASC or DESC (default to ASC)
in: query
type: string
required: false
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Streams
responses:
'200':
description: OK
schema:
$ref: '#/definitions/StreamAttachmentResponse'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/app/entitlement/list':
get:
summary: Get the list of application entitlements for the company
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- AppEntitlement
responses:
'200':
description: Success
schema:
$ref: '#/definitions/PodAppEntitlementList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
post:
summary: Update the application entitlements for the company
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/PodAppEntitlementList'
tags:
- AppEntitlement
responses:
'200':
description: Success
schema:
$ref: '#/definitions/PodAppEntitlementList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/disclaimer/{did}':
get:
summary: Get a disclaimer by disclaimer id
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: did
in: path
type: string
description: The ID of the entity
required: true
tags:
- Disclaimer
responses:
'200':
description: Success
schema:
$ref: '#/definitions/Disclaimer'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/disclaimer/list':
get:
summary: List all disclaimers for the company (pod)
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Disclaimer
responses:
'200':
description: Success
schema:
$ref: '#/definitions/DisclaimerList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/disclaimer/{did}/users':
get:
summary: List all users assigned to this disclaimer
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: did
in: path
type: string
description: The ID of the entity
required: true
tags:
- Disclaimer
responses:
'200':
description: Success
schema:
$ref: '#/definitions/UserIdList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/group/list':
get:
summary: Get a list of all Information Barrier Groups
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- InfoBarriers
responses:
'200':
description: Success
schema:
$ref: '#/definitions/GroupList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/group/{gid}/membership/list':
get:
summary: Get the list of userids in this Information Barrier Group
consumes:
- application/json
produces:
- application/json
parameters:
- name: gid
description: URL-Safe encoded Group ID
in: path
required: true
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- InfoBarriers
responses:
'200':
description: Success
schema:
$ref: '#/definitions/IntegerList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'404':
description: 'Not Found: Group cannot be found.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/group/{gid}/membership/add':
post:
summary: Add members to an Information Barrier group.
consumes:
- application/json
produces:
- application/json
parameters:
- name: gid
description: URL-Safe encoded Group ID
in: path
required: true
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: users
in: body
required: true
schema:
$ref: '#/definitions/IntegerList'
tags:
- InfoBarriers
responses:
'200':
description: Success
schema:
$ref: '#/definitions/BulkActionResult'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/group/{gid}/membership/remove':
post:
summary: Remove members from an Information Barrier group
consumes:
- application/json
produces:
- application/json
parameters:
- name: gid
description: URL-Safe encoded Group ID
in: path
required: true
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: users
in: body
required: true
schema:
$ref: '#/definitions/IntegerList'
tags:
- InfoBarriers
responses:
'200':
description: Success
schema:
$ref: '#/definitions/BulkActionResult'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/im/create':
post:
summary: Create a new single or multi party instant message conversation
description: |
At least two user IDs must be provided or
an error response will be sent.
The caller is not included in the members of the
created chat.
Duplicate users will be included in the membership of the chat but
the duplication will be silently ignored.
If there is an existing IM conversation with the same set of participants then
the id of that existing stream will be returned.
consumes:
- application/json
produces:
- application/json
parameters:
- name: uidList
description: List of (integer) User IDs of participants
in: body
required: true
schema:
$ref: '#/definitions/UserIdList'
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Streams
responses:
'200':
description: OK
schema:
$ref: '#/definitions/Stream'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/messagesuppression/{id}/suppress':
post:
summary: Suppress a message
consumes:
- application/json
produces:
- application/json
parameters:
- name: id
description: URL-Safe encoded Message ID
in: path
required: true
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- MessageSuppression
responses:
'200':
description: Success
schema:
$ref: '#/definitions/MessageSuppressionResponse'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/policy/list':
get:
summary: Get all Information Policies
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- InfoBarriers
responses:
'200':
description: Success
schema:
$ref: '#/definitions/PolicyList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/room/{id}/setActive':
post:
summary: Deactivate or reactivate a chatroom via AC Portal.
consumes:
- application/json
produces:
- application/json
parameters:
- name: id
description: Room streamId
in: path
required: true
type: string
- name: active
in: query
required: true
type: boolean
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Streams
responses:
'200':
description: OK
schema:
$ref: '#/definitions/RoomDetail'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/room/{id}/membership/list':
get:
summary: Lists current and previous members of an existing room.
produces:
- application/json
parameters:
- name: id
description: Room streamId
in: path
required: true
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: includePastMembers
in: query
required: false
type: boolean
description: If true, the membership list will include past members of the stream. If false, the listing will only incude current members. Default false.
tags:
- Room Membership
responses:
'200':
description: OK
schema:
$ref: '#/definitions/MembershipList'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/room/{id}/membership/add':
post:
summary: Add a member to an existing room.
consumes:
- application/json
produces:
- application/json
parameters:
- name: id
description: Room streamId
in: path
required: true
type: string
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/UserId'
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Room Membership
responses:
'200':
description: OK
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/room/{id}/membership/remove':
post:
summary: Remove a member from a room.
consumes:
- application/json
produces:
- application/json
parameters:
- name: id
description: Room streamId
in: path
required: true
type: string
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/UserId'
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Room Membership
responses:
'200':
description: OK
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v2/admin/user/list':
get:
summary: Retrieve a list of all users in the company (pod)
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session Authentication token.
in: header
required: true
type: string
- name: skip
description: Number of users to skip. Default is 0. Must be a integer equals or bigger than 0.
in: query
type: integer
required: false
- name: limit
description: Maximum number of users to return. Default is 100. Must be a positive
integer and must not exceed 1000.
in: query
type: integer
required: false
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/V2UserDetailList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/user/find':
post:
summary: Find a user based on attributes
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: skip
description: Number of users to skip. Default is 0. Must be a integer equals or bigger than 0.
in: query
type: integer
required: false
- name: limit
description: Maximum number of users to return. Default is 100. Must be a positive
integer and must not exceed 1000.
in: query
type: integer
required: false
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/UserFilter'
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/UserDetailList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/user/{uid}/roles/add':
post:
summary: Add a role to a user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: |
User ID as a decimal integer
in: path
required: true
type: integer
format: int64
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/StringId'
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/user/{uid}/roles/remove':
post:
summary: Remove a role from a user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: |
User ID as a decimal integer
in: path
required: true
type: integer
format: int64
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/StringId'
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'404':
description: 'Not Found: User cannot be found'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/user/{uid}/app/entitlement/list':
get:
summary: Get the list of application entitlements for this user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: User ID as a decimal integer
in: path
required: true
type: integer
format: int64
tags:
- AppEntitlement
responses:
'200':
description: Success
schema:
$ref: '#/definitions/UserAppEntitlementList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
post:
summary: Update the application entitlements for this user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: User ID as a decimal integer
in: path
required: true
type: integer
format: int64
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/UserAppEntitlementList'
tags:
- AppEntitlement
responses:
'200':
description: Success
schema:
$ref: '#/definitions/UserAppEntitlementList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/user/{uid}/avatar':
get:
summary: Get the URL of the avatar of a particular user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: |
User ID as a decimal integer
in: path
required: true
type: integer
format: int64
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/AvatarList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/user/{uid}/avatar/update':
post:
summary: Update the avatar of a particular user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: |
User ID as a decimal integer
in: path
required: true
type: integer
format: int64
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/AvatarUpdate'
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/user/{uid}/disclaimer':
get:
summary: Get the disclaimer assigned to a user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: |
User ID as a decimal integer
in: path
required: true
type: integer
format: int64
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/Disclaimer'
'204':
description: No content. User doesn't have an assigned disclaimer
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
delete:
summary: Unassign a disclaimer from a user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: |
User ID as a decimal integer
in: path
required: true
type: integer
format: int64
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/user/{uid}/disclaimer/update':
post:
summary: Assign a disclaimer to a user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: |
User ID as a decimal integer
in: path
required: true
type: integer
format: int64
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/StringId'
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/user/{uid}/delegates':
get:
summary: Get the delegates assigned to a user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: |
User ID as a decimal integer
in: path
required: true
type: integer
format: int64
tags:
- User
responses:
'200':
description: The userid's of the delegates of this user.
schema:
$ref: '#/definitions/IntegerList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/user/{uid}/delegates/update':
post:
summary: Update the delegates assigned to a user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: |
User ID as a decimal integer
in: path
required: true
type: integer
format: int64
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/DelegateAction'
tags:
- User
responses:
'200':
description: Sucesss.
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/user/{uid}/features':
get:
summary: Get the list of Symphony feature entitlements enabled for a particular user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: |
User ID as a decimal integer
in: path
required: true
type: integer
format: int64
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/FeatureList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/user/{uid}/features/update':
post:
summary: Update the list of Symphony feature entitlements for a particular user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: |
User ID as a decimal integer
in: path
required: true
type: integer
format: int64
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/FeatureList'
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/user/{uid}/follow':
post:
summary: Make a list of users start following a specific user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: User ID as a decimal integer of the user to be followed
in: path
required: true
type: integer
format: int64
- name: uidList
description: List of (integer) User IDs of the followers
in: body
required: true
schema:
$ref: '#/definitions/FollowersList'
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/user/{uid}/unfollow':
post:
summary: Make a list of users unfollowing a specific user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: User ID as a decimal integer of the user to be unfollowed
in: path
required: true
type: integer
format: int64
- name: uidList
description: List of (integer) User IDs of the followers
in: body
required: true
schema:
$ref: '#/definitions/FollowersList'
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/user/{uid}/followers':
get:
summary: Returns the list of followers for a specific user
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: User ID as a decimal integer of the user we want to get the followers list
in: path
required: true
type: integer
format: int64
- name: limit
description: This is the maximum number of objects that may be returned.
in: query
required: false
type: integer
- name: before
description: Returns results from an opaque “before” cursor value as presented via a response cursor.
in: query
required: false
type: string
- name: after
description: Returns results from an opaque “after” cursor value as presented via a response cursor.
in: query
required: false
type: string
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/FollowersListResponse'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/user/{uid}/following':
get:
summary: Returns the list of users that a specific user is following
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: User ID as a decimal integer of the user we want to get the following list
in: path
required: true
type: integer
format: int64
- name: limit
description: This is the maximum number of objects that may be returned.
in: query
required: false
type: integer
- name: before
description: Returns results from an opaque “before” cursor value as presented via a response cursor.
in: query
required: false
type: string
- name: after
description: Returns results from an opaque “after” cursor value as presented via a response cursor.
in: query
required: false
type: string
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/FollowingListResponse'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/user/{uid}/status':
get:
summary: Get the status, active or inactive, for a particular user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: |
User ID as a decimal integer
in: path
required: true
type: integer
format: int64
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/UserStatus'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/user/{uid}/status/update':
post:
summary: Update the status of a particular user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: |
User ID as a decimal integer
in: path
required: true
type: integer
format: int64
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/UserStatus'
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v2/admin/streams/list':
post:
summary: |
Retrieve all the streams across the enterprise where the membership of the stream has been modified between a given time range
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: skip
description: |
Number of items to skip. Default is 0.
in: query
type: integer
- name: limit
description: |
Maximum number of items to return. Default is 50. This value cannot exceed 100.
in: query
type: integer
- name: filter
description: Stream filtering criteria.
in: body
schema:
$ref: '#/definitions/V2AdminStreamFilter'
tags:
- Streams
responses:
'200':
description: OK
schema:
$ref: '#/definitions/V2AdminStreamList'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/stream/{id}/membership/list':
get:
summary: List the current members of an existing stream. The stream can be of type IM, MIM, or ROOM
produces:
- application/json
parameters:
- name: id
description: stream Id
in: path
required: true
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: skip
description: Number of items to skip. Default is 0.
in: query
type: integer
required: false
- name: limit
description: Maximum number of items to return. Default is 100 and not to exceed 1000.
in: query
type: integer
required: false
tags:
- Streams
responses:
'200':
description: OK
schema:
$ref: '#/definitions/V2MembershipList'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/system/features/list':
get:
summary: Get the full set of Symphony features available for this pod
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- System
responses:
'200':
description: The list of valid feature entitlement names.
schema:
$ref: '#/definitions/StringList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/system/protocols/list':
get:
summary: Get a list of all URI protocols supported by the company (pod)
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- System
responses:
'200':
description: Success
schema:
$ref: '#/definitions/StringList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v2/system/protocols':
get:
summary: Get a list of URI protocols supported by the company (pod)
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: skip
description: Number of items to skip. Default is 0.
in: query
type: integer
required: false
- name: limit
description: Maximum number of items to return. Default is 100 and not to exceed 1000.
in: query
type: integer
required: false
tags:
- System
responses:
'200':
description: Success
schema:
$ref: '#/definitions/StringList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/system/protocols':
post:
summary: Add an entry to URI protocols supported by the company (pod)
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: protocol
required: true
description: the protocol to add
in: body
schema:
$ref: '#/definitions/Protocol'
tags:
- System
responses:
'200':
description: Success
schema:
$ref: '#/definitions/Protocol'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/system/protocols/{scheme}':
delete:
summary: Remove an entry from URI protocols supported by the company (pod)
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: scheme
required: true
description: the scheme to remove from the protocols list
in: path
type: string
tags:
- System
responses:
'204':
description: "204 response"
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/system/roles/list':
get:
summary: Get a list of all roles available in the company (pod)
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- System
responses:
'200':
description: Success
schema:
$ref: '#/definitions/RoleDetailList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/message/{mid}/status':
get:
summary: Get the read status of a particular message.
produces:
- application/json
parameters:
- name: mid
description: Message ID
in: path
required: true
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Message
responses:
'200':
description: OK
schema:
$ref: '#/definitions/MessageStatus'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'404':
description: 'Not found: The informed Message ID does not exist'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/app/create':
post:
summary: Creates a new app
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: applicationDetail
description: Application detail to create the app with
in: body
required: true
schema:
$ref: '#/definitions/ApplicationDetail'
tags:
- Application
responses:
'200':
description: OK
schema:
$ref: '#/definitions/ApplicationDetail'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/app/{id}/update':
post:
summary: Updates a app
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: id
description: Id of the app
in: path
required: true
type: string
- name: applicationDetail
description: Details to update the app with
in: body
required: true
schema:
$ref: '#/definitions/ApplicationDetail'
tags:
- Application
responses:
'200':
description: OK
schema:
$ref: '#/definitions/ApplicationDetail'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/app/{id}/delete':
post:
summary: Deletes a app
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: id
description: The id of the app
in: path
required: true
type: string
tags:
- Application
responses:
'200':
description: OK
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/app/{id}/get':
get:
summary: Gets a app
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: id
description: the id of the app to get
in: path
required: true
type: string
tags:
- Application
responses:
'200':
description: OK
schema:
$ref: '#/definitions/ApplicationDetail'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
/v1/admin/messages:
post:
summary: Fetch message details
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token
in: header
required: true
type: string
- name: messageIds
description: the ids of the messages to be fetched
in: body
required: true
schema:
$ref: '#/definitions/MessageIds'
responses:
'200':
description: Success
schema:
$ref: '#/definitions/MessageDetails'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'404':
description: 'Not found: Message ID could not be found.'
schema:
$ref: '#/definitions/Error'
'422':
description: 'Unprocessable entity: Invalid message type.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v2/admin/user/create':
post:
summary: Create a new V2 User
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/V2UserCreate'
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/V2UserDetail'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v2/admin/user/{uid}/update':
post:
summary: Update an existing V2 User
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: |
User ID as a decimal integer
in: path
required: true
type: integer
format: int64
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/V2UserAttributes'
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/V2UserDetail'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v2/admin/user/{uid}':
get:
summary: Retreive V2 User details for a particular user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: |
User ID as a decimal integer
in: path
required: true
type: integer
format: int64
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/V2UserDetail'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/files/allowedTypes':
get:
summary: Get supported attachment types for the pod
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Pod
responses:
'200':
description: Success
schema:
$ref: '#/definitions/StringList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/file_ext/v1/allowed_extensions':
get:
consumes:
- application/json
produces:
- application/json
summary: Allows iteration of all file extensions supported for upload
description: |
Provides a RESTful API to iterate all file extensions configured by the tenant admin
that are allowed for the upload. Pagination of this list is managed through a
combination of the optional request parameters and service-side managed maximums.
Pagination of the results is provided through the before or after input paramters
and presented through the opaque cursor values provided as output from a previous
response. Only one of before or after or neither may be provided.
DO NOT store cursors. Cursors can quickly become invalid if items are added or deleted.
Use them only during a short-period of time that you are traversing the list.
operationId: listAllowedFileExtensions
parameters:
- name: limit
type: integer
required: false
in: query
description: |
This is the maximum number of objects that may be returned. A query may return
fewer than the value of limit due to filtering or service-side maximums. Do not
depend on the number of results being fewer than the limit value to indicate your
query reached the end of the list of data, use the absence of next instead as
described below. For example, if you set limit to 10 and 9 results are returned,
there may be more data available, but one item was removed due to privacy filtering.
Some maximums for limit may be enforced for performance reasons. In all cases, the
API returns the correct pagination links.
- name: before
type: string
required: false
in: query
description: |
Returns results from an opaque "before" cursor value as presented via a response cursor
- name: after
type: string
required: false
in: query
description: |
Returns results from an opaque "after" cursor value as presented via a response cursor
responses:
'200':
description: |
Requested sequence of file extensions object records with the page size
limited by the optional limit paramter or the service-specific maximum
limit offered.
schema:
$ref: "#/definitions/FileExtensionsResponse"
'400':
description: |
Invalid arguments were passed by the client
schema:
$ref: "#/definitions/Error"
'401':
description: |
Authentication was not provided
schema:
$ref: "#/definitions/Error"
'403':
description: |
Authorization is not provided to this request
schema:
$ref: "#/definitions/Error"
'500':
description: |
Unexpected service error - a retry may work
schema:
$ref: "#/definitions/Error"
'503':
description: |
Temporarily unable to handle request - could be due to service overload or maintenance
'504':
description: |
Timeout waiting on response at gateway
'/file_ext/v1/allowed_extensions/{extension}':
put:
consumes:
- application/json
produces:
- application/json
summary: Allows replacement or creation of a specific file extension supported for upload
description: |
Provides a method to create or replace a specific file extension configured for upload
support via an admin. The API treats the file extension in the path case-insensitively
by converting it to lowecase.
operationId: putAllowedFileExtension
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: extension
in: path
required: true
type: string
- in: body
name: V3FileExtension
required: true
schema:
$ref: "#/definitions/FileExtension"
responses:
200:
description: "200 response"
schema:
$ref: "#/definitions/FileExtension"
400:
description: |
Invalid arguments were passed by the client: the file extension object specified
the source as 'system' yet the file extension is not known to the system (API cannot
create system file extensions, only customer-defined file extensions), the extension
in the path doesn't match the extension in the body, the length of the file extension
exceeded the maximum length (64 characters)
schema:
$ref: "#/definitions/Error"
403:
description: |
Authorization is not provided to this request
schema:
$ref: "#/definitions/Error"
500:
description: |
Unexpected service error - a retry may work
schema:
$ref: "#/definitions/Error"
delete:
consumes:
- application/json
produces:
- application/json
summary: Allows deletion of a specific file extension supported for upload
description: |
Provides a method to delete a specific file extension configured for upload
support via an admin. The file extension identifying the resource is treated
case-insensitively by the API.
operationId: deleteAllowedFileExtension
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: extension
in: path
required: true
type: string
responses:
204:
description: "204 response"
400:
description: |
Invalid arguments were passed by the client
schema:
$ref: "#/definitions/Error"
403:
description: |
Authorization is not provided to this request
schema:
$ref: "#/definitions/Error"
500:
description: |
Unexpected service error - a retry may work
schema:
$ref: "#/definitions/Error"
'/v1/admin/messages/{messageId}/receipts':
get:
summary: Fetch receipts details from a specific message.
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: messageId
description: The message ID
in: path
required: true
type: string
- name: before
description: Returns results from an opaque “before” cursor value as presented via a response cursor.
in: query
required: false
type: string
- name: after
description: Returns results from an opaque “after” cursor value as presented via a response cursor.
in: query
required: false
type: string
responses:
'200':
description: OK
schema:
$ref: '#/definitions/MessageReceiptDetailResponse'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'404':
description: 'Not Found: Message receipt details cannot be found.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/languages':
get:
summary: Lists available languages for the pod.
produces:
- application/json
tags:
- Pod
responses:
'200':
description: OK
schema:
$ref: '#/definitions/Languages'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/messages/{messageId}/metadata/relationships':
get:
summary: 'Get the message metadata relationship'
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: User-Agent
description: Request user agent.
in: header
required: true
type: string
- name: messageId
in: path
description: Valid id of a SOCIALMESSAGE
required: true
type: string
responses:
'200':
description: 'Successful Operation'
schema:
$ref: '#/definitions/MessageMetadataResponse'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/user/{userId}/suspension/update':
put:
summary: Update the status of suspension of a particular user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token
in: header
required: true
type: string
- name: userId
description: User ID as a decimal integer
in: path
required: true
type: integer
format: int64
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/UserSuspension'
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
#
# Deprecated paths
#
'/v1/sessioninfo':
get:
deprecated: true
summary: Get information about the current user's session.
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Session
responses:
'200':
description: OK
schema:
$ref: '#/definitions/SessionInfo'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/companycert/create':
post:
deprecated: true
summary: Create a company trusted or untrusted certificate
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: cert
in: body
required: true
schema:
$ref: '#/definitions/CompanyCert'
tags:
- Security
responses:
'200':
description: Success
schema:
$ref: '#/definitions/SuccessResponse'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/user':
get:
deprecated: true
summary: Get user information by email address.
produces:
- application/json
parameters:
- name: email
description: Email address
in: query
required: true
type: string
format: email
- name: local
description: |
If true then a local DB search will be performed and only local pod users will be
returned. If absent or false then a directory search will be performed and users
from other pods who are visible to the calling user will also be returned.
in: query
required: false
type: boolean
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Users
responses:
'200':
description: OK
schema:
$ref: '#/definitions/User'
'204':
description: 'No user found.'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/user/presence':
get:
deprecated: true
summary: Get presence information about the requesting user.
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Presence
responses:
'200':
description: OK
schema:
$ref: '#/definitions/Presence'
headers:
X-Warning:
description: This method is deprecated
type: string
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Invalid session token'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
post:
deprecated: true
summary: Set the presence of the requesting user.
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: presence
in: body
required: true
schema:
$ref: '#/definitions/Presence'
tags:
- Presence
responses:
'200':
description: OK
schema:
$ref: '#/definitions/Presence'
headers:
X-Warning:
description: This method is deprecated
type: string
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Invalid session token.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/user/{uid}/presence':
get:
deprecated: true
summary: Get presence information about a particular user.
produces:
- application/json
parameters:
- name: uid
description: |
User ID as a decimal integer
in: path
required: true
type: integer
format: int64
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Presence
responses:
'200':
description: OK
schema:
$ref: '#/definitions/Presence'
headers:
X-Warning:
description: This method is deprecated
type: string
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'404':
description: 'Not Found: user id cannot be located.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
post:
deprecated: true
summary: LIMITED RELEASE Set presence information for a particular user.
description: |
Only the following states can be set
AVAILABLE
BUSY
ON_THE_PHONE
AWAY
Attempts to set other states will result in a 403 FORBIDDEN response.
The UNDEFINED value is an error case used to represent the case if the value stored in the
system cannot be represented by the values known to the API.
The other states are reserved for future use.
consumes:
- application/json
produces:
- application/json
parameters:
- name: uid
description: |
User ID as a decimal integer
in: path
required: true
type: integer
format: int64
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: presence
in: body
required: true
schema:
$ref: '#/definitions/Presence'
tags:
- Presence
responses:
'200':
description: OK
schema:
$ref: '#/definitions/Presence'
headers:
X-Warning:
description: This method is deprecated
type: string
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden.'
schema:
$ref: '#/definitions/Error'
'404':
description: 'Not Found: user id cannot be located.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v2/user/{uid}/presence':
get:
deprecated: true
summary: Get presence information about a particular user.
produces:
- application/json
parameters:
- name: uid
description: |
User ID as a decimal integer
in: path
required: true
type: integer
format: int64
- name: local
description: |
If true, a local query will be performed and the presence will be
set to OFFLINE for users who are not local to the calling user's
pod. If false or absent, then the presence of all local users and
the presence of all external users to whom the calling user is
connected will be queried.
For external users, a "presence interest" should be registered through
/v1/user/presence/register before querying for presence.
in: query
type: boolean
required: false
default: false
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Presence
responses:
'200':
description: OK
schema:
$ref: '#/definitions/Presence'
headers:
X-Warning:
description: This method is deprecated
type: string
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'404':
description: 'Not Found: user id cannot be located.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/room/create':
post:
deprecated: true
summary: Create a new chatroom.
description: |
Create a new chatroom.
If no attributes are specified, the room is created as a private chatroom.
consumes:
- application/json
produces:
- application/json
parameters:
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/RoomCreate'
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Streams
responses:
'200':
description: OK
schema:
$ref: '#/definitions/RoomDetail'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v2/room/create':
post:
deprecated: true
summary: Create a new chatroom.
description: |
Create a new chatroom.
If no attributes are specified, the room is created as a private chatroom.
consumes:
- application/json
produces:
- application/json
parameters:
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/V2RoomAttributes'
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Streams
responses:
'200':
description: OK
schema:
$ref: '#/definitions/V2RoomDetail'
headers:
X-Warning:
description: This method is deprecated
type: string
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v2/room/search':
post:
deprecated: true
summary: Search rooms according to the specified criteria.
produces:
- application/json
consumes:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: skip
description: |
No. of results to skip.
in: query
type: integer
- name: limit
description: |
Max no. of results to return. If no value is provided, 50 is the default. Must be a positive
integer and must not exceed 100
in: query
type: integer
required: false
- name: query
description: The search query object.
in: body
required: true
schema:
$ref: '#/definitions/RoomSearchCriteria'
tags:
- Streams
responses:
'200':
description: OK
schema:
$ref: '#/definitions/RoomSearchResults'
headers:
X-Warning:
description: This method is deprecated
type: string
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/room/{id}/info':
get:
deprecated: true
summary: Get information about a partcular chatroom.
produces:
- application/json
parameters:
- name: id
description: Room streamId
in: path
required: true
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Streams
responses:
'200':
description: OK
schema:
$ref: '#/definitions/RoomDetail'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v2/room/{id}/info':
get:
deprecated: true
summary: Get information about a partcular chatroom.
produces:
- application/json
parameters:
- name: id
description: Room streamId
in: path
required: true
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Streams
responses:
'200':
description: OK
schema:
$ref: '#/definitions/V2RoomDetail'
headers:
X-Warning:
description: This method is deprecated
type: string
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/room/{id}/update':
post:
deprecated: true
summary: Update the attributes of an existing chatroom.
consumes:
- application/json
produces:
- application/json
parameters:
- name: id
description: Room streamId
in: path
required: true
type: string
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/RoomAttributes'
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Streams
responses:
'200':
description: OK
schema:
$ref: '#/definitions/RoomDetail'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v2/room/{id}/update':
post:
deprecated: true
summary: Update the attributes of an existing chatroom.
consumes:
- application/json
produces:
- application/json
parameters:
- name: id
description: Room streamId
in: path
required: true
type: string
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/V2RoomAttributes'
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Streams
responses:
'200':
description: OK
schema:
$ref: '#/definitions/V2RoomDetail'
headers:
X-Warning:
description: This method is deprecated
type: string
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/room/{id}/membership/list':
get:
deprecated: true
summary: Lists the members of an existing room.
description: |
Lists the members of an existing room. If the requesting user is an administrator, lists current
and previous members. If the requesting user is a regular user, lists only current members.
produces:
- application/json
parameters:
- name: id
description: Room streamId
in: path
required: true
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Room Membership
responses:
'200':
description: OK
schema:
$ref: '#/definitions/MembershipList'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/user/name/{userName}/get':
get:
deprecated: true
summary: Get user information by user (login) name.
description: |
Searches for a user in the local pod with the given user name.
produces:
- application/json
parameters:
- name: userName
description: User login name
in: path
required: true
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Users
responses:
'200':
description: OK
schema:
$ref: '#/definitions/User'
'204':
description: 'No user found.'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/streams/list':
post:
deprecated: true
summary: |
Retrieve all the streams across the enterprise where the membership of the stream has been modified between a given time range
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: skip
description: |
Number of items to skip. Default is 0.
in: query
type: integer
- name: limit
description: |
Maximum number of items to return. Default is 50. This value cannot exceed 100.
in: query
type: integer
- name: filter
description: Stream filtering criteria.
in: body
schema:
$ref: '#/definitions/AdminStreamFilter'
tags:
- Streams
responses:
'200':
description: OK
schema:
$ref: '#/definitions/AdminStreamList'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/streams/{sid}/info':
get:
deprecated: true
summary: Get information about a partcular stream.
produces:
- application/json
parameters:
- name: sid
description: Stream Id
in: path
required: true
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- Streams
responses:
'200':
description: OK
schema:
$ref: '#/definitions/StreamAttributes'
'400':
description: 'Client error.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/user/create':
post:
deprecated: true
summary: Create a new user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/UserCreate'
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/UserDetail'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/user/{uid}':
get:
deprecated: true
summary: Retreive user details for a particular user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: |
User ID as a decimal integer
in: path
required: true
type: integer
format: int64
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/UserDetail'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/user/{uid}/update':
post:
deprecated: true
summary: Update an existing user
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: uid
description: |
User ID as a decimal integer
in: path
required: true
type: integer
format: int64
- name: payload
in: body
required: true
schema:
$ref: '#/definitions/UserAttributes'
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/UserDetail'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v1/admin/user/list':
get:
deprecated: true
summary: Retreive a list of all users in the company (pod)
consumes:
- application/json
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
tags:
- User
responses:
'200':
description: Success
schema:
$ref: '#/definitions/UserIdList'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'/v2/admin/streams/{streamId}/messageIds':
get:
summary: Fetch message ids using timestamp.
description: |
Gets all message Ids that matches a given stream defined by
a streamId in a specified time frame
produces:
- application/json
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
type: string
- name: streamId
description: The stream from which messages are going to be fetched.
in: path
required: true
type: string
- name: since
description: |
A timestamp in milisseconds that defines the initial time
the search will consider when getting the messageIds.
in: query
required: false
type: integer
format: int64
- name: to
description: |
A timestamp in milisseconds that defines the final time
the search will consider when getting the messageIds.
in: query
required: false
type: integer
format: int64
- name: limit
description: |
The limit of how many messageIds will be retrieved at a time.
in: query
required: false
type: integer
- name: offset
description: |
The pagination offset related to the messageIds search.
in: query
required: false
type: integer
responses:
'200':
description: OK
schema:
$ref: '#/definitions/MessageIdsFromStream'
'400':
description: 'Client error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
'401':
description: 'Unauthorized: Session tokens invalid.'
schema:
$ref: '#/definitions/Error'
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
'404':
description: 'Not Found: Stream cannot be found.'
schema:
$ref: '#/definitions/Error'
'422':
description: 'Unprocessable Entity: Timestamp range is bigger than twenty-four hours.'
schema:
$ref: '#/definitions/Error'
'500':
description: 'Server error, see response body for further details.'
schema:
$ref: '#/definitions/Error'
definitions:
Error:
type: object
properties:
code:
type: integer
format: int32
message:
type: string
CompanyCert:
type: object
properties:
pem:
type: string
description: An X509 certificate in PEM format
attributes:
$ref: '#/definitions/CompanyCertAttributes'
CompanyCertDetail:
type: object
properties:
companyCertAttributes:
$ref: '#/definitions/CompanyCertAttributes'
companyCertInfo:
$ref: '#/definitions/CompanyCertInfo'
certInfo:
$ref: '#/definitions/CertInfo'
CompanyCertInfoList:
type: array
items:
type: object
properties:
companyCertAttributes:
$ref: '#/definitions/CompanyCertAttributes'
companyCertInfo:
$ref: '#/definitions/CompanyCertInfo'
CompanyCertType:
type: object
properties:
type:
type: string
enum:
- USERSIGNING
- USER
- OPERATIONSSIGNING
- OPERATIONSUSER
CompanyCertTypeList:
type: array
items:
$ref: '#/definitions/CompanyCertType'
CompanyCertStatus:
type: object
properties:
type:
type: string
enum:
- TRUSTED
- KNOWN
- REVOKED
- DISABLED
CompanyCertAttributes:
type: object
properties:
name:
type: string
description: Friendly name assigned by administrator
type:
$ref: '#/definitions/CompanyCertType'
status:
$ref: '#/definitions/CompanyCertStatus'
CompanyCertInfo:
type: object
properties:
fingerPrint:
type: string
description: Unique identifier
issuerFingerPrint:
type: string
description: Unique identifier of issuer cert if known
lastSeen:
type: integer
format: int64
description: Date when we last saw this certificate presented
updatedAt:
type: integer
format: int64
description: Date when this cert was last updated by administrator
updatedBy:
type: integer
format: int64
description: User ID of administrator who last updated this cert
commonName:
type: string
description: The Symphony account name which this certificate authenticates
expiryDate:
type: integer
format: int64
description: Expiry date of this cert
CertInfo:
type: array
items:
$ref: '#/definitions/CertInfoItem'
CertInfoItem:
type: object
properties:
name:
type: string
attributes:
type: array
items:
$ref: '#/definitions/NameValuePair'
PodCertificate:
type: object
properties:
certificate:
description: Certificate in PEM format
type: string
NameValuePair:
type: object
properties:
name:
type: string
value:
type: string
Stream:
type: object
properties:
id:
type: string
UserError:
description: User error information
type: object
properties:
error:
type: string
description: 'Error code informing what is wrong'
email:
type: string
description: 'Email with error. Only one of the following fields should be present: email or id'
id:
type: string
description: 'Id with error. Only one of the following fields should be present: email or id'
UserV2:
description: User record version 2
type: object
properties:
id:
type: integer
format: int64
emailAddress:
type: string
format: email
firstName:
type: string
lastName:
type: string
displayName:
type: string
title:
type: string
company:
type: string
username:
type: string
location:
type : string
accountType:
type: string
enum: [NORMAL, SYSTEM]
avatars:
# avatar urls for both original size and small size
$ref: '#/definitions/AvatarList'
workPhoneNumber:
type: string
description: 'Note: only available if the application has the extended user or contact permission'
mobilePhoneNumber:
type: string
description: 'Note: only available if the application has the extended user or contact permission'
jobFunction:
type: string
description: 'Note: only available if the application has the extended user or contact permission'
department:
type: string
description: 'Note: only available if the application has the extended user or contact permission'
division:
type: string
description: 'Note: only available if the application has the extended user or contact permission'
roles:
$ref: '#/definitions/StringList'
V2UserList:
description: List of User record version 2
type: object
properties:
users:
type: array
items:
$ref: '#/definitions/UserV2'
description: 'List of all users found with the search'
errors:
type: array
items:
$ref: '#/definitions/UserError'
description: 'List of all errors found with the informed search criteria'
UserSearchResults:
type: object
properties:
count:
description: The total number of users which matched the search criteria.
type: integer
format: int64
skip:
description: The number of skipped results.
type: integer
format: int64
limit:
description: The number of returned results.
type: integer
format: int64
searchQuery:
# The search query that produced this result.
$ref: '#/definitions/UserSearchQuery'
users:
description: A list of users which matched by the search criteria.
type: array
items:
$ref: '#/definitions/UserV2'
UserSearchFilter:
type: object
properties:
title:
type: string
description: user's job title
company:
type: string
description: company name
location:
type: string
description: city of the user's job location
marketCoverage:
type: string
description: geographic area the user works with
responsibility:
type: string
description: user's responsibility
function:
type: string
description: user's function
instrument:
type: string
description: higher level instrument for the Asset Classes
UserSearchQuery:
type: object
properties:
query:
type: string
description: search / query term. This can be firstname, lastname, displayname or email
filters:
# query filters
$ref: '#/definitions/UserSearchFilter'
UserNameList:
type: array
items:
type: object
$ref: '#/definitions/UserName'
UserName:
type: object
properties:
username:
type: string
UserIdList:
type: array
items:
type: integer
format: int64
UserId:
type: object
properties:
id:
type: integer
format: int64
StringId:
type: object
properties:
id:
type: string
RoomAttributes:
type: object
properties:
name:
type: string
description: Room name.
description:
type: string
description: Room description.
membersCanInvite:
type: boolean
description: If true, any chatroom participant can add new participants. If false, only owners can add new participants.
discoverable:
type: boolean
description: If true, this chatroom (name, description and messages) can be searched and listed by non-participants. If false, only participants can search this room.
V3RoomAttributes:
type: object
properties:
name:
type: string
description: Room name.
keywords:
type: array
description: Keywords for search to use to find this room
items:
$ref: '#/definitions/RoomTag'
description:
type: string
description: Room description.
membersCanInvite:
type: boolean
description: If true, any chatroom participant can add new participants. If false, only owners can add new participants.
discoverable:
type: boolean
description: If true, this chatroom (name, description and messages) can be searched and listed by non-participants. If false, only participants can search this room.
public:
type: boolean
description: If true, this is a public chatroom. IF false, a private chatroom.
readOnly:
type: boolean
description: If true, only stream owners can send messages.
copyProtected:
type: boolean
description: If true, clients disable the clipboard copy for content in this stream.
crossPod:
type: boolean
description: If true, this room is a cross pod room
viewHistory:
type: boolean
description: If true, new members can view the room chat history of the room.
multiLateralRoom:
type: boolean
description: If true, this is a multi lateral room where we can find users belonging to more than 2 companies.
scheduledMeeting:
type: boolean
description: If true, this room is for a scheduled meeting.
subType:
type: string
description: Possible value EMAIL (indicate this room will be used for Email Integration)
RoomSearchCriteria:
description: Room Query Object. Used to specify the parameters for room search.
properties:
query:
description: The search query. Matches the room name and description.
type: string
labels:
description: A list of room tag labels whose values will be queried.
type: array
items:
type: string
active:
description: Restrict the search to active/inactive rooms. If unspecified, search all rooms.
type: boolean
private:
description: Restrict the search to private rooms. If unspecified, search all rooms.
type: boolean
owner:
# Restrict the search to rooms owned by the specified user ID.
$ref: '#/definitions/UserId'
creator:
# Restrict the search to rooms created by the specified user ID.
$ref: '#/definitions/UserId'
member:
# Restrict the search to rooms having the specified user ID as member.
$ref: '#/definitions/UserId'
sortOrder:
description: |
Sort algorithm to be used. Supports two values: "BASIC" (legacy algorithm)
and "RELEVANCE" (enhanced algorithm).
type: string
enum:
- BASIC
- RELEVANCE
required:
- query
V2RoomSearchCriteria:
description: Room Query Object. Used to specify the parameters for room search.
allOf:
- $ref: '#/definitions/RoomSearchCriteria'
- type: object
properties:
subType:
description: "Restrict the search to the specific room subtype. Valid values are: EMAIL"
type: string
V3RoomSearchResults:
description: A list of search results and counts per search parameter.
properties:
count:
description: The total number of rooms matched by the search.
type: integer
format: int64
skip:
description: The number of skipped results.
type: integer
limit:
description: The number of returned results.
type: integer
query:
# The search query that produced this result.
$ref: '#/definitions/V2RoomSearchCriteria'
rooms:
description: A list of rooms matched by the query.
type: array
items:
$ref: '#/definitions/V3RoomDetail'
facetedMatchCount:
description: Detailed counts of matched rooms per search criterion.
type: array
items:
$ref: '#/definitions/FacetedMatchCount'
RoomTag:
description: Room Tag object. A key:value pair describing additional properties of the room.
properties:
key:
description: A unique label of the Tag.
type: string
value:
description: The value of this Tag's label.
type: string
required:
- key
- value
FacetedMatchCount:
description: An object respresenting the result count of faceted search.
properties:
facet:
description: The matched query.
type: string
count:
description: The result count.
type: integer
RoomSystemInfo:
type: object
properties:
id:
type: string
creationDate:
type: integer
format: int64
description: The datetime when the stream was originally created. Milliseconds since Jan 1 1970.
createdByUserId:
type: integer
format: int64
active:
type: boolean
description: If false, no messages can be sent in this stream, and membership is locked.
ImmutableRoomAttributes:
type: object
description: These attributes cannot be changed once the room has been created
properties:
public:
type: boolean
description: If true, this is a public chatroom. IF false, a private chatroom.
readOnly:
type: boolean
description: If true, only stream owners can send messages.
copyProtected:
type: boolean
description: If true, clients disable the clipboard copy for content in this stream.
RoomDetail:
type: object
properties:
roomAttributes:
$ref: '#/definitions/RoomAttributes'
roomSystemInfo:
$ref: '#/definitions/RoomSystemInfo'
immutableRoomAttributes:
$ref: '#/definitions/ImmutableRoomAttributes'
V3RoomDetail:
type: object
properties:
roomAttributes:
$ref: '#/definitions/V3RoomAttributes'
roomSystemInfo:
$ref: '#/definitions/RoomSystemInfo'
SuccessResponse:
type: object
properties:
format:
type: string
enum:
- TEXT
- XML
message:
type: string
AvatarUpdate:
type: object
properties:
image:
description: Base64 encoded image. Original image must be less than 2MB.
type: string
Avatar:
type: object
properties:
size:
description: 'The Avatar Size'
type: string
url:
description: 'Url of the image'
type: string
AvatarList:
type: array
items:
$ref: '#/definitions/Avatar'
UserStatus:
type: object
properties:
status:
type: string
enum:
- ENABLED
- DISABLED
UserFilter:
type: object
properties:
role:
type: string
format: long
feature:
type: string
status:
type: string
enum:
- ENABLED
- DISABLED
PasswordReset:
type: object
properties:
type:
type: string
enum:
- EMAIL
FeatureList:
type: array
items:
$ref: '#/definitions/Feature'
Feature:
description: Entitlement feature record.
type: object
properties:
entitlment:
type: string
enabled:
type: boolean
description: Whether this entitlement is enabled for the user.
Group:
description: Information Barrier Group record.
type: object
properties:
id:
type: string
name:
type: string
active:
type: boolean
memberCount:
type: integer
format: int32
policies:
type: array
items:
type: string
createdDate:
type: integer
format: int64
modifiedDate:
type: integer
format: int64
Product:
description: Application Product
type: object
required:
- name
- sku
- type
- subscribed
properties:
appId:
type: string
description: App ID for the Product
name:
type: string
minLength: 1
maxLength: 50
description: Product Name
sku:
type: string
minLength: 1
maxLength: 100
description: Product SKU
subscribed:
type: boolean
description: indicate whether the product is subscribed or not
type:
type: string
description: Product Type (default or premium)
ProductList:
type: array
items:
$ref: '#/definitions/Product'
PolicyList:
type: array
items:
$ref: '#/definitions/Policy'
Policy:
description: Information Barrier Policy record.
type: object
properties:
id:
type: string
policyType:
type: string
enum:
- BLOCK
- ALLOW
active:
type: boolean
memberCount:
type: integer
format: int32
groups:
type: array
items:
type: string
createdDate:
type: integer
format: int64
modifiedDate:
type: integer
format: int64
UserAppEntitlement:
description: Application Entitlements for the user
type: object
required:
- appId
- listed
- install
properties:
appId:
type: string
description: Unique ID for the Application
maxLength: 32
minLength: 1
appName:
type: string
description: Name for this Application
maxLength: 50
minLength: 1
listed:
type: boolean
description: if true, this application will be listed in the appstore for this user. Otherwise, this application will be hidden in the appstore.
install:
type: boolean
description: if true, it indicate this application is installed for this user. Otherwise, this user does not have this application installed.
products:
$ref: '#/definitions/ProductList'
PodAppEntitlement:
description: Application Entitlements for the company
type: object
required:
- appId
- appName
- enable
- listed
- install
properties:
appId:
type: string
description: Unique ID for the Application
maxLength: 32
minLength: 1
appName:
type: string
description: Name for this Application
maxLength: 50
minLength: 1
enable:
type: boolean
listed:
type: boolean
description: if true, this application will be listed in the appstore for everyone. Otherwise, this application will be hidden in the appstore.
install:
type: boolean
description: if true, the entitlement is set to automatic for the company. Otherwise, it is set to manual.
Role:
description: Role record.
type: object
properties:
id:
type: string
format: long
name:
type: string
description:
type: string
RoleDetailList:
type: array
items:
$ref: '#/definitions/RoleDetail'
RoleDetail:
description: Role detailed.
type: object
properties:
id:
type: string
format: long
name:
type: string
userTypes:
type: array
items:
type: string
optionalActions:
type: array
items:
type: string
GroupList:
type: array
items:
$ref: '#/definitions/Group'
UserAppEntitlementList:
type: array
items:
$ref: '#/definitions/UserAppEntitlement'
PodAppEntitlementList:
type: array
items:
$ref: '#/definitions/PodAppEntitlement'
RoleList:
type: array
items:
$ref: '#/definitions/Role'
IntegerList:
type: array
items:
type: integer
format: int64
StringList:
type: array
items:
type: string
DisclaimerList:
type: array
items:
$ref: '#/definitions/Disclaimer'
Disclaimer:
type: object
properties:
id:
type: string
name:
type: string
content:
type: string
frequencyInHours:
type: integer
format: int32
isDefault:
type: boolean
isActive:
type: boolean
createdDate:
type: integer
format: int64
modifiedDate:
type: integer
format: int64
format:
type: string
enum:
- TEXT
- XML
DelegateAction:
type: object
properties:
userId:
type: integer
format: int64
action:
type: string
enum:
- ADD
- REMOVE
UserInfo:
description: User record.
type: object
properties:
user:
$ref: '#/definitions/UserAttributes'
userSystemInfo:
$ref: '#/definitions/UserSystemInfo'
UserAttributes:
description: User record.
type: object
properties:
emailAddress:
type: string
firstName:
type: string
lastName:
type: string
userName:
type: string
displayName:
type: string
companyName:
type: string
department:
type: string
division:
type: string
title:
type: string
workPhoneNumber:
type: string
mobilePhoneNumber:
type: string
smsNumber:
type: string
accountType:
type: string
enum:
- NORMAL
- SYSTEM
location:
type: string
jobFunction:
type: string
assetClasses:
type: array
items:
type: string
industries:
type: array
items:
type: string
V2UserDetail:
description: V2 Detailed User record.
type: object
properties:
userAttributes:
$ref: '#/definitions/V2UserAttributes'
userSystemInfo:
$ref: '#/definitions/UserSystemInfo'
features:
$ref: '#/definitions/IntegerList'
apps:
$ref: '#/definitions/IntegerList'
groups:
$ref: '#/definitions/IntegerList'
roles:
$ref: '#/definitions/StringList'
disclaimers:
$ref: '#/definitions/IntegerList'
avatar:
$ref: '#/definitions/Avatar'
V2UserAttributes:
description: V2 User record.
type: object
properties:
emailAddress:
type: string
firstName:
type: string
lastName:
type: string
userName:
type: string
displayName:
type: string
companyName:
type: string
department:
type: string
division:
type: string
title:
type: string
workPhoneNumber:
type: string
mobilePhoneNumber:
type: string
twoFactorAuthPhone:
type: string
smsNumber:
type: string
accountType:
type: string
enum:
- NORMAL
- SYSTEM
location:
type: string
recommendedLanguage:
type: string
jobFunction:
type: string
assetClasses:
type: array
items:
type: string
industries:
type: array
items:
type: string
marketCoverage:
type: array
items:
type: string
responsibility:
type: array
items:
type: string
function:
type: array
items:
type: string
instrument:
type: array
items:
type: string
currentKey:
$ref: '#/definitions/V2UserKeyRequest'
previousKey:
$ref: '#/definitions/V2UserKeyRequest'
V2UserKeyRequest:
description: User RSA key information.
type: object
properties:
key:
description: User RSA public key.
type: string
expirationDate:
description: RSA key expiration date. This value is set just for rotated keys.
type: integer
format: int64
action:
description: |
Action to be performed on the RSA key.
The following actions can be performed onto the user's active RSA key:
- SAVE
- REVOKE
The following actions can be performed onto the user's rotated RSA key:
- REVOKE
- EXTEND
type: string
V2UserCreate:
description: |
V2 User Creation Object.
After creation, modify roles, features etc via the specific API calls.
type: object
properties:
userAttributes:
$ref: '#/definitions/V2UserAttributes'
password:
$ref: '#/definitions/Password'
roles:
type: array
items:
type: string
V2UserDetailList:
type: array
items:
$ref: '#/definitions/V2UserDetail'
UserSystemInfo:
description: User Status Information.
type: object
properties:
id:
type: integer
format: int64
status:
type: string
enum:
- ENABLED
- DISABLED
createdDate:
type: integer
format: int64
createdBy:
type: string
lastUpdatedDate:
type: integer
format: int64
lastLoginDate:
type: integer
format: int64
lastPasswordReset:
type: integer
format: int64
deactivatedDate:
type: integer
format: int64
UserDetailList:
type: array
items:
$ref: '#/definitions/UserDetail'
UserDetail:
description: Detailed User record.
type: object
properties:
userAttributes:
$ref: '#/definitions/UserAttributes'
userSystemInfo:
$ref: '#/definitions/UserSystemInfo'
features:
$ref: '#/definitions/IntegerList'
apps:
$ref: '#/definitions/IntegerList'
groups:
$ref: '#/definitions/IntegerList'
roles:
$ref: '#/definitions/StringList'
disclaimers:
$ref: '#/definitions/IntegerList'
avatar:
$ref: '#/definitions/Avatar'
Password:
description: Password. Stored as derived password in both the Pod and the Key Manager using PBKDF2 function. Number of iterations should be 10000 and desired length 256 bits.
type: object
properties:
hSalt:
description: Pod password salt used for PBKDF2 derivation.
type: string
hPassword:
description: Pod password derived with PBKDF2.
type: string
khSalt:
description: Key Manager password salt used for PBKDF2 derivation.
type: string
khPassword:
description: Key Manager password derived with PBKDF2.
type: string
MemberInfo:
description: Detailed membership record.
type: object
properties:
id:
type: integer
format: int64
owner:
type: boolean
joinDate:
type: integer
format: int64
MembershipList:
description: List of members in a room.
type: array
items:
$ref: '#/definitions/MemberInfo'
V2MemberUserDetail:
description: User detail information for stream membership
type: object
properties:
userId:
type: integer
format: int64
email:
type: string
firstName:
type: string
lastName:
type: string
displayName:
type: string
description: Display name for the user
company:
type: string
description: Company name
companyId:
type: integer
description: Company ID
isExternal:
type: boolean
description: true indicate that this user belong to another company
V2MemberInfo:
description: Detailed membership record.
type: object
properties:
user:
# User detail information include names, userId, email, etc
$ref: '#/definitions/V2MemberUserDetail'
isOwner:
type: boolean
description: true if this is an owner of the room
isCreator:
type: boolean
description: true if this is the creator of the room
joinDate:
description: unix timestamp for join date
type: integer
format: int64
V2MemberInfoList:
type: array
items:
$ref: '#/definitions/V2MemberInfo'
V2MembershipList:
description: List of members in the stream.
type: object
properties:
count:
type: integer
description: total members count
skip:
type: integer
description: number of items to skip from the request
limit:
type: integer
description: maximum number of items to return
members:
$ref: '#/definitions/V2MemberInfoList'
MessageSuppressionResponse:
description: The suppression state of a message
type: object
properties:
messageId:
type: string
suppressed:
type: boolean
suppressionDate:
type: integer
format: int64
description: The date when this message was suppressed.
BulkActionResult:
description: |
The results of list based bulk action. The list contains the result messages
in the same order as submitted. The message will be an empty string if the action
was successful for item in that index.
properties:
overallResult:
type: string
enum:
- SUCCESS
- FAIL
results:
type: array
items:
type: string
UserConnectionRequest:
type: object
description: Request body for the Connection APIs
properties:
userId:
type: integer
format: int64
description: user id
UserConnection:
type: object
description: Connection status between two users
properties:
userId:
type: integer
format: int64
description: user id
status:
type: string
description: Connection status between the requesting user and the request sender
enum:
- PENDING_INCOMING
- PENDING_OUTGOING
- ACCEPTED
- REJECTED
firstRequestedAt:
type: integer
format: int64
description: unix timestamp when the first request was made
updatedAt:
type: integer
format: int64
description: unix timestamp on the last updated date
requestCounter:
type: integer
format: int32
description: number of requests made
UserConnectionList:
type: array
items:
$ref: '#/definitions/UserConnection'
StreamList:
description: A list of streams of which the requesting user is a member.
type: array
items:
$ref: '#/definitions/StreamAttributes'
StreamAttributes:
type: object
properties:
id:
type: string
description: The stream ID.
crossPod:
type: boolean
description: If true, this is a cross-pod stream.
active:
type: boolean
description: If true, this stream is active.
streamType:
# The type of the stream (IM, multi-IM, chat room, user wall).
$ref: '#/definitions/StreamType'
streamAttributes:
# Additional stream details applicable to IMs, MIMs and user walls.
$ref: '#/definitions/ConversationSpecificStreamAttributes'
roomAttributes:
# Additional stream details applicable to chatrooms.
$ref: '#/definitions/RoomSpecificStreamAttributes'
StreamType:
type: object
properties:
type:
type: string
enum:
- IM
- MIM
- ROOM
- POST
ConversationSpecificStreamAttributes:
type: object
properties:
members:
# User IDs of the participants of the stream.
$ref: '#/definitions/UserIdList'
RoomSpecificStreamAttributes:
type: object
properties:
name:
type: string
description: Room name.
StreamFilter:
description: Stream filtering parameters.
properties:
streamTypes:
description: Types of streams to search for.
type: array
items:
$ref: '#/definitions/StreamType'
includeInactiveStreams:
description: Whether to include inactive streams in the list of results.
type: boolean
V2StreamAttributes:
type: object
properties:
id:
type: string
description: The stream ID.
crossPod:
type: boolean
description: If true, this is a cross-pod stream.
origin:
type: string
description: INTERNAL if the creator of this stream belongs to the pod, EXTERNAL otherwise
active:
type: boolean
description: If true, this stream is active.
lastMessageDate:
type: integer
format: int64
description: unix timestamp of the last message sent in the stream
streamType:
description: The type of the stream (IM = IM, multi-IM = MIM, chat room = ROOM, user wall = POST).
$ref: '#/definitions/V2StreamType'
streamAttributes:
# Additional stream details applicable to IMs, MIMs and user walls.
$ref: '#/definitions/V2ConversationSpecificStreamAttributes'
roomAttributes:
# Additional stream details applicable to chatrooms.
$ref: '#/definitions/V2RoomSpecificStreamAttributes'
V2StreamType:
type: object
properties:
type:
type: string
V2ConversationSpecificStreamAttributes:
type: object
properties:
members:
# User IDs of the participants of the stream.
$ref: '#/definitions/UserIdList'
V2RoomSpecificStreamAttributes:
type: object
properties:
name:
type: string
description: Room name.
V2AdminStreamFilter:
description: stream filter criteria
type: object
properties:
streamTypes:
description: type of streams to search for
type: array
items:
description: Valid values are IM, MIM or ROOM
$ref: '#/definitions/V2AdminStreamType'
scope:
description: |
Scope of the room. Valid values are INTERNAL or EXTERNAL.
If not specified, it will include both Internal and External scope
type: string
origin:
description: |
Origin of the room. It indicates whether the room was created by a user within the company by another company.
Valid values are INTERNAL or EXTERNAL.
If not specified, it will include both Internal and External origin
type: string
status:
description: |
Status of the room.
Valid values are ACTIVE or INACTIVE.
If not specified, it will include both Active and Inactive status
type: string
privacy:
description: |
Privacy setting of the stream.
Valid values are PUBLIC or PRIVATE.
If not specified, it will include both public and private streams
type: string
startDate:
description: Start date in unix timestamp in millseconds
type: integer
format: int64
endDate:
description: End date in unix timestamp in millseconds. If not specified, it assume to be current time.
type: integer
format: int64
V2AdminStreamType:
type: object
properties:
type:
type: string
AdminJustifiedUserAction:
type: object
properties:
userId:
description: The userId of the target user.
type: integer
format: int64
justification:
description: The reason for the requested action.
type: string
AdminJustifiedAction:
type: object
properties:
justification:
description: The reason for the requested action.
type: string
MessageStatusUser:
type: object
properties:
userId:
type: string
firstName:
type: string
lastName:
type: string
displayName:
type: string
email:
type: string
userName:
type: string
timestamp:
type: string
MessageStatus:
description: |
Holds the status of a particular message, indicating which user the message has been sent, delivered or read.
type: object
properties:
author:
description: User who has sent the message.
type: object
$ref: '#/definitions/MessageStatusUser'
read:
description: All users who have read that message, in any Symphony client.
type: array
items:
$ref: '#/definitions/MessageStatusUser'
delivered:
description: |
All users who have at least one Symphony client to which the message has been delivered, and not read yet.
type: array
items:
$ref: '#/definitions/MessageStatusUser'
sent:
description: |
All users to whom the message has been sent and received by the Symphony system,
but not yet delivered to any user's Symphony client.
type: array
items:
$ref: '#/definitions/MessageStatusUser'
ApplicationInfo:
description: |
Required information for creating an application.
type: object
properties:
appId:
description: An unique id for the application.
type: string
name:
description: User defined name for the application.
type: string
appUrl:
description: The url for the app. Must start with "https://".
type: string
domain:
description: Domain for app, that must match app url domain.
type: string
publisher:
description: The publisher for this application.
type: string
ApplicationDetail:
description: Detailed record of application.
type: object
properties:
applicationInfo:
# Required info for the creation of an application.
$ref: '#/definitions/ApplicationInfo'
iconUrl:
description: Url to a icon to use for app. Must start with "https://".
type: string
description:
description: Description of the application.
type: string
allowOrigins:
description: |
The permitted domains to send or receive a request from.
The field is for the purpose of CORS which set the app specific "ALLOW-ORIGIN-DOMAINS" header in HTTP.
type: string
permissions:
description: |
List of application permissions provisioned for the application
Accepted values:
- SEND_MESSAGES
- GET_USER_CONNECTIONS
- REQUEST_USER_CONNECTIONS
- SET_PRESENCE
- GET_PRESENCE
- GET_BASIC_USER_INFO
- GET_EXTENDED_USER_INFO
- GET_BASIC_CONTACT_INFO
- GET_EXTENDED_CONTACT_INFO
- ACT_AS_USER
type: array
items:
type: string
cert:
description: The app public certificate in pem format.
type: string
authenticationKeys:
$ref: '#/definitions/AppAuthenticationKeys'
notification:
$ref: '#/definitions/AppNotification'
V2PresenceList:
type: array
items:
$ref: '#/definitions/V2Presence'
V2Presence:
allOf:
- $ref: '#/definitions/V2UserPresence'
- type: object
properties:
timestamp:
type: integer
format: int64
description: The time, in milliseconds since Jan 1 1970, when the presence state was set.
V2UserPresence:
allOf:
- $ref: '#/definitions/V2PresenceStatus'
- type: object
properties:
userId:
type: integer
format: int64
description: The ID of the user to whom the presence state relates.
V2PresenceStatus:
type: object
properties:
category:
type: string
description: |
Presence status. Possible values are:
- UNDEFINED
- AVAILABLE
- BUSY
- DO_NOT_DISTURB
- ON_THE_PHONE
- BE_RIGHT_BACK
- IN_A_MEETING
- AWAY
- OUT_OF_OFFICE
- OFF_WORK
- OFFLINE
required:
- category
V2AdminStreamList:
description: list of streams info
type: object
properties:
count:
type: integer
format: int64
description: total number of streams which match the filter criteria
skip:
type: integer
description: number of streams skipped
limit:
type: integer
description: maximum number of streams return
filter:
# filter criteria used in the request
$ref: '#/definitions/V2AdminStreamFilter'
streams:
# list of streams
$ref: '#/definitions/V2AdminStreamInfoList'
V2AdminStreamInfoList:
type: array
description: list of stream info
items:
$ref: '#/definitions/V2AdminStreamInfo'
V2AdminStreamInfo:
description: Stream information
type: object
properties:
id:
type: string
description: stream id
isExternal:
type: boolean
description: true indicate this stream has the scope of external and false indictate this stream has the scope of internal. Deprecated, use origin
isActive:
type: boolean
description: true indicate that this stream has the status of active and false indicate this stream has the scope of inactive
isPublic:
type: boolean
description: true indicate that this stream has a privacy setting of public. This only apply a ROOM stream type.
type:
type: string
description: type of stream (IM, MIM, ROOM)
crossPod:
type: boolean
description: If true, this is a cross-pod stream.
origin:
type: string
description: INTERNAL if the creator of this stream belongs to the pod, EXTERNAL otherwise
attributes:
# additional optional properties of the stream
$ref: '#/definitions/V2AdminStreamAttributes'
V2AdminStreamAttributes:
description: additional optional properties for the stream
type: object
properties:
roomName:
type: string
description: room name (room only)
roomDescription:
type: string
description: description of the room (room only)
members:
type: array
description: list of userid who is member of the stream - im or mim only
items:
type: integer
format: int64
createdByUserId:
type: integer
format: int64
description: creator user id
createdDate:
type: integer
format: int64
description: created date
lastModifiedDate:
type: integer
format: int64
description: last modified date
originCompany:
type: string
description: company name of the creator
originCompanyId:
type: integer
description: company id of the creator
membersCount:
type: integer
description: total number of members in the stream
lastMessageDate:
type: integer
format: int64
description: last date a message was sent in this stream
FileExtension:
type: object
required:
- extension
properties:
extension:
type: string
description: |
The file extension that this specific record is for. This is a unique ID
that allows this record to be referenced in the URI.
example: ".txt"
scope_internal:
type: boolean
description: |
File extension allowed for internal scope
scope_external:
type: boolean
description: |
File extension allowed for external scope
source:
type: string
description: |
File extension with metadata understood by the system or file extension created by a customer
enum:
- "SYSTEM"
- "CUSTOMER"
Pagination:
type: object
required:
- cursors
properties:
cursors:
type: object
required:
- before
- after
properties:
before:
type: string
description: |
This is the opaque url-safe string that points to the start of the page of data
that has been returned.
example: "MTAxNTExOTQ1MjAwNzI5NDE="
after:
type: string
description: |
This is the opaque url-safe string that points to the end of the page of data
that has been returned.
example: "NDMyNzQyODI3OTQw"
previous:
type: string
description: |
API endpoint that will return the previous page of data. If not included, this is
the first page of data.
example: "https://tenantapi.d.isym.io/v1/tenantinfo?limit=25&before=MTAxNTExOTQ1MjAwNzI5NDE="
next:
type: string
description: |
API endpoint that will return the next page of data. If not included, this is the
last page of data. Due to how pagination works with visibility and privacy, it is
possible that a page may be empty but contain a 'next' paging link. Stop paging when
the 'next' link no longer appears.
example: "https://tenantapi.d.isym.io/v1/tenantinfo?limit=25&after=NDMyNzQyODI3OTQw"
FileExtensionsResponse:
type: object
required:
- data
- paging
properties:
data:
type: array
items:
$ref: "#/definitions/FileExtension"
Protocol:
type: object
required:
- scheme
properties:
scheme:
type: string
description: "URI protocol scheme (example: http, https, ftp)"
AppAuthenticationKeys:
description: App RSA keys information.
type: object
properties:
current:
$ref: "#/definitions/AppAuthenticationKey"
previous:
$ref: "#/definitions/AppAuthenticationKey"
AppAuthenticationKey:
description: App RSA key information.
type: object
properties:
key:
description: Application RSA public key.
type: string
expirationDate:
description: RSA key expiration date. This value is set just for rotated keys.
type: integer
format: int64
action:
description: |
Action to be performed on the RSA key.
The following actions can be performed onto the app's active RSA key:
- SAVE
- REVOKE
The following actions can be performed onto the app's rotated RSA key:
- REVOKE
- EXTEND
type: string
AppNotification:
type: object
description: Application callback information
properties:
url:
type: string
description: "callback URL"
apiKey:
type: string
description: "apiKey sent into every callback request, using the X-API-KEY header"
StreamAttachmentResponse:
type: array
items:
$ref: "#/definitions/StreamAttachmentItem"
StreamAttachmentItem:
description: File attachments for a message in a stream
type: object
properties:
messageId:
type: string
ingestionDate:
type: integer
format: int64
userId:
type: integer
format: int64
fileId:
type: string
description: The attachment File ID.
name:
type: string
description: The file name.
size:
type: integer
format: int64
description: Size in bytes.
content-type:
type: string
previews:
type: array
items:
$ref: "#/definitions/AttachmentPreview"
AttachmentPreview:
description: Preview file for image attachments
type: object
properties:
fileId:
type: string
description: The preview file ID
width:
type: integer
description: The preview image width
UserGroupCreate:
description: Body for group creation
type: object
properties:
name:
description: Group name
type: string
area:
description: Group area
type: string
description:
description: Group description
type: string
type:
description: Group type
type: string
required:
- name
- type
UserGroupResponse:
description: Group object response
type: object
properties:
id:
description: Group ID
type: string
name:
description: Group name
type: string
area:
description: An optional string attribute used for categorizing groups
type: string
description:
description: Group description
type: string
type:
description: Group type
type: string
active:
description: Group status
type: boolean
createdDate:
description: Date of group creation
type: integer
format: int64
modifiedDate:
description: Date of group last update
type: integer
format: int64
memberCount:
description: Number of group members
type: integer
format: int64
assigneeCount:
description: Number of group assignees
type: integer
format: int64
UserGroupResponseList:
type: object
properties:
data:
type: array
items:
$ref: '#/definitions/UserGroupResponse'
pagination:
type: object
$ref: "#/definitions/Pagination"
UserGroupUpdate:
description: Body for group update
type: object
properties:
name:
description: Group name
type: string
area:
description: Group area
type: string
description:
description: Group description
type: string
active:
description: Group status
type: boolean
UserGroupMembershipResponseData:
description: User object response
type: object
properties:
id:
type: string
groupId:
type: string
group:
type: object
$ref: '#/definitions/GroupRoleScope'
userId:
type: integer
format: int64
user:
type: object
$ref: '#/definitions/UserCompp'
active:
type: boolean
lastAddedDate:
type: integer
format: int64
lastRemovedDate:
type: integer
format: int64
GroupRoleScope:
description: User Group info to include in other models
type: object
properties:
id:
type: string
description: Group ID
name:
type: string
description: Group name
area:
type: string
description: An optional string attribute used for categorizing groups
type:
type: string
description: Group type
active:
type: boolean
description: Group status
UserCompp:
description: Basic user information to include in other models
type: object
properties:
id:
type: integer
format: int64
description: User ID
username:
type: string
description: Username
firstName:
type: string
description: User first name
lastName:
type: string
description: User last name
emailAddress:
type: string
description: User email addressIntegrationUserManagerTest
UserGroupMembershipRequest:
description: Body for user group membership creation
type: object
properties:
active:
type: boolean
UserGroupMembershipData:
description: Body for user group membership response
type: object
properties:
id:
type: string
groupId:
type: string
userId:
type: integer
format: int64
group:
type: object
$ref: "#/definitions/UserGroupData"
user:
type: object
$ref: "#/definitions/MembershipData"
active:
type: boolean
lastAddedDate:
type: integer
format: int64
lastRemovedDate:
type: integer
format: int64
MembershipData:
description: User object response
type: object
properties:
id:
type: integer
format: int64
userName:
type: string
firstName:
type: string
lastName:
type: string
emailAddress:
type: string
UserGroupData:
description: Group object response
type: object
properties:
id:
description: Group Id
type: string
name:
description: Group name
type: string
area:
description: Group area
type: string
type:
description: Group type
type: string
active:
description: Group Status
type: boolean
UserGroupMembershipResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/definitions/UserGroupMembershipResponseData'
pagination:
type: object
$ref: "#/definitions/Pagination"
UserGroupAssignee:
description: User group assignee object
type: object
properties:
id:
description: Assignee id
type: string
groupId:
type: string
group:
description: Group
type: object
$ref: '#/definitions/GroupRoleScope'
userId:
type: integer
format: int64
user:
type: object
$ref: '#/definitions/UserCompp'
userRoles:
type: array
items:
type: string
active:
type: boolean
lastAddedDate:
description: Last added
type: integer
format: int64
lastRemovedDate:
description: Last removed
type: integer
format: int64
UserData:
description: User object response
type: object
properties:
id:
type: integer
format: int64
username:
type: string
firstName:
type: string
lastName:
type: string
emailAddress:
type: string
UserGroupAssigneeResponse:
description: response
type: object
properties:
data:
type: array
items:
$ref: '#/definitions/UserGroupAssignee'
pagination:
type: object
$ref: '#/definitions/Pagination'
UserGroupAssigneeUpdate:
description: Body for user group assignee update
type: object
properties:
current:
description: Assignee status
type: boolean
required:
- current
UserGroupMembershipUpdate:
description: User Group membership update object
type: object
properties:
active:
description: Group membership status
type: boolean
UserGroupAssignmentResponse:
description: User Group assignment response object
type: object
properties:
id:
type: string
description: Assignment ID
groupId:
type: string
description: Group ID
group:
type: object
$ref: '#/definitions/GroupRoleScope'
userId:
type: integer
format: int64
description: User ID
user:
type: object
$ref: '#/definitions/UserCompp'
userRoles:
type: array
items:
type: string
active:
type: boolean
description: Group membership status
lastAddedDate:
type: integer
format: int64
description: Date of group membership last added
lastRemovedDate:
type: integer
format: int64
description: Date of group membership last removed
DownloadReceiptCount:
type: object
properties:
fileName:
type: string
timestamp:
type: integer
format: int64
MessageReceiptDetail:
description: Message receipt details response object
type: object
properties:
user:
$ref: '#/definitions/UserCompp'
deliveryReceiptTimestamp:
description: Timestamp of message delivery receipts
type: integer
format: int64
readReceiptTimestamp:
description: Timestamp of message read receipts
type: integer
format: int64
emailNotificationTimestamp:
description: Timestamp of message email notifications
type: integer
format: int64
downloadReceiptCounts:
type: array
items:
$ref: '#/definitions/DownloadReceiptCount'
MessageReceiptDetailResponse:
description: List of Message receipt details
type: object
properties:
creator:
$ref: '#/definitions/MessageUser'
onBehalfOfUser:
$ref: '#/definitions/MessageUser'
stream:
$ref: '#/definitions/MessageStream'
creationDate:
type: integer
format: int64
deliveryReceiptCount:
type: integer
readReceiptCount:
type: integer
emailNotificationCount:
type: integer
downloadReceiptCounts:
type: array
items:
$ref: '#/definitions/MessageDownloadReceiptCount'
MessageReceiptDetail:
type: array
items:
$ref: '#/definitions/MessageReceiptDetail'
pagination:
$ref: "#/definitions/Pagination"
MessageUser:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
MessageStream:
type: object
properties:
id:
type: string
name:
type: string
streamType:
type: string
MessageDownloadReceiptCount:
type: object
properties:
fileName:
type: string
count:
type: integer
format: int64
MessageDetail:
description: Message detail
type: object
properties:
messageId:
description: message id
type: string
creator:
$ref: '#/definitions/MessageUser'
onBehalfOfUser:
$ref: '#/definitions/MessageUser'
stream:
$ref: '#/definitions/MessageStream'
creationDate:
type: integer
format: int64
deliveryReceiptCount:
type: integer
format: int64
readReceiptCount:
type: integer
format: int64
emailNotificationCount:
type: integer
format: int64
downloadReceiptCounts:
type: array
items:
$ref: '#/definitions/MessageDownloadReceiptCount'
MessageDetails:
description: Message details
type: array
items:
$ref: '#/definitions/MessageDetail'
MessageIds:
type: object
properties:
messageIds:
$ref: '#/definitions/StringList'
AssigneeCandidate:
description: Assignee Candidate
type: object
properties:
userId:
type: integer
format: int64
username:
type: string
firstName:
type: string
surname:
type: string
emailAddress:
type: string
canBeAssigned:
type: boolean
roles:
$ref: '#/definitions/StringList'
AssigneeCandidates:
description: List of assignee candidate
type: object
properties:
users:
type: array
items:
$ref: '#/definitions/AssigneeCandidate'
pagination:
type: object
$ref: "#/definitions/Pagination"
Languages:
description: List of languages
type: object
properties:
languages:
$ref: "#/definitions/StringList"
MessageMetadataResponse:
description: Message metadata
type: object
properties:
messageId:
type: string
parent:
type: object
properties:
messageId:
type: string
description: Id of the parent message queried
relationshipType:
type: string
enum:
- REPLY_FORM
- REPLY
- FORWARD
replies:
type: array
items:
type: string
forwards:
type: array
items:
type: string
formReplies:
type: array
items:
type: string
UserSuspension:
type: object
properties:
suspended:
type: boolean
suspendedUntil:
type: integer
format: int64
suspensionReason:
type: string
FollowersList:
type: object
properties:
followers:
$ref: '#/definitions/UserIdList'
FollowersListResponse:
type: object
properties:
count:
type: integer
format: int64
followers:
type: array
items:
type: integer
format: int64
pagination:
$ref: '#/definitions/Pagination'
FollowingListResponse:
type: object
properties:
count:
type: integer
format: int64
following:
type: array
items:
type: integer
format: int64
pagination:
$ref: '#/definitions/Pagination'
SessionInfo:
description: Information about the current user's session
type: object
properties:
userId:
type: integer
format: int64
RoomCreate:
description: Room Creation Object. Once the chatroom is created, modify attributes and deactive/reactivate via the specific API calls.
type: object
properties:
roomAttributes:
$ref: '#/definitions/RoomAttributes'
immutableRoomAttributes:
$ref: '#/definitions/ImmutableRoomAttributes'
User:
description: User record.
type: object
properties:
id:
type: integer
format: int64
emailAddress:
type: string
Presence:
type: object
properties:
category:
type: string
enum:
- UNDEFINED
- AVAILABLE
- BUSY
- DO_NOT_DISTURB
- ON_THE_PHONE
- BE_RIGHT_BACK
- AWAY
- OFFLINE
V2RoomDetail:
type: object
properties:
roomAttributes:
$ref: '#/definitions/V2RoomAttributes'
roomSystemInfo:
$ref: '#/definitions/RoomSystemInfo'
V2RoomAttributes:
type: object
properties:
name:
type: string
description: Room name.
keywords:
type: array
description: Keywords for search to use to find this room
items:
$ref: '#/definitions/RoomTag'
description:
type: string
description: Room description.
membersCanInvite:
type: boolean
description: If true, any chatroom participant can add new participants. If false, only owners can add new participants.
discoverable:
type: boolean
description: If true, this chatroom (name, description and messages) can be searched and listed by non-participants. If false, only participants can search this room.
public:
type: boolean
description: If true, this is a public chatroom. IF false, a private chatroom.
readOnly:
type: boolean
description: If true, only stream owners can send messages.
copyProtected:
type: boolean
description: If true, clients disable the clipboard copy for content in this stream.
RoomSearchResults:
description: A list of search results and counts per search parameter.
properties:
count:
description: The total number of rooms matched by the search.
type: integer
format: int64
skip:
description: The number of skipped results.
type: integer
limit:
description: The number of returned results.
type: integer
query:
# The search query that produced this result.
$ref: '#/definitions/RoomSearchCriteria'
rooms:
description: A list of rooms matched by the query.
type: array
items:
$ref: '#/definitions/V2RoomDetail'
facetedMatchCount:
description: Detailed counts of matched rooms per search criterion.
type: array
items:
$ref: '#/definitions/FacetedMatchCount'
AdminStreamList:
description: list of streams info
type: object
properties:
count:
type: integer
format: int64
description: total number of streams which match the filter criteria
skip:
type: integer
description: number of streams skipped
limit:
type: integer
description: maximum number of streams return
filter:
# filter criteria used in the request
$ref: '#/definitions/AdminStreamFilter'
streams:
# list of streams
$ref: '#/definitions/AdminStreamInfoList'
AdminStreamInfoList:
type: array
description: list of stream info
items:
$ref: '#/definitions/AdminStreamInfo'
AdminStreamInfo:
description: Stream information
type: object
properties:
id:
type: string
description: stream id
isExternal:
type: boolean
description: true indicate this stream has the scope of external and false indictate this stream has the scope of internal
isActive:
type: boolean
description: true indicate that this stream has the status of active and false indicate this stream has the scope of inactive
isPublic:
type: boolean
description: true indicate that this stream has a privacy setting of public. This only apply a ROOM stream type.
type:
type: string
description: type of stream (IM, MIM, ROOM)
attributes:
# additional optional properties of the stream
$ref: '#/definitions/AdminStreamAttributes'
AdminStreamAttributes:
description: additional optional properties for the stream
type: object
properties:
roomName:
type: string
description: room name (room only)
roomDescription:
type: string
description: description of the room (room only)
members:
type: array
description: list of userid who is member of the stream - im or mim only
items:
type: integer
format: int64
createdByUserId:
type: integer
format: int64
description: creator user id
createdDate:
type: integer
format: int64
description: created date
lastModifiedDate:
type: integer
format: int64
description: last modified date
originCompany:
type: string
description: company name of the creator
originCompanyId:
type: integer
description: company id of the creator
membersCount:
type: integer
description: total number of members in the stream
UserCreate:
description: User Creation Object. After creation, modify roles, features etc via the specific API calls.
type: object
properties:
userAttributes:
$ref: '#/definitions/UserAttributes'
password:
$ref: '#/definitions/Password'
roles:
type: array
items:
type: string
AdminStreamFilter:
description: stream filter criteria
type: object
properties:
streamTypes:
description: type of streams to search for
type: array
items:
$ref: '#/definitions/AdminStreamTypeEnum'
scope:
description: scope of the room. If not specified, it will include both Internal and External scope
type: string
enum:
- INTERNAL
- EXTERNAL
origin:
description: |
Origin of the room.
It indicate whether the room was created by a user within the company by another company.
If not specified, it will include both Internal and External origin.
type: string
enum:
- INTERNAL
- EXTERNAL
status:
description: Status of the room. If not specified, it will include both Active and Inactive status
type: string
enum:
- ACTIVE
- INACTIVE
privacy:
description: Privacy setting of the stream. If not specified, it will include both public and private stream
type: string
enum:
- PUBLIC
- PRIVATE
startDate:
description: Start date in unix timestamp in millseconds
type: integer
format: int64
endDate:
description: End date in unix timestamp in millseconds. If not specified, it assume to be current time.
type: integer
format: int64
AdminStreamTypeEnum:
type: object
properties:
type:
type: string
enum:
- IM
- MIM
- ROOM
MessageIdsFromStream:
description: List of MessageIds of a Stream
type: object
properties:
Data:
type: array
items:
type: string
TotalNumberFound:
type: integer
format: int64
numberReturned:
type: integer
format: int64
nextStartNumber:
type: integer
format: int64
© 2015 - 2025 Weber Informatics LLC | Privacy Policy