FINOS · Capability

Pod API — Presence

Pod API — Presence. 9 operations. Lead operation: Create Presence status feed.. Self-contained Naftiko capability covering one Finos business surface.

Run with Naftiko FinosPresence

What You Can Do

POST
Post — Create Presence status feed.
/v1/v1/presence/feed/create
POST
Post — Delete a presence status feed.
/v1/v1/presence/feed/{feedid}/delete
GET
Get — Read a presence status feed.
/v1/v1/presence/feed/{feedid}/read
POST
Post — Register interest in a user's presence status
/v1/v1/user/presence/register
GET
Get — Get presence information about the requesting user.
/v1/v2/user/presence
POST
Post — Set the presence of the requesting user.
/v1/v2/user/presence
GET
Get — Get presence information about all company (pod) users.
/v1/v2/users/presence
POST
Post — Set presence information for a particular user.
/v1/v3/user/presence
GET
Get — Get presence information about a particular user.
/v1/v3/user/{uid}/presence

MCP Tools

create-presence-status-feed

Create Presence status feed.

delete-presence-status-feed

Delete a presence status feed.

read-presence-status-feed

Read a presence status feed.

read-only idempotent
register-interest-user-s-presence-status

Register interest in a user's presence status

get-presence-information-about-requesting

Get presence information about the requesting user.

read-only idempotent
set-presence-requesting-user

Set the presence of the requesting user.

get-presence-information-about-all

Get presence information about all company (pod) users.

read-only idempotent
set-presence-information-particular-user

Set presence information for a particular user.

get-presence-information-about-particular

Get presence information about a particular user.

read-only idempotent

Capability Spec

symphony-pod-presence.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Pod API — Presence
  description: 'Pod API — Presence. 9 operations. Lead operation: Create Presence status feed.. Self-contained Naftiko capability
    covering one Finos business surface.'
  tags:
  - Finos
  - Presence
  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-presence
    baseUri: https://yourpodURL.symphony.com/pod
    description: Pod API — Presence business capability. Self-contained, no shared references.
    resources:
    - name: v1-presence-feed-create
      path: /v1/presence/feed/create
      operations:
      - name: post
        method: POST
        description: Create Presence status feed.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sessionToken
          in: header
          type: string
          description: Session authentication token.
          required: true
    - name: v1-presence-feed-feedId-delete
      path: /v1/presence/feed/{feedId}/delete
      operations:
      - name: post
        method: POST
        description: Delete a presence status feed.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sessionToken
          in: header
          type: string
          description: Session authentication token.
          required: true
        - name: feedId
          in: path
          type: string
          description: Presence feed ID.
          required: true
    - name: v1-presence-feed-feedId-read
      path: /v1/presence/feed/{feedId}/read
      operations:
      - name: get
        method: GET
        description: Read a presence status feed.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sessionToken
          in: header
          type: string
          description: Session authentication token.
          required: true
        - name: feedId
          in: path
          type: string
          description: Presence feed ID.
          required: true
    - name: v1-user-presence-register
      path: /v1/user/presence/register
      operations:
      - name: post
        method: POST
        description: Register interest in a user's presence status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sessionToken
          in: header
          type: string
          description: Session authentication token.
          required: true
        - name: uidList
          in: body
          type: string
          description: List of (integer) User IDs of users whose presence to query
          required: true
    - name: v2-user-presence
      path: /v2/user/presence
      operations:
      - name: get
        method: GET
        description: Get presence information about the requesting user.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sessionToken
          in: header
          type: string
          description: Session authentication token.
          required: true
      - name: post
        method: POST
        description: Set the presence of the requesting user.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sessionToken
          in: header
          type: string
          description: Session authentication token.
          required: true
        - name: soft
          in: query
          type: boolean
          description: If true, the user's current status is taken into consideration. If the user is currently OFFLINE,
        - name: presence
          in: body
          type: string
          required: true
    - name: v2-users-presence
      path: /v2/users/presence
      operations:
      - name: get
        method: GET
        description: Get presence information about all company (pod) users.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sessionToken
          in: header
          type: string
          description: Session authentication token.
          required: true
        - name: lastUserId
          in: query
          type: integer
          description: Last user ID retrieved. Used for paging; if provided, results will skip users with IDs less than this
            parameter.
        - name: limit
          in: query
          type: integer
          description: Max number of records to return. If no value is provided, 1000 is the default. The maximum supported
            value is 5000.
    - name: v3-user-presence
      path: /v3/user/presence
      operations:
      - name: post
        method: POST
        description: Set presence information for a particular user.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sessionToken
          in: header
          type: string
          description: Session authentication token.
          required: true
        - name: soft
          in: query
          type: boolean
          description: If true, the user's current status is taken into consideration. If the user is currently OFFLINE,
        - name: presence
          in: body
          type: string
          required: true
    - name: v3-user-uid-presence
      path: /v3/user/{uid}/presence
      operations:
      - name: get
        method: GET
        description: Get presence information about a particular user.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: uid
          in: path
          type: integer
          description: User ID as a decimal integer
          required: true
        - name: local
          in: query
          type: boolean
          description: If true, a local query will be performed and the presence will be
        - name: sessionToken
          in: header
          type: string
          description: Session authentication token.
          required: true
  exposes:
  - type: rest
    namespace: symphony-pod-presence-rest
    port: 8080
    description: REST adapter for Pod API — Presence. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/v1/presence/feed/create
      name: v1-presence-feed-create
      description: REST surface for v1-presence-feed-create.
      operations:
      - method: POST
        name: post
        description: Create Presence status feed.
        call: symphony-pod-presence.post
        with:
          sessionToken: rest.sessionToken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/presence/feed/{feedid}/delete
      name: v1-presence-feed-feedid-delete
      description: REST surface for v1-presence-feed-feedId-delete.
      operations:
      - method: POST
        name: post
        description: Delete a presence status feed.
        call: symphony-pod-presence.post
        with:
          sessionToken: rest.sessionToken
          feedId: rest.feedId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/presence/feed/{feedid}/read
      name: v1-presence-feed-feedid-read
      description: REST surface for v1-presence-feed-feedId-read.
      operations:
      - method: GET
        name: get
        description: Read a presence status feed.
        call: symphony-pod-presence.get
        with:
          sessionToken: rest.sessionToken
          feedId: rest.feedId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/user/presence/register
      name: v1-user-presence-register
      description: REST surface for v1-user-presence-register.
      operations:
      - method: POST
        name: post
        description: Register interest in a user's presence status
        call: symphony-pod-presence.post
        with:
          sessionToken: rest.sessionToken
          uidList: rest.uidList
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/user/presence
      name: v2-user-presence
      description: REST surface for v2-user-presence.
      operations:
      - method: GET
        name: get
        description: Get presence information about the requesting user.
        call: symphony-pod-presence.get
        with:
          sessionToken: rest.sessionToken
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: post
        description: Set the presence of the requesting user.
        call: symphony-pod-presence.post
        with:
          sessionToken: rest.sessionToken
          soft: rest.soft
          presence: rest.presence
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/users/presence
      name: v2-users-presence
      description: REST surface for v2-users-presence.
      operations:
      - method: GET
        name: get
        description: Get presence information about all company (pod) users.
        call: symphony-pod-presence.get
        with:
          sessionToken: rest.sessionToken
          lastUserId: rest.lastUserId
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v3/user/presence
      name: v3-user-presence
      description: REST surface for v3-user-presence.
      operations:
      - method: POST
        name: post
        description: Set presence information for a particular user.
        call: symphony-pod-presence.post
        with:
          sessionToken: rest.sessionToken
          soft: rest.soft
          presence: rest.presence
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v3/user/{uid}/presence
      name: v3-user-uid-presence
      description: REST surface for v3-user-uid-presence.
      operations:
      - method: GET
        name: get
        description: Get presence information about a particular user.
        call: symphony-pod-presence.get
        with:
          uid: rest.uid
          local: rest.local
          sessionToken: rest.sessionToken
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: symphony-pod-presence-mcp
    port: 9090
    transport: http
    description: MCP adapter for Pod API — Presence. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: create-presence-status-feed
      description: Create Presence status feed.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: symphony-pod-presence.post
      with:
        sessionToken: tools.sessionToken
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-presence-status-feed
      description: Delete a presence status feed.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: symphony-pod-presence.post
      with:
        sessionToken: tools.sessionToken
        feedId: tools.feedId
      outputParameters:
      - type: object
        mapping: $.
    - name: read-presence-status-feed
      description: Read a presence status feed.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: symphony-pod-presence.get
      with:
        sessionToken: tools.sessionToken
        feedId: tools.feedId
      outputParameters:
      - type: object
        mapping: $.
    - name: register-interest-user-s-presence-status
      description: Register interest in a user's presence status
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: symphony-pod-presence.post
      with:
        sessionToken: tools.sessionToken
        uidList: tools.uidList
      outputParameters:
      - type: object
        mapping: $.
    - name: get-presence-information-about-requesting
      description: Get presence information about the requesting user.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: symphony-pod-presence.get
      with:
        sessionToken: tools.sessionToken
      outputParameters:
      - type: object
        mapping: $.
    - name: set-presence-requesting-user
      description: Set the presence of the requesting user.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: symphony-pod-presence.post
      with:
        sessionToken: tools.sessionToken
        soft: tools.soft
        presence: tools.presence
      outputParameters:
      - type: object
        mapping: $.
    - name: get-presence-information-about-all
      description: Get presence information about all company (pod) users.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: symphony-pod-presence.get
      with:
        sessionToken: tools.sessionToken
        lastUserId: tools.lastUserId
        limit: tools.limit
      outputParameters:
      - type: object
        mapping: $.
    - name: set-presence-information-particular-user
      description: Set presence information for a particular user.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: symphony-pod-presence.post
      with:
        sessionToken: tools.sessionToken
        soft: tools.soft
        presence: tools.presence
      outputParameters:
      - type: object
        mapping: $.
    - name: get-presence-information-about-particular
      description: Get presence information about a particular user.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: symphony-pod-presence.get
      with:
        uid: tools.uid
        local: tools.local
        sessionToken: tools.sessionToken
      outputParameters:
      - type: object
        mapping: $.