FINOS Admin API
The Admin API from FINOS — 3 operation(s) for admin.
The Admin API from FINOS — 3 operation(s) for admin.
openapi: 3.0.1
info:
title: Agent Admin API
description: 'This document refers to Symphony API calls to send and receive messages
and content. They need the on-premise Agent installed to perform
decryption/encryption of content.
- sessionToken and keyManagerToken can be obtained by calling the
authenticationAPI on the symphony back end and the key manager
respectively. Refer to the methods described in authenticatorAPI.yaml.
- Actions are defined to be atomic, ie will succeed in their entirety
or fail and have changed nothing.
- If it returns a 40X status then it will have sent no message to any
stream even if a request to some subset of the requested streams
would have succeeded.
- If this contract cannot be met for any reason then this is an error
and the response code will be 50X.
- MessageML is a markup language for messages. See reference here:
https://rest-api.symphony.com/docs/messagemlv2
- **Real Time Events**: The following events are returned when reading
from a real time messages and events stream ("datafeed"). These
events will be returned for datafeeds created with the v5 endpoints.
To know more about the endpoints, refer to Create Messages/Events
Stream and Read Messages/Events Stream. Unless otherwise specified,
all events were added in 1.46.
'
version: 25.8.1
servers:
- url: youragentURL.symphony.com/agent
tags:
- name: Admin
paths:
/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, see response body for further details.
schema:
$ref: '#/definitions/Error'
examples:
application/json:
code: 400
message: // Client error, see response body for further details.
'401':
description: 'Unauthorized: Invalid session token.'
schema:
$ref: '#/definitions/Error'
examples:
application/json:
code: 401
message: Invalid session
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
examples:
application/json:
code: 403
message: The user lacks the required entitlement to perform this operation
'404':
description: 'Not Found: Message ID could not be found.'
schema:
$ref: '#/definitions/Error'
examples:
application/json:
code: 403
message: // Not Found. Message ID could not be found. See response body for fruther details.
'422':
description: 'Unprocessable entity: Invalid message type.'
schema:
$ref: '#/definitions/Error'
examples:
application/json:
code: 422
message: // Unprocessable Entity. Invalid message type. See response body for further details.
'500':
description: Server error, see response body for further details.
schema:
$ref: '#/definitions/Error'
examples:
application/json:
code: 500
message: // Server error, see response body for further details.
tags:
- Admin
/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'
examples:
application/json:
creator:
id: 7215545058329
name: User Test
stream:
id: lFpyw0ATFmji+Cc/cSzbk3///pZkWpe1dA==
name: Test Room
streamType: ROOM
creationDate: 1552999333141
deliveryReceiptCount: 1
readReceiptCount: 1
emailNotificationCount: 1
downloadReceiptCounts:
- fileName: internal_7078106
count: 1
MessageReceiptDetail:
- user:
id: 7215545058313
username: dpayet
firstName: Dimitiri
lastName: Payet
emailAddress: dpayet@om.fr
deliveryReceiptTimestamp: 1552999333784
readReceiptTimestamp: 1552999335114
emailNotificationTimestamp: 1552999335114
downloadReceiptCounts:
- fileName: Untitled Document.txt
timestamp: 1552999335740
'400':
description: Client error, see response body for further details.
schema:
$ref: '#/definitions/Error'
examples:
application/json:
code: 400
message: // Client error, see response body for further details.
'401':
description: 'Unauthorized: Invalid session token.'
schema:
$ref: '#/definitions/Error'
examples:
application/json:
code: 401
message: Invalid session
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
examples:
application/json:
code: 403
message: The user lacks the required entitlement to perform this operation
'404':
description: 'Not Found: Message receipt details cannot be found.'
schema:
$ref: '#/definitions/Error'
examples:
application/json:
code: 403
message: // Not Found. Message receipt details cannot be found. See response body for fruther details.
'500':
description: Server error, see response body for further details.
schema:
$ref: '#/definitions/Error'
examples:
application/json:
code: 500
message: // Server error, see response body for further details.
tags:
- Admin
/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'
examples:
application/json:
code: 400
message: // Client error, see response body for further details.
'401':
description: 'Unauthorized: Invalid session token.'
schema:
$ref: '#/definitions/Error'
examples:
application/json:
code: 401
message: Invalid session
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
schema:
$ref: '#/definitions/Error'
examples:
application/json:
code: 403
message: The user lacks the required entitlement to perform this operation
'500':
description: Server error, see response body for further details.
schema:
$ref: '#/definitions/Error'
examples:
application/json:
code: 500
message: // Server error, see response body for further details.
tags:
- Admin
definitions:
MessageUser:
type: object
properties:
id:
type: integer
format: int64
example: 7215545058329
name:
type: string
example: User Test
MessageStream:
type: object
properties:
id:
type: string
example: lFpyw0ATFmji+Cc/cSzbk3///pZkWpe1dA==
name:
type: string
example: Test Room
streamType:
type: string
example: ROOM
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'
MessageDownloadReceiptCount:
type: object
properties:
fileName:
type: string
example: internal_707810
count:
type: integer
format: int64
example: 1
DownloadReceiptCount:
type: object
properties:
fileName:
type: string
example: Untitled Document.txt
timestamp:
type: integer
format: int64
example: 1552999335740
MessageDetails:
description: Message details
type: array
items:
$ref: '#/definitions/MessageDetail'
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
example: 1552999333784
readReceiptTimestamp:
description: Timestamp of message read receipts
type: integer
format: int64
example: 1552999335114
emailNotificationTimestamp:
description: Timestamp of message email notifications
type: integer
format: int64
example: 1552999335114
downloadReceiptCounts:
type: array
items:
$ref: '#/definitions/DownloadReceiptCount'
example:
- fileName: Untitled Document.txt
timestamp: 1552999335740
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
example: 1552999333141
deliveryReceiptCount:
type: integer
example: 1
readReceiptCount:
type: integer
example: 1
emailNotificationCount:
type: integer
example: 1
downloadReceiptCounts:
type: array
items:
$ref: '#/definitions/MessageDownloadReceiptCount'
example:
- fileName: internal_70781
count: 1
MessageReceiptDetail:
type: array
items:
$ref: '#/definitions/MessageReceiptDetail'
example:
- user:
id: 7215545058329
username: dpayet
firstName: Dimitri
lastName: Payet
emailAddress: dpayet@om.fr
deliveryReceiptTimestamp: 1552999333784
readReceiptTimestamp: 1552999335114
emailNotificationTimestamp: 1552999335114
downloadReceiptCounts:
- fileName: Untitled Document.txt
timestamp: 1552999335740
pagination:
$ref: '#/definitions/Pagination'
StringList:
type: array
items:
type: string
example:
- ftp
- mailto
- fdsup
- skype
UserCompp:
description: Basic user information to include in other models
type: object
properties:
id:
type: integer
format: int64
description: User ID
example: 7215545058329
username:
type: string
description: Username
example: dpayet
firstName:
type: string
description: User first name
example: Dimitri
lastName:
type: string
description: User last name
example: Payet
emailAddress:
type: string
description: User email addressIntegrationUserManagerTest
example: dpayet@om.fr
Pagination:
type: object
required:
- cursors
properties:
cursors:
type: object
required:
- before
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
MessageIds:
type: object
properties:
messageIds:
$ref: '#/definitions/StringList'
Error:
type: object
properties:
code:
type: integer
format: int32
example: 401
message:
type: string
example: Invalid session
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