FINOS Message API
The Message API from FINOS — 1 operation(s) for message.
The Message API from FINOS — 1 operation(s) for message.
openapi: 3.0.1
info:
title: Agent Admin Message 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: Message
paths:
/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'
examples:
application/json:
author:
userId: 7078106103901
firstName: Gustav
lastName: Mahler
displayName: Gustav Mahler
email: gustav.mahler@music.org
userName: gmahler
timestamp: 1531968487845
read:
- userId: 7078106103901
firsName: Gustav
lastName: Mahler
displayName: Gustav Mahler
email: gustav.mahler@music.org
userName: gmahler
timestamp: 1489769156271
- userId: 7078106103902
firsName: Hildegard
lastName: Bingen
displayName: Hildegard Bingen
email: hildegard.bingen@music.org
userName: hbingen
timestamp: 1487352923000
delivered:
- userId: 7078106103903
firsName: Franz
lastName: Liszt
displayName: Franz Liszt
email: franz.liszt@music.org
userName: fliszt
timestamp: 1484674523000
sent:
- userId: 7078106103904
firsName: Benjamin
lastName: Britten
displayName: Benjamin Britten
email: benjamin.britten@music.org
userName: bbritten
timestamp: 1484156123000
'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 does not exist.'
schema:
$ref: '#/definitions/Error'
examples:
application/json:
code: 403
message: // Not Found. Message ID does not exist. 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.
definitions:
MessageStatusUser:
type: object
properties:
userId:
type: string
example: 7078106103901
firstName:
type: string
example: Gustav
lastName:
type: string
example: Mahler
displayName:
type: string
example: Gustav Mahler
email:
type: string
example: gustav.mahler@music.org
userName:
type: string
example: gmahler
timestamp:
type: string
example: 1531968487845
Error:
type: object
properties:
code:
type: integer
format: int32
example: 401
message:
type: string
example: Invalid session
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'
example:
- userId: 7078106103904
firsName: Benjamin
lastName: Britten
displayName: Benjamin Britten
email: benjamin.britten@music.org
userName: bbritten
timestamp: 1484156123000
- userId: 7078106103901
firsName: Gustav
lastName: Mahler
displayName: Gustav Mahler
email: gmahler@music.org
userName: gmahler
timestamp: 1531968487845