openapi: 3.0.3 info: title: Factset Analytics Datastore About Contact 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: Contact paths: /v1/contact-custom-fields: get: tags: - Contact summary: Factset Get All the Contact Custom Fields operationId: GetContactCustomFields responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ContactCustomFieldDto' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: tags: - Contact summary: Factset Create a Contact Custom Field operationId: CreateContactCustomField requestBody: description: ContactCustomFieldSaveDto object to save content: application/json-patch+json: schema: $ref: '#/components/schemas/ContactCustomFieldSaveDto' application/json: schema: $ref: '#/components/schemas/ContactCustomFieldSaveDto' text/json: schema: $ref: '#/components/schemas/ContactCustomFieldSaveDto' application/*+json: schema: $ref: '#/components/schemas/ContactCustomFieldSaveDto' 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/contact-custom-fields/{contactCustomFieldId}: get: tags: - Contact 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: - Contact 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: - Contact 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-roles: get: tags: - Contact summary: Factset Get List of the Contact Roles Configured in Your Group operationId: GetContactRoles responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ContactRoleDto' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: tags: - Contact summary: Factset Create Contact Roles operationId: CreateContactRole requestBody: description: Contact role name content: application/json-patch+json: schema: maxLength: 50 minLength: 0 type: string application/json: schema: maxLength: 50 minLength: 0 type: string text/json: schema: maxLength: 50 minLength: 0 type: string application/*+json: schema: maxLength: 50 minLength: 0 type: string required: true 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/contact-types: get: tags: - Contact summary: Factset Get List of the Contact Types Configured in Your Group operationId: GetContactTypes responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ContactTypeDto' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: tags: - Contact summary: Factset Create Contact Types operationId: CreateContactType requestBody: description: Contact type name content: application/json-patch+json: schema: maxLength: 50 minLength: 0 type: string application/json: schema: maxLength: 50 minLength: 0 type: string text/json: schema: maxLength: 50 minLength: 0 type: string application/*+json: schema: maxLength: 50 minLength: 0 type: string required: true 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/contact-roles/{contactRoleId}: put: tags: - Contact summary: Factset Edit a Contact Role operationId: UpdateContactRole parameters: - name: contactRoleId in: path description: contactRoleId to update associated record required: true schema: type: string format: uuid requestBody: description: Updated contact role name content: application/json-patch+json: schema: maxLength: 50 minLength: 0 type: string application/json: schema: maxLength: 50 minLength: 0 type: string text/json: schema: maxLength: 50 minLength: 0 type: string application/*+json: schema: maxLength: 50 minLength: 0 type: string required: true responses: '204': description: No Content '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: - Contact summary: Factset Delete a Contact Role operationId: DeleteContactRole parameters: - name: contactRoleId in: path description: contactRoleId 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-types/{contactTypeId}: put: tags: - Contact summary: Factset Edit a Contact Type operationId: UpdateContactType parameters: - name: contactTypeId in: path description: contactTypeId to update associated record required: true schema: type: string format: uuid requestBody: description: Updated contact type name content: application/json-patch+json: schema: maxLength: 50 minLength: 0 type: string application/json: schema: maxLength: 50 minLength: 0 type: string text/json: schema: maxLength: 50 minLength: 0 type: string application/*+json: schema: maxLength: 50 minLength: 0 type: string required: true responses: '204': description: No Content '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: - Contact summary: Factset Delete a Contact Type operationId: DeleteContactType parameters: - name: contactTypeId in: path description: contactTypeId 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: get: tags: - Contact summary: Factset Get All the Relationships Where the Given Symbol or Contact Identifier Has Been Tagged in a Relationship operationId: GetAllRelationshipsTaggingAContact parameters: - name: symbol in: query schema: type: string - name: contactId in: query schema: type: string format: uuid - name: relationshipId in: query schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ContactRelationshipTwoSidedDto' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: tags: - Contact summary: Factset Create a Contact Relationship operationId: CreateContactRelationship requestBody: description: contactRelationship object to save content: application/json-patch+json: schema: $ref: '#/components/schemas/ContactRelationshipTwoSidedSaveDto' application/json: schema: $ref: '#/components/schemas/ContactRelationshipTwoSidedSaveDto' text/json: schema: $ref: '#/components/schemas/ContactRelationshipTwoSidedSaveDto' application/*+json: schema: $ref: '#/components/schemas/ContactRelationshipTwoSidedSaveDto' 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/contact-relationships/{contactRelationshipId}: get: tags: - Contact 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: - Contact 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: - Contact 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 components: schemas: ContactRelationshipTwoSidedSaveDto: type: object properties: relationshipId: type: string format: uuid example: '500123' leftContactId: type: string format: uuid example: '500123' rightContactId: 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 symbolId: type: string format: uuid nullable: true example: '500123' symbol: type: string nullable: true example: example_value title: type: string nullable: true example: Example Title 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 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 ContactCustomFieldType: enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 type: integer format: int32 NewItemDto: type: object properties: id: type: string format: uuid example: abc123 additionalProperties: false ContactCustomFieldSaveDto: required: - code - isHidden - isMandatory - name - type type: object properties: code: maxLength: 32 type: string example: example_value name: maxLength: 100 type: string example: Example Title type: $ref: '#/components/schemas/ContactCustomFieldType' isHidden: type: boolean default: false example: true isMandatory: type: boolean default: false example: true fieldFormula: $ref: '#/components/schemas/ContactCustomFieldFormulaDto' contactCustomFieldOptions: type: array items: $ref: '#/components/schemas/ContactCustomFieldOptionSaveDto' 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 ContactCustomFieldOptionSaveDto: required: - name type: object properties: name: maxLength: 255 type: string example: Example Title additionalProperties: false ContactCustomFieldFormulaDto: type: object properties: formula: maxLength: 2040 type: string nullable: true example: example_value isScreening: type: boolean default: false example: true symbol: type: string nullable: true example: example_value additionalProperties: false FormulaConfigDto: type: object properties: formula: type: string nullable: true example: example_value formulaType: 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 SymbolType: enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 type: integer format: int32 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 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 securitySchemes: basicAuth: type: http scheme: basic externalDocs: url: https://developer.factset.com/api-catalog/analytics-datastore-api description: API Documentation