FINOS Streams API
The Streams API from FINOS — 16 operation(s) for streams.
The Streams API from FINOS — 16 operation(s) for streams.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/finos-streams-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: 20.17.1
title: Pod Streams 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.
'
servers:
- url: https://yourpodURL.symphony.com/pod
tags:
- name: Streams
paths:
/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.
'
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
schema:
type: string
tags:
- Streams
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Stream'
example:
id: xhGxbTcvTDK6EIMMrwdOrX___quztr2HdA
'400':
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 400
message: // Client error, see response body for further details.
'401':
description: 'Unauthorized: Invalid session token.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 401
message: Invalid session
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 403
message: The user lacks the required entitlement to perform this operation
'500':
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 500
message: // Server error, see response body for further details.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserIdList'
description: List of (integer) User IDs of participants
required: true
/v1/im/{id}/update:
post:
summary: Update the attributes of an existing IM.
parameters:
- name: id
description: IM streamID
in: path
required: true
schema:
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
schema:
type: string
tags:
- Streams
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/V1IMDetail'
example:
V1IMAttributes:
pinnedMessageId: vd7qwNb6hLoUV0BfXXPC43___oPIvkwJbQ
IMSystemInfo:
id: usnBKBkH_BVrGOiVpaupEH___okFfE7QdA
creationDate: 1610520703317
active: true
'400':
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 400
message: // Client error, see response body for further details.
'401':
description: 'Unauthorized: Invalid session token.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 401
message: Invalid session
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 403
message: The user lacks the required entitlement to perform this operation
'451':
description: 'Unavailable for Legal Reasons: Compliance Issues found in IM update request.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 451
message: Compliance issues found in room update
'500':
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 500
message: // Server error, see response body for further details.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/V1IMAttributes'
required: true
/v1/im/{id}/info:
get:
summary: Get information about a partcular IM.
parameters:
- name: id
description: IM streamId
in: path
required: true
schema:
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
schema:
type: string
tags:
- Streams
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/V1IMDetail'
example:
V1IMAttributes:
pinnedMessageId: vd7qwNb6hLoUV0BfXXPC43___oPIvkwJbQ
IMSystemInfo:
id: usnBKBkH_BVrGOiVpaupEH___okFfE7QdA
creationDate: 1610520703317
active: true
'400':
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 400
message: // Client error, see response body for further details.
'401':
description: 'Unauthorized: Invalid session token.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 401
message: Invalid session
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 403
message: The user lacks the required entitlement to perform this operation
'500':
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 500
message: // Server error, see response body for further details.
/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.
'
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
schema:
type: string
tags:
- Streams
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/V3RoomDetail'
example:
roomAttributes:
name: API room
keywords:
- key: region
value: EMEA
- key: lead
value: Bugs Bunny
description: Created via the API
membersCanInvite: true
discoverable: false
readOnly: false
copyProtected: false
crossPod: false
viewHistory: false
multiLateralRoom: false
public: false
groupChat: false
roomSystemInfo:
id: bjHSiY4iz3ar4iIh6-VzCX___peoM7cPdA
creationDate: 1547661232368
createdByUserId: 14362370637825
active: true
'400':
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 400
message: // Client error, see response body for further details.
'401':
description: 'Unauthorized: Invalid session token.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 401
message: Invalid session
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 403
message: The user lacks the required entitlement to perform this operation
'451':
description: 'Unavailable for Legal Reasons: Compliance Issues found in room creation request.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 451
message: Compliance issues found in room creation
'500':
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 500
message: // Server error, see response body for further details.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/V3RoomAttributes'
required: true
/v3/room/search:
post:
summary: Search rooms according to the specified criteria.
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
schema:
type: string
- name: skip
description: 'No. of results to skip.
'
in: query
schema:
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
required: false
schema:
type: integer
- name: includeNonDiscoverable
description: Whether the non discoverable rooms should be returned. false by default. Parameter introduced in sbe-25.5.0
in: query
required: false
schema:
type: boolean
default: false
tags:
- Streams
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/V3RoomSearchResults'
example:
count: 2
skip: 0
limit: 10
query:
query: automobile
labels:
- industry
active: true
creator:
id: 7696581411197
rooms:
- roomAttributes:
name: Automobile Industry Room
description: Room to discuss car companies
membersCanInvite: true
readOnly: false
copyProtected: false
crossPod: false
viewHistory: false
public: false
multiLateralRoom: false
roomSystemInfo:
id: tzwvAZIdDMG3ZPRxv+xsgH///qr+JJkWdA==
creationDate: 1464615003895
createdByUserId: 7696581411197
active: true
- roomAttributes:
name: Tesla Room
keywords:
- key: industry
value: automobile
description: Discussions on TSLA
membersCanInvite: true
readOnly: false
copyProtected: false
crossPod: false
viewHistory: false
public: false
multiLateralRoom: false
roomSystemInfo:
id: o6UkQ1TEmU0Tf/DHUlZrCH///qr+JQowdA==
creationDate: 1464614974947
createdByUserId: 7696581411197
active: true
facetedMatchCount:
- facet: industry
count: 1
'400':
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 400
message: // Client error, see response body for further details.
'401':
description: 'Unauthorized: Invalid session token.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 401
message: Invalid session
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 403
message: The user lacks the required entitlement to perform this operation
'500':
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 500
message: // Server error, see response body for further details.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/V2RoomSearchCriteria'
description: The search query object.
required: true
/v3/room/{id}/info:
get:
summary: Get information about a partcular chatroom.
parameters:
- name: id
description: Room streamId
in: path
required: true
schema:
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
schema:
type: string
tags:
- Streams
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/V3RoomDetail'
example:
roomAttributes:
name: API room
keywords:
- key: region
value: EMEA
- key: lead
value: Bugs Bunny
description: Created via the API
membersCanInvite: true
discoverable: false
readOnly: false
copyProtected: false
crossPod: false
viewHistory: false
multiLateralRoom: false
public: false
groupChat: false
roomSystemInfo:
id: bjHSiY4iz3ar4iIh6-VzCX___peoM7cPdA
creationDate: 1547661232368
createdByUserId: 14362370637825
active: true
'400':
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 400
message: // Client error, see response body for further details.
'401':
description: 'Unauthorized: Invalid session token.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 401
message: Invalid session
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 403
message: The user lacks the required entitlement to perform this operation
'500':
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 500
message: // Server error, see response body for further details.
/v1/room/{id}/setActive:
post:
summary: Deactivate or reactivate a chatroom. At creation, a new chatroom is active.
parameters:
- name: id
description: Room streamId
in: path
required: true
schema:
type: string
- name: active
in: query
required: true
schema:
type: boolean
- name: sessionToken
description: Session authentication token.
in: header
required: true
schema:
type: string
tags:
- Streams
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RoomDetail'
example:
roomAttributes:
name: API room
description: Updated via the API
membersCanInvite: true
discoverable: true
roomSystemInfo:
id: HNmksPVAR6-f14WqKXmqHX___qu8LMLgdA
creationDate: 1461426797875
createdByUserId: 7078106103809
active: false
immutableRoomAttributes:
readOnly: false
copyProtected: false
public: false
'400':
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 400
message: // Client error, see response body for further details.
'401':
description: 'Unauthorized: Invalid session token.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 401
message: Invalid session
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 403
message: The user lacks the required entitlement to perform this operation
'500':
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 500
message: // Server error, see response body for further details.
/v3/room/{id}/update:
post:
summary: Update the attributes of an existing chatroom.
parameters:
- name: id
description: Room streamId
in: path
required: true
schema:
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
schema:
type: string
tags:
- Streams
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/V3RoomDetail'
example:
roomAttributes:
name: API room updated
keywords:
- key: region
value: EMEA
- key: lead
value: Bugs Bunny
description: Updated via the API
membersCanInvite: true
discoverable: false
readOnly: false
copyProtected: false
crossPod: false
viewHistory: true
multiLateralRoom: false
pinnedMessageId: vd7qwNb6hLoUV0BfXXPC43___oPIvkwJbQ
public: true
groupChat: false
roomSystemInfo:
id: bjHSiY4iz3ar4iIh6-VzCX___peoM7cPdA
creationDate: 1547661232368
createdByUserId: 14362370637825
active: true
'400':
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 400
message: // Client error, see response body for further details.
'401':
description: 'Unauthorized: Invalid session token.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 401
message: Invalid session
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 403
message: The user lacks the required entitlement to perform this operation
'451':
description: 'Unavailable for Legal Reasons: Compliance Issues found in room update request.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 451
message: Compliance issues found in room update
'500':
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 500
message: // Server error, see response body for further details.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/V3RoomAttributes'
required: true
/v1/streams/list:
post:
summary: 'Retrieve a list of all streams of which the requesting user is a member,
sorted by creation date (ascending).
'
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
schema:
type: string
- name: skip
description: 'No. of results to skip.
'
in: query
schema:
type: integer
- name: limit
description: 'Max no. of results to return. If no value is provided, 50 is the default.
'
in: query
schema:
type: integer
tags:
- Streams
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StreamList'
example:
- id: iWyZBIOdQQzQj0tKOLRivX___qu6YeyZdA
crossPod: false
active: true
streamType:
type: POST
streamAttributes:
members:
- 7215545078229
'204':
description: Stream not found.
'400':
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 400
message: // Client error, see response body for further details.
'401':
description: 'Unauthorized: Invalid session token.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 401
message: Invalid session
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 403
message: The user lacks the required entitlement to perform this operation
'500':
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 500
message: // Server error, see response body for further details.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StreamFilter'
description: Stream filtering criteria.
/v1/admin/user/{uid}/streams/list:
post:
summary: 'Retrieve a list of all streams of which this user is a member,
sorted by creation date (ascending). Since SBE 20.16.
'
parameters:
- name: sessionToken
description: Session authentication token.
in: header
required: true
schema:
type: string
- name: uid
description: 'User ID as a decimal integer
'
in: path
required: true
schema:
type: integer
format: int64
- name: skip
description: 'No. of results to skip.
'
in: query
schema:
type: integer
- name: limit
description: 'Max no. of results to return. If no value is provided, 50 is the default.
'
in: query
schema:
type: integer
tags:
- Streams
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StreamList'
example:
- id: Jq6uPN4-uIop7lvjOkYdXX___nn9I0PHdA
crossPod: false
active: true
streamType:
type: IM
streamAttributes:
members:
- 9139690966401
- 9139691042211
- id: iWyZBIOdQQzQj0tKOLRivX___qu6YeyZdA
crossPod: false
active: true
streamType:
type: POST
streamAttributes:
members:
- 7215545078229
'204':
description: Stream not found.
'400':
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 400
message: // Client error, see response body for further details.
'401':
description: 'Unauthorized: Invalid session token.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 401
message: Invalid session
'403':
description: 'Forbidden: Caller lacks necessary entitlement.'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 403
message: The user lacks the required entitlement to perform this operation
'500':
description: Server error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 500
message: // Server error, see response body for further details.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StreamFilter'
description: Stream filtering criteria.
/v2/streams/{sid}/info:
get:
summary: Get information about a partcular stream.
parameters:
- name: sid
description: Stream Id
in: path
required: true
schema:
type: string
- name: sessionToken
description: Session authentication token.
in: header
required: true
schema:
type: string
tags:
- Streams
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/V2StreamAttributes'
example:
id: BZQYepoT0Zf4vL_jpeMPqn___oEWvVy3dA
crossPod: false
origin: INTERNAL
active: true
lastMessageDate: 1644590972696
streamType:
type: ROOM
roomAttributes:
name: API room
groups:
- id: 68719476744
addedBy: 68719476743
'400':
description: Client error, see response body for further details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 400
message: // Client error, see response body for further details.
'401':
description: 'Unauthorized: Invalid session token.'
conten
# --- truncated at 32 KB (76 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/finos/refs/heads/main/openapi/finos-streams-api-openapi.yml