FactSet IRN Meetings API
Meetings API allows users to extract, create, update and delete their meetings and appointments in Internal Research Notes application.
Meetings API allows users to extract, create, update and delete their meetings and appointments in Internal Research Notes application.
openapi: 3.0.1
info:
title: Factset IRN API v1
description: Allows users to extract, create, update and configure IRN data.
version: '1'
servers:
- url: https://api.factset.com/research/irn
description: Production Server
- url: https://api-sandbox.factset.com/research/irn
description: Sandbox
paths:
/v1/meetings:
get:
tags:
- Meetings
summary: >-
Factset Get all the meetings in the specified date range filtered on the given identifiers
operationId: GetMeetings
parameters:
- name: start
in: query
description: StartDate
schema:
type: string
- name: end
in: query
description: EndDate
schema:
type: string
- name: identifiers
in: query
description: Set of identifiers to filter on
schema:
type: array
items:
type: string
- name: limit
in: query
description: Limit on the number of meetings retrieved
schema:
type: integer
format: int32
- name: modifiedSince
in: query
description: >-
Only return meetings which have been modified or created since a
particular time
schema:
type: string
- name: includeRelatedEntities
in: query
description: >-
When set to true fetches meetings tagged with all the entities
related to identifiers param
schema:
type: boolean
default: false
- name: X-IRN-Include-Deleted
in: header
description: Includes deleted meetings in results when set to true
schema:
type: boolean
default: false
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MeetingSummaryDto'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
post:
tags:
- Meetings
summary: Factset Create a meeting
operationId: CreateMeeting
requestBody:
description: 'Note: The organizer property is deprecated in favor of organizerId'
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/CreateMeetingDto'
application/json:
schema:
$ref: '#/components/schemas/CreateMeetingDto'
text/json:
schema:
$ref: '#/components/schemas/CreateMeetingDto'
application/*+json:
schema:
$ref: '#/components/schemas/CreateMeetingDto'
responses:
'201':
description: Success - Returns unique identifier of the meeting 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'
/v1/meetings/{meetingId}:
get:
tags:
- Meetings
summary: Factset Get details of a meeting
operationId: GetMeeting
parameters:
- name: meetingId
in: path
description: Meeting Id
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/MeetingDto'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
put:
tags:
- Meetings
summary: Factset Update meeting
operationId: UpdateMeeting
parameters:
- name: meetingId
in: path
description: Meeting Id
required: true
schema:
type: string
format: uuid
requestBody:
description: >-
Meeting details to update. Note: The organizer property is deprecated
in favor of organizerId
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/UpdateMeetingDto'
application/json:
schema:
$ref: '#/components/schemas/UpdateMeetingDto'
text/json:
schema:
$ref: '#/components/schemas/UpdateMeetingDto'
application/*+json:
schema:
$ref: '#/components/schemas/UpdateMeetingDto'
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'
delete:
tags:
- Meetings
summary: Factset Delete a Meeting
operationId: DeleteMeeting
parameters:
- name: meetingId
in: path
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'
/v1/meetings/{meetingId}/attachments:
get:
tags:
- Meetings
summary: Factset Get all the attachments belonging to a meeting
operationId: GetAttachments
parameters:
- name: meetingId
in: path
description: Meeting Id
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AttachmentSummaryDto'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
post:
tags:
- Meetings
summary: Factset Create an attachment for a existing meeting
operationId: CreateAttachment
parameters:
- name: meetingId
in: path
description: Meeting Id
required: true
schema:
type: string
format: uuid
requestBody:
content:
multipart/form-data:
schema:
required:
- file
type: object
properties:
file:
type: string
format: binary
responses:
'201':
description: Success - Returns unique identifier of the Attachment
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'
/v1/meetings/{meetingId}/attachments/{attachmentId}/download:
get:
tags:
- Meetings
summary: Factset Download an attachment from a Meeting
operationId: DownloadAttachment
parameters:
- name: meetingId
in: path
required: true
schema:
type: string
format: uuid
- name: attachmentId
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Success
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
/v1/meetings/{meetingId}/comments:
get:
tags:
- Meetings
summary: Factset Get all comments for a meeting
operationId: GetComments
parameters:
- name: meetingId
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CommentSummaryDto'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
post:
tags:
- Meetings
summary: Factset Create a comment to a Meeting
operationId: CreateComment
parameters:
- name: meetingId
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/CreateCommentDto'
application/json:
schema:
$ref: '#/components/schemas/CreateCommentDto'
text/json:
schema:
$ref: '#/components/schemas/CreateCommentDto'
application/*+json:
schema:
$ref: '#/components/schemas/CreateCommentDto'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/NewItemDto'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'500':
description: Server Error
/v1/meetings/{meetingId}/comments/{commentId}:
get:
tags:
- Meetings
summary: Factset Get details of a comment belonging to a meeting
operationId: GetComment
parameters:
- name: meetingId
in: path
required: true
schema:
type: string
format: uuid
- name: commentId
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CommentDto'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
patch:
tags:
- Meetings
summary: Factset Edit a comment for a meeting
operationId: PatchComment
parameters:
- name: meetingId
in: path
required: true
schema:
type: string
format: uuid
- name: commentId
in: path
required: true
schema:
type: string
format: uuid
requestBody:
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'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
delete:
tags:
- Meetings
summary: Factset Delete a Comment from a Meeting
operationId: DeleteComment
parameters:
- name: meetingId
in: path
required: true
schema:
type: string
format: uuid
- name: commentId
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Success
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'500':
description: Server Error
/v1/meetings/{meetingId}/comments/{commentId}/attachments:
get:
tags:
- Meetings
summary: Factset Get attachments summary of a comment belonging to a meeting
operationId: GetCommentAttachments
parameters:
- name: meetingId
in: path
required: true
schema:
type: string
format: uuid
- name: commentId
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AttachmentSummaryDto'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
post:
tags:
- Meetings
summary: Factset Create a comment attachment to a Meeting
operationId: CreateCommentAttachment
parameters:
- name: meetingId
in: path
required: true
schema:
type: string
format: uuid
- name: commentId
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
multipart/form-data:
schema:
required:
- file
type: object
properties:
file:
type: string
format: binary
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/NewItemDto'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'500':
description: Server Error
/v1/meetings/{meetingId}/comments/{commentId}/attachments/{attachmentId}/download:
get:
tags:
- Meetings
summary: Factset Download single attachment detail of a comment belonging to a meeting
operationId: DownloadCommentAttachmentForComment
parameters:
- name: meetingId
in: path
required: true
schema:
type: string
format: uuid
- name: commentId
in: path
required: true
schema:
type: string
format: uuid
- name: attachmentId
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Success
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
/v1/meetings/{meetingId}/events:
get:
tags:
- Meetings
summary: Factset Get all the record events that belong to a meeting
operationId: GetEvents
parameters:
- name: meetingId
in: path
description: Meeting ID
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RecordEventSummaryDto'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
/v1/meetings/{meetingId}/events/{recordEventId}:
get:
tags:
- Meetings
summary: Factset Get details of a record event of a meeting
operationId: GetRecordEvent
parameters:
- name: meetingId
in: path
description: Meeting Id
required: true
schema:
type: string
format: uuid
- name: recordEventId
in: path
description: Record Event Id
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/MeetingEventDto'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
/v1/meetings/{meetingId}/attachments/{attachmentId}:
delete:
tags:
- Meetings
summary: Factset Delete attachment from meeting
operationId: SoftDeleteMeetingAttachment
parameters:
- name: meetingId
in: path
description: Meeting Id
required: true
schema:
type: string
format: uuid
- name: attachmentId
in: path
description: Attachment Id
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Success
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
components:
schemas:
AttachmentSummaryDto:
type: object
properties:
id:
type: string
format: uuid
fileName:
type: string
nullable: true
mimeType:
type: string
nullable: true
size:
type: integer
format: int64
nullable: true
additionalProperties: false
AttendeeDto:
type: object
properties:
id:
type: string
format: uuid
emailAddress:
type: string
nullable: true
fullName:
type: string
nullable: true
additionalProperties: false
CommentDto:
type: object
properties:
id:
type: string
format: uuid
authorId:
type: string
format: uuid
parentCommentId:
type: string
format: uuid
nullable: true
body:
type: string
nullable: true
createdAt:
type: string
nullable: true
attachments:
type: array
items:
$ref: '#/components/schemas/AttachmentSummaryDto'
nullable: true
subcomments:
type: array
items:
$ref: '#/components/schemas/SubcommentSummaryDto'
nullable: true
additionalProperties: false
CommentSummaryDto:
type: object
properties:
id:
type: string
format: uuid
userId:
type: string
format: uuid
createdAt:
type: string
nullable: true
subcomments:
type: array
items:
$ref: '#/components/schemas/SubcommentSummaryDto'
nullable: true
additionalProperties: false
CreateBodyDto:
type: object
properties:
content:
type: string
nullable: true
additionalProperties: false
CreateCommentDto:
type: object
properties:
authorId:
type: string
format: uuid
parentCommentId:
type: string
format: uuid
nullable: true
body:
type: string
nullable: true
additionalProperties: false
CreateCustomFieldValueDto:
required:
- code
type: object
properties:
code:
type: string
integerValue:
type: integer
format: int32
nullable: true
textValue:
type: string
nullable: true
filePathValue:
type: string
nullable: true
numericValue:
type: number
format: double
nullable: true
dateValue:
type: string
nullable: true
extendedTextValue:
type: string
nullable: true
contactLookupValues:
type: array
items:
type: string
format: uuid
nullable: true
optionValue:
type: string
nullable: true
optionValues:
type: array
items:
type: string
nullable: true
additionalProperties: false
description: "Set a value or values for a custom field identified by the field 'Code'. Only one of the fields (IntegerValue / TextValue / FilePathValue etc) will be used,\r\ndepending on the data type of the custom field corresponding to the 'Code' provided"
CreateMeetingDto:
required:
- author
- end
- start
type: object
properties:
author:
$ref: '#/components/schemas/UserSerialDto'
title:
maxLength: 255
minLength: 0
type: string
nullable: true
identifier:
type: string
nullable: true
start:
type: string
end:
type: string
locations:
type: array
items:
type: string
nullable: true
organizer:
maxLength: 255
minLength: 0
type: string
nullable: true
deprecated: true
organizerId:
type: string
format: uuid
attendees:
type: array
items:
$ref: '#/components/schemas/ReferenceAttendeeDto'
nullable: true
alertAttendees:
type: boolean
default: false
alertAuthor:
type: boolean
default: false
relatedRecords:
$ref: '#/components/schemas/RelatedRecordsDto'
relatedContacts:
type: array
items:
type: string
format: uuid
nullable: true
relatedSymbols:
maxItems: 100
type: array
items:
type: string
nullable: true
body:
$ref: '#/components/schemas/CreateBodyDto'
customFieldValues:
type: array
items:
$ref: '#/components/schemas/CreateCustomFieldValueDto'
nullable: true
additionalProperties: false
CustomFieldValueDto:
type: object
properties:
code:
type: string
nullable: true
value:
type: string
nullable: true
options:
type: array
items:
type: string
nullable: true
contactValues:
type: array
items:
type: string
format: uuid
nullable: true
additionalProperties: false
LocationDto:
type: object
properties:
id:
type: string
format: uuid
locationName:
type: string
nullable: true
additionalProperties: false
MeetingDto:
type: object
properties:
id:
type: string
format: uuid
start:
type: string
nullable: true
end:
type: string
nullable: true
createdAt:
type: string
nullable: true
authorId:
type: string
format: uuid
title:
type: string
nullable: true
identifier:
type: string
nullable: true
organizer:
type: string
nullable: true
deprecated: true
organizerId:
type: string
format: uuid
body:
type: string
nullable: true
averageRating:
type: integer
format: int32
nullable: true
alertAttendees:
type: boolean
alertAuthor:
type: boolean
locations:
type: array
items:
$ref: '#/components/schemas/LocationDto'
nullable: true
attendees:
type: array
items:
$ref: '#/components/schemas/AttendeeDto'
nullable: true
customFields:
type: array
items:
$ref: '#/components/schemas/CustomFieldValueDto'
nullable: true
relatedSymbols:
type: array
items:
type: string
nullable: true
relatedRecords:
$ref: '#/components/schemas/RelatedRecordsDto'
relatedContacts:
type: array
items:
type: string
format: uuid
nullable: true
additionalProperties: false
MeetingEventDto:
type: object
properties:
createdAt:
type: string
nullable: true
type:
type: string
nullable: true
user:
type: string
nullable: true
changeList:
type: array
items:
$ref: '#/components/schemas/RecordChangeDto'
nullable: true
additionalProperties: false
MeetingSummaryDto:
type: object
properties:
id:
type: string
format: uuid
start:
type: string
nullable: true
end:
type: string
nullable: true
createdAt:
type: string
nullable: true
authorId:
type: string
format: uuid
title:
type: string
nullable: true
identifier:
type: string
nullable: true
organizer:
type: string
nullable: true
deprecated: true
organizerId:
type: string
format: uuid
attachmentIds:
type: array
items:
type: string
format: uuid
nullable: true
relatedSymbols:
type: array
items:
# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/factset/refs/heads/main/openapi/irn-meetings-openapi-original.yml