FINOS · Capability
Pod API — Room Membership
Pod API — Room Membership. 8 operations. Lead operation: Add a member to an existing room.. Self-contained Naftiko capability covering one Finos business surface.
What You Can Do
POST
Post
— Add a member to an existing room.
/v1/v1/admin/room/{id}/membership/add
GET
Get
— Lists current and previous members of an existing room.
/v1/v1/admin/room/{id}/membership/list
POST
Post
— Remove a member from a room.
/v1/v1/admin/room/{id}/membership/remove
POST
Post
— Adds new member to an existing room.
/v1/v1/room/{id}/membership/add
POST
Post
— Demotes room owner.
/v1/v1/room/{id}/membership/demoteowner
POST
Post
— Promotes user to owner.
/v1/v1/room/{id}/membership/promoteowner
POST
Post
— Removes member from an existing room.
/v1/v1/room/{id}/membership/remove
GET
Get
— Lists current members of an existing room.
/v1/v2/room/{id}/membership/list
MCP Tools
add-member-existing-room
Add a member to an existing room.
lists-current-and-previous-members
Lists current and previous members of an existing room.
read-only
idempotent
remove-member-room
Remove a member from a room.
adds-new-member-existing-room
Adds new member to an existing room.
demotes-room-owner
Demotes room owner.
promotes-user-owner
Promotes user to owner.
removes-member-existing-room
Removes member from an existing room.
lists-current-members-existing-room
Lists current members of an existing room.
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Pod API — Room Membership
description: 'Pod API — Room Membership. 8 operations. Lead operation: Add a member to an existing room.. Self-contained
Naftiko capability covering one Finos business surface.'
tags:
- Finos
- Room Membership
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-room-membership
baseUri: https://yourpodURL.symphony.com/pod
description: Pod API — Room Membership business capability. Self-contained, no shared references.
resources:
- name: v1-admin-room-id-membership-add
path: /v1/admin/room/{id}/membership/add
operations:
- name: post
method: POST
description: Add a member to an existing room.
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
- name: v1-admin-room-id-membership-list
path: /v1/admin/room/{id}/membership/list
operations:
- name: get
method: GET
description: Lists current and previous members of an existing room.
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: includePastMembers
in: query
type: boolean
description: If true, the membership list will include past members of the stream. If false, the listing will only
incude current members. Default false.
- name: v1-admin-room-id-membership-remove
path: /v1/admin/room/{id}/membership/remove
operations:
- name: post
method: POST
description: Remove a member from a room.
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
- name: v1-room-id-membership-add
path: /v1/room/{id}/membership/add
operations:
- name: post
method: POST
description: Adds new member to an existing room.
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
- name: v1-room-id-membership-demoteOwner
path: /v1/room/{id}/membership/demoteOwner
operations:
- name: post
method: POST
description: Demotes room owner.
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
- name: v1-room-id-membership-promoteOwner
path: /v1/room/{id}/membership/promoteOwner
operations:
- name: post
method: POST
description: Promotes user to owner.
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
- name: v1-room-id-membership-remove
path: /v1/room/{id}/membership/remove
operations:
- name: post
method: POST
description: Removes member from an existing room.
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
- name: v2-room-id-membership-list
path: /v2/room/{id}/membership/list
operations:
- name: get
method: GET
description: Lists current members of an existing room.
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
exposes:
- type: rest
namespace: symphony-pod-room-membership-rest
port: 8080
description: REST adapter for Pod API — Room Membership. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/v1/admin/room/{id}/membership/add
name: v1-admin-room-id-membership-add
description: REST surface for v1-admin-room-id-membership-add.
operations:
- method: POST
name: post
description: Add a member to an existing room.
call: symphony-pod-room-membership.post
with:
id: rest.id
payload: rest.payload
sessionToken: rest.sessionToken
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/admin/room/{id}/membership/list
name: v1-admin-room-id-membership-list
description: REST surface for v1-admin-room-id-membership-list.
operations:
- method: GET
name: get
description: Lists current and previous members of an existing room.
call: symphony-pod-room-membership.get
with:
id: rest.id
sessionToken: rest.sessionToken
includePastMembers: rest.includePastMembers
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/admin/room/{id}/membership/remove
name: v1-admin-room-id-membership-remove
description: REST surface for v1-admin-room-id-membership-remove.
operations:
- method: POST
name: post
description: Remove a member from a room.
call: symphony-pod-room-membership.post
with:
id: rest.id
payload: rest.payload
sessionToken: rest.sessionToken
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/room/{id}/membership/add
name: v1-room-id-membership-add
description: REST surface for v1-room-id-membership-add.
operations:
- method: POST
name: post
description: Adds new member to an existing room.
call: symphony-pod-room-membership.post
with:
id: rest.id
payload: rest.payload
sessionToken: rest.sessionToken
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/room/{id}/membership/demoteowner
name: v1-room-id-membership-demoteowner
description: REST surface for v1-room-id-membership-demoteOwner.
operations:
- method: POST
name: post
description: Demotes room owner.
call: symphony-pod-room-membership.post
with:
id: rest.id
payload: rest.payload
sessionToken: rest.sessionToken
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/room/{id}/membership/promoteowner
name: v1-room-id-membership-promoteowner
description: REST surface for v1-room-id-membership-promoteOwner.
operations:
- method: POST
name: post
description: Promotes user to owner.
call: symphony-pod-room-membership.post
with:
id: rest.id
payload: rest.payload
sessionToken: rest.sessionToken
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/room/{id}/membership/remove
name: v1-room-id-membership-remove
description: REST surface for v1-room-id-membership-remove.
operations:
- method: POST
name: post
description: Removes member from an existing room.
call: symphony-pod-room-membership.post
with:
id: rest.id
payload: rest.payload
sessionToken: rest.sessionToken
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/room/{id}/membership/list
name: v2-room-id-membership-list
description: REST surface for v2-room-id-membership-list.
operations:
- method: GET
name: get
description: Lists current members of an existing room.
call: symphony-pod-room-membership.get
with:
id: rest.id
sessionToken: rest.sessionToken
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: symphony-pod-room-membership-mcp
port: 9090
transport: http
description: MCP adapter for Pod API — Room Membership. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: add-member-existing-room
description: Add a member to an existing room.
hints:
readOnly: false
destructive: false
idempotent: false
call: symphony-pod-room-membership.post
with:
id: tools.id
payload: tools.payload
sessionToken: tools.sessionToken
outputParameters:
- type: object
mapping: $.
- name: lists-current-and-previous-members
description: Lists current and previous members of an existing room.
hints:
readOnly: true
destructive: false
idempotent: true
call: symphony-pod-room-membership.get
with:
id: tools.id
sessionToken: tools.sessionToken
includePastMembers: tools.includePastMembers
outputParameters:
- type: object
mapping: $.
- name: remove-member-room
description: Remove a member from a room.
hints:
readOnly: false
destructive: false
idempotent: false
call: symphony-pod-room-membership.post
with:
id: tools.id
payload: tools.payload
sessionToken: tools.sessionToken
outputParameters:
- type: object
mapping: $.
- name: adds-new-member-existing-room
description: Adds new member to an existing room.
hints:
readOnly: false
destructive: false
idempotent: false
call: symphony-pod-room-membership.post
with:
id: tools.id
payload: tools.payload
sessionToken: tools.sessionToken
outputParameters:
- type: object
mapping: $.
- name: demotes-room-owner
description: Demotes room owner.
hints:
readOnly: false
destructive: false
idempotent: false
call: symphony-pod-room-membership.post
with:
id: tools.id
payload: tools.payload
sessionToken: tools.sessionToken
outputParameters:
- type: object
mapping: $.
- name: promotes-user-owner
description: Promotes user to owner.
hints:
readOnly: false
destructive: false
idempotent: false
call: symphony-pod-room-membership.post
with:
id: tools.id
payload: tools.payload
sessionToken: tools.sessionToken
outputParameters:
- type: object
mapping: $.
- name: removes-member-existing-room
description: Removes member from an existing room.
hints:
readOnly: false
destructive: false
idempotent: false
call: symphony-pod-room-membership.post
with:
id: tools.id
payload: tools.payload
sessionToken: tools.sessionToken
outputParameters:
- type: object
mapping: $.
- name: lists-current-members-existing-room
description: Lists current members of an existing room.
hints:
readOnly: true
destructive: false
idempotent: true
call: symphony-pod-room-membership.get
with:
id: tools.id
sessionToken: tools.sessionToken
outputParameters:
- type: object
mapping: $.