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. Only one of the search lists should be informed at a time. Search lists may containt up to 100 elements.
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.


    - sessionToken can be obtained by calling the

    authenticationAPI on the symphony back end and the key manager

    respectively. Refer to the methods described in authenticatorAPI.yaml.

    - Actions are defined to be atomic, ie will succeed in their entirety

    or fail and have changed nothing.

    - If it returns a 40X status then it will have made no change to the

    system even if ome subset of the request would have succeeded.

    - If this contract cannot be met for any reason then this is an error

    and the response code will be 50X.

    '
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.
  /v3/users:
    get:
      summary: 'Search users by emails or ids.

        Only one of the search lists should be informed at a time.

        Search lists may containt up to 100 elements.

        '
      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.
  /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'
  /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'
  /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'
  /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
components:
  schemas:
    Error:
      type: object
      properties:
        code:
          type: integer
          format: int32
          example: 401
        message:
          type: string
          example: Invalid session
    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
    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
    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
    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
    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
    V1UserSessions:
      description: V1 Detailed Sessions Record.
      type: object
      properties:
        sessions:
          type: array
          items:
            $ref: '#/components/schemas/V1Session'
    StringList:
      type: array
      items:
        type: string
      example:
      - ftp
      - mailto
      - fdsup
      - skype
    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
    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'
    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
    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
    SuccessResponse:
      type: object
      properties:
        format:
          type: string
          enum:
          - TEXT
          - XML
          example: TEXT
        message:
          type: string
          example: Success