openapi: 3.0.3 info: title: Factset Analytics Datastore About Relationships 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: Relationships paths: /v1/relationships: get: tags: - Relationships summary: Factset Get List of the Relationships Configured in Your Group operationId: GetRelationships parameters: - name: type in: query schema: $ref: '#/components/schemas/RelationshipType' responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/RelationshipDto' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: tags: - Relationships summary: Factset Create a Relationship Type operationId: CreateContactRelationshipType requestBody: description: RelationshipSaveDto object to save content: application/json-patch+json: schema: $ref: '#/components/schemas/RelationshipSaveDto' application/json: schema: $ref: '#/components/schemas/RelationshipSaveDto' text/json: schema: $ref: '#/components/schemas/RelationshipSaveDto' application/*+json: schema: $ref: '#/components/schemas/RelationshipSaveDto' 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/symbols-relationships: get: tags: - Relationships summary: Factset Get All the Symbols Relationships operationId: GetSymbolsRelationships responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/SymbolsRelationshipDto' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: tags: - Relationships summary: Factset Create a Symbol Relationship operationId: CreateSymbolRelationshipType requestBody: description: symbolsRelationshipSaveDto object to save content: application/json-patch+json: schema: $ref: '#/components/schemas/SymbolsRelationShipSaveDto' application/json: schema: $ref: '#/components/schemas/SymbolsRelationShipSaveDto' text/json: schema: $ref: '#/components/schemas/SymbolsRelationShipSaveDto' application/*+json: schema: $ref: '#/components/schemas/SymbolsRelationShipSaveDto' 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/relationship-categories/{relationshipCategoryId}: put: tags: - Relationships summary: Factset Edit a Relationship Category operationId: EditRelationshipCategory parameters: - name: relationshipCategoryId in: path description: relationshipCategoryId to update associated record required: true schema: type: string format: uuid requestBody: description: RelationshipCategorySaveDto object to update content: application/json-patch+json: schema: $ref: '#/components/schemas/RelationshipCategorySaveDto' application/json: schema: $ref: '#/components/schemas/RelationshipCategorySaveDto' text/json: schema: $ref: '#/components/schemas/RelationshipCategorySaveDto' application/*+json: schema: $ref: '#/components/schemas/RelationshipCategorySaveDto' 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: - Relationships summary: Factset Delete a Relationship Category operationId: DeleteRelationshipCategory parameters: - name: relationshipCategoryId in: path description: relationshipCategoryId 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/relationships/{relationshipId}: put: tags: - Relationships summary: Factset Edit a Relationship Type operationId: EditRelationship parameters: - name: relationshipId in: path description: relationshipId to update associated record required: true schema: type: string format: uuid requestBody: description: RelationshipSaveDto object to update content: application/json-patch+json: schema: $ref: '#/components/schemas/RelationshipSaveDto' application/json: schema: $ref: '#/components/schemas/RelationshipSaveDto' text/json: schema: $ref: '#/components/schemas/RelationshipSaveDto' application/*+json: schema: $ref: '#/components/schemas/RelationshipSaveDto' 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: - Relationships summary: Factset Delete a Relationship Type operationId: DeleteRelationship parameters: - name: relationshipId in: path description: relationshipId 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/symbols-relationships/{symbolsRelationshipId}: put: tags: - Relationships summary: Factset Edit a Symbol Relationship operationId: EditSymbolsRelationship parameters: - name: symbolsRelationshipId in: path description: symbolsRelationshipId to update associated record required: true schema: type: string format: uuid requestBody: description: SymbolsRelationShipSaveDto object to update content: application/json-patch+json: schema: $ref: '#/components/schemas/SymbolsRelationShipSaveDto' application/json: schema: $ref: '#/components/schemas/SymbolsRelationShipSaveDto' text/json: schema: $ref: '#/components/schemas/SymbolsRelationShipSaveDto' application/*+json: schema: $ref: '#/components/schemas/SymbolsRelationShipSaveDto' 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: - Relationships summary: Factset Delete a Symbol Relationship operationId: DeleteSymbolsRelationship parameters: - name: symbolsRelationshipId in: path description: symbolsRelationshipId 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: - Relationships 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: - Relationships 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: - Relationships 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: - Relationships 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: - Relationships 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/{contactId}/relationships: get: tags: - Relationships 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 /v1/symbol-relationships/{symbolId}/relationships: get: tags: - Relationships summary: Factset Returns a List of a Symbols Relationships operationId: GetSymbolRelationships parameters: - name: symbolId in: path description: symbolId 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/SymbolRelationshipDto' '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/symbol-relationships/{symbolRelationshipId}: get: tags: - Relationships summary: Factset Get Details on a Specific Symbol Relationship operationId: GetSymbolRelationship parameters: - name: symbolRelationshipId in: path description: symbolRelationshipId to get associated record required: true schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SymbolRelationshipDto' '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: - Relationships summary: Factset Delete a Symbol Relationship operationId: DeleteSymbolRelationship parameters: - name: symbolRelationshipId in: path description: symbolRelationshipId 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/symbol-relationships: post: tags: - Relationships summary: Factset Create a Symbol Relationship operationId: CreateSymbolRelationship requestBody: description: symbolRelationship object to save content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/SymbolRelationshipSaveDto' application/json: schema: type: array items: $ref: '#/components/schemas/SymbolRelationshipSaveDto' text/json: schema: type: array items: $ref: '#/components/schemas/SymbolRelationshipSaveDto' application/*+json: schema: type: array items: $ref: '#/components/schemas/SymbolRelationshipSaveDto' responses: '201': description: Created '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/symbol-relationships/{symbol}: put: tags: - Relationships summary: Factset Edit a Symbol Relationship operationId: EditAndAddSymbolRelationship parameters: - name: symbol in: path description: '' required: true schema: type: string requestBody: description: symbolRelationship object to save content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/SymbolRelationshipUpdateDto' application/json: schema: type: array items: $ref: '#/components/schemas/SymbolRelationshipUpdateDto' text/json: schema: type: array items: $ref: '#/components/schemas/SymbolRelationshipUpdateDto' application/*+json: schema: type: array items: $ref: '#/components/schemas/SymbolRelationshipUpdateDto' responses: '200': description: Success 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 SymbolIdNameDto: type: object properties: id: type: string format: uuid nullable: true example: abc123 name: type: string nullable: true example: Example Title code: type: string nullable: true example: example_value additionalProperties: false RelationshipCategoryIdNameDto: type: object properties: id: type: string format: uuid example: abc123 name: type: string nullable: true example: Example Title 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 RelationshipType: enum: - 0 - 1 - 2 type: integer format: int32 NewItemDto: type: object properties: id: type: string format: uuid example: abc123 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 RelationshipSaveDto: required: - hideComment - hideCompany - hideDates - relationshipCategoryId type: object properties: relationshipCategoryId: type: string format: uuid example: '500123' relationshipCode: maxLength: 5 minLength: 0 type: string nullable: true example: example_value bidirectionalName: maxLength: 50 minLength: 0 type: string nullable: true example: example_value leftToRightName: maxLength: 50 minLength: 0 type: string nullable: true example: example_value rightToLeftName: maxLength: 50 minLength: 0 type: string nullable: true example: example_value hideDates: type: boolean default: false example: true hideComment: type: boolean default: false example: true hideCompany: type: boolean default: false example: true additionalProperties: false SymbolsRelationshipDto: type: object properties: id: type: string format: uuid example: abc123 relationshipCode: type: string nullable: true example: example_value parentToChildName: type: string nullable: true example: example_value childToParentName: type: string nullable: true example: example_value peerName: type: string nullable: true example: example_value hideDates: type: boolean example: true hideComment: type: boolean example: true 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 SymbolRelationshipDto: type: object properties: id: type: string format: uuid example: abc123 symbolsRelationship: $ref: '#/components/schemas/SymbolsRelationshipIdNameDto' parentSymbol: $ref: '#/components/schemas/SymbolIdNameDto' childSymbol: $ref: '#/components/schemas/SymbolIdNameDto' startDate: type: string format: date-time nullable: true example: '2026-01-15T10:30:00Z' endDate: type: string format: date-time nullable: true example: '2026-01-15T10:30:00Z' comment: type: string nullable: true example: example_value additionalProperties: false SymbolRelationshipUpdateDto: type: object properties: id: type: string format: uuid example: abc123 symbolsRelationshipId: type: string format: uuid example: '500123' parentSymbol: type: string nullable: true example: example_value childSymbol: type: string nullable: true example: example_value startDate: type: string format: date-time nullable: true example: '2026-01-15T10:30:00Z' endDate: type: string format: date-time nullable: true example: '2026-01-15T10:30:00Z' comment: type: string nullable: true example: example_value additionalProperties: false SymbolsRelationshipIdNameDto: type: object properties: id: type: string format: uuid example: abc123 name: type: string nullable: true example: Example Title type: type: string nullable: true example: example_value 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: {} SymbolsRelationShipSaveDto: required: - hideComment - hideDates type: object properties: relationshipCode: maxLength: 3 minLength: 0 type: string nullable: true example: example_value parentToChildName: maxLength: 50 minLength: 0 type: string nullable: true example: example_value childToParentName: maxLength: 50 minLength: 0 type: string nullable: true example: example_value peerName: maxLength: 50 minLength: 0 type: string nullable: true example: example_value hideDates: type: boolean default: true example: true hideComment: type: boolean default: true example: true additionalProperties: false RelationshipDto: type: object properties: id: type: string format: uuid example: abc123 relationshipCategoryId: type: string format: uuid example: '500123' relationshipCode: type: string nullable: true example: example_value bidirectionalName: type: string nullable: true example: example_value leftToRightName: type: string nullable: true example: example_value rightToLeftName: type: string nullable: true example: example_value hideDates: type: boolean example: true hideComment: type: boolean example: true hideCompany: type: boolean example: true isCustomisable: type: boolean example: true 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 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 RelationshipCategorySaveDto: required: - categoryName type: object properties: categoryName: maxLength: 50 minLength: 0 type: string example: example_value isContactToContact: type: boolean default: false example: true isContactToSymbol: type: boolean default: false example: true additionalProperties: false SymbolRelationshipSaveDto: type: object properties: symbolsRelationshipId: type: string format: uuid example: '500123' parentSymbol: type: string nullable: true example: example_value childSymbol: type: string nullable: true example: example_value startDate: type: string format: date-time nullable: true example: '2026-01-15T10:30:00Z' endDate: type: string format: date-time nullable: true example: '2026-01-15T10:30:00Z' 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