openapi: 3.0.3 info: title: Factset Analytics Datastore About User 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: User paths: /user-defined-field-group: get: operationId: listUserDefinedFieldGroups description: List user defined groups tags: - User parameters: - name: name in: query required: false schema: type: string example: string description: Return only files whose name includes this query - name: _paginationLimit in: query required: false schema: type: number default: 100 example: 0 description: Number of groups to return - name: _paginationCursor in: query required: false schema: type: string example: string description: Cursor used for paging. Fetch items after the specified cursor responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/listUserDefinedFieldGroupsResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '403': $ref: '#/components/responses/ForbiddenErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '406': $ref: '#/components/responses/NotAcceptableErrorResponse' '415': $ref: '#/components/responses/UnsupportedMediaTypeErrorResponse' '500': $ref: '#/components/responses/InternalServerErrorResponse' '501': $ref: '#/components/responses/NotImplementedErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK /user-defined-field-group/{id}: get: operationId: readUserDefinedGroup description: Read a specific user defined field group and list its fields. tags: - User parameters: - name: id in: path required: true schema: type: string example: 270c2fa8-9110-444b-9101-17e10132fe0a description: Unique identifer for the group to be read. - name: _paginationLimit in: query required: false schema: type: number default: 100 example: 0 description: Number of fields to list from this group - name: _paginationCursor in: query required: false schema: type: string example: string description: Cursor used for paging. Fetch fields after the specified cursor responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/readUserDefinedGroupResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '403': $ref: '#/components/responses/ForbiddenErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '406': $ref: '#/components/responses/NotAcceptableErrorResponse' '415': $ref: '#/components/responses/UnsupportedMediaTypeErrorResponse' '500': $ref: '#/components/responses/InternalServerErrorResponse' '501': $ref: '#/components/responses/NotImplementedErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK /user-defined-field: get: operationId: listUserDefinedFields description: List user defined fields tags: - User parameters: - name: database in: query required: false schema: type: string enum: - CLIENT - FACTSET - SUPER_CLIENT default: CLIENT example: CLIENT description: Database where the fields are defined. - name: name in: query required: false schema: type: string example: string description: Return only fields whose name includes this query - name: group in: query required: false schema: type: string example: string description: Return only fields whose group includes this query - name: _paginationLimit in: query required: false schema: type: number default: 100 example: 0 description: Number of fields to return - name: _paginationCursor in: query required: false schema: type: string example: string description: Cursor used for paging. Fetch items after the specified cursor responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/listUserDefinedFieldsResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '403': $ref: '#/components/responses/ForbiddenErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '406': $ref: '#/components/responses/NotAcceptableErrorResponse' '415': $ref: '#/components/responses/UnsupportedMediaTypeErrorResponse' '500': $ref: '#/components/responses/InternalServerErrorResponse' '501': $ref: '#/components/responses/NotImplementedErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK /user-defined-field/{id}: get: operationId: readUserDefinedField description: Read a user defined field tags: - User parameters: - name: id in: path required: true schema: type: string example: 270c2fa8-9110-444b-9101-17e10132fe0a description: Unique identifier of the user defined field to be read example: 270c2fa8-9110-444b-9101-17e10132fe0a responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/readUserDefinedFieldResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '403': $ref: '#/components/responses/ForbiddenErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '406': $ref: '#/components/responses/NotAcceptableErrorResponse' '415': $ref: '#/components/responses/UnsupportedMediaTypeErrorResponse' '500': $ref: '#/components/responses/InternalServerErrorResponse' '501': $ref: '#/components/responses/NotImplementedErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK /scim/v2/Users/{userId}: get: operationId: getUserById tags: - User 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' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteUserById tags: - User 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' x-microcks-operation: delay: 0 dispatcher: FALLBACK patch: operationId: patchUserById tags: - User 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' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateUserById tags: - User 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' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: ScimEmail: type: object properties: value: type: string example: example_value type: type: string example: example_value primary: type: boolean example: true listUserDefinedFieldGroupsResponse: type: object properties: data: type: array items: type: object properties: id: type: string nullable: false example: MDpEZWZhdWx0IEdyb3Vw type: type: string enum: - UserDefinedFieldGroup nullable: false name: type: string nullable: false example: MY_GROUP nullable: false example: [] meta: type: object properties: pagination: type: object properties: next: type: string nullable: true example: YwAAAA== previous: type: string nullable: true example: AAAAAA== nullable: false example: example_value nullable: true ScimMeta: type: object properties: resourceType: type: string example: example_value created: type: string example: example_value lastModified: type: string example: example_value location: type: string example: example_value readUserDefinedGroupResponse: type: object properties: data: type: object properties: id: type: string nullable: false example: MDpEZWZhdWx0IEdyb3Vw type: type: string enum: - UserDefinedFieldGroup nullable: false name: type: string nullable: false example: MY_GROUP fields: type: object properties: data: type: array items: type: object properties: id: type: string nullable: false example: b1c36b19-1417-4e8c-8d0a-416cf6a92a6a type: type: string enum: - UserDefinedField nullable: false name: type: string nullable: false example: MY_VALUE nullable: false meta: type: object properties: pagination: type: object properties: next: type: string nullable: true example: YwAAAA== previous: type: string nullable: true example: AAAAAA== nullable: false example: example_value nullable: true ScimPhone: type: object properties: value: type: string example: example_value type: type: string example: example_value primary: type: boolean example: true ScimUserPatchRequestBody: type: object properties: schemas: type: array items: type: string example: [] Operations: type: array items: properties: op: type: string path: type: string value: type: string example: [] Errors: type: object description: Information about one or more errors properties: errors: type: array description: List of errors items: type: object properties: id: type: string description: Unique identifier for this error instance. Used to reference this error in logging. example: 270c2fa8-9110-444b-9101-17e10132fe0a code: type: string description: Error code for this error enum: - BadRequestError - UnauthorizedError - ForbiddenError - NotFoundError - NotAcceptableError - ConflictError - UnsupportedMediaTypeError - InternalServerError - NotImplementedError title: type: string description: HTTP reason phrase associcated with this error enum: - Bad Request - Unauthorized - Forbidden - Not Found - Not Acceptable - Conflict - Unsupported Media Type - Internal Server Error - Not Implemented detail: type: string description: Detailed description of the error that occurred example: [] required: - errors ScimError: type: object properties: schemas: type: array items: type: string example: [] detail: type: string example: example_value status: type: string example: example_value ScimUser: type: object properties: schemas: type: array items: type: string example: [] id: type: integer example: abc123 userName: type: string example: example_value name: type: object properties: formatted: type: string example: Example Title userType: type: string example: example_value active: type: boolean example: true authenticatedUserName: type: string example: example_value tenant: type: string example: example_value phoneNumbers: type: array items: $ref: '#/components/schemas/ScimPhone' example: [] emails: type: array items: $ref: '#/components/schemas/ScimEmail' example: user@example.com photos: type: array items: $ref: '#/components/schemas/ScimPhoto' example: [] tenancies: type: array items: $ref: '#/components/schemas/Tenancy' example: [] groups: type: array items: $ref: '#/components/schemas/ScimUserGroup' example: [] domainCode: type: string example: example_value isAdministrator: type: boolean example: true meta: $ref: '#/components/schemas/ScimMeta' readUserDefinedFieldResponse: type: object properties: data: type: object properties: id: type: string nullable: false example: b1c36b19-1417-4e8c-8d0a-416cf6a92a6a type: type: string enum: - UserDefinedField nullable: false name: type: string nullable: false example: MY_VALUE dataType: type: string enum: - NUMBER - STRING nullable: false group: type: object properties: id: type: string nullable: false example: MDpEZWZhdWx0IEdyb3Vw type: type: string enum: - UserDefinedFieldGroup nullable: false name: type: string nullable: false example: MY_GROUP nullable: false nullable: true example: example_value nullable: true Tenancy: type: object properties: value: type: string example: example_value ScimUserGroup: type: object properties: value: type: string example: example_value $ref: type: string description: A callback link which can be used to get the information of the user example: example_value type: type: string example: example_value display: type: string description: Name of the group example: example_value listUserDefinedFieldsResponse: type: object properties: data: type: array items: type: object properties: id: type: string nullable: false example: b1c36b19-1417-4e8c-8d0a-416cf6a92a6a type: type: string enum: - UserDefinedField nullable: false name: type: string nullable: false example: MY_VALUE nullable: false example: [] meta: type: object properties: pagination: type: object properties: next: type: string nullable: true example: YwAAAA== previous: type: string nullable: true example: AAAAAA== nullable: false example: example_value nullable: true ScimPhoto: type: object properties: value: type: string example: example_value type: type: string example: example_value primary: type: boolean example: true responses: BadRequestErrorResponse: description: The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing). content: application/json: schema: $ref: '#/components/schemas/Errors' ForbiddenErrorResponse: description: The request contained valid data and was understood by the server, but the server is refusing action. This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action. content: application/json: schema: $ref: '#/components/schemas/Errors' NotFoundErrorResponse: description: The requested resource could not be found but may be available in the future. Subsequent requests by the client are permissible. content: application/json: schema: $ref: '#/components/schemas/Errors' UnauthorizedErrorResponse: description: Similar to 403 Forbidden, but specifically for use when authentication is required and has failed or has not yet been provided. content: application/json: schema: $ref: '#/components/schemas/Errors' UnsupportedMediaTypeErrorResponse: description: The request entity has a media type which the server or resource does not support. content: application/json: schema: $ref: '#/components/schemas/Errors' NotImplementedErrorResponse: description: '' content: application/json: schema: $ref: '#/components/schemas/Errors' NotAcceptableErrorResponse: description: The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request. content: application/json: schema: $ref: '#/components/schemas/Errors' InternalServerErrorResponse: description: '' content: application/json: schema: $ref: '#/components/schemas/Errors' securitySchemes: basicAuth: type: http scheme: basic externalDocs: url: https://developer.factset.com/api-catalog/analytics-datastore-api description: API Documentation