FactSet IRN Custom Symbols API

This API allows users to create, read, edit and delete IRN custom symbols as well as configure settings in the Internal Research Notes Symbol Manager application.

OpenAPI Specification

irn-custom-symbols-openapi-original.yml Raw ↑
openapi: 3.0.1
info:
  title: Factset IRN API v1
  description: Allows users to extract, create, update and configure IRN data.
  version: '1'
servers:
  - url: https://api.factset.com/research/irn
    description: Production Server
  - url: https://api-sandbox.factset.com/research/irn
    description: Sandbox
paths:
  /v1/custom-symbols:
    get:
      tags:
        - Custom Symbols
      summary: >-
        Factset Get list of all custom symbols in your group along with some of their standard field and custom fields data
      operationId: GetCustomSymbols
      parameters:
        - name: typeName
          in: query
          description: filter custom symbols based on custom symbol type
          schema:
            type: string
        - name: query
          in: query
          description: filter custom symbols based on custom symbol code or name
          schema:
            type: string
        - name: includeCustomFieldValues
          in: query
          description: Whether or not to include customFieldValues
          schema:
            type: boolean
            default: false
        - name: excludeLinkedCustomSymbol
          in: query
          description: Whether or not to exclude linked custom symbol
          schema:
            type: boolean
            default: false
        - name: includeEvent
          in: query
          description: Whether or not to include event
          schema:
            type: boolean
            default: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomSymbolDto'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: string
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
    post:
      tags:
        - Custom Symbols
      summary: Factset Create a custom symbol
      operationId: CreateCustomSymbol
      requestBody:
        description: createCustomSymbolDto object to save
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/CreateCustomSymbolDto'
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCustomSymbolDto'
          text/json:
            schema:
              $ref: '#/components/schemas/CreateCustomSymbolDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/CreateCustomSymbolDto'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewItemDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v1/custom-symbols/{customSymbolId}:
    get:
      tags:
        - Custom Symbols
      summary: >-
        Factset Get all custom field and standard field details on a specific custom symbol
      operationId: GetCustomSymbol
      parameters:
        - name: customSymbolId
          in: path
          description: customSymbolId to get associated custom symbol
          required: true
          schema:
            type: string
            format: uuid
        - name: includeEvent
          in: query
          description: Whether or not to include event
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomSymbolDto'
    patch:
      tags:
        - Custom Symbols
      summary: Factset Edit a custom symbol’s standard field and custom field data
      operationId: PatchCustomSymbol
      parameters:
        - name: customSymbolId
          in: path
          description: customSymbolId to update associated custom symbol
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: updateCustomSymbolDto object to update
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
    delete:
      tags:
        - Custom Symbols
      summary: Factset Delete a custom symbol
      operationId: DeleteCustomSymbol
      parameters:
        - name: customSymbolId
          in: path
          description: customSymbolId to delete associated custom symbol
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v1/custom-symbols/{customSymbolId}/records:
    get:
      tags:
        - Custom Symbols
      summary: >-
        Factset Get all notes and meetings where a specific customSymbol was tagged as primary or related identifier
      operationId: GetCustomSymbolRecords
      parameters:
        - name: customSymbolId
          in: path
          description: CustomSymbolId to get associated records
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RecordPreviewDto'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v1/custom-symbols/standard-symbol-metadata/{standardSymbol}:
    get:
      tags:
        - Custom Symbols
      summary: >-
        Factset Get all custom field and standard field details on a specific standard symbol
      operationId: GetStandardSymbolMetadataGuid
      parameters:
        - name: standardSymbol
          in: path
          description: Standard symbol to get associated customSymbolId
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: string
                format: uuid
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: string
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v1/symbol-relationships/{symbolId}/relationships:
    get:
      tags:
        - Symbol Relationships
      summary: Factset Returns a list of a symbol’s relationships
      operationId: GetSymbolRelationships
      parameters:
        - name: symbolId
          in: path
          description: symbolId to get associated records
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SymbolRelationshipDto'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v1/symbol-relationships/{symbolRelationshipId}:
    get:
      tags:
        - Symbol Relationships
      summary: Factset Get details on a specific symbol relationship
      operationId: GetSymbolRelationship
      parameters:
        - name: symbolRelationshipId
          in: path
          description: symbolRelationshipId to get associated record
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SymbolRelationshipDto'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
    delete:
      tags:
        - Symbol Relationships
      summary: Factset Delete a symbol relationship
      operationId: DeleteSymbolRelationship
      parameters:
        - name: symbolRelationshipId
          in: path
          description: symbolRelationshipId to delete associated record
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v1/custom-symbols/{customSymbolId}/link-standard-symbol:
    post:
      tags:
        - Custom Symbols
      summary: Factset Link custom symbol to standard symbol
      operationId: LinkCustomSymbolToStandardSymbol
      parameters:
        - name: customSymbolId
          in: path
          description: customSymbolId associated with custom symbol
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: standard symbol name
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/StandardSymbolDto'
          application/json:
            schema:
              $ref: '#/components/schemas/StandardSymbolDto'
          text/json:
            schema:
              $ref: '#/components/schemas/StandardSymbolDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/StandardSymbolDto'
      responses:
        '200':
          description: Success
  /v1/custom-symbols/standard-symbol-metadata:
    post:
      tags:
        - Custom Symbols
      summary: Factset Create standard symbol metadata
      operationId: CreateStandardSymbolMetadata
      requestBody:
        description: createStandardSymbolMetadataDto object to save
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/CreateStandardSymbolMetadataDto'
          application/json:
            schema:
              $ref: '#/components/schemas/CreateStandardSymbolMetadataDto'
          text/json:
            schema:
              $ref: '#/components/schemas/CreateStandardSymbolMetadataDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/CreateStandardSymbolMetadataDto'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewItemDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v1/symbol-relationships:
    post:
      tags:
        - Symbol Relationships
      summary: Factset Create a symbol relationship
      operationId: CreateSymbolRelationship
      requestBody:
        description: symbolRelationship object to save
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/SymbolRelationshipSaveDto'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/SymbolRelationshipSaveDto'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/SymbolRelationshipSaveDto'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/SymbolRelationshipSaveDto'
      responses:
        '201':
          description: Created
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v1/symbol-relationships/{symbol}:
    put:
      tags:
        - Symbol Relationships
      summary: Factset Edit a symbol relationship
      operationId: EditAndAddSymbolRelationship
      parameters:
        - name: symbol
          in: path
          description: ''
          required: true
          schema:
            type: string
      requestBody:
        description: symbolRelationship object to save
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/SymbolRelationshipUpdateDto'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/SymbolRelationshipUpdateDto'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/SymbolRelationshipUpdateDto'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/SymbolRelationshipUpdateDto'
      responses:
        '200':
          description: Success
  /v1/custom-symbols/standard-symbol-metadata/{standardSymbolId}:
    patch:
      tags:
        - Custom Symbols
      summary: Factset Edit a standard symbol’s standard field and custom field data
      operationId: PatchStandardSymbol
      parameters:
        - name: standardSymbolId
          in: path
          description: standardSymbolId to update associated standard symbol
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: updateCustomSymbolDto object to update
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    CreateCustomSymbolCustomFieldValueDto:
      required:
        - code
      type: object
      properties:
        code:
          type: string
        textValue:
          type: string
          nullable: true
        numericValue:
          type: number
          format: double
          nullable: true
        dateValue:
          type: string
          nullable: true
        extendedTextValue:
          type: string
          nullable: true
        optionValues:
          type: array
          items:
            type: string
          nullable: true
        contactIds:
          type: array
          items:
            type: string
            format: uuid
          nullable: true
      additionalProperties: false
    CreateCustomSymbolDto:
      type: object
      properties:
        code:
          maxLength: 32
          minLength: 0
          type: string
          nullable: true
        name:
          maxLength: 255
          minLength: 0
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        typeId:
          type: string
          format: uuid
        subTypeId:
          type: string
          format: uuid
        googleMapsPlaceId:
          maxLength: 255
          minLength: 0
          type: string
          nullable: true
        formattedAddress:
          maxLength: 255
          minLength: 0
          type: string
          nullable: true
        city:
          maxLength: 50
          minLength: 0
          type: string
          nullable: true
        stateProvince:
          maxLength: 50
          minLength: 0
          type: string
          nullable: true
        postalCode:
          maxLength: 10
          minLength: 0
          type: string
          nullable: true
        country:
          maxLength: 50
          minLength: 0
          type: string
          nullable: true
        customFieldValues:
          type: array
          items:
            $ref: '#/components/schemas/CreateCustomSymbolCustomFieldValueDto'
          nullable: true
      additionalProperties: false
    CreateStandardSymbolMetadataDto:
      required:
        - standardSymbol
      type: object
      properties:
        standardSymbol:
          maxLength: 255
          minLength: 0
          type: string
        description:
          type: string
          nullable: true
        typeId:
          type: string
          format: uuid
        subTypeId:
          type: string
          format: uuid
        googleMapsPlaceId:
          maxLength: 255
          minLength: 0
          type: string
          nullable: true
        formattedAddress:
          maxLength: 255
          minLength: 0
          type: string
          nullable: true
        city:
          maxLength: 50
          minLength: 0
          type: string
          nullable: true
        stateProvince:
          maxLength: 50
          minLength: 0
          type: string
          nullable: true
        postalCode:
          maxLength: 10
          minLength: 0
          type: string
          nullable: true
        country:
          maxLength: 50
          minLength: 0
          type: string
          nullable: true
        customFieldValues:
          type: array
          items:
            $ref: '#/components/schemas/CreateCustomSymbolCustomFieldValueDto'
          nullable: true
      additionalProperties: false
    CustomSymbolAddressDto:
      type: object
      properties:
        googleMapsPlaceId:
          type: string
          nullable: true
        formattedAddress:
          type: string
          nullable: true
        city:
          type: string
          nullable: true
        stateProvince:
          type: string
          nullable: true
        postalCode:
          type: string
          nullable: true
        country:
          type: string
          nullable: true
      additionalProperties: false
    CustomSymbolContact:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
          nullable: true
        employerName:
          type: string
          nullable: true
        roleName:
          type: string
          nullable: true
        isDeleted:
          type: boolean
        irnPersonId:
          type: string
          nullable: true
      additionalProperties: false
    CustomSymbolCustomFieldValueDto:
      type: object
      properties:
        code:
          type: string
          nullable: true
        value:
          type: string
          nullable: true
        optionValues:
          type: array
          items:
            type: string
          nullable: true
        contacts:
          type: array
          items:
            $ref: '#/components/schemas/CustomSymbolContact'
          nullable: true
      additionalProperties: false
    CustomSymbolDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
        code:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        type:
          $ref: '#/components/schemas/CustomSymbolTypeSummaryDto'
        subType:
          $ref: '#/components/schemas/CustomSymbolSubTypeSummaryDto'
        address:
          $ref: '#/components/schemas/CustomSymbolAddressDto'
        customFields:
          type: array
          items:
            $ref: '#/components/schemas/CustomSymbolCustomFieldValueDto'
          nullable: true
        createdDate:
          type: string
          nullable: true
        createdBy:
          type: string
          nullable: true
        standardSymbol:
          type: string
          nullable: true
        standardSymbolInstrumentData:
          $ref: '#/components/schemas/InstrumentDto'
        isAddressAutoFilled:
          type: boolean
        isDescriptionAutoFilled:
          type: boolean
      additionalProperties: false
    CustomSymbolSubTypeSummaryDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
          nullable: true
      additionalProperties: false
    CustomSymbolTypeSummaryDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
          nullable: true
      additionalProperties: false
    InstrumentDto:
      type: object
      properties:
        symbol:
          type: string
          nullable: true
        tickerRegion:
          type: string
          nullable: true
        tickerExchange:
          type: string
          nullable: true
        sedol:
          type: string
          nullable: true
        cusip:
          type: string
          nullable: true
        isin:
          type: string
          nullable: true
        instrumentName:
          type: string
          nullable: true
        identifiers:
          type: array
          items:
            type: string
          nullable: true
      additionalProperties: false
    NewItemDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
      additionalProperties: false
    Operation:
      type: object
      properties:
        operationType:
          $ref: '#/components/schemas/OperationType'
        path:
          type: string
          nullable: true
        op:
          type: string
          nullable: true
        from:
          type: string
          nullable: true
        value:
          nullable: true
      additionalProperties: false
    OperationType:
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
      type: integer
      format: int32
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
    RecordPreviewDto:
      type: object
      properties:
        noteGuid:
          type: string
          format: uuid
          nullable: true
        meetingGuid:
          type: string
          format: uuid
          nullable: true
        title:
          type: string
          nullable: true
        date:
          type: string
          format: date-time
      additionalProperties: false
    StandardSymbolDto:
      required:
        - standardSymbol
      type: object
      properties:
        standardSymbol:
          type: string
      additionalProperties: false
    SymbolIdNameDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
          nullable: true
        name:
          type: string
          nullable: true
        code:
          type: string
          nullable: true
      additionalProperties: false
    SymbolRelationshipDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
        symbolsRelationship:
          $ref: '#/components/schemas/SymbolsRelationshipIdNameDto'
        parentSymbol:
          $ref: '#/components/schemas/SymbolIdNameDto'
        childSymbol:
          $ref: '#/components/schemas/SymbolIdNameDto'
        startDate:
          type: string
          format: date-time
          nullable: true
        endDate:
          type: string
          format: date-time
          nullable: true
        comment:
          type: string
          nullable: true
      additionalProperties: false
    SymbolRelationshipSaveDto:
      type: object
      properties:
        symbolsRelationshipId:
          type: string
          format: uuid
        parentSymbol:
          type: string
          nullable: true
        childSymbol:
          type: string
          nullable: true
        startDate:
          type: string
          format: date-time
          nullable: true
        endDate:
          type: string
          format: date-time
          nullable: true
        comment:
          type: string
          nullable: true
      additionalProperties: false
    SymbolRelationshipUpdateDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
        symbolsRelationshipId:
          type: string
          format: uuid
        parentSymbol:
          type: string
          nullable: true
        childSymbol:
          type: string
          nullable: true
        startDate:
          type: string
          format: date-time
          nullable: true
        endDate:
          type: string
          format: date-time
          nullable: true
        comment:
          type: string
          nullable: true
      additionalProperties: false
    SymbolsRelationshipIdNameDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
          nullable: true
        type:
          type: string
          nullable: true
      additionalProperties: false
  securitySchemes:
    basicScheme:
      type: http
      scheme: basic
security:
  - basicScheme: []
tags:
  - name: Custom Symbols
  - name: Symbol Relationships