API Documentation

Build powerful integrations with MeeEasy. Our REST API allows you to programmatically manage meetings, transcripts, summaries, action items, and analytics.

Version 2.0

Get API Key

Generate your API key from the dashboard to start making requests

Make First Request

Test the API with a simple GET request to fetch meetings data

Explore SDKs

Use our official SDKs for JavaScript, Python, PHP, and Ruby

Introduction

The MeeEasy API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.

Base URL
https://api.meeeasy.com/v2

Authentication

The MeeEasy API uses API keys to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure!

Example Request
curl https://api.meeeasy.com/v2/meetings \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Authentication to the API is performed via HTTP Bearer Auth. Provide your API key as the bearer token value. All API requests must be made over HTTPS. Calls made over plain HTTP will fail.

Users

The Users object represents an individual user in your organization. You can create, retrieve, update, and delete users through the API.

GET /v2/users

Retrieves a paginated list of all users in your organization.

Query Parameters

Parameter Type Description
page integer Page number for pagination (default: 1)
limit integer Number of items per page (default: 20, max: 100)
search string Search users by name or email
status string Filter by status: active, inactive, suspended

Response Example (200 OK)

JSON Response
{
  "data": [
    {
      "id": "usr_1a2b3c4d5e",
      "email": "[email protected]",
      "name": "John Doe",
      "role": "member",
      "status": "active",
      "avatar_url": "https://cdn.meeeasy.com/avatars/john.jpg",
      "created_at": "2025-01-15T10:30:00Z",
      "last_active": "2025-12-10T14:22:00Z",
      "meetings_count": 48,
      "total_meeting_hours": 32.5
    }
  ],
  "pagination": {
    "current_page": 1,
    "total_pages": 5,
    "total_items": 94,
    "items_per_page": 20
  }
}
POST /v2/users

Creates a new user in your organization.

Request Body

Parameter Type Required Description
email string Required User's email address (must be unique)
name string Required User's full name
role string Optional User role: member, admin, manager (default: member)
department string Optional User's department
Request Example
curl -X POST https://api.meeeasy.com/v2/users \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "name": "Jane Smith",
    "role": "member",
    "department": "Engineering"
  }'

Action Items

Extract and manage action items from meeting transcripts. AI automatically identifies tasks, decisions, and follow-ups with assignees and due dates.

POST /v2/action-items

Creates a new action item from a meeting or manually adds one.

Request Body

Parameter Type Required Description
meeting_id string Required ID of the meeting this action item belongs to
title string Required Description of the action item
assignee_id string Optional User ID of the person responsible
due_date string Optional ISO 8601 date for completion deadline

Response Example (201 Created)

JSON Response
{
  "id": "act_9x8y7z6w5v",
  "meeting_id": "mtg_1a2b3c4d5e",
  "title": "Update Q1 sales forecast and share with team",
  "assignee_id": "usr_abc123def",
  "assignee_name": "Sarah Johnson",
  "due_date": "2025-12-15T17:00:00Z",
  "status": "pending",
  "created_at": "2025-12-10T15:30:00Z",
  "priority": "high",
  "source": "ai_extracted"
}

Webhooks

Webhooks allow you to receive real-time notifications about events in your organization. Configure webhook endpoints in your dashboard to receive POST requests when events occur.

Available Events

Event Description
user.created Triggered when a new user is created
meeting.completed Triggered when a meeting ends and processing completes
transcript.ready Triggered when meeting transcript is ready
summary.generated Triggered when AI summary is generated
action_item.created Triggered when a new action item is created
Webhook Payload Example
{
  "event": "meeting.completed",
  "timestamp": "2025-12-10T15:30:00Z",
  "data": {
    "meeting_id": "mtg_9x8y7z6w5v",
    "title": "Q1 Planning Session",
    "duration_minutes": 45,
    "participants": [
      {
        "id": "usr_1a2b3c4d5e",
        "email": "[email protected]",
        "name": "John Doe"
      }
    ],
    "transcript_url": "https://api.meeeasy.com/v2/transcripts/trn_abc123",
    "summary_url": "https://api.meeeasy.com/v2/summaries/sum_xyz789"
  }
}

Error Codes

MeeEasy uses conventional HTTP response codes to indicate the success or failure of an API request.

Code Description
200 OK - Request succeeded
201 Created - Resource successfully created
400 Bad Request - Invalid request parameters
401 Unauthorized - Invalid or missing API key
403 Forbidden - API key doesn't have permissions
404 Not Found - Resource doesn't exist
429 Too Many Requests - Rate limit exceeded
500 Internal Server Error - Something went wrong
Error Response Example
{
  "error": {
    "code": "invalid_request",
    "message": "The email field is required",
    "param": "email",
    "type": "validation_error"
  }
}