FINOS Message API

The Message API from FINOS — 1 operation(s) for message.

OpenAPI Specification

finos-message-api-openapi.yml Raw ↑
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