FINOS Users API

The Users API from FINOS — 6 operation(s) for users.

Operations 6

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

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/finos-users-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

finos-users-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 20.17.1
  title: Pod Users API
  description: 'This document refers to Symphony API calls that do not need

    encryption or decryption of content.'
servers:
- url: https://yourpodURL.symphony.com/pod
tags:
- name: Users
paths:
  /v2/user:
    get:
      summary: Get user information
      parameters:
      - name: uid
        description: User ID as a decimal integer
        in: query
        required: false
        schema:
          type: integer
          format: int64
      - name: email
        description: Email address
        in: query
        required: false
        schema:
          type: string
          format: email
      - name: username
        description: login user name
        in: query
        required: false
        schema:
          type: string
      - name: local
        description: 'If true then a local DB search will be performed and only local pod users will be

          returned. If absent or false then a directory search will be performed and users

          from other pods who are visible to the calling user will also be returned.

          Note: for username search, the local flag must be true

          '
        in: query
        required: false
        schema:
          type: boolean
      - name: sessionToken
        description: Session authentication token.
        in: header
        required: true
        schema:
          type: string
      tags:
      - Users
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserV2'
        '204':
          description: No user 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.
      operationId: getV2User
      x-operation-id-source: derived
  /v3/users:
    get:
      summary: Search users by emails or ids.
      parameters:
      - name: uid
        description: User IDs as a list of decimal integers separated by comma
        in: query
        required: false
        schema:
          type: string
      - name: email
        description: List of email addresses separated by comma
        in: query
        required: false
        schema:
          type: string
      - name: username
        description: List of username separated by comma
        in: query
        required: false
        schema:
          type: string
      - name: local
        description: 'If true then a local DB search will be performed and only local pod users will be

          returned. If absent or false then a directory search will be performed and users

          from other pods who are visible to the calling user will also be returned.

          '
        in: query
        required: false
        schema:
          type: boolean
      - name: active
        description: 'If not set all user status will be returned,

          if true all active users will be returned,

          if false all inactive users will be returned

          '
        in: query
        required: false
        schema:
          type: boolean
      - name: sessionToken
        description: Session authentication token.
        in: header
        required: true
        schema:
          type: string
      tags:
      - Users
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2UserList'
              example:
                users:
                - id: 15942919536460
                  emailAddress: technicalwriter@symphony.com
                  firstName: Technical
                  lastName: Writer
                  displayName: Technical Writer
                  title: Technical Writer
                  company: Symphony
                  department: Marketing // if internal user
                  username: tw
                  accountType: NORMAL
                  location: France // if internal user
                  avatars:
                  - size: original
                    url: ../avatars/static/150/default.png
                  - size: small
                    url: ../avatars/static/50/default.png
                - id: 15942919536461
                  emailAddress: serviceaccount@symphony.com
                  firstName: null
                  lastName: null
                  displayName: Service Account
                  title: null
                  company: pod232
                  department: Marketing // if internal user
                  username: SA
                  location: France // if internal user
                  accountType: SYSTEM
                  avatars:
                  - size: original
                    url: ../avatars/static/150/default.png
                  - size: small
                    url: ../avatars/static/50/default.png
                errors:
                - error: invalid.format
                  email: notavalidemail
                - error: invalid.format
                  id: 654321
        '204':
          description: No user 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.
      operationId: getV3Users
      x-operation-id-source: derived
  /v1/users/{uid}/sessions/{sid}/logout:
    post:
      summary: Ends the session identified by {sid} for the user with the identifier {uid}
      parameters:
      - name: uid
        description: The identifier of the user who owns the session to be terminated.
        in: path
        required: true
        schema:
          type: string
      - name: sid
        description: The identifier of the session to be terminated.
        in: path
        required: true
        schema:
          type: string
      - name: sessionToken
        description: Session authentication token.
        in: header
        required: true
        schema:
          type: string
      tags:
      - Users
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
        '400':
          description: Client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: 'Unauthorized: Session tokens invalid.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: 'Forbidden: Caller lacks necessary entitlement.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Server error, see response body for further details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      operationId: postV1UsersByUidSessionsBySidLogout
      x-operation-id-source: derived
  /v1/users/{uid}/sessions/logout:
    post:
      summary: Ends all sessions for the user identified by {uid}
      parameters:
      - name: uid
        description: The identifier of the user whose sessions are to be terminated.
        in: path
        required: true
        schema:
          type: string
      - name: sessionToken
        description: Session authentication token.
        in: header
        required: true
        schema:
          type: string
      tags:
      - Users
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
        '400':
          description: Client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: 'Unauthorized: Session tokens invalid.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: 'Forbidden: Caller lacks necessary entitlement.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Server error, see response body for further details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      operationId: postV1UsersByUidSessionsLogout
      x-operation-id-source: derived
  /v1/users/{uid}/sessions:
    get:
      summary: Lists all sessions for the user identified by {uid}
      parameters:
      - name: uid
        description: The identifier of the user whose sessions are to be listed.
        in: path
        required: true
        schema:
          type: string
      - name: sessionToken
        description: Session authentication token.
        in: header
        required: true
        schema:
          type: string
      tags:
      - Users
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1UserSessions'
        '204':
          description: No user found.
        '400':
          description: Client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: 'Unauthorized: Session tokens invalid.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: 'Forbidden: Caller lacks necessary entitlement.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Server error, see response body for further details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      operationId: getV1UsersByUidSessions
      x-operation-id-source: derived
  /v1/user/search:
    post:
      summary: Search for users by name or email address
      parameters:
      - name: skip
        description: number of records to skip
        in: query
        schema:
          type: integer
      - name: limit
        description: Max number of records to return. If no value is provided, 50 is the default.
        in: query
        schema:
          type: integer
      - name: local
        description: 'If true then a local DB search will be performed and only local pod users will be

          returned. If absent or false then a directory search will be performed and users

          from other pods who are visible to the calling user will also be returned.

          '
        in: query
        required: false
        schema:
          type: boolean
      - name: sessionToken
        description: Session authentication token.
        in: header
        required: true
        schema:
          type: string
      tags:
      - Users
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserSearchResults'
              example:
                count: 1
                skip: 0
                limit: 1
                searchQuery:
                  query: jane
                  filters:
                    title: Sales Manager
                    company: Symphony
                    location: San Francisco
                    marketCoverage: EMEA
                    responsibility: BAU
                    function: Trade Management
                    instrument: Securities
                    accountTypes:
                    - NORMAL
                users:
                - id: 13056700581099
                  emailAddress: janedoe@symphony.com
                  firstName: Jane
                  lastName: Doe
                  displayName: Jane Doe
                  title: Sales Manager
                  company: Symphony
                  location: San Francisco
                  accountType: NORMAL
                  avatars:
                  - size: original
                    url: ../avatars/static/150/default.png
                  - size: small
                    url: ../avatars/static/50/default.png
        '204':
          description: No user 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/UserSearchQuery'
        description: search criteria
        required: true
      operationId: postV1UserSearch
      x-operation-id-source: derived
components:
  schemas:
    UserSearchFilter:
      type: object
      properties:
        accountTypes:
          $ref: '#/components/schemas/StringList'
          description: type of user used to search
          example: NORMAL
        title:
          type: string
          description: user's job title
          example: Sales Manager
        company:
          type: string
          description: company name
          example: Symphony
        location:
          type: string
          description: city of the user's job location
          example: Marseille
        marketCoverage:
          type: string
          description: geographic area the user works with
          example: EMEA
        responsibility:
          type: string
          description: user's responsibility
          example: BAU
        function:
          type: string
          description: user's function
          example: Trade Management
        instrument:
          type: string
          description: higher level instrument for the Asset Classes
          example: Securities
    V2UserList:
      description: List of User record version 2
      type: object
      properties:
        users:
          type: array
          items:
            $ref: '#/components/schemas/UserV2'
          description: List of all users found with the search
          example:
          - id: 15942919536460
            emailAddress: technicalwriter@symphony.com
            firstName: Technical
            lastName: Writer
            displayName: Technical Writer
            title: Technical Writer
            company: Symphony
            department: Marketing // if internal user
            username: tw
            accountType: NORMAL
            location: France // if internal user
            mobilePhoneNumber: 33601020304
            avatars:
            - size: original
              url: ../avatars/static/150/default.png
            - size: small
              url: ../avatars/static/50/default.png
          - id: 15942919536461
            emailAddress: serviceaccount@symphony.com
            firstName: null
            lastName: null
            displayName: Service Account
            title: null
            company: pod232
            department: Marketing // if internal user
            username: SA
            location: France // if internal user
            accountType: SYSTEM
            avatars:
            - size: original
              url: ../avatars/static/150/default.png
            - size: small
              url: ../avatars/static/50/default.png
        errors:
          type: array
          items:
            $ref: '#/components/schemas/UserError'
          description: List of all errors found with the informed search criteria
          example:
          - error: invalid.format
            email: notavalidemail
          - error: invalid.format
            id: 654321
    V1Session:
      description: V1 Detailed Session record.
      type: object
      properties:
        sessionId:
          type: string
          description: The id of the user session
        clientIp:
          type: string
          description: The ip address of the session initiator
        userId:
          type: integer
          format: int64
          description: The user id of the session initiator
        userAgent:
          type: string
          description: The user agent of the session
        browser:
          type: string
          description: The browser section of the user agent
        os:
          type: string
          description: The os section of the user agent
        device:
          type: string
          description: The device section of the user agent
        deviceHash:
          type: string
          description: A hash uniquely identifying the device of the requester
        creationTime:
          type: integer
          format: int64
          description: The timestamp of the creation time the user session
        expirationDelay:
          type: integer
          format: int64
          description: The timestamp of the expiry time of the user session
    AvatarList:
      type: array
      items:
        $ref: '#/components/schemas/Avatar'
      example:
      - size: original
        url: ../avatars/izcQTdRVFOK_qhCrYeQOpIuHKuZuMk3J88Uz_bShzM8.png
      - size: small
        url: ../avatars/izcQTdRVFOK_qhCrYeQOpIuHKuZuMk3J88Uz_bShzM8_small.png
    UserSearchResults:
      type: object
      properties:
        count:
          description: The total number of users which matched the search criteria.
          type: integer
          format: int64
          example: 1
        skip:
          description: The number of skipped results.
          type: integer
          format: int64
          example: 0
        limit:
          description: The number of returned results.
          type: integer
          format: int64
          example: 1
        searchQuery:
          $ref: '#/components/schemas/UserSearchQuery'
        users:
          description: A list of users which matched by the search criteria.
          type: array
          items:
            $ref: '#/components/schemas/UserV2'
          example:
          - null
    SuccessResponse:
      type: object
      properties:
        format:
          type: string
          enum:
          - TEXT
          - XML
          example: TEXT
        message:
          type: string
          example: Success
    V1UserSessions:
      description: V1 Detailed Sessions Record.
      type: object
      properties:
        sessions:
          type: array
          items:
            $ref: '#/components/schemas/V1Session'
    Avatar:
      type: object
      properties:
        size:
          description: The Avatar Size
          type: string
          example: original
        url:
          description: Url of the image
          type: string
          example: ../avatars/izcQTdRVFOK_qhCrYeQOpIuHKuZuMk3J88Uz_bShzM8.png
    UserSearchQuery:
      type: object
      properties:
        query:
          type: string
          description: search / query term.  This can be firstname, lastname, displayname or email
          example: jane
        filters:
          $ref: '#/components/schemas/UserSearchFilter'
    StringList:
      type: array
      items:
        type: string
      example:
      - ftp
      - mailto
      - fdsup
      - skype
    UserV2:
      description: User record version 2
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 7696581394433
        emailAddress:
          type: string
          format: email
          example: admin@symphony.com
        firstName:
          type: string
          example: Symphony
        lastName:
          type: string
          example: Admin
        displayName:
          type: string
          example: Symphony Admin
        title:
          type: string
          example: Administrator
        company:
          type: string
          example: Acme
        username:
          type: string
          example: admin@symphony.com
        location:
          type: string
          example: California
        accountType:
          type: string
          enum:
          - NORMAL
          - SYSTEM
          - SDL
          example: NORMAL
        avatars:
          $ref: '#/components/schemas/AvatarList'
        workPhoneNumber:
          type: string
          description: 'Note: only available if the application has the extended user or contact permission'
          example: '+33901020304'
        mobilePhoneNumber:
          type: string
          description: 'Note: only available if the application has the extended user or contact permission'
          example: '+33601020304'
        jobFunction:
          type: string
          description: 'Note: only available if the application has the extended user or contact permission'
          example: Sales
        department:
          type: string
          description: 'Note: only available if the application has the extended user or contact permission'
          example: APIs
        division:
          type: string
          description: 'Note: only available if the application has the extended user or contact permission'
          example: Partnerships
        roles:
          $ref: '#/components/schemas/StringList'
          example:
          - INDIVIDUAL
          - SUPER_ADMINISTRATOR
        userMetadata:
          type: object
          description: Metadata map of key/values
          additionalProperties:
            type: object
          example:
            com_symphony_metadataKey1: value
            com_symphony_metadataKey2:
            - value1
            - value2
    UserError:
      description: User error information
      type: object
      properties:
        error:
          type: string
          description: Error code informing what is wrong
          example: invalid.format
        email:
          type: string
          description: 'Email with error. Only one of the following fields should be present: email or id'
          example: notavalidemail
        id:
          type: string
          description: 'Id with error. Only one of the following fields should be present: email or id'
          example: notavalidid
    Error:
      type: object
      properties:
        code:
          type: integer
          format: int32
          example: 401
        message:
          type: string
          example: Invalid session