FactSet Security Modeling API

The Security Modeling (SM) API allows clients to programmatically work with the terms and conditions (t&c's) stored in the Security Modeling application.

OpenAPI Specification

security-modeling-openapi-original.yml Raw ↑
openapi: 3.0.1
info:
  title: Factset Security-Modeling API
  description: Allow clients to fetch Analytics through APIs.
  contact:
    name: FactSet Research Systems
    url: https://developer.factset.com/contact
    email: [email protected]
  license:
    name: Apache License, Version 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  version: '3'
servers:
  - url: https://api.factset.com
paths:
  /analytics/security-modeling/v3/securities/retrieve:
    post:
      tags:
        - Analytics
      summary: Factset Get existing securities
      description: This endpoint gets all existing securities.
      operationId: getSecurities
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SMRetrieveParametersRoot'
      responses:
        '200':
          description: Expected response, returns a list of existing securities.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SMRetrieveResponseRoot'
        '401':
          description: Missing or invalid authentication.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
        '403':
          description: User is forbidden with current credentials
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
        '406':
          description: >-
            Unsupported Accept header. Header needs to be set to
            application/json.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
        '429':
          description: >-
            Rate limit reached. Wait till the time specified in Retry-After
            header value to make further requests.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            Retry-After:
              description: >-
                Time to wait in seconds before making a new request as the rate
                limit has reached.
              schema:
                type: string
        '500':
          description: >-
            Server error. Log the X-DataDirect-Request-Key header to assist in
            troubleshooting.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
        '503':
          description: Request timed out. Retry the request in sometime.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
  /analytics/security-modeling/v3/securities/upsert:
    post:
      tags:
        - Analytics
      summary: Factset Create or update securities
      description: This endpoint is to create or update existing securities.
      operationId: upsertSecurities
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SMCreateParametersRoot'
      responses:
        '200':
          description: >-
            Expected response, returns a status of operation along with errors
            and warnings if found any.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SMCreateResponseRoot'
        '401':
          description: Missing or invalid authentication.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
        '403':
          description: User is forbidden with current credentials
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
        '406':
          description: >-
            Unsupported Accept header. Header needs to be set to
            application/json.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
        '429':
          description: >-
            Rate limit reached. Wait till the time specified in Retry-After
            header value to make further requests.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            Retry-After:
              description: >-
                Time to wait in seconds before making a new request as the rate
                limit has reached.
              schema:
                type: string
        '500':
          description: >-
            Server error. Log the X-DataDirect-Request-Key header to assist in
            troubleshooting.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
        '503':
          description: Request timed out. Retry the request in sometime.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
  /analytics/security-modeling/v3/securities/delete:
    post:
      tags:
        - Analytics
      summary: Factset Delete existing securities
      description: This endpoint deletes existing securities.
      operationId: deleteSecurities
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SMDeleteParametersRoot'
      responses:
        '200':
          description: Expected response, deletes existing securities.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SMDeleteResponseRoot'
        '401':
          description: Missing or invalid authentication.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
        '403':
          description: User is forbidden with current credentials
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
        '406':
          description: >-
            Unsupported Accept header. Header needs to be set to
            application/json.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
        '429':
          description: >-
            Rate limit reached. Wait till the time specified in Retry-After
            header value to make further requests.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            Retry-After:
              description: >-
                Time to wait in seconds before making a new request as the rate
                limit has reached.
              schema:
                type: string
        '500':
          description: >-
            Server error. Log the X-DataDirect-Request-Key header to assist in
            troubleshooting.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
        '503':
          description: Request timed out. Retry the request in sometime.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
components:
  schemas:
    SMRetrieveParameters:
      required:
        - securityName
      type: object
      properties:
        securityName:
          type: string
        location:
          type: string
          nullable: true
        asofdate:
          type: string
          nullable: true
        securityType:
          enum:
            - Bond
            - CCF
          type: string
          nullable: true
    SMRetrieveParametersRoot:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/SMRetrieveParameters'
        meta:
          type: object
          nullable: true
    SMCustomCashFlowFields:
      type: object
      allOf:
        - $ref: '#/components/schemas/SMFields'
      properties:
        cashFlowAmounts:
          type: array
          items:
            type: number
            format: double
            nullable: true
          nullable: true
        cashFlowDates:
          type: array
          items:
            type: string
          nullable: true
        country:
          type: string
          nullable: true
        currency:
          type: string
          nullable: true
        issueName:
          type: string
          nullable: true
        parAmt:
          type: number
          format: double
          nullable: true
        parentName:
          type: string
          nullable: true
        ratingFitch:
          type: string
          nullable: true
        ratingFitchDates:
          type: array
          items:
            type: string
          nullable: true
        ratingFitchValues:
          type: array
          items:
            type: string
          nullable: true
        ratingMoodysDates:
          type: array
          items:
            type: string
          nullable: true
        ratingMoodysValues:
          type: array
          items:
            type: string
          nullable: true
        ratingSpDates:
          type: array
          items:
            type: string
          nullable: true
        ratingSpValues:
          type: array
          items:
            type: string
          nullable: true
        secondaryToVendorFlag:
          type: boolean
          nullable: true
        sector:
          type: string
          nullable: true
        sectorBarclay1:
          type: string
          nullable: true
        sectorBarclay2:
          type: string
          nullable: true
        sectorBarclay3:
          type: string
          nullable: true
        sectorBarclay4:
          type: string
          nullable: true
        sectorDef:
          type: string
          nullable: true
        sectorIndustry:
          type: string
          nullable: true
        sectorMain:
          type: string
          nullable: true
        sectorMerrill1:
          type: string
          nullable: true
        sectorMerrill2:
          type: string
          nullable: true
        sectorMerrill3:
          type: string
          nullable: true
        sectorMerrill4:
          type: string
          nullable: true
        sectorSubGroup:
          type: string
          nullable: true
        vendorCoverageDate:
          type: string
          nullable: true
    SMFields:
      required:
        - securityType
      type: object
      properties:
        securityType:
          enum:
            - Bond
            - CCF
          type: string
    SMBondFields:
      type: object
      allOf:
        - $ref: '#/components/schemas/SMFields'
      properties:
        144aFlag:
          type: boolean
          nullable: true
        aperiodicMultipliers:
          type: array
          items:
            type: number
            format: double
            nullable: true
          nullable: true
        aperiodicResetDates:
          type: array
          items:
            type: string
          nullable: true
        aperiodicSpreads:
          type: array
          items:
            type: number
            format: double
            nullable: true
          nullable: true
        businessDayConv:
          type: string
          nullable: true
        callAnnouncedDate:
          type: string
          nullable: true
        callDates:
          type: array
          items:
            type: string
          nullable: true
        callFreq:
          type: string
          nullable: true
        callNoticeDays:
          type: integer
          format: int32
          nullable: true
        callPrices:
          type: array
          items:
            type: number
            format: double
            nullable: true
          nullable: true
        cashRate:
          type: number
          format: double
          nullable: true
        cognity:
          type: string
          nullable: true
        conversionIdentifier:
          type: string
          nullable: true
        conversionRatio:
          type: number
          format: double
          nullable: true
        conversionType:
          type: string
          nullable: true
        convertibleFlag:
          type: boolean
          nullable: true
        country:
          type: string
          nullable: true
        coupon:
          type: number
          format: double
          nullable: true
        couponType:
          type: string
          nullable: true
        creditSpreadAdjustmentSingle:
          type: number
          format: double
          nullable: true
        currency:
          type: string
          nullable: true
        dayCountBasis:
          type: string
          nullable: true
        defaultedDate:
          type: string
          nullable: true
        federalTaxExemptFlag:
          type: boolean
          nullable: true
        firstPayDate:
          type: string
          nullable: true
        firstResetDate:
          type: string
          nullable: true
        floatFormula:
          type: string
          nullable: true
        fltDayCountBasis:
          type: string
          nullable: true
        fltFirstPayDate:
          type: string
          nullable: true
        fltPayFreq:
          type: string
          nullable: true
        histCouponDates:
          type: array
          items:
            type: string
          nullable: true
        histCoupons:
          type: array
          items:
            type: number
            format: double
            nullable: true
          nullable: true
        histRcvAssumpDates:
          type: array
          items:
            type: string
          nullable: true
        histRcvAssumpMonths:
          type: array
          items:
            type: integer
            format: int32
            nullable: true
          nullable: true
        histRcvAssumpRates:
          type: array
          items:
            type: number
            format: double
            nullable: true
          nullable: true
        histRcvAssumpTargetDates:
          type: array
          items:
            type: string
          nullable: true
        inflationType:
          type: string
          nullable: true
        issueDate:
          type: string
          nullable: true
        issueName:
          type: string
          nullable: true
        issuerId:
          type: string
          nullable: true
        lastModifiedSource:
          type: string
          nullable: true
        lastModifiedSourceMeta:
          type: string
          nullable: true
        lastModifiedTime:
          type: string
          nullable: true
        lifeCap:
          type: number
          format: double
          nullable: true
        lifeFloor:
          type: number
          format: double
          nullable: true
        lockoutDays:
          type: integer
          format: int32
          nullable: true
        lookBackDays:
          type: integer
          format: int32
          nullable: true
        makeWholeCallFlag:
          type: boolean
          nullable: true
        makeWholeExpireDate:
          type: string
          nullable: true
        makeWholeSpread:
          type: number
          format: double
          nullable: true
        matrixDates:
          type: array
          items:
            type: string
          nullable: true
        matrixMultipliers:
          type: array
          items:
            type: number
            format: double
            nullable: true
          nullable: true
        matrixPricedFlag:
          type: boolean
          nullable: true
        matrixSpreads:
          type: array
          items:
            type: number
            format: double
            nullable: true
          nullable: true
        matrixUseScheduleFlag:
          type: boolean
          nullable: true
        maturityDate:
          type: string
          nullable: true
        maturityPrice:
          type: number
          format: double
          nullable: true
        monthsToRecovery:
          type: number
          format: double
          nullable: true
        multiplier:
          type: number
          format: double
          nullable: true
        notionalFlag:
          type: boolean
          nullable: true
        observationShift:
          type: integer
          format: int32
          nullable: true
        origAmtIssued:
          type: number
          format: double
          nullable: true
        parentName:
          type: string
          nullable: true
        parPri

# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/factset/refs/heads/main/openapi/security-modeling-openapi-original.yml