openapi: 3.0.3 info: title: Factset Analytics Datastore About Contacts 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: Contacts paths: /v1/contact-custom-fields/{contactCustomFieldId}: get: tags: - Contacts summary: Factset Get a Specific Contact Custom Field's Details operationId: GetContactCustomField parameters: - name: contactCustomFieldId in: path description: contactCustomFieldId to get associated record required: true schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ContactCustomFieldDto' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' x-microcks-operation: delay: 0 dispatcher: FALLBACK patch: tags: - Contacts summary: Factset Edit a Contact Custom Field operationId: PatchContactCustomField parameters: - name: contactCustomFieldId in: path description: contactCustomFieldId to update associated record required: true schema: type: string format: uuid requestBody: description: contactCustomFieldUpdateDto object to update content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/Operation' application/json: schema: type: array items: $ref: '#/components/schemas/Operation' text/json: schema: type: array items: $ref: '#/components/schemas/Operation' application/*+json: schema: type: array items: $ref: '#/components/schemas/Operation' responses: '200': description: Success '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: tags: - Contacts summary: Factset Delete a Contact Custom Field operationId: DeleteContactCustomField parameters: - name: contactCustomFieldId in: path description: contactCustomFieldId to delete associated record required: true schema: type: string format: uuid responses: '200': description: Success '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' x-microcks-operation: delay: 0 dispatcher: FALLBACK /v1/contact-relationships/{contactRelationshipId}: get: tags: - Contacts summary: Factset Get Details on a Specific Contact Relationship operationId: GetContactRelationship parameters: - name: contactRelationshipId in: path description: contactRelationshipId to get associated record required: true schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ContactRelationshipTwoSidedDto' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' x-microcks-operation: delay: 0 dispatcher: FALLBACK patch: tags: - Contacts summary: Factset Update a Contact Relationship operationId: PatchContactRelationship parameters: - name: contactRelationshipId in: path description: contactRelationshipId to update associated record required: true schema: type: string format: uuid requestBody: description: contactRelationshipPatch object to update content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/Operation' application/json: schema: type: array items: $ref: '#/components/schemas/Operation' text/json: schema: type: array items: $ref: '#/components/schemas/Operation' application/*+json: schema: type: array items: $ref: '#/components/schemas/Operation' responses: '200': description: Success '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: tags: - Contacts summary: Factset Delete a Contact Relationship operationId: DeleteContactRelationship parameters: - name: contactRelationshipId in: path description: contactRelationshipId to delete associated record required: true schema: type: string format: uuid responses: '200': description: Success '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' x-microcks-operation: delay: 0 dispatcher: FALLBACK /v1/contacts: get: tags: - Contacts summary: Factset Get List of All Contacts in Your Group Along With Some of Their Standard Field Data operationId: GetContacts parameters: - name: fullName in: query description: Filter results on fullName schema: type: string - name: emailAddress in: query description: Filter results on emailAddress schema: type: string - name: identifier in: query description: Filter results on identifier schema: type: string - name: employerName in: query description: Filter results on employerName schema: type: string - name: customFieldValues in: query description: Includes custom field values in response if true schema: type: boolean default: false - name: search in: query description: Filter results on the combination of fullName, emailAddress, identifier and employerName schema: type: string - name: sort in: query schema: type: string - name: includeLastMeetingDate in: query description: If true, returns when they were last tagged as an attendee in an IRN meeting schema: type: boolean default: false - name: limit in: query description: Restrict number of records returned schema: type: integer format: int32 default: 0 responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ContactSummaryDto' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: tags: - Contacts summary: Factset Create a Contact operationId: CreateContact requestBody: description: contactSaveDto object to save content: application/json-patch+json: schema: $ref: '#/components/schemas/ContactSaveDto' application/json: schema: $ref: '#/components/schemas/ContactSaveDto' text/json: schema: $ref: '#/components/schemas/ContactSaveDto' application/*+json: schema: $ref: '#/components/schemas/ContactSaveDto' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/NewItemDto' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' x-microcks-operation: delay: 0 dispatcher: FALLBACK /v1/contacts/{contactId}: get: tags: - Contacts summary: Factset Get All Custom Field and Standard Field Details on a Specific Contact operationId: GetContact parameters: - name: contactId in: path description: contactId to get associated record required: true schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ContactDto' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' x-microcks-operation: delay: 0 dispatcher: FALLBACK patch: tags: - Contacts summary: Factset Edit a Contacts Standard Field and Custom Field Data operationId: PatchContact parameters: - name: contactId in: path description: contactId to update associated record required: true schema: type: string format: uuid requestBody: description: contactSaveDtoPatch object to update content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/Operation' application/json: schema: type: array items: $ref: '#/components/schemas/Operation' text/json: schema: type: array items: $ref: '#/components/schemas/Operation' application/*+json: schema: type: array items: $ref: '#/components/schemas/Operation' responses: '200': description: Success '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: tags: - Contacts summary: Factset Delete a Contact operationId: DeleteContact parameters: - name: contactId in: path description: contactId to delete associated record required: true schema: type: string format: uuid responses: '200': description: Success '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' x-microcks-operation: delay: 0 dispatcher: FALLBACK /v1/contacts/{contactId}/about: get: tags: - Contacts summary: Factset Get the About Field Content for a Specific Contact operationId: GetContactNotes parameters: - name: contactId in: path description: contactId of associated record required: true schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: type: string '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' x-microcks-operation: delay: 0 dispatcher: FALLBACK /v1/contacts/{contactId}/events: get: tags: - Contacts summary: Factset Get a Contacts Audit History operationId: GetContactEvents parameters: - name: contactId in: path description: contactId to get associated records required: true schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ContactEventDto' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' x-microcks-operation: delay: 0 dispatcher: FALLBACK /v1/contacts/{contactId}/records: get: tags: - Contacts summary: Factset Get All Notes and Meetings Where a Specific Contact Was Tagged operationId: GetContactRecords parameters: - name: contactId in: path description: contactId to get associated records required: true schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/RecordPreviewDto' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' x-microcks-operation: delay: 0 dispatcher: FALLBACK /v1/contacts/{contactId}/relationships: get: tags: - Contacts summary: Factset Returns a List of a Contacts Relationships operationId: GetContactRelationships parameters: - name: contactId in: path description: contactId to get associated records required: true schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ContactRelationshipDto' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: RecordPreviewDto: type: object properties: noteGuid: type: string format: uuid nullable: true example: '500123' meetingGuid: type: string format: uuid nullable: true example: '500123' title: type: string nullable: true example: Example Title date: type: string format: date-time example: '2026-01-15T10:30:00Z' additionalProperties: false ContactCustomFieldOptionValueDto: type: object properties: optionId: type: string format: uuid example: '500123' optionName: type: string nullable: true example: example_value additionalProperties: false ContactCustomFieldOptionDto: type: object properties: id: type: string format: uuid example: abc123 name: type: string nullable: true example: Example Title order: type: integer format: int32 example: 10 additionalProperties: false RelationshipCategoryIdNameDto: type: object properties: id: type: string format: uuid example: abc123 name: type: string nullable: true example: Example Title additionalProperties: false ContactCustomFieldDto: type: object properties: id: type: string format: uuid example: abc123 code: type: string nullable: true example: example_value name: type: string nullable: true example: Example Title type: type: string nullable: true example: example_value isHidden: type: boolean example: true isMandatory: type: boolean example: true formulaConfig: $ref: '#/components/schemas/FormulaConfigDto' contactCustomFieldOptions: type: array items: $ref: '#/components/schemas/ContactCustomFieldOptionDto' nullable: true example: [] additionalProperties: false ContactPhoneSaveDto: type: object properties: id: type: string format: uuid example: abc123 number: maxLength: 50 minLength: 0 type: string nullable: true example: example_value typeId: type: string format: uuid example: '500123' isPrimary: type: boolean example: true additionalProperties: false ContactSummaryDto: type: object properties: id: type: string format: uuid example: abc123 primaryEmailAddress: type: string nullable: true example: user@example.com identifier: type: string nullable: true example: example_value fullName: type: string nullable: true example: example_value employerName: type: string nullable: true example: example_value employerIdentifier: type: string nullable: true example: example_value city: type: string nullable: true example: example_value stateProvince: type: string nullable: true example: example_value postalCode: type: string nullable: true example: example_value country: type: string nullable: true example: example_value role: $ref: '#/components/schemas/ContactRoleDto' type: $ref: '#/components/schemas/ContactTypeDto' isDeleted: type: boolean example: true lastMeeting: type: string nullable: true example: example_value alternativeEmailAddresses: type: array items: $ref: '#/components/schemas/AlternativeEmailAddressDto' nullable: true example: user@example.com customFieldValues: type: array items: $ref: '#/components/schemas/ContactCustomFieldValueDto' nullable: true example: [] additionalProperties: false Operation: type: object properties: operationType: $ref: '#/components/schemas/OperationType' path: type: string nullable: true example: example_value op: type: string nullable: true example: example_value from: type: string nullable: true example: example_value value: nullable: true example: example_value additionalProperties: false ContactPhoneDto: type: object properties: id: type: string format: uuid example: abc123 number: maxLength: 50 minLength: 0 type: string nullable: true example: example_value type: $ref: '#/components/schemas/PhoneNumberTypeDto' isPrimary: type: boolean example: true additionalProperties: false ContactAddressDto: type: object properties: googleMapsPlaceId: maxLength: 255 minLength: 0 type: string nullable: true example: '500123' formattedAddress: maxLength: 255 minLength: 0 type: string nullable: true example: example_value city: maxLength: 50 minLength: 0 type: string nullable: true example: example_value stateProvince: maxLength: 50 minLength: 0 type: string nullable: true example: example_value postalCode: maxLength: 10 minLength: 0 type: string nullable: true example: example_value country: maxLength: 50 minLength: 0 type: string nullable: true example: example_value additionalProperties: false NewItemDto: type: object properties: id: type: string format: uuid example: abc123 additionalProperties: false ContactSaveDto: type: object properties: primaryEmailAddress: maxLength: 255 minLength: 0 type: string nullable: true example: user@example.com fullName: maxLength: 255 minLength: 0 type: string nullable: true example: example_value notes: type: string nullable: true example: example_value linkedInProfile: maxLength: 255 minLength: 0 type: string format: uri nullable: true example: https://www.example.com personSymbol: maxLength: 255 minLength: 0 type: string nullable: true example: example_value roleId: type: string format: uuid example: '500123' typeId: type: string format: uuid example: '500123' address: $ref: '#/components/schemas/ContactAddressDto' phoneNumbers: type: array items: $ref: '#/components/schemas/ContactPhoneSaveDto' nullable: true example: [] leftRelationships: type: array items: $ref: '#/components/schemas/ContactRelationshipSaveDto' nullable: true example: [] rightRelationships: type: array items: $ref: '#/components/schemas/ContactRelationshipSaveDto' nullable: true example: [] alternativeEmailAddresses: type: array items: $ref: '#/components/schemas/AlternativeEmailAddressDto' nullable: true example: user@example.com customFields: type: array items: $ref: '#/components/schemas/ContactCustomFieldValueSaveDto' nullable: true example: [] additionalProperties: false ContactIdNameDto: type: object properties: id: type: string format: uuid nullable: true example: abc123 name: type: string nullable: true example: Example Title additionalProperties: false EmployerDto: required: - id type: object properties: id: type: string format: uuid example: abc123 name: maxLength: 255 minLength: 0 type: string nullable: true example: Example Title factsetIdentifier: maxLength: 255 minLength: 0 type: string nullable: true example: example_value additionalProperties: false ContactRoleDto: required: - id - name type: object properties: id: type: string format: uuid example: abc123 name: maxLength: 50 minLength: 0 type: string example: Example Title additionalProperties: false FormulaConfigDto: type: object properties: formula: type: string nullable: true example: example_value formulaType: type: string nullable: true example: example_value additionalProperties: false SymbolType: enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 type: integer format: int32 AlternativeEmailAddressDto: type: object properties: id: type: string format: uuid example: abc123 emailAddress: type: string nullable: true example: user@example.com additionalProperties: false ContactEventUpdateDto: type: object properties: fieldName: type: string nullable: true example: example_value oldValue: type: string nullable: true example: example_value newValue: type: string nullable: true example: example_value additionalProperties: false OperationType: enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 type: integer format: int32 RelationshipIdNameDto: type: object properties: id: type: string format: uuid example: abc123 name: type: string nullable: true example: Example Title additionalProperties: false ProblemDetails: type: object properties: type: type: string nullable: true example: example_value title: type: string nullable: true example: Example Title status: type: integer format: int32 nullable: true example: 10 detail: type: string nullable: true example: example_value instance: type: string nullable: true example: example_value additionalProperties: {} ContactTypeDto: required: - id - name type: object properties: id: type: string format: uuid example: abc123 name: maxLength: 50 minLength: 0 type: string example: Example Title additionalProperties: false PhoneNumberTypeDto: type: object properties: id: type: string format: uuid example: abc123 name: maxLength: 50 minLength: 0 type: string nullable: true example: Example Title isStandard: type: boolean example: true additionalProperties: false ContactDto: type: object properties: id: type: string format: uuid example: abc123 primaryEmailAddress: type: string nullable: true example: user@example.com identifier: type: string nullable: true example: example_value fullName: type: string nullable: true example: example_value address: $ref: '#/components/schemas/ContactAddressDto' linkedInProfile: type: string nullable: true example: example_value isDeleted: type: boolean example: true employer: $ref: '#/components/schemas/EmployerDto' role: $ref: '#/components/schemas/ContactRoleDto' type: $ref: '#/components/schemas/ContactTypeDto' phoneNumbers: type: array items: $ref: '#/components/schemas/ContactPhoneDto' nullable: true example: [] alternativeEmailAddresses: type: array items: $ref: '#/components/schemas/AlternativeEmailAddressDto' nullable: true example: user@example.com customFields: type: array items: $ref: '#/components/schemas/ContactCustomFieldValueDto' nullable: true example: [] additionalProperties: false ContactEventDto: type: object properties: eventType: type: string nullable: true example: example_value date: type: string format: date-time example: '2026-01-15T10:30:00Z' fullName: type: string nullable: true example: example_value details: type: array items: $ref: '#/components/schemas/ContactEventUpdateDto' nullable: true example: [] additionalProperties: false ContactRelationshipDto: type: object properties: id: type: string format: uuid example: abc123 relationshipCategory: $ref: '#/components/schemas/RelationshipCategoryIdNameDto' relationship: $ref: '#/components/schemas/RelationshipIdNameDto' contact: $ref: '#/components/schemas/ContactIdNameDto' symbol: $ref: '#/components/schemas/RelationshipSymbolSummaryDto' isCurrent: type: boolean example: true start: type: string format: date-time nullable: true example: '2026-01-15T10:30:00Z' end: type: string format: date-time nullable: true example: '2026-01-15T10:30:00Z' title: type: string nullable: true example: Example Title comment: type: string nullable: true example: example_value additionalProperties: false RelationshipSymbolSummaryDto: type: object properties: tdentifier: type: string nullable: true example: example_value name: type: string nullable: true example: Example Title type: $ref: '#/components/schemas/SymbolType' additionalProperties: false ContactRelationshipTwoSidedDto: type: object properties: id: type: string format: uuid example: abc123 relationshipCategory: $ref: '#/components/schemas/RelationshipCategoryIdNameDto' relationship: $ref: '#/components/schemas/RelationshipIdNameDto' leftContact: $ref: '#/components/schemas/ContactIdNameDto' rightContact: $ref: '#/components/schemas/ContactIdNameDto' symbol: $ref: '#/components/schemas/RelationshipSymbolSummaryDto' isCurrent: type: boolean example: true start: type: string format: date-time nullable: true example: '2026-01-15T10:30:00Z' end: type: string format: date-time nullable: true example: '2026-01-15T10:30:00Z' title: type: string nullable: true example: Example Title comment: type: string nullable: true example: example_value additionalProperties: false ContactCustomFieldValueSaveDto: required: - code type: object properties: code: type: string example: example_value value: type: string nullable: true example: example_value optionValues: type: array items: type: string format: uuid nullable: true example: [] evaluateFormula: type: boolean default: false example: true additionalProperties: false ContactCustomFieldValueDto: type: object properties: fieldCode: type: string nullable: true example: example_value value: type: string nullable: true example: example_value optionValues: type: array items: $ref: '#/components/schemas/ContactCustomFieldOptionValueDto' nullable: true example: [] additionalProperties: false ContactRelationshipSaveDto: type: object properties: relationshipId: type: string format: uuid example: '500123' contactId: type: string format: uuid nullable: true example: '500123' start: type: string format: date-time nullable: true example: '2026-01-15T10:30:00Z' end: type: string format: date-time nullable: true example: '2026-01-15T10:30:00Z' comment: type: string nullable: true example: example_value isCurrent: type: boolean example: true symbol: type: string nullable: true example: example_value title: type: string nullable: true example: Example Title additionalProperties: false securitySchemes: basicAuth: type: http scheme: basic externalDocs: url: https://developer.factset.com/api-catalog/analytics-datastore-api description: API Documentation