FactSet Recommendation List API for Digital Portals

Manage lists of financial products via a CMS or upload job, including revision control.

OpenAPI Specification

factset-recommendation-list-api-for-digital-portals-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: FactSet Recommendation List API for Digital Portals
  description: |-
    Manage lists of financial products via a CMS or upload job, including
    revision control.
  version: '2'
servers:
- url: https://api.factset.com/wealth/v1
paths:
  /recommendationList/get:
    get:
      tags:
      - Recommendations
      operationId: get/recommendationList/get
      x-supportsOffsetBasedPaging: false
      x-supportsOffsetBasedPagingWithoutTotal: false
      x-supportsCursorBasedPaging: false
      x-supportsCursorBasedPagingWithoutTotal: false
      x-supportsPush: false
      x-requiresUser: false
      x-requiresInternalClient: false
      x-disallowUser: false
      x-no-merge: false
      x-maxSortParameterCount: 10
      x-supportsPermissionDeniedResponse: false
      summary: Factset Attributes of a Single List.
      description: Attributes of a single list, including data about its active revision.
      parameters:
      - name: id
        in: query
        schema:
          type: number
          format: id32
          x-positive: true
          description: Identifier of the list.
        required: true
      - name: _attributes
        in: query
        schema:
          type: array
          items:
            type: string
            maxLength: 100
            exclusiveMaximum: false
          uniqueItems: true
          maxItems: 50
        style: form
        explode: false
        description: Limit the attributes returned in the response to the specified set.
      - name: _language
        in: query
        schema:
          type: string
          format: isoLanguage
          description: ISO 639-1 code of the language.
          maxLength: 2
          minLength: 2
          exclusiveMinimum: false
          exclusiveMaximum: false
      responses:
        '200':
          $ref: '#/components/responses/GetRecommendationListGet200Response'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /recommendationList/search:
    get:
      tags:
      - Recommendations
      - Search
      operationId: get/recommendationList/search
      x-supportsOffsetBasedPaging: false
      x-supportsOffsetBasedPagingWithoutTotal: false
      x-supportsCursorBasedPaging: false
      x-supportsCursorBasedPagingWithoutTotal: false
      x-supportsPush: false
      x-requiresUser: false
      x-requiresInternalClient: false
      x-disallowUser: false
      x-no-merge: false
      x-maxSortParameterCount: 10
      x-supportsPermissionDeniedResponse: false
      summary: Factset Search for Recommendation Lists.
      description: >-
        Search for recommendation lists, delivering an array of recommendation
        lists matching the specified filter criteria. The data provided for each
        recommendation list includes the currently active revision (or null in
        case no active revision exists).
      parameters:
      - name: name
        in: query
        schema:
          type: string
          description: >-
            Restricts the search to recommendation lists, which contain the
            provided string in their name attribute. The filter is a
            case-insensitive substring match.
        required: false
      - name: onlyActive
        in: query
        schema:
          type: boolean
          description: >-
            Restrict the search to recommendation lists, which are currently
            active (e.g., current date is before the recommendation list's
            activeRange.end date). If set to false, recommendation lists will
            be returned regardless of their state.
        required: false
      - name: _attributes
        in: query
        schema:
          type: array
          items:
            type: string
            maxLength: 100
            exclusiveMaximum: false
          uniqueItems: true
          maxItems: 50
        style: form
        explode: false
        description: Limit the attributes returned in the response to the specified set.
      - name: _language
        in: query
        schema:
          type: string
          format: isoLanguage
          description: ISO 639-1 code of the language.
          maxLength: 2
          minLength: 2
          exclusiveMinimum: false
          exclusiveMaximum: false
      responses:
        '200':
          $ref: '#/components/responses/GetRecommendationListSearch200Response'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /recommendationList/revision/get:
    get:
      tags:
      - Recommendation List
      - Recommendations
      operationId: get/recommendationList/revision/get
      x-supportsOffsetBasedPaging: false
      x-supportsOffsetBasedPagingWithoutTotal: false
      x-supportsCursorBasedPaging: false
      x-supportsCursorBasedPagingWithoutTotal: false
      x-supportsPush: false
      x-requiresUser: false
      x-requiresInternalClient: false
      x-disallowUser: false
      x-no-merge: false
      x-maxSortParameterCount: 10
      x-supportsPermissionDeniedResponse: false
      summary: Factset Attributes of a Single Revision.
      description: Attributes of a single revision.
      parameters:
      - name: id
        in: query
        schema:
          type: number
          format: id32
          x-positive: true
          description: Identifier of the revision.
        required: true
      - name: _attributes
        in: query
        schema:
          type: array
          items:
            type: string
            maxLength: 100
            exclusiveMaximum: false
          uniqueItems: true
          maxItems: 50
        style: form
        explode: false
        description: Limit the attributes returned in the response to the specified set.
      - name: _language
        in: query
        schema:
          type: string
          format: isoLanguage
          description: ISO 639-1 code of the language.
          maxLength: 2
          minLength: 2
          exclusiveMinimum: false
          exclusiveMaximum: false
      responses:
        '200':
          $ref: '#/components/responses/GetRecommendationListRevisionGet200Response'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /recommendationList/revision/list:
    post:
      tags:
      - Recommendation List
      - Recommendations
      operationId: post/recommendationList/revision/list
      x-supportsOffsetBasedPaging: false
      x-supportsOffsetBasedPagingWithoutTotal: false
      x-supportsCursorBasedPaging: false
      x-supportsCursorBasedPagingWithoutTotal: false
      x-supportsPush: false
      x-requiresUser: false
      x-requiresInternalClient: false
      x-disallowUser: false
      x-no-merge: false
      x-maxSortParameterCount: 10
      x-supportsPermissionDeniedResponse: false
      summary: Factset List of Revisions of a Recommendation List.
      description: >-
        List of revisions of a recommendation list, excluding the elements of
        each revision.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostRecommendationListRevisionListRequest'
      responses:
        '200':
          $ref: '#/components/responses/PostRecommendationListRevisionList200Response'
      parameters: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /recommendationList/revision/search:
    get:
      tags:
      - Recommendations
      - Search
      operationId: get/recommendationList/revision/search
      x-supportsOffsetBasedPaging: false
      x-supportsOffsetBasedPagingWithoutTotal: false
      x-supportsCursorBasedPaging: false
      x-supportsCursorBasedPagingWithoutTotal: false
      x-supportsPush: false
      x-requiresUser: false
      x-requiresInternalClient: false
      x-disallowUser: false
      x-no-merge: false
      x-maxSortParameterCount: 10
      x-supportsPermissionDeniedResponse: false
      summary: Factset Search for Revisions of a Recommendation List.
      description: Search for revisions of a recommendation list.
      parameters:
      - name: idNotation
        in: query
        schema:
          type: string
          format: id64
          x-positive: true
          description: >-
            Restrict the search to revisions containing an element associated
            with the identified notation.
        required: false
      - name: idInstrument
        in: query
        schema:
          type: string
          format: id64
          x-positive: true
          description: >-
            Restrict the search to revisions pointing to the identified
            instrument.
        required: false
      - name: _attributes
        in: query
        schema:
          type: array
          items:
            type: string
            maxLength: 100
            exclusiveMaximum: false
          uniqueItems: true
          maxItems: 50
        style: form
        explode: false
        description: Limit the attributes returned in the response to the specified set.
      - name: _language
        in: query
        schema:
          type: string
          format: isoLanguage
          description: ISO 639-1 code of the language.
          maxLength: 2
          minLength: 2
          exclusiveMinimum: false
          exclusiveMaximum: false
      responses:
        '200':
          $ref: >-
            #/components/responses/GetRecommendationListRevisionSearch200Response
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /recommendationList/revision/element/list:
    get:
      tags:
      - Elements
      - Recommendations
      operationId: get/recommendationList/revision/element/list
      x-supportsOffsetBasedPaging: false
      x-supportsOffsetBasedPagingWithoutTotal: false
      x-supportsCursorBasedPaging: false
      x-supportsCursorBasedPagingWithoutTotal: false
      x-supportsPush: false
      x-requiresUser: false
      x-requiresInternalClient: false
      x-disallowUser: false
      x-no-merge: false
      x-maxSortParameterCount: 10
      x-supportsPermissionDeniedResponse: false
      summary: Factset List of Elements of a Given Revision.
      description: List of elements of a given revision.
      parameters:
      - name: idRevision
        in: query
        schema:
          type: number
          format: id32
          x-positive: true
          description: Identifier of the revision.
        required: true
      - name: _attributes
        in: query
        schema:
          type: array
          items:
            type: string
            maxLength: 100
            exclusiveMaximum: false
          uniqueItems: true
          maxItems: 50
        style: form
        explode: false
        description: Limit the attributes returned in the response to the specified set.
      - name: _language
        in: query
        schema:
          type: string
          format: isoLanguage
          description: ISO 639-1 code of the language.
          maxLength: 2
          minLength: 2
          exclusiveMinimum: false
          exclusiveMaximum: false
      responses:
        '200':
          $ref: >-
            #/components/responses/GetRecommendationListRevisionElementList200Response
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    ErrorMetaObject:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/StatusObject'
    ErrorObject:
      type: array
      description: >-
        The errors member contains additional information about a failed
        request.
      items:
        type: object
        properties:
          details:
            type: string
            description: >-
              A human-readable, unstructured explanation specific to this
              occurrence of the failure.
          encryptedDetails:
            type: string
            description: >-
              Base64-encoded, internal details about the error, in addition to
              "details".
          type:
            type: number
            format: int32
            description: Internal error type of the Foundation API protocol.
          attribute:
            type: array
            description: >-
              For a validation error, a reference to the request parameter that
              failed validation; otherwise, an empty array.
            items:
              type: object
              properties:
                name:
                  type: string
                  description: Element of the path denoting the request parameter.
                index:
                  type: number
                  format: int32
                  description: >-
                    If the attribute "name" designates an array, index of the
                    array element; otherwise the special value -1.
              x-property-sort:
              - name
              - index
        x-property-sort:
        - detail
        - encryptedDetails
        - type
        - attribute
    AttributesMember:
      type: array
      description: Limit the attributes returned in the response to the specified set.
      items:
        type: string
        maxLength: 100
        exclusiveMaximum: false
      maxItems: 50
      uniqueItems: true
    LanguageMember:
      type: string
      format: isoLanguage
      description: ISO 639-1 code of the language.
      maxLength: 2
      minLength: 2
      exclusiveMinimum: false
      exclusiveMaximum: false
    StatusObject:
      type: object
      properties:
        code:
          type: number
          format: int32
          description: >-
            The HTTP status code of the response, mirroring the code from the
            Status-Line of the HTTP response message (see [RFC2616] section
            6.1).
          example: 42.5
      description: The status member contains the status code of the response.
      required:
      - code
    CursorBasedPaginationOutputObject:
      type: object
      description: Pagination attributes for the cursor-based pagination strategy.
      properties:
        total:
          type: number
          format: int32
          description: Total number of entries in the result set.
          example: 42.5
        isEstimatedTotal:
          type: boolean
          description: Flag indicating that the value of `total` is estimated.
          example: true
        next:
          type: string
          description: >-
            The next cursor position to use in the parameter `pagination.cursor`
            for an endpoint that supports cursor-based pagination, otherwise
            `null`.
          example: example_value
        previous:
          type: string
          description: >-
            The previous cursor position to use in the parameter
            `pagination.cursor` for an endpoint that supports cursor-based
            pagination. If a previous cursor position is not supported or
            available, `previous` is `null`.
          example: example_value
      required:
      - total
      - isEstimatedTotal
      - next
      - previous
      x-property-sort:
      - total
      - isEstimatedTotal
      - next
      - previous
    CursorBasedPaginationOutputObjectWithoutTotal:
      type: object
      description: >-
        Pagination attributes for the cursor-based pagination strategy; a total
        element count is not supported.
      properties:
        next:
          type: string
          description: >-
            The next cursor position to use in the parameter `pagination.cursor`
            for an endpoint that supports cursor-based pagination, otherwise
            `null`.
          example: example_value
        previous:
          type: string
          description: >-
            The previous cursor position to use in the parameter
            `pagination.cursor` for an endpoint that supports cursor-based
            pagination. If a previous cursor position is not supported or
            available, `previous` is `null`.
          example: example_value
      required:
      - next
      - previous
      x-property-sort:
      - next
      - previous
    OffsetBasedPaginationOutputObject:
      type: object
      description: Pagination attributes for the offset-based pagination strategy.
      properties:
        total:
          type: number
          format: int32
          description: Total number of entries in the result set.
          example: 42.5
        isEstimatedTotal:
          type: boolean
          description: Flag indicating that the value of "total" is estimated.
          example: true
      required:
      - total
      - isEstimatedTotal
      x-property-sort:
      - total
      - isEstimatedTotal
    OffsetBasedPaginationOutputObjectWithoutTotal:
      type: object
      description: >-
        Pagination attributes for the offset-based pagination strategy; a total
        element count is not supported.
      properties:
        hasNext:
          type: boolean
          description: >-
            Flag indicating that a subsequent request with the same parameters,
            except that the parameter `pagination.offset` is incremented by
            `pagination.limit`, would yield additional results.
          example: true
      required:
      - hasNext
      x-property-sort:
      - hasNext
    PartialOutputObject:
      type: object
      properties:
        isPartial:
          type: boolean
          description: >-
            Flag indicating that the response is a possibly incomplete array or
            an object containing a possibly incomplete array, due to hitting a
            processing time limit. If `true`, some matching results might be
            missing from the array, or elements for matching results might be
            incorrectly included (for example, when priority sorting would have
            removed the element). Depending on the use case, such a response may
            be unsuitable.
          example: true
      description: Object denoting that the endpoint response is possibly incomplete.
      required:
      - isPartial
      x-property-sort:
      - isPartial
    PostRecommendationListRevisionListRequest:
      required:
      - data
      type: object
      properties:
        data:
          type: object
          x-property-sort:
          - idList
          - idRevision
          - activeRange
          description: The data member contains the request's primary data.
          properties:
            idList:
              type: number
              format: id32
              x-positive: true
              description: Identifier of the recommendation list.
            idRevision:
              type: array
              nullable: false
              items:
                type: number
                format: id32
                x-positive: true
                description: >-
                  Restrict the result list to specific revisions. Each
                  identifier refers to a revision of the recommendation list
                  referenced by idList.
              maxItems: 100
            activeRange:
              type: object
              format: timeRange
              properties:
                start:
                  type: string
                  format: datetime
                  description: >-
                    The starting point of the time range (inclusive), or `null`
                    to indicate that the time range extends indefinitely into
                    the past.
                  x-allowNullValue: true
                end:
                  type: string
                  format: datetime
                  description: >-
                    The ending point of the time range (exclusive), or `null` to
                    indicate that the time range extends indefinitely into the
                    future.
                  x-allowNullValue: true
              x-property-sort:
              - start
              - end
              required:
              - start
              - end
              description: >-
                Restrict the result list to revisions which have been active
                during the specified time range.
          required:
          - idList
          example: example_value
        meta:
          type: object
          description: The meta member contains the meta information of the request.
          properties:
            attributes:
              $ref: '#/components/schemas/AttributesMember'
            language:
              $ref: '#/components/schemas/LanguageMember'
          x-property-sort:
          - attributes
          - language
          example: example_value
  responses:
    ErrorResponse:
      description: Generic error response for all errors (400 ... 599 error codes)
      headers: {}
      content:
        application/json:
          schema:
            type: object
            properties:
              meta:
                $ref: '#/components/schemas/ErrorMetaObject'
              errors:
                $ref: '#/components/schemas/ErrorObject'
    GetRecommendationListGet200Response:
      description: Successful Response
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                description: Details about the recommendation list.
                nullable: false
                type: object
                x-property-sort:
                - id
                - name
                - activeRange
                - numberRevisions
                - activeRevision
                properties:
                  id:
                    nullable: true
                    type: number
                    format: id32
                    x-positive: true
                    description: Identifier of the recommendation list.
                  name:
                    nullable: true
                    type: string
                    description: Name of the recommendation list.
                  activeRange:
                    nullable: true
                    type: object
                    format: timeRange
                    properties:
                      start:
                        nullable: true
                        type: string
                        format: datetime
                        description: >-
                          The starting point of the time range (inclusive), or
                          `null` to indicate that the time range extends
                          indefinitely into the past.
                      end:
                        nullable: true
                        type: string
                        format: datetime
                        description: >-
                          The ending point of the time range (exclusive), or
                          `null` to indicate that the time range extends
                          indefinitely into the future.
                    x-property-sort:
                    - start
                    - end
                    required:
                    - start
                    - end
                    description: >-
                      Time range during which the recommendation list is, was,
                      or will be active.
                  numberRevisions:
                    nullable: true
                    type: number
                    format: int32
                    x-positive: true
                    description: Number of all revisions of this recommendation list.
                  activeRevision:
                    nullable: false
                    type: object
                    x-property-sort:
                    - id
                    - title
                    - activeRange
                    description: >-
                      Information on the active revision of this recommendation
                      list, or null.
                    properties:
                      id:
                        nullable: true
                        type: number
                        format: id32
                        x-positive: true
                        description: Identifier of the currently active revision.
                      title:
                        nullable: true
                        type: string
                        format: localizedString
                        description: >-
                          The language specific name assigned to the
                          recommendation list as of the given revision.
                      activeRange:
                        nullable: true
                        type: object
                        format: timeRange
                        properties:
                          start:
                            nullable: true
                            type: string
                            format: datetime
                            description: >-
                              The starting point of the time range (inclusive),
                              or `null` to indicate that the time range extends
                              indefinitely into the past.
                          end:
                            nullable: true
                            type: string
                            format: datetime
                            description: >-
                              The ending point of the time range (exclusive), or
                              `null` to indicate that the time range extends
                              indefinitely into the future.
                        x-property-sort:
                        - start
                        - end
                        required:
                        - start
                        - end
                        description: >-
                          Time range during which the revision is, was, or will
                          be active.
              meta:
                type: object
                description: The meta member contains the meta information of the response.
                properties:
                  status:
                    $ref: '#/components/schemas/StatusObject'
                x-property-sort:
                - status
    GetRecommendationListSearch200Response:
      description: Successful Response
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                description: List of recommendation lists.
                nullable: false
                type: array
                items:
                  type: object
                  nullable: false
                  x-property-sort:
                  - id
                  - name
                  - activeRange
                  - numberRevisions
                  - activeRevision
                  description: Recommendation list.
                  properties:
                    id:
                      nullable: true
                      type: number
                      format: id32
                      x-positive: true
                      description: Identifier of the recommendation list.
                    name:
                      nullable: true
                      type: string
                      description: Name of the recommendation list.
                    activeRange:
                      nullable: true
                      type: object
                      format: timeRange
                      properties:
                        start:
                          nullable: true
                          type: string
                          format: datetime
                          description: >-
                            The starting point of the time range (inclusive), or
                            `null` to indicate that the time range extends
                            indefinitely into the past.
                        end:
                          nullable: true
                          type: string
                          format: datetime
                          description: >-
                            The ending point of the time range (exclusive), or
                            `null` to indicate that the time range extends
                            indefinitely into the future.
                      x-property-sort:
                      - start
                      - end
                      required:
                      - start
                      - end
                      description: >-
                        Time range during which the recommendation list is
                        active or has been active.
                    numberRevisions:
                      nullable: true
                      type: number
                      format: int32
                      x-positive: true
                      description: Number of all revisions of this recommendation list.
                    activeRevision:
                      nullable: false
                      type: object
                      x-property-sort:
                      - id
                      - title
                      - activeRange
                      description: >-
                        Information on the active revision of this
                        recommendation list, or null.
                      properties:
                        id:
                          nullable: true
                          type: number
                          format: id32
                          x-positive: true
                          description: Identifier of the currently active revision.
                        title:
                          nullable: true
                          type: string
                          format: localizedString
                          description: >-
                            The language specific name assigned to the
                            recommendation list as of the given revision.
                        activeRange:
                          nullable: true
                          type: object
                          format: timeRange
                          properties:
                            start:
                              nullable: true
                              type: string
                              format: datetime
                              description: >-
                                The starting point of the time range
                                (inclusive), or `null` to indicate that the time
                                range extends indefinitely into the past.
                            end:
                              nullable: true
                              type: string
                              format: datetime
                              description: >-
                                The ending point of the time range (exclusive),
                                or `null` to indicate that the time range
                                extends indefinitely into the future.
                          x-property-sort:
                          - start
                          - end
                          required:
                          - start
                          - end
                          description: >-
                            Time range during which the revision is, was, or
                            will be active.
              meta:
                type: object
                description: The meta member contains the meta information of the response.
                properties:
                  status:
                    $ref: '#/components/schemas/StatusObject'
                x-property-sort:
                - status
    GetRecommendationListRevisionGet200Response:
      description: Successful Response
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                description: Details about the revision.
                nullable: false
                type: object
                x-property-sort:
                - id
                - recommendationList
                - types
                - title
                - description
                - activeRange
                - instrument
                properties:
                  id:
                    nullable: true
                    type: number
                    format: id32
                    x-positive: true
                    description: Identifier of the revision.
                  recommendationList:
              

# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/factset/refs/heads/main/openapi/factset-recommendation-list-api-for-digital-portals-openapi.yml