openapi: 3.0.0 info: title: FactSet Watchlist API for Digital Portals description: |2- Watchlists keeps track of users_ individual investment objectives in self-directed wealth management applications. version: '2' servers: - url: https://api.factset.com/wealth/v1 paths: /watchlist/create: post: tags: - Watchlist operationId: post/watchlist/create x-supportsOffsetBasedPaging: false x-supportsOffsetBasedPagingWithoutTotal: false x-supportsCursorBasedPaging: false x-supportsCursorBasedPagingWithoutTotal: false x-supportsPush: false x-requiresUser: true x-requiresInternalClient: false x-disallowUser: false x-no-merge: true x-maxSortParameterCount: 10 x-supportsPermissionDeniedResponse: false description: |- Create a watchlist. Certain error conditions yield errors as follows: |Error Condition|HTTP Error| |-------|--------| |The number of watchlists would exceed 100.|400 Bad Request| summary: Factset Create a Watchlist. requestBody: content: application/json: schema: $ref: '#/components/schemas/PostWatchlistCreateRequest' responses: '201': $ref: '#/components/responses/PostWatchlistCreate201Response' parameters: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK /watchlist/delete: post: tags: - Watchlist operationId: post/watchlist/delete x-supportsOffsetBasedPaging: false x-supportsOffsetBasedPagingWithoutTotal: false x-supportsCursorBasedPaging: false x-supportsCursorBasedPagingWithoutTotal: false x-supportsPush: false x-requiresUser: true x-requiresInternalClient: false x-disallowUser: false x-no-merge: true x-maxSortParameterCount: 10 x-supportsPermissionDeniedResponse: false description: Delete a watchlist. summary: Factset Delete a Watchlist. requestBody: content: application/json: schema: $ref: '#/components/schemas/PostWatchlistDeleteRequest' responses: '200': $ref: '#/components/responses/PostWatchlistDelete200Response' parameters: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK /watchlist/get: get: tags: - Watchlist operationId: get/watchlist/get x-supportsOffsetBasedPaging: false x-supportsOffsetBasedPagingWithoutTotal: false x-supportsCursorBasedPaging: false x-supportsCursorBasedPagingWithoutTotal: false x-supportsPush: false x-requiresUser: true x-requiresInternalClient: false x-disallowUser: false x-no-merge: false x-maxSortParameterCount: 10 x-supportsPermissionDeniedResponse: false description: Details of a watchlist. summary: Factset Details of a Watchlist. parameters: - name: id in: query schema: description: Identifier of the watchlist. type: string format: id64 x-positive: true 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. responses: '200': $ref: '#/components/responses/GetWatchlistGet200Response' x-microcks-operation: delay: 0 dispatcher: FALLBACK /watchlist/list: get: tags: - Watchlist operationId: get/watchlist/list x-supportsOffsetBasedPaging: false x-supportsOffsetBasedPagingWithoutTotal: false x-supportsCursorBasedPaging: false x-supportsCursorBasedPagingWithoutTotal: false x-supportsPush: false x-requiresUser: true x-requiresInternalClient: false x-disallowUser: false x-no-merge: false x-maxSortParameterCount: 4 x-supportsPermissionDeniedResponse: false description: List of watchlists. summary: Factset List of Watchlists. responses: '200': $ref: '#/components/responses/GetWatchlistList200Response' parameters: - 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. - description: >- Sortable attributes. The sort order is ascending unless it is prefixed with a minus sign, in which case it is descending. A list of at most 4 (possibly prefixed) attribute name(s) is allowed. schema: type: array items: type: string enum: - id - '-id' - name - '-name' - numberPositions - '-numberPositions' - creation - '-creation' maxItems: 4 uniqueItems: true default: - name style: form explode: false name: _sort in: query x-microcks-operation: delay: 0 dispatcher: FALLBACK /watchlist/modify: post: tags: - Modify - Watchlist operationId: post/watchlist/modify x-supportsOffsetBasedPaging: false x-supportsOffsetBasedPagingWithoutTotal: false x-supportsCursorBasedPaging: false x-supportsCursorBasedPagingWithoutTotal: false x-supportsPush: false x-requiresUser: true x-requiresInternalClient: false x-disallowUser: false x-no-merge: true x-maxSortParameterCount: 10 x-supportsPermissionDeniedResponse: false description: Modify a watchlist. summary: Factset Modify a Watchlist. requestBody: content: application/json: schema: $ref: '#/components/schemas/PostWatchlistModifyRequest' responses: '200': $ref: '#/components/responses/PostWatchlistModify200Response' parameters: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK /watchlist/position/create: post: tags: - Positions - Watchlist operationId: post/watchlist/position/create x-supportsOffsetBasedPaging: false x-supportsOffsetBasedPagingWithoutTotal: false x-supportsCursorBasedPaging: false x-supportsCursorBasedPagingWithoutTotal: false x-supportsPush: false x-requiresUser: true x-requiresInternalClient: false x-disallowUser: false x-no-merge: true x-maxSortParameterCount: 10 x-supportsPermissionDeniedResponse: false description: >- Add a position to a watchlist. Certain error conditions yield errors as follows: |Error Condition|HTTP Error| |-------|--------| |Maximum number of watchlist positions would exceed 100.|400 Bad Request| |The watchlist does not exist.|400 Bad Request| |The notation already exists in the watchlist.|400 Bad Request| summary: Factset Add a Position to a Watchlist. requestBody: content: application/json: schema: $ref: '#/components/schemas/PostWatchlistPositionCreateRequest' responses: '201': $ref: '#/components/responses/PostWatchlistPositionCreate201Response' parameters: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK /watchlist/position/delete: post: tags: - Positions - Watchlist operationId: post/watchlist/position/delete x-supportsOffsetBasedPaging: false x-supportsOffsetBasedPagingWithoutTotal: false x-supportsCursorBasedPaging: false x-supportsCursorBasedPagingWithoutTotal: false x-supportsPush: false x-requiresUser: true x-requiresInternalClient: false x-disallowUser: false x-no-merge: true x-maxSortParameterCount: 10 x-supportsPermissionDeniedResponse: false description: Delete a position of a watchlist. summary: Factset Delete a Position of a Watchlist. requestBody: content: application/json: schema: $ref: '#/components/schemas/PostWatchlistPositionDeleteRequest' responses: '200': $ref: '#/components/responses/PostWatchlistPositionDelete200Response' parameters: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK /watchlist/position/get: post: tags: - Positions - Watchlist operationId: post/watchlist/position/get x-supportsOffsetBasedPaging: false x-supportsOffsetBasedPagingWithoutTotal: false x-supportsCursorBasedPaging: false x-supportsCursorBasedPagingWithoutTotal: false x-supportsPush: false x-requiresUser: true x-requiresInternalClient: false x-disallowUser: false x-no-merge: false x-maxSortParameterCount: 10 x-supportsPermissionDeniedResponse: false description: Details of the position of a watchlist. summary: Factset Details of the Position of a Watchlist. requestBody: content: application/json: schema: $ref: '#/components/schemas/PostWatchlistPositionGetRequest' responses: '200': $ref: '#/components/responses/PostWatchlistPositionGet200Response' parameters: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK /watchlist/position/list: get: tags: - Positions - Watchlist operationId: get/watchlist/position/list x-supportsOffsetBasedPaging: false x-supportsOffsetBasedPagingWithoutTotal: false x-supportsCursorBasedPaging: false x-supportsCursorBasedPagingWithoutTotal: false x-supportsPush: false x-requiresUser: true x-requiresInternalClient: false x-disallowUser: false x-no-merge: false x-maxSortParameterCount: 2 x-supportsPermissionDeniedResponse: false description: List of positions of a watchlist. summary: Factset List of Positions of a Watchlist. parameters: - name: id in: query schema: description: Identifier of the watchlist. type: string format: id64 x-positive: true 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. - description: >- Sortable attributes. The sort order is ascending unless it is prefixed with a minus sign, in which case it is descending. A list of at most 2 (possibly prefixed) attribute name(s) is allowed. schema: type: array items: type: string enum: - id - '-id' - notation.id - '-notation.id' maxItems: 2 uniqueItems: true default: - id style: form explode: false name: _sort in: query responses: '200': $ref: '#/components/responses/GetWatchlistPositionList200Response' x-microcks-operation: delay: 0 dispatcher: FALLBACK /watchlist/position/modify: post: tags: - Modify - Positions - Watchlist operationId: post/watchlist/position/modify x-supportsOffsetBasedPaging: false x-supportsOffsetBasedPagingWithoutTotal: false x-supportsCursorBasedPaging: false x-supportsCursorBasedPagingWithoutTotal: false x-supportsPush: false x-requiresUser: true x-requiresInternalClient: false x-disallowUser: false x-no-merge: true x-maxSortParameterCount: 10 x-supportsPermissionDeniedResponse: false description: >- Modify a position in a watchlist. Certain error conditions yield errors as follows: |Error Condition|HTTP Error| |-------|--------| |At least one of the parameters `notation` or `comment` must be set.|400 Bad Request| |The notation already exists in the watchlist.|400 Bad Request| summary: Factset Modify a Position in a Watchlist. requestBody: content: application/json: schema: $ref: '#/components/schemas/PostWatchlistPositionModifyRequest' responses: '200': $ref: '#/components/responses/PostWatchlistPositionModify200Response' parameters: [] 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 PostWatchlistCreateRequest: type: object properties: data: type: object x-property-sort: - name description: The data member contains the request's primary data. properties: name: description: Name of the watchlist. type: string pattern: >- ^[\u0020-\u002e\u0030-\u003a\u003d\u003f-\u005d\u005f\u0061-\u007e\u00c0-\u00ff\u20ac]*$ x-trim: false minLength: 1 exclusiveMinimum: false maxLength: 100 exclusiveMaximum: false required: - name example: example_value meta: type: object description: The meta member contains the meta information of the request. properties: attributes: $ref: '#/components/schemas/AttributesMember' x-property-sort: - attributes example: example_value PostWatchlistDeleteRequest: type: object properties: data: type: object x-property-sort: - id description: The data member contains the request's primary data. properties: id: description: Identifier of the watchlist. type: string format: id64 x-positive: true required: - id example: example_value meta: type: object description: The meta member contains the meta information of the request. properties: attributes: $ref: '#/components/schemas/AttributesMember' x-property-sort: - attributes example: example_value PostWatchlistModifyRequest: type: object properties: data: type: object x-property-sort: - id - name description: The data member contains the request's primary data. properties: id: description: Identifier of the watchlist. type: string format: id64 x-positive: true name: description: Name of the watchlist. type: string pattern: >- ^[\u0020-\u002e\u0030-\u003a\u003d\u003f-\u005d\u005f\u0061-\u007e\u00c0-\u00ff\u20ac]*$ x-trim: false minLength: 1 exclusiveMinimum: false maxLength: 100 exclusiveMaximum: false required: - id - name example: example_value meta: type: object description: The meta member contains the meta information of the request. properties: attributes: $ref: '#/components/schemas/AttributesMember' x-property-sort: - attributes example: example_value PostWatchlistPositionCreateRequest: type: object properties: data: type: object x-property-sort: - id - notation - comment description: The data member contains the request's primary data. properties: id: description: Identifier of the watchlist. type: string format: id64 x-positive: true notation: description: Notation of the position. type: object x-property-sort: - id properties: id: description: Identifier of the notation. type: string format: id64 x-positive: true required: - id comment: description: Personal note for the watchlist position. type: string pattern: ^[\u0020-\u005d\u005f\u0061-\u007e\u00c0-\u00ff\u20ac]*$ x-allowNullValue: true x-trim: false maxLength: 200 exclusiveMaximum: false required: - id example: example_value meta: type: object description: The meta member contains the meta information of the request. properties: attributes: $ref: '#/components/schemas/AttributesMember' x-property-sort: - attributes example: example_value PostWatchlistPositionDeleteRequest: type: object properties: data: type: object x-property-sort: - id - position description: The data member contains the request's primary data. properties: id: description: Identifier of the watchlist. type: string format: id64 x-positive: true position: description: Position of the watchlist. type: object x-property-sort: - id properties: id: description: Identifier of a position. type: number format: id32 x-positive: true required: - id required: - id example: example_value meta: type: object description: The meta member contains the meta information of the request. properties: attributes: $ref: '#/components/schemas/AttributesMember' x-property-sort: - attributes example: example_value PostWatchlistPositionGetRequest: type: object properties: data: type: object x-property-sort: - id - position description: The data member contains the request's primary data. properties: id: description: Identifier of the watchlist. type: string format: id64 x-positive: true position: description: Position of the watchlist. type: object x-property-sort: - id properties: id: description: Identifier of the position type: number format: id32 x-positive: true required: - id required: - id - position example: example_value meta: type: object description: The meta member contains the meta information of the request. properties: attributes: $ref: '#/components/schemas/AttributesMember' x-property-sort: - attributes example: example_value PostWatchlistPositionModifyRequest: type: object properties: data: type: object x-property-sort: - id - position - notation - comment description: The data member contains the request's primary data. properties: id: description: Identifier of the watchlist. type: string format: id64 x-positive: true position: description: Position of the watchlist. type: object x-property-sort: - id properties: id: description: Identifier of the position. type: number format: id32 x-positive: true required: - id notation: description: Notation of the position. type: object x-property-sort: - id properties: id: description: Identifier of the notation. type: string format: id64 x-positive: true required: - id comment: description: Personal note for the watchlist position. type: string pattern: ^[\u0020-\u005d\u005f\u0061-\u007e\u00c0-\u00ff\u20ac]*$ x-allowNullValue: true x-trim: false maxLength: 200 exclusiveMaximum: false required: - id - position example: example_value meta: type: object description: The meta member contains the meta information of the request. properties: attributes: $ref: '#/components/schemas/AttributesMember' x-property-sort: - attributes 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' PostWatchlistCreate201Response: description: Successful Response content: application/json: schema: type: object properties: data: nullable: false type: object x-property-sort: - id properties: id: nullable: true type: string format: id64 x-positive: true description: Identifier of the watchlist. meta: type: object description: The meta member contains the meta information of the response. properties: status: $ref: '#/components/schemas/StatusObject' x-property-sort: - status PostWatchlistDelete200Response: description: Successful Response content: application/json: schema: type: object properties: data: description: This member is always empty. meta: type: object description: The meta member contains the meta information of the response. properties: status: $ref: '#/components/schemas/StatusObject' x-property-sort: - status GetWatchlistGet200Response: description: Successful Response content: application/json: schema: type: object properties: data: description: Details of the watchlist. nullable: false type: object x-property-sort: - id - name - numberPositions - creation properties: id: nullable: true description: Identifier of the watchlist. type: string format: id64 x-positive: true name: nullable: true description: Name of the watchlist. type: string numberPositions: nullable: true description: Number of positions. type: number format: int32 creation: nullable: true description: Date and time of the watchlist creation. type: string format: datetime meta: type: object description: The meta member contains the meta information of the response. properties: status: $ref: '#/components/schemas/StatusObject' x-property-sort: - status GetWatchlistList200Response: description: Successful Response content: application/json: schema: type: object properties: data: nullable: false type: array items: type: object nullable: false x-property-sort: - id - name - numberPositions - creation properties: id: nullable: true description: Identifier of the watchlist. x-sortable: true type: string format: id64 x-positive: true name: nullable: true description: Name of the watchlist. x-sortable: true x-default-sort-attribute: true x-default-sort-direction: 1 type: string numberPositions: nullable: true description: Number of positions. x-sortable: true type: number format: int32 creation: nullable: true description: Date and time of the watchlist creation. x-sortable: true type: string format: datetime description: List of watchlist. meta: type: object description: The meta member contains the meta information of the response. properties: status: $ref: '#/components/schemas/StatusObject' x-property-sort: - status PostWatchlistModify200Response: description: Successful Response content: application/json: schema: type: object properties: data: description: This member is always emtpy. meta: type: object description: The meta member contains the meta information of the response. properties: status: $ref: '#/components/schemas/StatusObject' x-property-sort: - status PostWatchlistPositionCreate201Response: description: Successful Response content: application/json: schema: type: object properties: data: nullable: false type: object x-property-sort: - id properties: id: nullable: true type: number format: id32 x-positive: true description: Identifier of the position. meta: type: object description: The meta member contains the meta information of the response. properties: status: $ref: '#/components/schemas/StatusObject' x-property-sort: - status PostWatchlistPositionDelete200Response: description: Successful Response content: application/json: schema: type: object properties: data: description: This member is always emtpy. meta: type: object description: The meta member contains the meta information of the response. properties: status: $ref: '#/components/schemas/StatusObject' x-property-sort: - status PostWatchlistPositionGet200Response: description: Successful Response content: application/json: schema: type: object properties: data: description: Position of the watchlist. nullable: false type: object x-property-sort: - notation - comment properties: notation: nullable: false description: Notation of the position. type: object x-property-sort: - id properties: id: nullable: true description: Identifier of the notation. type: string format: id64 x-positive: true comment: nullable: true description: Personal note for the watchlist position. type: string meta: type: object description: The meta member contains the meta information of the response. properties: status: $ref: '#/components/schemas/StatusObject' x-property-sort: - status GetWatchlistPositionList200Response: description: Successful Response content: application/json: schema: type: object properties: data: nullable: false type: array items: type: object nullable: false x-property-sort: - id - notation - comment properties: id: nullable: true description: Identifier of the position. x-sortable: true x-default-sort-attribute: true x-default-sort-direction: 1 type: number format: id32 x-positive: true notation: nullable: false description: Notation of the position. type: object x-property-sort: - id properties: id: nullable: true description: Identifier of the notation. x-sortable: true type: string format: id64 x-positive: true comment: nullable: true description: Personal note for the watchlist position. type: string description: Positions of the watchlist. maxItems: 100 meta: type: object description: The meta member contains the meta information of the response. properties: status: $ref: '#/components/schemas/StatusObject' x-property-sort: - status PostWatchlistPositionModify200Response: description: Successful Response content: application/json: schema: type: object properties: data: description: This member is always emtpy. meta: type: object description: The meta member contains the meta information of the response. properties: status: $ref: '#/components/schemas/StatusObject' x-property-sort: - status parameters: {} examples: {} requestBodies: {} headers: {} securitySchemes: Basic: type: http description: Input your username and password to access this API. scheme: basic links: {} callbacks: {} security: - Basic: [] tags: - name: Modify - name: Positions - name: Watchlist description: watchlist endpoints externalDocs: description: Endpoint Reference url: https://endpointreference.mdgms.com x-interface-version: 2 x-documenter-version: 6.3.0 x-api-version: 4.0.2