FINOS · Capability

Pod API — Users

Pod API — Users. 6 operations. Lead operation: Search for users by name or email address. Self-contained Naftiko capability covering one Finos business surface.

Run with Naftiko FinosUsers

What You Can Do

POST
Post — Search for users by name or email address
/v1/v1/user/search
GET
Get — Lists all sessions for the user identified by {uid}.
/v1/v1/users/{uid}/sessions
POST
Post — Ends all sessions for the user identified by {uid}.
/v1/v1/users/{uid}/sessions/logout
POST
Post — Ends the session identified by {sid} for the user with the identifier {uid}.
/v1/v1/users/{uid}/sessions/{sid}/logout
GET
Get — Get user information
/v1/v2/user
GET
Get — Search users by emails or ids.
/v1/v3/users

MCP Tools

search-users-name-email-address

Search for users by name or email address

read-only
lists-all-sessions-user-identified

Lists all sessions for the user identified by {uid}.

read-only idempotent
ends-all-sessions-user-identified

Ends all sessions for the user identified by {uid}.

ends-session-identified-sid-user

Ends the session identified by {sid} for the user with the identifier {uid}.

get-user-information

Get user information

read-only idempotent
search-users-emails-ids

Search users by emails or ids.

read-only idempotent

Capability Spec

symphony-pod-users.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Pod API — Users
  description: 'Pod API — Users. 6 operations. Lead operation: Search for users by name or email address. Self-contained Naftiko
    capability covering one Finos business surface.'
  tags:
  - Finos
  - Users
  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-users
    baseUri: https://yourpodURL.symphony.com/pod
    description: Pod API — Users business capability. Self-contained, no shared references.
    resources:
    - name: v1-user-search
      path: /v1/user/search
      operations:
      - name: post
        method: POST
        description: Search for users by name or email address
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: skip
          in: query
          type: integer
          description: number of records to skip
        - name: limit
          in: query
          type: integer
          description: Max number of records to return. If no value is provided, 50 is the default.
        - name: local
          in: query
          type: boolean
          description: If true then a local DB search will be performed and only local pod users will be
        - name: sessionToken
          in: header
          type: string
          description: Session authentication token.
          required: true
        - name: searchRequest
          in: body
          type: string
          description: search criteria
          required: true
    - name: v1-users-uid-sessions
      path: /v1/users/{uid}/sessions
      operations:
      - name: get
        method: GET
        description: Lists all sessions for the user identified by {uid}.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: uid
          in: path
          type: string
          description: The identifier of the user whose sessions are to be listed.
          required: true
        - name: sessionToken
          in: header
          type: string
          description: Session authentication token.
          required: true
    - name: v1-users-uid-sessions-logout
      path: /v1/users/{uid}/sessions/logout
      operations:
      - name: post
        method: POST
        description: Ends all sessions for the user identified by {uid}.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: uid
          in: path
          type: string
          description: The identifier of the user whose sessions are to be terminated.
          required: true
        - name: sessionToken
          in: header
          type: string
          description: Session authentication token.
          required: true
    - name: v1-users-uid-sessions-sid-logout
      path: /v1/users/{uid}/sessions/{sid}/logout
      operations:
      - name: post
        method: POST
        description: Ends the session identified by {sid} for the user with the identifier {uid}.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: uid
          in: path
          type: string
          description: The identifier of the user who owns the session to be terminated.
          required: true
        - name: sid
          in: path
          type: string
          description: The identifier of the session to be terminated.
          required: true
        - name: sessionToken
          in: header
          type: string
          description: Session authentication token.
          required: true
    - name: v2-user
      path: /v2/user
      operations:
      - name: get
        method: GET
        description: Get user information
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: uid
          in: query
          type: integer
          description: User ID as a decimal integer
        - name: email
          in: query
          type: string
          description: Email address
        - name: username
          in: query
          type: string
          description: login user name
        - name: local
          in: query
          type: boolean
          description: If true then a local DB search will be performed and only local pod users will be
        - name: sessionToken
          in: header
          type: string
          description: Session authentication token.
          required: true
    - name: v3-users
      path: /v3/users
      operations:
      - name: get
        method: GET
        description: Search users by emails or ids.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: uid
          in: query
          type: string
          description: User IDs as a list of decimal integers separated by comma
        - name: email
          in: query
          type: string
          description: List of email addresses separated by comma
        - name: username
          in: query
          type: string
          description: List of username separated by comma
        - name: local
          in: query
          type: boolean
          description: If true then a local DB search will be performed and only local pod users will be
        - name: active
          in: query
          type: boolean
          description: If not set all user status will be returned,
        - name: sessionToken
          in: header
          type: string
          description: Session authentication token.
          required: true
  exposes:
  - type: rest
    namespace: symphony-pod-users-rest
    port: 8080
    description: REST adapter for Pod API — Users. One Spectral-compliant resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/v1/user/search
      name: v1-user-search
      description: REST surface for v1-user-search.
      operations:
      - method: POST
        name: post
        description: Search for users by name or email address
        call: symphony-pod-users.post
        with:
          skip: rest.skip
          limit: rest.limit
          local: rest.local
          sessionToken: rest.sessionToken
          searchRequest: rest.searchRequest
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{uid}/sessions
      name: v1-users-uid-sessions
      description: REST surface for v1-users-uid-sessions.
      operations:
      - method: GET
        name: get
        description: Lists all sessions for the user identified by {uid}.
        call: symphony-pod-users.get
        with:
          uid: rest.uid
          sessionToken: rest.sessionToken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{uid}/sessions/logout
      name: v1-users-uid-sessions-logout
      description: REST surface for v1-users-uid-sessions-logout.
      operations:
      - method: POST
        name: post
        description: Ends all sessions for the user identified by {uid}.
        call: symphony-pod-users.post
        with:
          uid: rest.uid
          sessionToken: rest.sessionToken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{uid}/sessions/{sid}/logout
      name: v1-users-uid-sessions-sid-logout
      description: REST surface for v1-users-uid-sessions-sid-logout.
      operations:
      - method: POST
        name: post
        description: Ends the session identified by {sid} for the user with the identifier {uid}.
        call: symphony-pod-users.post
        with:
          uid: rest.uid
          sid: rest.sid
          sessionToken: rest.sessionToken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/user
      name: v2-user
      description: REST surface for v2-user.
      operations:
      - method: GET
        name: get
        description: Get user information
        call: symphony-pod-users.get
        with:
          uid: rest.uid
          email: rest.email
          username: rest.username
          local: rest.local
          sessionToken: rest.sessionToken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v3/users
      name: v3-users
      description: REST surface for v3-users.
      operations:
      - method: GET
        name: get
        description: Search users by emails or ids.
        call: symphony-pod-users.get
        with:
          uid: rest.uid
          email: rest.email
          username: rest.username
          local: rest.local
          active: rest.active
          sessionToken: rest.sessionToken
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: symphony-pod-users-mcp
    port: 9090
    transport: http
    description: MCP adapter for Pod API — Users. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: search-users-name-email-address
      description: Search for users by name or email address
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: symphony-pod-users.post
      with:
        skip: tools.skip
        limit: tools.limit
        local: tools.local
        sessionToken: tools.sessionToken
        searchRequest: tools.searchRequest
      outputParameters:
      - type: object
        mapping: $.
    - name: lists-all-sessions-user-identified
      description: Lists all sessions for the user identified by {uid}.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: symphony-pod-users.get
      with:
        uid: tools.uid
        sessionToken: tools.sessionToken
      outputParameters:
      - type: object
        mapping: $.
    - name: ends-all-sessions-user-identified
      description: Ends all sessions for the user identified by {uid}.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: symphony-pod-users.post
      with:
        uid: tools.uid
        sessionToken: tools.sessionToken
      outputParameters:
      - type: object
        mapping: $.
    - name: ends-session-identified-sid-user
      description: Ends the session identified by {sid} for the user with the identifier {uid}.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: symphony-pod-users.post
      with:
        uid: tools.uid
        sid: tools.sid
        sessionToken: tools.sessionToken
      outputParameters:
      - type: object
        mapping: $.
    - name: get-user-information
      description: Get user information
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: symphony-pod-users.get
      with:
        uid: tools.uid
        email: tools.email
        username: tools.username
        local: tools.local
        sessionToken: tools.sessionToken
      outputParameters:
      - type: object
        mapping: $.
    - name: search-users-emails-ids
      description: Search users by emails or ids.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: symphony-pod-users.get
      with:
        uid: tools.uid
        email: tools.email
        username: tools.username
        local: tools.local
        active: tools.active
        sessionToken: tools.sessionToken
      outputParameters:
      - type: object
        mapping: $.