openapi: 3.0.3 info: title: Factset Analytics Datastore About Watchlist API description: Allow clients to fetch precalculated Analytics through predeterministic URLs. contact: name: FactSet Research Systems url: https://developer.factset.com/contact email: api@factset.com license: name: Apache License, Version 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 version: 1.0.0 servers: - url: https://api.factset.com description: Production - url: https://api-sandbox.factset.com description: Sandbox security: - basicAuth: [] tags: - name: Watchlist 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.\n\nCertain error conditions yield errors as follows: \n\n|Error Condition|HTTP Error|\n|-------|--------|\n|The number of watchlists would exceed 100.|400 Bad Request|" summary: Create a watchlist. requestBody: content: application/json: schema: $ref: '#/components/schemas/PostWatchlistCreateRequest' responses: '201': $ref: '#/components/responses/PostWatchlistCreate201Response' parameters: [] /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: Delete a watchlist. requestBody: content: application/json: schema: $ref: '#/components/schemas/PostWatchlistDeleteRequest' responses: '200': $ref: '#/components/responses/PostWatchlistDelete200Response' parameters: [] /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: 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' /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: 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 /watchlist/modify: post: tags: - 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: - 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.\n\nCertain error conditions yield errors as follows: \n\n|Error Condition|HTTP Error|\n|-------|--------|\n|Maximum number of watchlist positions would exceed 100.|400 Bad Request|\n|The watchlist does not exist.|400 Bad Request|\n|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: - 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: - 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: - 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: - 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.\n\nCertain error conditions yield errors as follows: \n\n|Error Condition|HTTP Error|\n|-------|--------|\n|At least one of the parameters `notation` or `comment` must be set.|400 Bad Request|\n|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: responses: 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_2' 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_2' 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 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_2' 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_2' 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_2' 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_2' x-property-sort: - status 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 schemas: 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 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 StatusObject_2: 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 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 meta: type: object description: The meta member contains the meta information of the request. properties: attributes: $ref: '#/components/schemas/AttributesMember' x-property-sort: - attributes 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 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). description: The status member contains the status code of the response. required: - code 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 meta: type: object description: The meta member contains the meta information of the request. properties: attributes: $ref: '#/components/schemas/AttributesMember' x-property-sort: - attributes 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 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 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 securitySchemes: basicAuth: type: http scheme: basic externalDocs: url: https://developer.factset.com/api-catalog/analytics-datastore-api description: API Documentation