Pod API — Streams
Pod API — Streams. 16 operations. Lead operation: Create a new single or multi party instant message conversation. Self-contained Naftiko capability covering one Finos business surface.
What You Can Do
MCP Tools
create-new-single-multi-party
Create a new single or multi party instant message conversation
deactivate-reactivate-chatroom-ac-portal
Deactivate or reactivate a chatroom via AC Portal.
list-current-members-existing-stream
List the current members of an existing stream. The stream can be of type IM, MIM, or ROOM
retrieve-list-all-streams-which
Retrieve a list of all streams of which this user is a member,
create-new-single-multi-party-2
Create a new single or multi party instant message conversation between the caller and specified users.
get-information-about-partcular-im
Get information about a partcular IM.
update-attributes-existing-im
Update the attributes of an existing IM.
deactivate-reactivate-chatroom-creation-new
Deactivate or reactivate a chatroom. At creation, a new chatroom is active.
retrieve-list-all-streams-which-2
Retrieve a list of all streams of which the requesting user is a member,
get-attachments-particular-stream
Get attachments in a particular stream.
retrieve-all-streams-across-enterprise
Retrieve all the streams across the enterprise where the membership of the stream has been modified between a given time range
get-information-about-partcular-stream
Get information about a partcular stream.
create-new-chatroom
Create a new chatroom.
search-rooms-according-specified-criteria
Search rooms according to the specified criteria.
get-information-about-partcular-chatroom
Get information about a partcular chatroom.
update-attributes-existing-chatroom
Update the attributes of an existing chatroom.
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Pod API — Streams
description: 'Pod API — Streams. 16 operations. Lead operation: Create a new single or multi party instant message conversation.
Self-contained Naftiko capability covering one Finos business surface.'
tags:
- Finos
- Streams
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
FINOS_API_KEY: FINOS_API_KEY
capability:
consumes:
- type: http
namespace: symphony-pod-streams
baseUri: https://yourpodURL.symphony.com/pod
description: Pod API — Streams business capability. Self-contained, no shared references.
resources:
- name: v1-admin-im-create
path: /v1/admin/im/create
operations:
- name: post
method: POST
description: Create a new single or multi party instant message conversation
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: uidList
in: body
type: string
description: List of (integer) User IDs of participants
required: true
- name: sessionToken
in: header
type: string
description: Session authentication token.
required: true
- name: v1-admin-room-id-setActive
path: /v1/admin/room/{id}/setActive
operations:
- name: post
method: POST
description: Deactivate or reactivate a chatroom via AC Portal.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Room streamId
required: true
- name: active
in: query
type: boolean
required: true
- name: sessionToken
in: header
type: string
description: Session authentication token.
required: true
- name: v1-admin-stream-id-membership-list
path: /v1/admin/stream/{id}/membership/list
operations:
- name: get
method: GET
description: List the current members of an existing stream. The stream can be of type IM, MIM, or ROOM
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: stream Id
required: true
- name: sessionToken
in: header
type: string
description: Session authentication token.
required: true
- name: skip
in: query
type: integer
description: Number of items to skip. Default is 0.
- name: limit
in: query
type: integer
description: Maximum number of items to return. Default is 100 and not to exceed 1000.
- name: v1-admin-user-uid-streams-list
path: /v1/admin/user/{uid}/streams/list
operations:
- name: post
method: POST
description: Retrieve a list of all streams of which this user is a member,
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: sessionToken
in: header
type: string
description: Session authentication token.
required: true
- name: uid
in: path
type: integer
description: User ID as a decimal integer
required: true
- name: skip
in: query
type: integer
description: No. of results to skip.
- name: limit
in: query
type: integer
description: Max no. of results to return. If no value is provided, 50 is the default.
- name: filter
in: body
type: string
description: Stream filtering criteria.
- name: v1-im-create
path: /v1/im/create
operations:
- name: post
method: POST
description: Create a new single or multi party instant message conversation between the caller and specified users.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: uidList
in: body
type: string
description: List of (integer) User IDs of participants
required: true
- name: sessionToken
in: header
type: string
description: Session authentication token.
required: true
- name: v1-im-id-info
path: /v1/im/{id}/info
operations:
- name: get
method: GET
description: Get information about a partcular IM.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: IM streamId
required: true
- name: sessionToken
in: header
type: string
description: Session authentication token.
required: true
- name: v1-im-id-update
path: /v1/im/{id}/update
operations:
- name: post
method: POST
description: Update the attributes of an existing IM.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: IM streamID
required: true
- name: payload
in: body
type: string
required: true
- name: sessionToken
in: header
type: string
description: Session authentication token.
required: true
- name: v1-room-id-setActive
path: /v1/room/{id}/setActive
operations:
- name: post
method: POST
description: Deactivate or reactivate a chatroom. At creation, a new chatroom is active.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Room streamId
required: true
- name: active
in: query
type: boolean
required: true
- name: sessionToken
in: header
type: string
description: Session authentication token.
required: true
- name: v1-streams-list
path: /v1/streams/list
operations:
- name: post
method: POST
description: Retrieve a list of all streams of which the requesting user is a member,
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: sessionToken
in: header
type: string
description: Session authentication token.
required: true
- name: skip
in: query
type: integer
description: No. of results to skip.
- name: limit
in: query
type: integer
description: Max no. of results to return. If no value is provided, 50 is the default.
- name: filter
in: body
type: string
description: Stream filtering criteria.
- name: v1-streams-sid-attachments
path: /v1/streams/{sid}/attachments
operations:
- name: get
method: GET
description: Get attachments in a particular stream.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: sid
in: path
type: string
description: Stream Id
required: true
- name: since
in: query
type: integer
description: Timestamp of first required attachment.
- name: to
in: query
type: integer
description: Timestamp of last required attachment.
- name: limit
in: query
type: integer
description: Maximum number of attachments to return. Default is 50. Must be a positive integer and must not exceed
100.
- name: sortDir
in: query
type: string
description: 'Attachment date sort direction : ASC or DESC (default to ASC)'
- name: sessionToken
in: header
type: string
description: Session authentication token.
required: true
- name: v2-admin-streams-list
path: /v2/admin/streams/list
operations:
- name: post
method: POST
description: Retrieve all the streams across the enterprise where the membership of the stream has been modified between
a given time range
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: sessionToken
in: header
type: string
description: Session authentication token.
required: true
- name: skip
in: query
type: integer
description: Number of items to skip. Default is 0.
- name: limit
in: query
type: integer
description: Maximum number of items to return. Default is 50. This value cannot exceed 100.
- name: filter
in: body
type: string
description: Stream filtering criteria.
- name: v2-streams-sid-info
path: /v2/streams/{sid}/info
operations:
- name: get
method: GET
description: Get information about a partcular stream.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: sid
in: path
type: string
description: Stream Id
required: true
- name: sessionToken
in: header
type: string
description: Session authentication token.
required: true
- name: v3-room-create
path: /v3/room/create
operations:
- name: post
method: POST
description: Create a new chatroom.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: payload
in: body
type: string
required: true
- name: sessionToken
in: header
type: string
description: Session authentication token.
required: true
- name: v3-room-search
path: /v3/room/search
operations:
- name: post
method: POST
description: Search rooms according to the specified criteria.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: sessionToken
in: header
type: string
description: Session authentication token.
required: true
- name: skip
in: query
type: integer
description: No. of results to skip.
- name: limit
in: query
type: integer
description: Max no. of results to return. If no value is provided, 50 is the default. Must be a positive
- name: includeNonDiscoverable
in: query
type: boolean
description: Whether the non discoverable rooms should be returned. false by default. Parameter introduced in sbe-25.5.0
- name: query
in: body
type: string
description: The search query object.
required: true
- name: v3-room-id-info
path: /v3/room/{id}/info
operations:
- name: get
method: GET
description: Get information about a partcular chatroom.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Room streamId
required: true
- name: sessionToken
in: header
type: string
description: Session authentication token.
required: true
- name: v3-room-id-update
path: /v3/room/{id}/update
operations:
- name: post
method: POST
description: Update the attributes of an existing chatroom.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Room streamId
required: true
- name: payload
in: body
type: string
required: true
- name: sessionToken
in: header
type: string
description: Session authentication token.
required: true
exposes:
- type: rest
namespace: symphony-pod-streams-rest
port: 8080
description: REST adapter for Pod API — Streams. One Spectral-compliant resource per consumed operation, prefixed with
/v1.
resources:
- path: /v1/v1/admin/im/create
name: v1-admin-im-create
description: REST surface for v1-admin-im-create.
operations:
- method: POST
name: post
description: Create a new single or multi party instant message conversation
call: symphony-pod-streams.post
with:
uidList: rest.uidList
sessionToken: rest.sessionToken
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/admin/room/{id}/setactive
name: v1-admin-room-id-setactive
description: REST surface for v1-admin-room-id-setActive.
operations:
- method: POST
name: post
description: Deactivate or reactivate a chatroom via AC Portal.
call: symphony-pod-streams.post
with:
id: rest.id
active: rest.active
sessionToken: rest.sessionToken
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/admin/stream/{id}/membership/list
name: v1-admin-stream-id-membership-list
description: REST surface for v1-admin-stream-id-membership-list.
operations:
- method: GET
name: get
description: List the current members of an existing stream. The stream can be of type IM, MIM, or ROOM
call: symphony-pod-streams.get
with:
id: rest.id
sessionToken: rest.sessionToken
skip: rest.skip
limit: rest.limit
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/admin/user/{uid}/streams/list
name: v1-admin-user-uid-streams-list
description: REST surface for v1-admin-user-uid-streams-list.
operations:
- method: POST
name: post
description: Retrieve a list of all streams of which this user is a member,
call: symphony-pod-streams.post
with:
sessionToken: rest.sessionToken
uid: rest.uid
skip: rest.skip
limit: rest.limit
filter: rest.filter
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/im/create
name: v1-im-create
description: REST surface for v1-im-create.
operations:
- method: POST
name: post
description: Create a new single or multi party instant message conversation between the caller and specified users.
call: symphony-pod-streams.post
with:
uidList: rest.uidList
sessionToken: rest.sessionToken
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/im/{id}/info
name: v1-im-id-info
description: REST surface for v1-im-id-info.
operations:
- method: GET
name: get
description: Get information about a partcular IM.
call: symphony-pod-streams.get
with:
id: rest.id
sessionToken: rest.sessionToken
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/im/{id}/update
name: v1-im-id-update
description: REST surface for v1-im-id-update.
operations:
- method: POST
name: post
description: Update the attributes of an existing IM.
call: symphony-pod-streams.post
with:
id: rest.id
payload: rest.payload
sessionToken: rest.sessionToken
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/room/{id}/setactive
name: v1-room-id-setactive
description: REST surface for v1-room-id-setActive.
operations:
- method: POST
name: post
description: Deactivate or reactivate a chatroom. At creation, a new chatroom is active.
call: symphony-pod-streams.post
with:
id: rest.id
active: rest.active
sessionToken: rest.sessionToken
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/streams/list
name: v1-streams-list
description: REST surface for v1-streams-list.
operations:
- method: POST
name: post
description: Retrieve a list of all streams of which the requesting user is a member,
call: symphony-pod-streams.post
with:
sessionToken: rest.sessionToken
skip: rest.skip
limit: rest.limit
filter: rest.filter
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/streams/{sid}/attachments
name: v1-streams-sid-attachments
description: REST surface for v1-streams-sid-attachments.
operations:
- method: GET
name: get
description: Get attachments in a particular stream.
call: symphony-pod-streams.get
with:
sid: rest.sid
since: rest.since
to: rest.to
limit: rest.limit
sortDir: rest.sortDir
sessionToken: rest.sessionToken
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/admin/streams/list
name: v2-admin-streams-list
description: REST surface for v2-admin-streams-list.
operations:
- method: POST
name: post
description: Retrieve all the streams across the enterprise where the membership of the stream has been modified between
a given time range
call: symphony-pod-streams.post
with:
sessionToken: rest.sessionToken
skip: rest.skip
limit: rest.limit
filter: rest.filter
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/streams/{sid}/info
name: v2-streams-sid-info
description: REST surface for v2-streams-sid-info.
operations:
- method: GET
name: get
description: Get information about a partcular stream.
call: symphony-pod-streams.get
with:
sid: rest.sid
sessionToken: rest.sessionToken
outputParameters:
- type: object
mapping: $.
- path: /v1/v3/room/create
name: v3-room-create
description: REST surface for v3-room-create.
operations:
- method: POST
name: post
description: Create a new chatroom.
call: symphony-pod-streams.post
with:
payload: rest.payload
sessionToken: rest.sessionToken
outputParameters:
- type: object
mapping: $.
- path: /v1/v3/room/search
name: v3-room-search
description: REST surface for v3-room-search.
operations:
- method: POST
name: post
description: Search rooms according to the specified criteria.
call: symphony-pod-streams.post
with:
sessionToken: rest.sessionToken
skip: rest.skip
limit: rest.limit
includeNonDiscoverable: rest.includeNonDiscoverable
query: rest.query
outputParameters:
- type: object
mapping: $.
- path: /v1/v3/room/{id}/info
name: v3-room-id-info
description: REST surface for v3-room-id-info.
operations:
- method: GET
name: get
description: Get information about a partcular chatroom.
call: symphony-pod-streams.get
with:
id: rest.id
sessionToken: rest.sessionToken
outputParameters:
- type: object
mapping: $.
- path: /v1/v3/room/{id}/update
name: v3-room-id-update
description: REST surface for v3-room-id-update.
operations:
- method: POST
name: post
description: Update the attributes of an existing chatroom.
call: symphony-pod-streams.post
with:
id: rest.id
payload: rest.payload
sessionToken: rest.sessionToken
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: symphony-pod-streams-mcp
port: 9090
transport: http
description: MCP adapter for Pod API — Streams. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: create-new-single-multi-party
description: Create a new single or multi party instant message conversation
hints:
readOnly: false
destructive: false
idempotent: false
call: symphony-pod-streams.post
with:
uidList: tools.uidList
sessionToken: tools.sessionToken
outputParameters:
- type: object
mapping: $.
- name: deactivate-reactivate-chatroom-ac-portal
description: Deactivate or reactivate a chatroom via AC Portal.
hints:
readOnly: false
destructive: false
idempotent: false
call: symphony-pod-streams.post
with:
id: tools.id
active: tools.active
sessionToken: tools.sessionToken
outputParameters:
- type: object
mapping: $.
- name: list-current-members-existing-stream
description: List the current members of an existing stream. The stream can be of type IM, MIM, or ROOM
hints:
readOnly: true
destructive: false
idempotent: true
call: symphony-pod-streams.get
with:
id: tools.id
sessionToken: tools.sessionToken
skip: tools.skip
limit: tools.limit
outputParameters:
- type: object
mapping: $.
- name: retrieve-list-all-streams-which
description: Retrieve a list of all streams of which this user is a member,
hints:
readOnly: true
destructive: false
idempotent: false
call: symphony-pod-streams.post
with:
sessionToken: tools.sessionToken
uid: tools.uid
skip: tools.skip
limit: tools.limit
filter: tools.filter
outputParameters:
- type: object
mapping: $.
- name: create-new-single-multi-party-2
description: Create a new single or multi party instant message conversation between the caller and specified users.
hints:
readOnly: false
destructive: false
idempotent: false
call: symphony-pod-streams.post
with:
uidList: tools.uidList
sessionToken: tools.sessionToken
outputParameters:
- type: object
mapping: $.
- name: get-information-about-partcular-im
description: Get information about a partcular IM.
hints:
readOnly: true
destructive: false
idempotent: true
call: symphony-pod-streams.get
with:
id: tools.id
sessionToken: tools.sessionToken
outputParameters:
- type: object
mapping: $.
- name: update-attributes-existing-im
description: Update the attributes of an existing IM.
hints:
readOnly: false
destructive: false
idempotent: false
call: symphony-pod-streams.post
with:
id: tools.id
payload: tools.payload
sessionToken: tools.sessionToken
outputParameters:
- type: object
mapping: $.
- name: deactivate-reactivate-chatroom-creation-new
description: Deactivate or reactivate a chatroom. At creation, a new chatroom is active.
hints:
readOnly: false
destructive: false
idempotent: false
call: symphony-pod-streams.post
with:
id: tools.id
active: tools.active
sessionToken: tools.sessionToken
outputParameters:
- type: object
mapping: $.
- name: retrieve-list-all-streams-which-2
description: Retrieve a list of all streams of which the requesting user is a member,
hints:
readOnly: true
destructive: false
idempotent: false
call: symphony-pod-streams.post
with:
sessionToken: tools.sessionToken
skip: tools.skip
limit: tools.limit
filter: tools.filter
outputParameters:
- type: object
mapping: $.
- name: get-attachments-particular-stream
description: Get attachments in a particular stream.
hints:
readOnly: true
destructive: false
idempotent: true
call: symphony-pod-streams.get
with:
sid: tools.sid
since: tools.since
to: tools.to
limit: tools.limit
sortDir: tools.sortDir
sessionToken: tools.sessionToken
outputParameters:
- type: object
mapping: $.
- name: retrieve-all-streams-across-enterprise
description: Retrieve all the streams across the enterprise where the membership of the stream has been modified between
a given time range
hints:
readOnly: true
destructive: false
idempotent: false
call: symphony-pod-streams.post
with:
sessionToken: tools.sessionToken
skip: tools.skip
limit: tools.limit
filter: tools.filter
outputParameters:
- type: object
mapping: $.
- name: get-information-about-partcular-stream
description: Get information about a partcular stream.
hints:
readOnly: true
destructive: false
idempotent: true
call: symphony-pod-streams.get
with:
sid: tools.sid
sessionToken: tools.sessionToken
outputParameters:
- type: object
mapping: $.
- name: create-new-chatroom
description: Create a new chatroom.
hints:
readOnly: false
destructive: false
idempotent: false
call: symphony-pod-streams.post
with:
payload: tools.payload
sessionToken: tools.sessionToken
outputParameters:
- type: object
mapping: $.
- name: search-rooms-according-specified-criteria
description: Search rooms according to the specified criteria.
hints:
readOnly: true
destructive: false
idempotent: false
call: symphony-pod-streams.post
with:
sessionToken: tools.sessionToken
skip: tools.skip
limit: tools.limit
includeNonDiscoverable: tools.includeNonDiscoverable
query: tools.query
outputParameters:
- type: object
mapping: $.
- name: get-information-about-partcular-chatroom
description: Get information about a partcular chatroom.
hints:
readOnly: true
destructive: false
idempotent: true
call: symphony-pod-streams.get
with:
id: tools.id
sessionToken: tools.sessionToken
outputParameters:
- type: object
mapping: $.
- name: update-attributes-existing-chatroom
description: Update the attributes of an existing chatroom.
hints:
readOnly: false
destructive: false
idempotent: false
call: symphony-pod-streams.post
with:
id: tools.id
payload: tools.payload
sessionToken: tools.sessionToken
outputParameters:
- type: object
mapping: $.