By using this website, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.

Accept All
API Documentation

Meetings

The Meetings API allows you to manage meeting schedules and attendees within the Meridian CRM system.

Authentication

All requests must include a Bearer token in the HTTP header:

Authorization: Bearer ACCESS_TOKEN

Endpoints

List Meetings

Description: Retrieve a list of meetings from the user's organization.

Endpoint: GET api/public/v1/meetings/

Optional Query Parameters:

  • search (string): Filter by meeting title or description
  • ordering (string): Order results by specific fields (e.g., start_time, created for descending)
  • start_time__gte (datetime): Filter meetings starting after this time
  • start_time__lte (datetime): Filter meetings starting before this time
  • company (UUID): Filter by associated company
  • deal (UUID): Filter by associated deal

Response Example:

[
  {
    "id": "7e8f9a0b-1c2d-3e4f-5a6b-7c8d9e0f1a2b",
    "title": "Deal Discussion",
    "description": "Initial discussion about the enterprise software license",
    "start_time": "2025-05-15T10:00:00Z",
    "end_time": "2025-05-15T11:00:00Z",
    "created": "2025-04-24T08:44:27.574699Z",
    "modified": "2025-04-24T08:44:27.574709Z",
    "location": "Zoom Meeting",
    "meeting_url": "<https://zoom.us/j/123456789>",
    "status": "confirmed",
    "attendees": [
      {
        "id": "5a6b7c8d-9e0f-1a2b-3c4d-5e6f7a8b9c0d",
        "user": {
          "id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
          "first_name": "John",
          "last_name": "Doe",
          "email": "john.doe@example.com"
        },
        "person": null,
        "status": "accepted"
      },
      {
        "id": "7c8d9e0f-1a2b-3c4d-5e6f-7a8b9c0d1e2f",
        "user": null,
        "person": {
          "id": "3c4d5e6f-7a8b-9c0d-1e2f-3a4b5c6d7e8f",
          "first_name": "Jane",
          "last_name": "Smith",
          "email": "jane.smith@acme-corp.com"
        },
        "status": "pending"
      }
    ],
    "company": {
      "id": "bfcd725e-88da-41cd-8d9c-6aed5dda1a4a",
      "title": "Acme Corp"
    },
    "deal": {
      "id": "7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d",
      "title": "Enterprise Software License"
    }
  }
]

Get Meeting Details

Description: Retrieve details for a specific meeting.

Endpoint: GET api/public/v1/meetings/{id}/

Response Example:

{
  "id": "7e8f9a0b-1c2d-3e4f-5a6b-7c8d9e0f1a2b",
  "title": "Deal Discussion",
  "description": "Initial discussion about the enterprise software license",
  "start_time": "2025-05-15T10:00:00Z",
  "end_time": "2025-05-15T11:00:00Z",
  "created": "2025-04-24T08:44:27.574699Z",
  "modified": "2025-04-24T08:44:27.574709Z",
  "location": "Zoom Meeting",
  "meeting_url": "<https://zoom.us/j/123456789>",
  "status": "confirmed",
  "calendar_event_id": "external-calendar-event-id",
  "organization": "9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d",
  "attendees": [
    {
      "id": "5a6b7c8d-9e0f-1a2b-3c4d-5e6f7a8b9c0d",
      "user": {
        "id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
        "first_name": "John",
        "last_name": "Doe",
        "email": "john.doe@example.com"
      },
      "person": null,
      "status": "accepted"
    },
    {
      "id": "7c8d9e0f-1a2b-3c4d-5e6f-7a8b9c0d1e2f",
      "user": null,
      "person": {
        "id": "3c4d5e6f-7a8b-9c0d-1e2f-3a4b5c6d7e8f",
        "first_name": "Jane",
        "last_name": "Smith",
        "email": "jane.smith@acme-corp.com"
      },
      "status": "pending"
    }
  ],
  "company": {
    "id": "bfcd725e-88da-41cd-8d9c-6aed5dda1a4a",
    "title": "Acme Corp",
    "website": "<https://acme-corp.com/>"
  },
  "deal": {
    "id": "7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d",
    "title": "Enterprise Software License"
  },
  "notes": [
    {
      "id": "9c0d1e2f-3a4b-5c6d-7e8f-9a0b1c2d3e4f",
      "title": "Meeting Notes",
      "created": "2025-05-15T11:15:00Z"
    }
  ],
  "attachments": [
    {
      "id": "3a4b5c6d-7e8f-9a0b-1c2d-3e4f5a6b7c8d",
      "name": "presentation.pdf",
      "created": "2025-05-14T16:30:00Z"
    }
  ]
}

Create Meeting

Description: Create a new meeting.

Endpoint: POST api/public/v1/meetings/

Request Example:

{
  "title": "Product Demo",
  "description": "Demonstration of new product features",
  "start_time": "2025-06-01T14:00:00Z",
  "end_time": "2025-06-01T15:00:00Z",
  "location": "Microsoft Teams",
  "meeting_url": "<https://teams.microsoft.com/l/meetup-join/>...",
  "company": "bfcd725e-88da-41cd-8d9c-6aed5dda1a4a",
  "deal": "7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d",
  "attendees": [
    {
      "user": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d"
    },
    {
      "person": "3c4d5e6f-7a8b-9c0d-1e2f-3a4b5c6d7e8f"
    }
  ]
}

Response: Returns the created meeting object with HTTP 201 status code.

Update Meeting

Description: Update an existing meeting.

Endpoint: PUT api/public/v1/meetings/{id}/

Request Example:

{
  "title": "Updated Product Demo",
  "description": "Updated demonstration of new product features",
  "start_time": "2025-06-01T15:00:00Z",
  "end_time": "2025-06-01T16:00:00Z"
}

Response: Returns the updated meeting object.

Delete Meeting

Description: Delete a meeting.

Endpoint: DELETE api/public/v1/meetings/{id}/

Response: Returns HTTP 204 No Content on success.

Manage Attendees

Description: Add, update, or remove attendees for a meeting.

Endpoint: POST api/public/v1/meetings/attendees/

Request Example:

{
  "meeting": "7e8f9a0b-1c2d-3e4f-5a6b-7c8d9e0f1a2b",
  "user": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
  "status": "accepted"
}

Response: Returns the created attendee object with HTTP 201 status code.

Endpoint: PUT api/public/v1/meetings/attendees/{id}/

Request Example:

{
  "status": "declined"
}

Response: Returns the updated attendee object.

Delete Endpoint: DELETE api/public/v1/meetings/attendees/{id}/

Response: Returns HTTP 204 No Content on success.

Manage Attachments

Description: Add or remove attachments for a meeting.

Endpoint: POST api/public/v1/attachments/

Request Example:

{
  "meeting": "7e8f9a0b-1c2d-3e4f-5a6b-7c8d9e0f1a2b",
  "name": "presentation.pdf",
  "file": "base64-encoded-file-content"
}

Response: Returns the created attachment object with HTTP 201 status code.

Delete Endpoint: DELETE api/public/v1/attachments/{id}/

Response: Returns HTTP 204 No Content on success.

Metadata Endpoints

Meeting Metadata

Description: Retrieve metadata about meeting fields, including field names, types, and whether they are required, createable, or updateable.

Endpoint: GET api/public/v1/meetings/metadata/fields/

Request Example:

{
  "fields": [
    {
      "name": "title",
      "label": "Meeting Title",
      "type": "string",
      "required": true,
      "createable": true,
      "updateable": true
    },
    {
      "name": "description",
      "label": "Description",
      "type": "text",
      "required": false,
      "createable": true,
      "updateable": true
    },
    {
      "name": "start_time",
      "label": "Start Time",
      "type": "datetime",
      "required": true,
      "createable": true,
      "updateable": true
    },
    {
      "name": "end_time",
      "label": "End Time",
      "type": "datetime",
      "required": true,
      "createable": true,
      "updateable": true
    },
    {
      "name": "location",
      "label": "Location",
      "type": "string",
      "required": false,
      "createable": true,
      "updateable": true
    },
    {
      "name": "meeting_url",
      "label": "Meeting URL",
      "type": "url",
      "required": false,
      "createable": true,
      "updateable": true
    },
    {
      "name": "status",
      "label": "Status",
      "type": "picklist",
      "required": false,
      "createable": true,
      "updateable": true,
      "options": [
        {"value": "confirmed", "label": "Confirmed"},
        {"value": "cancelled", "label": "Cancelled"},
        {"value": "rescheduled", "label": "Rescheduled"}
      ]
    },
    {
      "name": "company",
      "label": "Company",
      "type": "reference",
      "reference_to": "company",
      "required": false,
      "createable": true,
      "updateable": true
    },
    {
      "name": "deal",
      "label": "Deal",
      "type": "reference",
      "reference_to": "deal",
      "required": false,
      "createable": true,
      "updateable": true
    },
    {
      "name": "attendees",
      "label": "Attendees",
      "type": "array",
      "items_type": "object",
      "required": false,
      "createable": true,
      "updateable": true
    }
  ]
}

Attendee Metadata

Description: Retrieve metadata about meeting attendee fields.

Endpoint: GET api/public/v1/meetings/attendees/metadata/fields/

Request Example:

{
  "fields": [
    {
      "name": "meeting",
      "label": "Meeting",
      "type": "reference",
      "reference_to": "meeting",
      "required": true,
      "createable": true,
      "updateable": false
    },
    {
      "name": "user",
      "label": "User",
      "type": "reference",
      "reference_to": "user",
      "required": false,
      "createable": true,
      "updateable": true
    },
    {
      "name": "person",
      "label": "Person",
      "type": "reference",
      "reference_to": "person",
      "required": false,
      "createable": true,
      "updateable": true
    },
    {
      "name": "status",
      "label": "Status",
      "type": "picklist",
      "required": false,
      "createable": true,
      "updateable": true,
      "options": [
        {"value": "accepted", "label": "Accepted"},
        {"value": "declined", "label": "Declined"},
        {"value": "pending", "label": "Pending"}
      ]
    }
  ]
}

Attachment Metadata

Description: Retrieve metadata about meeting attachment fields.

Endpoint: GET api/public/v1/attachments/metadata/fields/

Request Example:

{
  "fields": [
    {
      "name": "meeting",
      "label": "Meeting",
      "type": "reference",
      "reference_to": "meeting",
      "required": true,
      "createable": true,
      "updateable": false
    },
    {
      "name": "name",
      "label": "File Name",
      "type": "string",
      "required": true,
      "createable": true,
      "updateable": true
    },
    {
      "name": "file",
      "label": "File",
      "type": "file",
      "required": true,
      "createable": true,
      "updateable": false
    }
  ]
}

Error Responses

  • 400 Bad Request: Invalid request parameters
  • 401 Unauthorized: Missing or invalid authentication
  • 403 Forbidden: Insufficient permissions
  • 404 Not Found: Resource not found
  • 500 Internal Server Error: Server-side error

Data Models

Meeting

Field
Type
Description
id
UUID
Unique identifier
title
String
Meeting title
description
String
Meeting description
start_time
DateTime
Meeting start time
end_time
DateTime
Meeting end time
location
String
Meeting location or platform
meeting_url
String
URL for virtual meetings
status
String
Meeting status (confirmed/cancelled/rescheduled)
calendar_event_id
String
External calendar event ID
organization
UUID
Reference to organization
company
UUID
Reference to associated company (optional)
deal
UUID
Reference to associated deal (optional)
created
DateTime
Creation timestamp
modified
DateTime
Last modification timestamp

Attendee

Field
Type
Description
id
UUID
Unique identifier
meeting
UUID
Reference to meeting
user
UUID
Reference to user (optional)
person
UUID
Reference to person (optional)
status
String
Attendance status (accepted/declined/pending)
created
DateTime
Creation timestamp
modified
DateTime
Last modification timestamp

Attachment

Field
Type
Description
id
UUID
Unique identifier
meeting
UUID
Reference to meeting
name
String
File name
file
File
Attachment file
content_type
String
MIME type of the file
size
Integer
File size in bytes
created
DateTime
Creation timestamp
modified
DateTime
Last modification timestamp
Submit
By clicking "Submit", you agree to our Terms of Service and Privacy Policy.
Logo footer
Thank you for your interest

You can download the PDF using the button below.

Oops! Something went wrong while submitting the form.