openapi: 3.1.0 info: title: HubSpot Engagement Meetings API description: >- The meetings endpoints allow you to log and manage meeting engagement records in HubSpot CRM. You can create meeting records, associate them with contacts and companies, and retrieve meeting details and outcomes. Meeting records follow the standard CRM object pattern at /crm/v3/objects/meetings. version: v3 contact: name: HubSpot Developer Support url: https://developers.hubspot.com/ servers: - url: https://api.hubapi.com description: HubSpot API security: - oauth2: [] tags: - name: Associations description: Operations for managing meeting associations - name: Batch description: Batch operations for meetings - name: Meetings description: Operations for managing meeting engagement records paths: /crm/v3/objects/meetings: get: operationId: listMeetings summary: Hubspot List Meetings description: >- Returns a page of meeting engagement records. Use the limit and after parameters to paginate through meetings. You can also specify which properties to return using the properties parameter. tags: - Meetings parameters: - name: limit in: query description: The maximum number of results to return per page. schema: type: integer default: 10 maximum: 100 example: 10 - name: after in: query description: The cursor for pagination to get the next page of results. schema: type: string example: example-value - name: properties in: query description: A comma-separated list of property names to return. schema: type: string example: example-value - name: archived in: query description: Whether to return archived meetings. schema: type: boolean default: false example: false responses: '200': description: Successful response with a list of meetings. content: application/json: schema: $ref: '#/components/schemas/CollectionResponseMeeting' examples: Listmeetings200Example: summary: Default listMeetings 200 response x-microcks-default: true value: results: &id005 - id: '500123' properties: &id001 key: value createdAt: '2025-03-15T14:30:00Z' updatedAt: '2025-03-15T14:30:00Z' archived: true associations: &id002 key: value paging: next: {} '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createMeeting summary: Hubspot Create a Meeting description: >- Creates a new meeting engagement record with the provided properties. Common meeting properties include hs_meeting_title, hs_meeting_body, hs_meeting_start_time, hs_meeting_end_time, and hs_meeting_outcome. tags: - Meetings requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SimplePublicObjectInput' examples: CreatemeetingRequestExample: summary: Default createMeeting request x-microcks-default: true value: properties: &id003 key: value responses: '201': description: Meeting created successfully. content: application/json: schema: $ref: '#/components/schemas/Meeting' examples: Createmeeting201Example: summary: Default createMeeting 201 response x-microcks-default: true value: id: '500123' properties: *id001 createdAt: '2025-03-15T14:30:00Z' updatedAt: '2025-03-15T14:30:00Z' archived: true associations: *id002 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /crm/v3/objects/meetings/{meetingId}: get: operationId: getMeeting summary: Hubspot Get a Meeting description: >- Returns a single meeting engagement record by its ID. You can specify which properties to return using the properties parameter. tags: - Meetings parameters: - name: meetingId in: path required: true description: The ID of the meeting to retrieve. schema: type: string example: '500123' - name: properties in: query description: A comma-separated list of property names to return. schema: type: string example: example-value - name: archived in: query description: Whether to return archived meetings. schema: type: boolean default: false example: false responses: '200': description: Successful response with the meeting record. content: application/json: schema: $ref: '#/components/schemas/Meeting' examples: Getmeeting200Example: summary: Default getMeeting 200 response x-microcks-default: true value: id: '500123' properties: *id001 createdAt: '2025-03-15T14:30:00Z' updatedAt: '2025-03-15T14:30:00Z' archived: true associations: *id002 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK patch: operationId: updateMeeting summary: Hubspot Update a Meeting description: >- Performs a partial update of a meeting engagement record. Only the properties included in the request body will be updated. tags: - Meetings parameters: - name: meetingId in: path required: true description: The ID of the meeting to update. schema: type: string example: '500123' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SimplePublicObjectInput' examples: UpdatemeetingRequestExample: summary: Default updateMeeting request x-microcks-default: true value: properties: *id003 responses: '200': description: Meeting updated successfully. content: application/json: schema: $ref: '#/components/schemas/Meeting' examples: Updatemeeting200Example: summary: Default updateMeeting 200 response x-microcks-default: true value: id: '500123' properties: *id001 createdAt: '2025-03-15T14:30:00Z' updatedAt: '2025-03-15T14:30:00Z' archived: true associations: *id002 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteMeeting summary: Hubspot Archive a Meeting description: >- Archives (soft deletes) a meeting engagement record by its ID. Archived meetings can be restored using the HubSpot UI or API. tags: - Meetings parameters: - name: meetingId in: path required: true description: The ID of the meeting to archive. schema: type: string example: '500123' responses: '204': description: Meeting archived successfully. '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /crm/v3/objects/meetings/batch/read: post: operationId: batchReadMeetings summary: Hubspot Batch Read Meetings description: >- Reads a batch of meeting records by their IDs. Useful for retrieving multiple meetings in a single API call. tags: - Batch requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BatchReadInput' examples: BatchreadmeetingsRequestExample: summary: Default batchReadMeetings request x-microcks-default: true value: properties: &id006 - example-value inputs: &id007 - id: '500123' responses: '200': description: Batch read completed successfully. content: application/json: schema: $ref: '#/components/schemas/BatchResponseMeeting' examples: Batchreadmeetings200Example: summary: Default batchReadMeetings 200 response x-microcks-default: true value: status: active results: &id004 - id: '500123' properties: *id001 createdAt: '2025-03-15T14:30:00Z' updatedAt: '2025-03-15T14:30:00Z' archived: true associations: *id002 completedAt: '2025-03-15T14:30:00Z' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /crm/v3/objects/meetings/batch/create: post: operationId: batchCreateMeetings summary: Hubspot Batch Create Meetings description: >- Creates multiple meeting engagement records in a single API call. tags: - Batch requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BatchCreateInput' examples: BatchcreatemeetingsRequestExample: summary: Default batchCreateMeetings request x-microcks-default: true value: inputs: &id008 - properties: *id003 responses: '201': description: Meetings created successfully. content: application/json: schema: $ref: '#/components/schemas/BatchResponseMeeting' examples: Batchcreatemeetings201Example: summary: Default batchCreateMeetings 201 response x-microcks-default: true value: status: active results: *id004 completedAt: '2025-03-15T14:30:00Z' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /crm/v3/objects/meetings/batch/update: post: operationId: batchUpdateMeetings summary: Hubspot Batch Update Meetings description: >- Updates multiple meeting engagement records in a single API call. tags: - Batch requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BatchUpdateInput' examples: BatchupdatemeetingsRequestExample: summary: Default batchUpdateMeetings request x-microcks-default: true value: inputs: &id009 - id: '500123' properties: key: value responses: '200': description: Meetings updated successfully. content: application/json: schema: $ref: '#/components/schemas/BatchResponseMeeting' examples: Batchupdatemeetings200Example: summary: Default batchUpdateMeetings 200 response x-microcks-default: true value: status: active results: *id004 completedAt: '2025-03-15T14:30:00Z' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /crm/v3/objects/meetings/search: post: operationId: searchMeetings summary: Hubspot Search Meetings description: >- Searches for meeting engagement records using filter groups, sorts, and other query parameters. tags: - Meetings requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SearchRequest' examples: SearchmeetingsRequestExample: summary: Default searchMeetings request x-microcks-default: true value: filterGroups: &id010 - filters: - {} sorts: &id011 - propertyName: Example Record direction: ASCENDING query: example-value properties: &id012 - example-value limit: 100 after: example-value responses: '200': description: Search results returned successfully. content: application/json: schema: $ref: '#/components/schemas/CollectionResponseMeeting' examples: Searchmeetings200Example: summary: Default searchMeetings 200 response x-microcks-default: true value: results: *id005 paging: next: {} '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /crm/v3/objects/meetings/{meetingId}/associations/{toObjectType}: get: operationId: listMeetingAssociations summary: Hubspot List Meeting Associations description: >- Returns all associations of a meeting record to objects of a specified type, such as contacts, companies, or deals. tags: - Associations parameters: - name: meetingId in: path required: true description: The ID of the meeting. schema: type: string example: '500123' - name: toObjectType in: path required: true description: The type of associated object. schema: type: string example: standard responses: '200': description: List of associations returned successfully. content: application/json: schema: $ref: '#/components/schemas/CollectionResponseAssociation' examples: Listmeetingassociations200Example: summary: Default listMeetingAssociations 200 response x-microcks-default: true value: results: &id013 - id: '500123' type: standard paging: next: {} '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /crm/v3/objects/meetings/{meetingId}/associations/{toObjectType}/{toObjectId}/{associationType}: put: operationId: createMeetingAssociation summary: Hubspot Create a Meeting Association description: >- Creates an association between a meeting record and another CRM object. tags: - Associations parameters: - name: meetingId in: path required: true schema: type: string example: '500123' - name: toObjectType in: path required: true schema: type: string example: standard - name: toObjectId in: path required: true schema: type: string example: '500123' - name: associationType in: path required: true schema: type: string example: standard responses: '200': description: Association created successfully. content: application/json: schema: $ref: '#/components/schemas/Association' examples: Createmeetingassociation200Example: summary: Default createMeetingAssociation 200 response x-microcks-default: true value: id: '500123' type: standard '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteMeetingAssociation summary: Hubspot Delete a Meeting Association description: >- Removes an association between a meeting record and another CRM object. tags: - Associations parameters: - name: meetingId in: path required: true schema: type: string example: '500123' - name: toObjectType in: path required: true schema: type: string example: standard - name: toObjectId in: path required: true schema: type: string example: '500123' - name: associationType in: path required: true schema: type: string example: standard responses: '204': description: Association deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: securitySchemes: oauth2: type: http scheme: bearer description: OAuth 2.0 Bearer token (access token from OAuth flow) schemas: Meeting: type: object description: A HubSpot meeting engagement record. properties: id: type: string description: The unique identifier for the meeting. example: '500123' properties: type: object description: The meeting's properties as key-value pairs. additionalProperties: type: string example: *id001 createdAt: type: string format: date-time example: '2025-03-15T14:30:00Z' updatedAt: type: string format: date-time example: '2025-03-15T14:30:00Z' archived: type: boolean example: true associations: type: object additionalProperties: $ref: '#/components/schemas/CollectionResponseAssociation' example: *id002 CollectionResponseMeeting: type: object properties: results: type: array items: $ref: '#/components/schemas/Meeting' example: *id005 paging: $ref: '#/components/schemas/Paging' BatchResponseMeeting: type: object properties: status: type: string example: active results: type: array items: $ref: '#/components/schemas/Meeting' example: *id004 completedAt: type: string format: date-time example: '2025-03-15T14:30:00Z' SimplePublicObjectInput: type: object properties: properties: type: object additionalProperties: type: string example: *id003 BatchReadInput: type: object properties: properties: type: array items: type: string example: *id006 inputs: type: array items: type: object properties: id: type: string example: *id007 BatchCreateInput: type: object properties: inputs: type: array items: $ref: '#/components/schemas/SimplePublicObjectInput' example: *id008 BatchUpdateInput: type: object properties: inputs: type: array items: type: object properties: id: type: string properties: type: object additionalProperties: type: string example: *id009 SearchRequest: type: object properties: filterGroups: type: array items: $ref: '#/components/schemas/FilterGroup' example: *id010 sorts: type: array items: type: object properties: propertyName: type: string direction: type: string enum: [ASCENDING, DESCENDING] example: *id011 query: type: string example: example-value properties: type: array items: type: string example: *id012 limit: type: integer maximum: 200 example: 100 after: type: string example: example-value FilterGroup: type: object properties: filters: type: array items: $ref: '#/components/schemas/Filter' example: - propertyName: Example Record operator: EQ value: example-value Filter: type: object properties: propertyName: type: string example: Example Record operator: type: string enum: [EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN, NOT_CONTAINS_TOKEN] example: EQ value: type: string example: example-value Association: type: object properties: id: type: string example: '500123' type: type: string example: standard CollectionResponseAssociation: type: object properties: results: type: array items: $ref: '#/components/schemas/Association' example: *id013 paging: $ref: '#/components/schemas/Paging' Paging: type: object properties: next: type: object properties: after: type: string example: after: example-value Error: type: object properties: status: type: string example: active message: type: string example: This is an example description. correlationId: type: string example: '500123' category: type: string example: standard responses: Unauthorized: description: Authentication credentials are missing or invalid. content: application/json: schema: $ref: '#/components/schemas/Error' BadRequest: description: The request is invalid or missing required parameters. content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/Error'