openapi: 3.0.0 info: version: 1.0.0 title: Factset VRS API documentation contact: name: FactSet Research Systems email: api@factset.com url: https://developer.factset.com/contact license: name: Apache License, Version 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 description: Documentation on all available end points in the VRSAPI security: - FactSetApiKey: [] - FactSetOAuth2: [] externalDocs: description: API Documentation url: https://developer.factset.com/api-catalog/vermilion-api tags: - name: Data Sources - name: Entities - name: Report Instances - name: Reports - name: Scim paths: /v1/{tenant}/data-sources: get: operationId: getAllDataSources tags: - Data Sources summary: Factset Lists all datasources description: List all datasources the user has permission to see parameters: - in: path name: tenant description: The code of the tenancy schema: type: string required: true - in: query name: _sort description: >- The column to sort on. Append - to sort in descending order. If parameter is not given, no sorting will be done required: false style: form explode: false schema: type: array maxItems: 1 items: type: string examples: name: value: - name description: The name of the datasource to sort type: value: - type description: The type of the datasource to sort outputRecordSet: value: - outputRecordSet description: The output recordset of the datasource to sort code: value: - code description: The code of the datasource to sort releaseTag: value: - releaseTag description: The release tag of the datasource to sort lastUpdatedBy: value: - lastUpdatedBy description: The last updated by user of the datasource to sort lastUpdated: value: - lastUpdated description: The last updated by date of the datasource to sort - in: query name: _paginationLimit description: Non-negative maximum number of entries to return. Default is 25 schema: type: integer examples: pageSize: value: 25 description: Non-negative maximum number of entries to return - in: query name: _paginationOffset description: Non-negative number of entries to skip. Default is 0 schema: type: integer examples: startIndex: value: 0 description: Non-negative number of entries to skip responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/DataSourceList' '401': description: Unauthorised content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthenticated title: User is not authenticated '403': description: No permissions to view datasources in VRS content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthorized title: No permissions to view this item '406': description: >- Unsupported Accept header. Header needs to be set to application/json. content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAcceptable title: >- Unsupported Accept header. Header needs to be set to application/json /v1/{tenant}/data-sources/{dataSourceCode}: get: operationId: getDataSourceByCode tags: - Data Sources summary: Factset Gets a datasource description: Gets a datasource based on the code passed parameters: - in: path name: tenant description: The code of the tenancy schema: type: string required: true - in: path name: dataSourceCode description: The code of the datasource schema: type: string required: true responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/DataSourceData' '401': description: Unauthorised content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthenticated title: User is not authenticated '403': description: No permissions to view datasources in VRS content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthorized title: No permissions to view this item '404': description: The supplied datasource code was not found content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notFound title: The datasource code passed was not found '406': description: >- Unsupported Accept header. Header needs to be set to application/json. content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAcceptable title: >- Unsupported Accept header. Header needs to be set to application/json /v1/{tenant}/data-sources/{dataSourceCode}/data: get: operationId: getDataSourceData tags: - Data Sources summary: Factset Gets the data for the datasource description: >- Gets the data for the datasource. There are optional query parameters to filter the data parameters: - in: path name: tenant description: The code of the tenancy schema: type: string required: true - in: path name: dataSourceCode description: The code of the datasource schema: type: string required: true - in: query name: entityCodes description: >- A series of query parameter used to filter the data for a datasource. This represents the entities for the datasource. E.g.: entityCodes=ACCOUNT&entityCodes=FUNDS schema: type: string - in: query name: entityKeys description: >- A series of query parameter used to filter the data for a datasource. This is the entity key value for an entity selection. E.g.: entityKeys=1&entityKeys=Test2 schema: type: string - in: query name: _paginationLimit description: Non-negative maximum number of entries to return. Default is 25 schema: type: integer examples: pageSize: value: 25 description: Non-negative maximum number of entries to return - in: query name: _paginationOffset description: Non-negative number of entries to skip. Default is 0 schema: type: integer examples: startIndex: value: 0 description: Non-negative number of entries to skip responses: '200': description: Successful operation - returns data for the datasource content: application/json: schema: $ref: '#/components/schemas/DataSourceDataInstance' '400': description: >- The supplied datasource code was either missing or invalid, or the query parameters are invalid content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: parameterError title: The datasource code passed was invalid '401': description: Unauthorised content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthenticated title: User is not authenticated '403': description: No permissions to view datasources in VRS content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthorized title: No permissions to view this item '404': description: The supplied datasource code was not found content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notFound title: The datasource code passed was not found '406': description: >- Unsupported Accept header. Header needs to be set to application/json. content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAcceptable title: >- Unsupported Accept header. Header needs to be set to application/json /v1/{tenant}/entities/{entityCode}/values: get: operationId: getEntityValuesByCode tags: - Entities summary: Factset Gets the entity values description: Gets the entity values for the specified entity parameters: - in: path name: tenant description: The code of the tenancy schema: type: string required: true - in: path name: entityCode description: The code of the entity schema: type: string required: true - in: query name: _sort description: >- The entity field to sort on. Can only be sorted on entity key, description or secondary key fields. Append "-" to sort in descending order. If no parameter given, it will be sorted by key field in ascending order by default required: false style: form explode: false schema: type: array maxItems: 1 items: type: string examples: entity key field: value: - entity key field description: The name of the entity key field entity description field: value: - entity description field description: The name of the entity description field entity secondary key field: value: - entity secondary key field description: The name of the entity secondary key field - in: query name: _paginationLimit description: Non-negative maximum number of entries to return. Default is 25 schema: type: integer examples: pageSize: value: 25 description: Non-negative maximum number of entries to return - in: query name: _paginationOffset description: Non-negative number of entries to skip. Default is 0 schema: type: integer examples: startIndex: value: 0 description: Non-negative number of entries to skip - in: query name: showAll description: >- Whether to show all field values for each entity row. Value should either be 1 or 0. Default is 0 (false) schema: type: integer examples: showAll: value: 1 description: >- Show all field values in a JSON array named "fieldsWithValues", with each array value being a string in the format of "** : **". Both key and description field values will be included in this JSON array too. responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/EntityFieldValueDTO' '400': description: >- The supplied entity code was either missing or invalid, or the entity was not found content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: parameterError title: The entity code passed was invalid '401': description: Unauthorised content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthenticated title: User is not authenticated '403': description: No permissions to view datasources in VRS content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthorized title: No permissions to view this item '404': description: The supplied entity code was not found content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notFound title: The entity code passed was not found '406': description: >- Unsupported Accept header. Header needs to be set to application/json. content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAcceptable title: >- Unsupported Accept header. Header needs to be set to application/json /v1/{tenant}/reports: get: operationId: getAllReportDefinitions tags: - Reports summary: Factset Gets all report definitions description: Gets all report definitions the user has permissions for parameters: - in: path name: tenant description: The code of the tenancy schema: type: string required: true - in: query name: _sort description: The column to sort on. Can add - to sort required: false style: form explode: false schema: type: array maxItems: 1 items: type: string examples: name: value: - name description: The name of the report to sort type: value: - templateOwner description: The template owner of the report to sort code: value: - code description: The code of the report to sort releaseTag: value: - releaseTag description: The release tag of the report to sort lastUpdatedBy: value: - lastUpdatedBy description: The last updated by user of the report to sort lastModifiedBy: value: - lastModifiedBy description: The last updated by date of the report to sort - in: query name: _paginationLimit description: Non-negative maximum number of entries to return schema: type: integer examples: pageSize: value: 25 description: Non-negative maximum number of entries to return - in: query name: _paginationOffset description: Non-negative number of entries to skip schema: type: integer examples: startIndex: value: 0 description: Non-negative maximum number of entries to return responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ReportDefinitionList' '400': description: >- The supplied report definition code was either missing or invalid, or the report definition was not found content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: parameterError title: The report definition code passed was invalid '401': description: Unauthorised content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthenticated title: User is not authenticated '403': description: No permissions to view reports in VRS content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthorized title: No permissions to view this item '406': description: >- Unsupported Accept header. Header needs to be set to application/json. content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAcceptable title: >- Unsupported Accept header. Header needs to be set to application/json /v1/{tenant}/reports/{reportDefinitionCode}: get: operationId: getReportDefinitionByCode tags: - Reports summary: Factset Gets a report definition description: Gets a report defintion based on the code specified parameters: - in: path name: tenant description: The code of the tenancy schema: type: string required: true - in: path name: reportDefinitionCode description: The code of the report definition required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ReportDefinitionData' '400': description: >- The supplied report definition code was either missing or invalid, or the report definition was not found content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: parameterError title: The report definition code passed was invalid '401': description: Unauthorised content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthenticated title: User is not authenticated '403': description: No permissions to view reports in VRS content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthorized title: No permissions to view this item '404': description: The supplied report definition code was was not found content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notFound title: The report definition code passed was not found '406': description: >- Unsupported Accept header. Header needs to be set to application/json. content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAcceptable title: >- Unsupported Accept header. Header needs to be set to application/json /v1/report-instances/generate: post: operationId: generateReport tags: - Report Instances summary: Factset Generates a report description: >- Generates a report using the specified ID and the JSON in the request body requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ReportGenerationRequestBody' example: vrs: '1': report: MONTHLY_REPORT tenancy: CLIENT_REPORTING outputFormat: PDF sectionFilter: Section One priority: '2' startDate: 15 December 2023 00:00:00 entitySelection: ACCOUNT: key: Account name PORTFOLIO: key: Test fund DATE: key: '2020-01-01 00:00:00' responses: '202': description: >- Report generation request succeeded and report generation is in progress content: application/json: schema: $ref: '#/components/schemas/ReportInstanceDataResponse' headers: Location: schema: type: string description: >- End point location to retrieve the latest status of the report generation. This is v1/{tenant}/report-instances/{reportInstanceId} '400': description: >- The supplied report definition code was either missing or invalid, or the report definition was not found headers: Location: schema: type: string description: >- End point location to retrieve the latest status of the report generation. This is v1/{tenant}/report-instances/{reportInstanceId} content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: parameterError title: The report definition code passed was invalid '401': description: Unauthorised content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthenticated title: User is not authenticated headers: Location: schema: type: string description: >- End point location to retrieve the latest status of the report generation. This is v1/{tenant}/report-instances/{reportInstanceId} '403': description: No permissions to view reports in VRS content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthorized title: No permissions to view this item '404': description: The report code could not be found content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notFound title: The report definition code passed was not found '406': description: >- Unsupported Accept header. Header needs to be set to application/json. content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAcceptable title: >- Unsupported Accept header. Header needs to be set to application/json /v1/{tenant}/report-instances/{reportInstanceId}: delete: operationId: cancelReport tags: - Report Instances summary: Factset Cancels a report generation description: >- Sends a request to cancel a report generation based on the report instance id passed parameters: - in: path name: tenant description: The code of the tenancy schema: type: string required: true - in: path name: reportInstanceId description: The id of the report instance required: true schema: type: string responses: '204': description: Successful operation - no response '400': description: The supplied report instance id was either missing or invalid content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: parameterError title: The ID passed is not a numerical value '401': description: Unauthorised content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthenticated title: User is not authenticated '403': description: No permissions to view reports in VRS content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthorized title: No permissions to view this item '404': description: The supplied report instance ID could not be found content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notFound title: The report definition code passed was not found '406': description: >- Unsupported Accept header. Header needs to be set to application/json. content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAcceptable title: >- Unsupported Accept header. Header needs to be set to application/json get: operationId: getReportInstanceById tags: - Report Instances summary: Factset Gets a report instance based on the ID description: Gets a report instance object based on the ID passed parameters: - in: path name: reportInstanceId description: The ID of the report instance schema: type: string required: true - in: path name: tenant description: The code of the tenancy schema: type: string required: true responses: '200': description: Report generation has completed and the report is ready to download headers: Location: schema: type: string description: A callback URL to the report file on VRS ready to download '202': description: >- Expected response returned if the report generation is not yet completed. content: application/json: schema: $ref: '#/components/schemas/ReportInstanceData' '400': description: >- The supplied report instance id was either missing or invalid, or the report instance was not found content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: parameterError title: The ID passed is not a numerical value '401': description: Unauthorised content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthenticated title: User is not authenticated '403': description: No permissions to view reports in VRS content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthorized title: No permissions to view this item '404': description: The supplied report instance ID could not be found content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notFound title: The report definition code passed was not found '406': description: >- Unsupported Accept header. Header needs to be set to application/json. content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAcceptable title: >- Unsupported Accept header. Header needs to be set to application/json /v1/{tenant}/report-instances: get: operationId: getAllReportInstances tags: - Report Instances summary: Factset Gets a list of report instances description: >- Gets a list of report instances. This can be filtered down further by including query parameters in the URL. For example, a report definition id can be added so the only report instances returned are the ones with a matching id parameters: - in: path name: tenant description: The code of the tenancy schema: type: string required: true - in: query name: reportDefinitionCode description: >- Acts as a filter for the retrieval process. Filters the report instances that match the report definition code schema: type: string - in: query name: entityCodes description: >- A series of query parameters used to filter the report instances by entity code. E.g: entityCode=DATE&entityCode=SYSTEM_LANG schema: type: string - in: query name: entityKeys description: >- A series of query parameters used to filter the report instances by entity keys. E.g: entityKey=en-gb schema: type: string - in: query name: sectionFilter description: >- Acts as a filter for the retrieval process. Filters the report instances that match the section filter schema: type: string - in: query name: outputFormat description: >- Acts as a filter for the retrieval process. Filters the report instances that match the output format schema: type: string - in: query name: _sort description: >- The column to sort on. Append - to sort in descending order. If parameter is not given, sorting will be based on the report instance id in descending order required: false style: form explode: false schema: type: array maxItems: 1 items: type: string examples: reportInstanceId: value: - reportInstanceId description: The id of report instance to sort reportStatus: value: - reportStatus description: The status of the report to sort startDate: value: - startDate description: The start date of the report to sort finishDate: value: - finishDate description: The finish date of the report to sort signOffStatus: value: - signOffStatus description: The sign off status of the report to sort outputFormat: value: - outputFormat description: The output format of report to sort - in: query name: _paginationLimit description: Non-negative maximum number of entries to return schema: type: integer examples: pageSize: value: 25 description: Non-negative maximum number of entries to return - in: query name: _paginationOffset description: Non-negative number of entries to skip schema: type: integer examples: startIndex: value: 0 description: Non-negative maximum number of entries to return responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ReportInstanceList' '401': description: Unauthorised content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthenticated title: User is not authenticated '403': description: No permissions to view reports in VRS content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthorized title: No permissions to view this item '406': description: >- Unsupported Accept header. Header needs to be set to application/json. content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAcceptable title: >- Unsupported Accept header. Header needs to be set to application/json /v1/{tenant}/report-instances/{reportInstanceId}/results/{reportFileName}: get: operationId: getReportFile tags: - Report Instances summary: Factset Gets the generated file description: >- Get the generated file for a report instance. Users can fetch the generated report once the genration is finished. The report instance id and the report file name are passed in as path paramters parameters: - in: path name: tenant description: The code of the tenancy schema: type: string required: true - in: path name: reportInstanceId description: >- Used to validate that report file name belongs to the report instance passed schema: type: string required: true - in: path name: reportFileName description: >- The report file name that has to be retrieved. report file name. E.g: xyz.pdf schema: type: string required: true responses: '200': description: Successful operation '400': description: >- The supplied report instance id was either missing or invalid or the report instance was not found. The supplied report file name was either invalid or not found content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: parameterError title: The ID passed is not a numerical value '401': description: Unauthorised content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthenticated title: User is not authenticated '403': description: No permissions to view the generated file in VRS content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthorized title: No permissions to view this item '406': description: >- Unsupported Accept header. Header needs to be set to application/json. content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAcceptable title: |- Unsupported Accept header. Header needs to be set to application/json /v1/{tenant}/report-instances/{reportInstanceId}/logs: get: operationId: getReportGenerationLogs tags: - Report Instances summary: Factset Gets a list of logs for the report instance generation description: >- Gets a list of logs for the generated report instance. Allows the user to sort on log message, type and date. Also allows for retrieving of just the errors & warnings' parameters: - in: path name: tenant description: The code of the tenancy schema: type: string required: true - in: path name: reportInstanceId description: >- Used to validate that report file name belongs to the report instance passed schema: type: string required: true - in: query name: errorsOnly description: >- If the parameter is set to true the endpoint should return just errors and warnings E.g: errorsOnly=true schema: type: string - in: query name: _sort description: The column to sort on. Can add - to sort required: false style: form explode: false schema: type: array maxItems: 1 items: type: string examples: sequenceNumber: value: - sequenceNumber description: The sequence number of the log entry message: value: - message description: The log message to sort type: value: - type description: The type of the log to sort updatedDate: value: - updatdeDate description: The updated date of the log to sort - in: query name: _paginationLimit description: Non-negative maximum number of entries to return schema: type: integer examples: pageSize: value: 25 description: Non-negative maximum number of entries to return - in: query name: _paginationOffset description: Non-negative number of entries to skip schema: type: integer examples: startIndex: value: 0 description: Non-negative maximum number of entries to return responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ReportInstanceLogList' '401': description: Unauthorised content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthenticated title: User is not authenticated '403': description: No permissions to view reports in VRS content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthorized title: No permissions to view this item '404': description: The supplied report instance ID could not be found content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notFound title: The report instance ID passed was not found '406': description: >- Unsupported Accept header. Header needs to be set to application/json. content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAcceptable title: |- Unsupported Accept header. Header needs to be set to application/json /scim/v2/Users: get: operationId: getAllUsers tags: - Scim summary: Factset Retrieves a list of VRS users description: Retrieves a list of VRS users parameters: - in: query name: count description: Non-negative maximum number of entries to return schema: type: integer examples: count: value: 25 description: Non-negative maximum number of entries to return - in: query name: startIndex description: The 1-based index of the first query result schema: type: integer examples: startIndex: value: 1 description: The 1-based index of the first query result responses: '200': description: Successful operation content: application/scim+json: schema: $ref: '#/components/schemas/ScimUserListResponse' '403': description: Forbidden, user does not have permission to view users content: application/scim+json: schema: $ref: '#/components/schemas/ScimError' example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: User does not have view or update permission status: '403' post: operationId: createUser tags: - Scim summary: Factset Creates a user description: Creates a VRS user requestBody: required: true content: application/scim+json: schema: $ref: '#/components/schemas/CreateScimUserJSONRequest' responses: '201': description: Created content: application/scim+json: schema: $ref: '#/components/schemas/CreatedScimUserJSONResponse' headers: Location: schema: type: string description: >- A callback URL to the newly create user, for example https://example.com/VRSAPI/scim/v2/Users/1 '400': description: >- Bad Request, required values not provided in JSON request body (e.g. tenant, name or userName (loginID) content: application/scim+json: schema: $ref: '#/components/schemas/ScimError' example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: No tenant code given status: '400' '403': description: >- Forbidden, user does not have permission to create users or it does not have requested tenancy assigned to it content: application/scim+json: schema: $ref: '#/components/schemas/ScimError' example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: User does not have update permission for users status: '403' '409': description: User already exists content: application/scim+json: schema: $ref: '#/components/schemas/ScimError' example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: User already exists status: '409' /scim/v2/Users/{userId}: get: operationId: getUserById tags: - Scim summary: Factset Retrieves a VRS User description: Retrieves a VRS user based on their ID parameters: - in: path name: userId description: The ID of the user schema: type: string required: true responses: '200': description: Successful operation content: application/scim+json: schema: $ref: '#/components/schemas/ScimUser' headers: Location: schema: type: string description: >- A callback URL to the user, for example https://example.com/VRSAPI/scim/v2/Users/1 '403': description: Forbidden, user does not have permission to view users content: application/scim+json: schema: $ref: '#/components/schemas/ScimError' example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: User does not have permission to view users status: '403' '404': description: Not Found content: application/scim+json: schema: $ref: '#/components/schemas/ScimError' example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: Resource 1 not found status: '404' delete: operationId: deleteUserById tags: - Scim summary: Factset Deletes a VRS user description: Deletes a VRS user (this marks them as 'Deleted' in the database) parameters: - in: path name: userId description: The ID of the user schema: type: string required: true responses: '204': description: No Content '403': description: Forbidden, user does not have permission to delete users content: application/scim+json: schema: $ref: '#/components/schemas/ScimError' example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: User does not have permission to delete users status: '403' '404': description: Not Found content: application/scim+json: schema: $ref: '#/components/schemas/ScimError' example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: Resource 1 not found status: '404' patch: operationId: patchUserById tags: - Scim summary: Factset Add or remove VRS user attributes description: Adds or removes VRS user attributes based on the JSON properties parameters: - in: path name: userId description: The ID of the user schema: type: string required: true requestBody: required: true content: application/scim+json: schema: $ref: '#/components/schemas/ScimUserPatchRequestBody' example: schemas: - urn:ietf:params:scim:api:messages:2.0:PatchOp Operations: - op: replace path: name.formatted value: vrstestuser1 responses: '200': description: Successfully updated user content: application/scim+json: schema: $ref: '#/components/schemas/ScimUser' headers: Location: schema: type: string description: >- A callback URL to the updated user, for example https://example.com/VRSAPI/scim/v2/Users/1 '403': description: Forbidden, user does not have permission to update users content: application/scim+json: schema: $ref: '#/components/schemas/ScimError' example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: User does not have permission to update users status: '403' '404': description: Not Found content: application/scim+json: schema: $ref: '#/components/schemas/ScimError' example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: Resource 1 not found status: '404' put: operationId: updateUserById tags: - Scim summary: Factset Updates a VRS user description: Updates (replaces) a VRS user with the properties in the JSON parameters: - in: path name: userId description: The ID of the user schema: type: string required: true requestBody: required: true content: application/scim+json: schema: $ref: '#/components/schemas/ScimUser' responses: '200': description: Successfully updated user content: application/scim+json: schema: $ref: '#/components/schemas/ScimUser' headers: Location: schema: type: string description: >- A callback URL to the updated user, for example https://example.com/VRSAPI/scim/v2/Users/1 '403': description: Forbidden, user does not have permission to update users content: application/scim+json: schema: $ref: '#/components/schemas/ScimError' example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: User does not have permission to update users status: '403' '404': description: Not Found content: application/scim+json: schema: $ref: '#/components/schemas/ScimError' example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: Resource 1 not found status: '404' /scim/v2/Groups: get: operationId: getAllRoles tags: - Scim summary: Factset Retrieves a list of VRS role description: Retrieves a VRS roles parameters: - in: query name: count description: Non-negative maximum number of entries to return schema: type: integer examples: count: value: 25 description: Non-negative maximum number of entries to return - in: query name: startIndex description: The 1-based index of the first query result schema: type: integer examples: startIndex: value: 1 description: The 1-based index of the first query result responses: '200': description: Successful operation content: application/scim+json: schema: $ref: '#/components/schemas/ScimGroupListResponse' '403': description: Forbidden, user does not have permission to view roles content: application/scim+json: schema: $ref: '#/components/schemas/ScimError' example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: User does not have permission to view roles status: '403' post: operationId: createRole tags: - Scim summary: Factset Creates a role description: Creates a VRS role requestBody: required: true content: application/scim+json: schema: $ref: '#/components/schemas/ScimGroup' responses: '201': description: Created content: application/scim+json: schema: $ref: '#/components/schemas/ScimGroup' headers: Location: schema: type: string description: >- A callback URL to the newly create role, for example https://example.com/VRSAPI/scim/v2/Groups/1 '403': description: Forbidden, user does not have permission to create roles content: application/scim+json: schema: $ref: '#/components/schemas/ScimError' example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: User does not have permission to create groups status: '403' '409': description: Group already exists content: application/scim+json: schema: $ref: '#/components/schemas/ScimError' example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: Group already exists status: '409' /scim/v2/Groups/{groupId}: get: operationId: getRoleById tags: - Scim summary: Factset Retrieves a VRS role description: Retrieves a VRS role based on the ID parameters: - in: path name: groupId description: The ID of the role schema: type: string required: true responses: '200': description: Successful operation content: application/scim+json: schema: $ref: '#/components/schemas/ScimGroup' headers: Location: schema: type: string description: >- A callback URL to the newly create role, for example https://example.com/VRSAPI/scim/v2/Groups/1 '403': description: Forbidden, user does not have permission to view roles content: application/scim+json: schema: $ref: '#/components/schemas/ScimError' example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: User does not have permission to view roles status: '403' '404': description: Not Found content: application/scim+json: schema: $ref: '#/components/schemas/ScimError' example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: Resource 1 not found status: '404' delete: operationId: deleteRoleById tags: - Scim summary: Factset Deletes a VRS role description: Deletes a VRS role parameters: - in: path name: groupId description: The ID of the group schema: type: string required: true responses: '204': description: No Content '403': description: Forbidden, user does not have permission to delete roles content: application/scim+json: schema: $ref: '#/components/schemas/ScimError' example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: User does not have permission to delete roles status: '403' '404': description: Not Found content: application/scim+json: schema: $ref: '#/components/schemas/ScimError' example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: Resource 1 not found status: '404' patch: operationId: patchRoleById tags: - Scim summary: Factset Add or remove a user to/from a group description: Adds or removes a VRS user to/from a VRS role parameters: - in: path name: groupId description: The ID of the role schema: type: string required: true requestBody: required: true content: application/scim+json: schema: $ref: '#/components/schemas/ScimRolePatchRequestBody' example: schemas: - urn:ietf:params:scim:api:messages:2.0:PatchOp Operations: - op: add path: members value: display: Test user $ref: VRSAPI/scim/v2/Users/1 value: '1' responses: '200': description: Successfully added user to group content: application/scim+json: schema: $ref: '#/components/schemas/ScimGroup' put: operationId: updateRoleById tags: - Scim summary: Factset Updates a VRS Group description: Updates (replaces) a VRS Group with the properties in the JSON parameters: - in: path name: groupId description: The ID of the group schema: type: string required: true requestBody: required: true content: application/scim+json: schema: $ref: '#/components/schemas/ScimGroup' responses: '200': description: Successfully updated group content: application/scim+json: schema: $ref: '#/components/schemas/ScimGroup' headers: Location: schema: type: string description: >- A callback URL to the updated group, for example https://example.com/VRSAPI/scim/v2/Groups/1 '403': description: Forbidden, user does not have permission to update groups content: application/scim+json: schema: $ref: '#/components/schemas/ScimError' example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: User does not have permission to update groups status: '403' '404': description: Not Found content: application/scim+json: schema: $ref: '#/components/schemas/ScimError' example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: Resource 1 not found status: '404' components: securitySchemes: FactSetOAuth2: type: oauth2 flows: clientCredentials: tokenUrl: https://auth.factset.com/as/token.oauth2 scopes: {} FactSetApiKey: type: http scheme: basic schemas: DataSourceList: type: object properties: meta: type: object properties: pagination: type: object properties: total: type: integer isEstimatedTotal: type: boolean sort: type: array items: type: string data: type: array items: $ref: '#/components/schemas/DataSourceDTO' DataSourceData: type: object properties: data: $ref: '#/components/schemas/DataSourceDTO' DataSourceDTO: type: object properties: dataSourceId: type: integer format: int32 name: type: string code: type: string dsType: type: string enum: - AUTOMATIC - MANUAL - FILTER entities: type: array items: $ref: '#/components/schemas/EntityDTO' outputRecordSet: type: string releaseTag: type: string defaultDataSourceName: type: string dataPreview: type: string lastUpdatedBy: type: string lastUpdated: type: number DataSourceDataInstance: type: object properties: data: $ref: '#/components/schemas/DataSourceAllData' DataSourceAllData: type: object properties: fields: type: array items: $ref: '#/components/schemas/RecordSetFields' dstInstance: $ref: '#/components/schemas/DataSourceInstance' DataSourceInstance: type: object properties: dstInstanceId: type: integer dstInstanceType: type: integer rows: type: array items: $ref: '#/components/schemas/DataSourceInstanceRows' DataSourceInstanceRows: type: object properties: rowId: type: integer order: type: integer fields: type: array items: $ref: '#/components/schemas/RecordSetFieldValues' RecordSetFieldValues: type: object properties: fieldId: type: integer fieldType: type: string enum: - BOOLEAN - DATETIME - DECIMAL - HTML - INTEGER - TEXT fieldValue: type: string RecordSetFields: type: object properties: fieldType: type: string enum: - BOOLEAN - DATETIME - DECIMAL - HTML - INTEGER - TEXT format: type: string id: type: integer hide: type: string name: type: string EntityDTO: type: object properties: entityId: type: integer format: int32 name: type: string code: type: string EntityFieldValueDTO: type: object properties: meta: type: object properties: pagination: type: object properties: total: type: integer isEstimatedTotal: type: boolean sort: type: array items: type: string data: type: array items: properties: entityRowId: type: integer keyValue: type: string descriptionValue: type: string fieldsWithValues: type: array items: type: string ReportInstanceDataResponse: type: object properties: data: $ref: '#/components/schemas/ReportInstanceId' ReportInstanceId: type: object properties: reportInstanceId: type: integer ReportInstanceList: type: object properties: meta: type: object properties: pagination: type: object properties: total: type: integer isEstimatedTotal: type: boolean data: type: array items: $ref: '#/components/schemas/ReportInstanceDTO' ReportInstanceLogList: type: object properties: data: type: array items: $ref: '#/components/schemas/ReportInstanceLogDTO' ReportInstanceData: type: object properties: data: $ref: '#/components/schemas/ReportInstanceDTO' ReportInstanceDTO: type: object properties: reportInstanceId: type: integer format: int32 reportDefinitionId: type: integer format: int32 reportDefinitionName: type: string reportName: type: string userFriendlyReportName: type: string extension: type: string reportRevision: $ref: '#/components/schemas/ReportRevisionDTO' name: type: string ReportInstanceLogDTO: type: object properties: sequenceNumber: type: integer format: int32 message: type: string type: type: string enum: - LOG - ERROR updateDate: type: string ReportDefinitionList: type: object properties: meta: type: object properties: pagination: type: object properties: total: type: integer isEstimatedTotal: type: boolean data: type: array items: $ref: '#/components/schemas/ReportDefinitionDTO' ReportDefinitionData: type: object properties: data: $ref: '#/components/schemas/ReportDefinitionDTO' ReportDefinitionDTO: type: object properties: name: type: string code: type: string releaseTag: type: string entities: type: array items: $ref: '#/components/schemas/EntityDTO' ReportRevisionDTO: type: object properties: reportStatus: type: string enum: - WAITING - STARTING - RETRIEVING_REQUEST - CONTENT_FILTER - STYLE_PROCESSING - RULE_PROCESSING - GETTING_DATA - RI_PROCESSING - COMPILE - SUBSTITUTION - TRANSLATION - GRID_PROCESSING - CHART_PROCESSING - IMPORTED_FILE_PROCESSING - TEXT_PROCESSING_STATUS - TOC_PROCESSING_STATUS - COMPONENT_PROCESSING - POST_PROCESSING - POSTING_TO_WRS - RENDERING - ABORTED - COMPLETED - COMPLETED_CAUTIONS - COMPLETED_ERROR - COMPLETED_MODIFYING - COMPLETED_CHANGED - DELETING - REPORT_ORIGINAL_GENERATION - REPORT_PREVIOUS_REVISION - GENERATING startDate: type: string finishDate: type: string signOffStatus: type: string enum: - REJECTED - PENDING - APPROVED signOffNotes: type: string reportReasonCd: type: string description: type: string languageCode: type: string outputFormat: type: string percentageComplete: type: integer format: int32 ReportGenerationRequestBody: type: object properties: vrs: type: object additionalProperties: type: object properties: report: type: string tenancy: type: string outputFormat: type: string sectionFilter: type: string priority: type: string startDate: type: string entitySelection: type: object additionalProperties: type: object properties: key: type: string ScimUser: type: object properties: schemas: type: array items: type: string id: type: integer userName: type: string name: type: object properties: formatted: type: string userType: type: string active: type: boolean authenticatedUserName: type: string tenant: type: string phoneNumbers: type: array items: $ref: '#/components/schemas/ScimPhone' emails: type: array items: $ref: '#/components/schemas/ScimEmail' photos: type: array items: $ref: '#/components/schemas/ScimPhoto' tenancies: type: array items: $ref: '#/components/schemas/Tenancy' groups: type: array items: $ref: '#/components/schemas/ScimUserGroup' domainCode: type: string isAdministrator: type: boolean meta: $ref: '#/components/schemas/ScimMeta' CreatedScimUserJSONResponse: type: object properties: schemas: type: array items: type: string id: type: integer userName: type: string name: type: object properties: formatted: type: string userType: type: string preferredLanguage: type: string active: type: boolean authenticatedUserName: type: string tenant: type: string phoneNumbers: type: array items: $ref: '#/components/schemas/ScimPhone' emails: type: array items: $ref: '#/components/schemas/ScimEmail' tenancies: type: array items: $ref: '#/components/schemas/Tenancy' photos: type: array items: $ref: '#/components/schemas/ScimPhoto' domainCode: type: string isAdministrator: type: boolean meta: type: object properties: resourceType: type: string created: type: string lastModified: type: string location: type: string CreateScimUserJSONRequest: type: object properties: userName: type: string password: type: string name: type: object properties: formatted: type: string preferredLanguage: type: string active: type: boolean authenticatedUserName: type: string tenant: type: string phoneNumbers: type: array items: $ref: '#/components/schemas/ScimPhone' emails: type: array items: $ref: '#/components/schemas/ScimEmail' photos: type: array items: $ref: '#/components/schemas/ScimPhoto' tenancies: type: array items: $ref: '#/components/schemas/Tenancy' ScimUserPatchRequestBody: type: object properties: schemas: type: array items: type: string Operations: type: array items: properties: op: type: string path: type: string value: type: string ScimRolePatchRequestBody: type: object properties: schemas: type: array items: type: string Operations: type: array items: properties: op: type: string path: type: string value: type: object properties: display: type: string $ref: type: string value: type: string ScimPhone: type: object properties: value: type: string type: type: string primary: type: boolean ScimEmail: type: object properties: value: type: string type: type: string primary: type: boolean ScimPhoto: type: object properties: value: type: string type: type: string primary: type: boolean Tenancy: type: object properties: value: type: string ScimGroup: type: object properties: schemas: type: array items: type: string id: type: string displayName: type: string members: type: array items: $ref: '#/components/schemas/ScimGroupMember' tenant: type: string domainCode: type: string meta: $ref: '#/components/schemas/ScimMeta' ScimGroupMember: type: object properties: value: type: string $ref: type: string description: >- A callback link which can be used to get the information of the group type: type: string ScimUserGroup: type: object properties: value: type: string $ref: type: string description: A callback link which can be used to get the information of the user type: type: string display: type: string description: Name of the group ScimGroupListResponse: type: object properties: totalResults: type: integer itemsPerPage: type: integer startIndex: type: integer Resources: type: array items: $ref: '#/components/schemas/ScimGroup' ScimUserListResponse: type: object properties: totalResults: type: integer itemsPerPage: type: integer startIndex: type: integer Resources: type: array items: $ref: '#/components/schemas/ScimUser' ScimMeta: type: object properties: resourceType: type: string created: type: string lastModified: type: string location: type: string Error: type: object properties: id: type: string code: type: string title: type: string ErrorList: type: object properties: errors: type: array items: $ref: '#/components/schemas/Error' ScimError: type: object properties: schemas: type: array items: type: string detail: type: string status: type: string