FINOS Security API

The Security API from FINOS — 8 operation(s) for security.

Operations 8

GET /v1/companycert/list List all trusted certs
POST /v2/companycert/create Create a company trusted or untrusted certificate. Different from V1 in that we reject expired certificates.
POST /v1/companycert/delete Delete a company certificate
GET /v1/companycert/{fingerPrint}/get Get the details of a company certificate
POST /v1/companycert/{fingerPrint}/update Update a company certificate
GET /v1/companycert/{fingerPrint}/issuedBy Return a list of all certificates which were verified to the cert whose fingerprint is passed.
GET /v1/companycert/podmanaged/list List all trusted certs
POST /v1/companycert/type/list List all certs of the given types

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-security-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-security-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 20.17.1
  title: Pod Security 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: Security
paths:
  /v1/companycert/list:
    get:
      summary: List all trusted certs
      parameters:
      - name: sessionToken
        description: Session authentication token.
        in: header
        required: true
        schema:
          type: string
      - name: skip
        description: Pagination start
        in: query
        required: false
        schema:
          type: integer
      - name: limit
        description: Row limit
        in: query
        required: false
        schema:
          type: integer
      tags:
      - Security
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyCertInfoList'
              example:
              - companyCertAttributes:
                  name: agentservice
                  type:
                    type: USER
                  status:
                    type: TRUSTED
                companyCertInfo:
                  fingerPrint: 300a...
                  lastSeen: 0
                  updatedAt: 0
                  updatedBy: 0
                  commonName: agentservice
                  expiryDate: 1781886755000
        '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.
  /v2/companycert/create:
    post:
      summary: Create a company trusted or untrusted certificate. Different from V1 in that we reject expired certificates.
      parameters:
      - name: sessionToken
        description: Session authentication token.
        in: header
        required: true
        schema:
          type: string
      tags:
      - Security
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyCertDetail'
              example:
              - companyCertAttributes:
                  name: jira
                  type:
                    type: USER
                  status:
                    type: KNOWN
                companyCertInfo:
                  fingerPrint: 450369...
                  issuerFingerPrint: c35680...
                  lastSeen: 1529994790226
                  updatedAt: 1529598066602
                  updatedBy: 9208409884327
                  commonName: jiraWebHookIntegration
                  expiryDate: 1768510565000
                certInfo:
                - name: General
                  attributes:
                  - name: Issuer
                    value: C=US O=Symphony Communications LLC CN=bot_user_provisioning
                  - name: Subject
                    value: C=US OU=NOT FOR PRODUCTION USE O=Symphony Communications LLC CN=jiraWebHookIntegration
                  - name: Signature Algorithm
                    value: SHA256withRSA
                - name: Validity
                  attributes:
                  - name: Not Before
                    value: Mon Jan 15 20:56:05 UTC 2018
                  - name: Not After
                    value: Thu Jan 15 20:56:05 UTC 2026
                - name: Public Key
                  attributes:
                  - name: Algorithm
                    value: RSA
                  - name: Format
                    value: X.509
        '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/CompanyCert'
        required: true
  /v1/companycert/delete:
    post:
      summary: Delete a company certificate
      parameters:
      - name: sessionToken
        description: Session authentication token.
        in: header
        required: true
        schema:
          type: string
      tags:
      - Security
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
              example:
                format: TEXT
                message: OK
        '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/StringId'
        required: true
  /v1/companycert/{fingerPrint}/get:
    get:
      summary: Get the details of a company certificate
      parameters:
      - name: fingerPrint
        description: Certificate fingerPrint (ID)
        in: path
        required: true
        schema:
          type: string
      - name: sessionToken
        description: Session authentication token.
        in: header
        required: true
        schema:
          type: string
      tags:
      - Security
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyCertDetail'
              example:
              - companyCertAttributes:
                  name: jira
                  type:
                    type: USER
                  status:
                    type: KNOWN
                companyCertInfo:
                  fingerPrint: 450369...
                  issuerFingerPrint: c35680...
                  lastSeen: 1529994790226
                  updatedAt: 1529598066602
                  updatedBy: 9208409884327
                  commonName: jiraWebHookIntegration
                  expiryDate: 1768510565000
                certInfo:
                - name: General
                  attributes:
                  - name: Issuer
                    value: C=US O=Symphony Communications LLC CN=bot_user_provisioning
                  - name: Subject
                    value: C=US OU=NOT FOR PRODUCTION USE O=Symphony Communications LLC CN=jiraWebHookIntegration
                  - name: Signature Algorithm
                    value: SHA256withRSA
                - name: Validity
                  attributes:
                  - name: Not Before
                    value: Mon Jan 15 20:56:05 UTC 2018
                  - name: Not After
                    value: Thu Jan 15 20:56:05 UTC 2026
                - name: Public Key
                  attributes:
                  - name: Algorithm
                    value: RSA
                  - name: Format
                    value: X.509
        '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/companycert/{fingerPrint}/update:
    post:
      summary: Update a company certificate
      parameters:
      - name: fingerPrint
        description: Certificate fingerPrint (ID)
        in: path
        required: true
        schema:
          type: string
      - name: sessionToken
        description: Session authentication token.
        in: header
        required: true
        schema:
          type: string
      tags:
      - Security
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
              example:
                format: TEXT
                message: OK
        '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/CompanyCertAttributes'
        required: true
  /v1/companycert/{fingerPrint}/issuedBy:
    get:
      summary: 'Return a list of all certificates which were verified to the cert whose

        fingerprint is passed.

        '
      parameters:
      - name: fingerPrint
        description: Certificate fingerPrint (ID)
        in: path
        required: true
        schema:
          type: string
      - name: sessionToken
        description: Session authentication token.
        in: header
        required: true
        schema:
          type: string
      tags:
      - Security
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyCertInfoList'
              example:
              - companyCertAttributes:
                  name: agentservice
                  type:
                    type: USER
                  status:
                    type: TRUSTED
                companyCertInfo:
                  fingerPrint: 300a...
                  lastSeen: 0
                  updatedAt: 0
                  updatedBy: 0
                  commonName: agentservice
                  expiryDate: 1781886755000
        '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/companycert/podmanaged/list:
    get:
      summary: List all trusted certs
      parameters:
      - name: sessionToken
        description: Session authentication token.
        in: header
        required: true
        schema:
          type: string
      - name: skip
        description: Pagination start
        in: query
        required: false
        schema:
          type: integer
      - name: limit
        description: Row limit
        in: query
        required: false
        schema:
          type: integer
      tags:
      - Security
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyCertInfoList'
              example:
              - companyCertAttributes:
                  name: agentservice
                  type:
                    type: USER
                  status:
                    type: TRUSTED
                companyCertInfo:
                  fingerPrint: 300a...
                  lastSeen: 0
                  updatedAt: 0
                  updatedBy: 0
                  commonName: agentservice
                  expiryDate: 1781886755000
        '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/companycert/type/list:
    post:
      summary: List all certs of the given types
      parameters:
      - name: sessionToken
        description: Session authentication token.
        in: header
        required: true
        schema:
          type: string
      - name: skip
        description: Pagination start
        in: query
        required: false
        schema:
          type: integer
      - name: limit
        description: Row limit
        in: query
        required: false
        schema:
          type: integer
      tags:
      - Security
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyCertInfoList'
              example:
              - companyCertAttributes:
                  name: agentservice
                  type:
                    type: USER
                  status:
                    type: TRUSTED
                companyCertInfo:
                  fingerPrint: 300a...
                  lastSeen: 0
                  updatedAt: 0
                  updatedBy: 0
                  commonName: agentservice
                  expiryDate: 1781886755000
        '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/CompanyCertTypeList'
        description: Certificate type list
        required: true
components:
  schemas:
    Error:
      type: object
      properties:
        code:
          type: integer
          format: int32
          example: 401
        message:
          type: string
          example: Invalid session
    CompanyCertDetail:
      type: object
      properties:
        companyCertAttributes:
          $ref: '#/components/schemas/CompanyCertAttributes'
        companyCertInfo:
          $ref: '#/components/schemas/CompanyCertInfo'
        certInfo:
          $ref: '#/components/schemas/CertInfo'
    CertInfoItem:
      type: object
      properties:
        name:
          type: string
          example: Public Key
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/NameValuePair'
          example:
          - name: Algorithm
            value: RSA
          - name: Format
            value: X.509
    NameValuePair:
      type: object
      properties:
        name:
          type: string
          example: Algorithm
        value:
          type: string
          example: RSA
    CompanyCert:
      type: object
      properties:
        pem:
          type: string
          description: An X509 certificate in PEM format
          example: '-----BEGIN CERTIFICATE-----MIIH/TC...p9DBiB/-----END CERTIFICATE-----'
        attributes:
          $ref: '#/components/schemas/CompanyCertAttributes'
    CertInfo:
      type: array
      items:
        $ref: '#/components/schemas/CertInfoItem'
      example:
      - name: Validity
        attributes:
        - name: Not Before
          value: Mon Jan 15 20:56:05 UTC 2018
        - name: Not After
          value: Thu Jan 15 20:56:05 UTC 2026
      - name: Public Key
        attributes:
        - name: Algorithm
          value: RSA
        - name: Format
          value: X.509
    CompanyCertTypeList:
      type: array
      items:
        $ref: '#/components/schemas/CompanyCertType'
    CompanyCertStatus:
      type: object
      properties:
        type:
          type: string
          enum:
          - TRUSTED
          - KNOWN
          - REVOKED
          - DISABLED
          example: TRUSTED
    CompanyCertInfo:
      type: object
      properties:
        fingerPrint:
          type: string
          description: Unique identifier
          example: 300a...
        issuerFingerPrint:
          type: string
          description: Unique identifier of issuer cert if known
          example: 450s...
        lastSeen:
          type: integer
          format: int64
          description: Date when we last saw this certificate presented
          example: 0
        updatedAt:
          type: integer
          format: int64
          description: Date when this cert was last updated by administrator
          example: 0
        updatedBy:
          type: integer
          format: int64
          description: User ID of administrator who last updated this cert
          example: 0
        commonName:
          type: string
          description: The Symphony account name which this certificate authenticates
          example: agentservice
        expiryDate:
          type: integer
          format: int64
          description: Expiry date of this cert
          example: 1781886755000
    CompanyCertInfoList:
      type: array
      items:
        type: object
        properties:
          companyCertAttributes:
            $ref: '#/components/schemas/CompanyCertAttributes'
          companyCertInfo:
            $ref: '#/components/schemas/CompanyCertInfo'
        example:
        - companyCertAttributes:
            name: agentservice
            type:
              type: USER
            status:
              type: TRUSTED
          companyCertInfo:
            fingerPrint: 300a...
            lastSeen: 0
            updatedAt: 0
            updatedBy: 0
            commonName: agentservice
            expiryDate: 1781886755000
    CompanyCertType:
      type: object
      properties:
        type:
          type: string
          enum:
          - USERSIGNING
          - USER
          - OPERATIONSSIGNING
          - OPERATIONSUSER
          example: USER
    CompanyCertAttributes:
      type: object
      properties:
        name:
          type: string
          description: Friendly name assigned by administrator
          example: agentservice
        type:
          $ref: '#/components/schemas/CompanyCertType'
        status:
          $ref: '#/components/schemas/CompanyCertStatus'
    StringId:
      type: object
      properties:
        id:
          type: string
          example: xhGxbTcvTDK6EIMMrwdOrX___quztr2HdA
    SuccessResponse:
      type: object
      properties:
        format:
          type: string
          enum:
          - TEXT
          - XML
          example: TEXT
        message:
          type: string
          example: Success