{
  "info": {
    "name": "CoordinateWith.Me API v1",
    "_postman_id": "cwm-api-v1-collection",
    "description": "# CoordinateWith.Me REST API v1\n\nOfficial Postman Collection for the CoordinateWith.Me Public API.\n\n## Authentication\nSet your collection variables `clientId` and `clientSecret` from your **My Connected Apps** page. Requests will automatically include the `X-Client-Id` and `X-Client-Secret` authentication headers.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "version": "1.0.0"
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://coordinatewith.me/api/v1",
      "type": "string",
      "description": "Base URL of the CoordinateWith.Me REST API"
    },
    {
      "key": "clientId",
      "value": "cwm_live_your_client_id_here",
      "type": "string",
      "description": "Your API Client ID from My Connected Apps"
    },
    {
      "key": "clientSecret",
      "value": "your_client_secret_here",
      "type": "string",
      "description": "Your API Client Secret"
    }
  ],
  "item": [
    {
      "name": "Attendees",
      "description": "Manage participants on active scheduling polls.",
      "item": [
        {
          "name": "Add Attendee to Poll",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"invitee@example.com\",\n  \"name\": \"Jordan Smith\",\n  \"role\": \"Required\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/polls/:id/attendees",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "polls",
                ":id",
                "attendees"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "101",
                  "description": "Meeting Poll ID"
                }
              ]
            },
            "description": "Add an attendee (by email and name) to an existing active poll."
          }
        },
        {
          "name": "Remove Attendee from Poll",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/polls/:id/attendees/:attendee_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "polls",
                ":id",
                "attendees",
                ":attendee_id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "101",
                  "description": "Meeting Poll ID"
                },
                {
                  "key": "attendee_id",
                  "value": "205",
                  "description": "Attendee ID to remove"
                }
              ]
            },
            "description": "Remove an attendee from a poll."
          }
        }
      ]
    },
    {
      "name": "Contacts",
      "description": "Search, add, update, and manage your private address book contacts and addresses.",
      "item": [
        {
          "name": "List / Search Contacts",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/contacts?search=",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contacts"
              ],
              "query": [
                {
                  "key": "search",
                  "value": "",
                  "description": "Search by name, email, or phone"
                }
              ]
            },
            "description": "List all contacts in your address book or filter by keyword search."
          }
        },
        {
          "name": "Create Contact",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"first_name\": \"Taylor\",\n  \"last_name\": \"Swift\",\n  \"email\": \"taylor@example.com\",\n  \"phone_number\": \"(615) 555-0100\",\n  \"home_street_address\": \"123 Music Row\",\n  \"home_city\": \"Nashville\",\n  \"home_state\": \"TN\",\n  \"home_postal_code\": \"37203\",\n  \"home_country\": \"US\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/contacts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contacts"
              ]
            },
            "description": "Create a new contact in your address book with optional home and work addresses."
          }
        },
        {
          "name": "Get Contact Details",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/contacts/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contacts",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "50",
                  "description": "Contact ID"
                }
              ]
            },
            "description": "Retrieve contact details, including home and work addresses."
          }
        },
        {
          "name": "Update Contact",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"phone_number\": \"(615) 555-0199\",\n  \"work_city\": \"Nashville\",\n  \"work_state\": \"TN\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/contacts/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contacts",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "50",
                  "description": "Contact ID"
                }
              ]
            },
            "description": "Update an existing contact's phone number, name, email, or addresses."
          }
        },
        {
          "name": "Delete Contact",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/contacts/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contacts",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "50",
                  "description": "Contact ID"
                }
              ]
            },
            "description": "Remove a contact from your address book."
          }
        }
      ]
    },
    {
      "name": "Identity & Health",
      "description": "API status, system health, and authenticated user identity.",
      "item": [
        {
          "name": "Health Check",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/health",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "health"
              ]
            },
            "description": "Check service status, API version, and uptime (public, no auth required)."
          }
        },
        {
          "name": "Get Profile (Me)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/me",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "me"
              ]
            },
            "description": "Return the profile of the authenticated user, client ID, and authorized scopes."
          }
        }
      ]
    },
    {
      "name": "Polls",
      "description": "Create and manage multi-option scheduling polls, vote tracking, and meeting finalization.",
      "item": [
        {
          "name": "List Polls",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/polls?status=In%20Progress&limit=20&offset=0",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "polls"
              ],
              "query": [
                {
                  "key": "status",
                  "value": "In Progress",
                  "description": "Filter by status (e.g. In Progress, Locked, Cancelled)"
                },
                {
                  "key": "limit",
                  "value": "20",
                  "description": "Max results to return (max 100)"
                },
                {
                  "key": "offset",
                  "value": "0",
                  "description": "Offset pagination"
                },
                {
                  "key": "include_archived",
                  "value": "false",
                  "description": "Include archived polls"
                }
              ]
            },
            "description": "List all scheduling polls organized or visible to the authenticated user."
          }
        },
        {
          "name": "Create Scheduling Poll",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"title\": \"Executive Strategy Sync\",\n  \"description\": \"Quarterly leadership review and resource allocation.\",\n  \"time_slots\": [\n    {\n      \"start_time\": \"2026-10-15T09:00:00\",\n      \"end_time\": \"2026-10-15T10:00:00\",\n      \"timezone\": \"America/New_York\"\n    },\n    {\n      \"start_time\": \"2026-10-15T14:00:00\",\n      \"end_time\": \"2026-10-15T15:00:00\",\n      \"timezone\": \"America/New_York\"\n    }\n  ],\n  \"locations\": [\n    {\n      \"name\": \"HQ 4th Floor Boardroom\",\n      \"city\": \"New York\"\n    }\n  ],\n  \"invitees\": [\n    {\n      \"email\": \"alex@example.com\",\n      \"name\": \"Alex Morgan\",\n      \"role\": \"Required\"\n    }\n  ]\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/polls",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "polls"
              ]
            },
            "description": "Create a new multi-option scheduling poll with proposed times, venues, and invitees."
          }
        },
        {
          "name": "Get Poll Details",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/polls/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "polls",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "101",
                  "description": "Meeting Poll ID"
                }
              ]
            },
            "description": "Retrieve comprehensive poll details, proposed times, venues, attendee responses, and ranked votes."
          }
        },
        {
          "name": "Update Poll",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"title\": \"Updated Strategy Sync\",\n  \"description\": \"Updated agenda items included.\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/polls/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "polls",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "101",
                  "description": "Meeting Poll ID"
                }
              ]
            },
            "description": "Update poll title, description, or status (e.g., Cancelled)."
          }
        },
        {
          "name": "Finalize Poll",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"winning_time_id\": 1,\n  \"winning_location_id\": 1\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/polls/:id/finalize",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "polls",
                ":id",
                "finalize"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "101",
                  "description": "Meeting Poll ID"
                }
              ]
            },
            "description": "Finalize/lock the poll to the winning time slot and location, cleaning up tentative calendar holds."
          }
        }
      ]
    },
    {
      "name": "QuickPolls",
      "description": "Rapid voting polls without full attendee account setup.",
      "item": [
        {
          "name": "List QuickPolls",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/quickpolls",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "quickpolls"
              ]
            },
            "description": "List all quick polls created by the authenticated user."
          }
        },
        {
          "name": "Create QuickPoll",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"title\": \"Quick Team Coffee Sync\",\n  \"duration_minutes\": 30,\n  \"time_slots\": [\n    \"2026-10-16T10:00:00\",\n    \"2026-10-16T11:00:00\",\n    \"2026-10-16T15:30:00\"\n  ]\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/quickpolls",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "quickpolls"
              ]
            },
            "description": "Create a rapid voting quick poll and receive public voting and short URLs."
          }
        },
        {
          "name": "Get QuickPoll Details",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/quickpolls/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "quickpolls",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "12",
                  "description": "QuickPoll ID"
                }
              ]
            },
            "description": "Retrieve quick poll details, voting counts, and participant responses."
          }
        }
      ]
    },
    {
      "name": "Invitations",
      "description": "Retrieve and respond to meeting requests and polls you have been invited to.",
      "item": [
        {
          "name": "List Invitations",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/invitations?status=Voting&limit=20",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "invitations"
              ],
              "query": [
                {
                  "key": "status",
                  "value": "Voting",
                  "description": "Filter by status: Voting, Locked, Cancelled, or all"
                },
                {
                  "key": "has_voted",
                  "value": "all",
                  "description": "Filter by vote status: true, false, or all"
                },
                {
                  "key": "limit",
                  "value": "20",
                  "description": "Max results to return"
                }
              ]
            },
            "description": "List meeting requests and polls the authenticated user has been invited to."
          }
        },
        {
          "name": "Get Invitation Details",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/invitations/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "invitations",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "101",
                  "description": "Meeting Poll ID"
                }
              ]
            },
            "description": "Retrieve in-depth details of a meeting you have been invited to, including proposed times, locations, and your current response."
          }
        },
        {
          "name": "Respond to Invitation (Vote)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"time_votes\": [\n    101,\n    102\n  ],\n  \"location_votes\": [\n    5\n  ],\n  \"none_work\": false,\n  \"note\": \"Looking forward to catching up!\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/invitations/:id/vote",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "invitations",
                ":id",
                "vote"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "101",
                  "description": "Meeting Poll ID"
                }
              ]
            },
            "description": "Submit or update availability and location preference votes on an invited meeting."
          }
        }
      ]
    },
    {
      "name": "Webhooks",
      "description": "Register and manage webhook callback endpoints for real-time event notifications.",
      "item": [
        {
          "name": "List Webhooks",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/webhooks",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhooks"
              ]
            },
            "description": "List all active and inactive webhook subscriptions for your account."
          }
        },
        {
          "name": "Register Webhook",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"target_url\": \"https://api.yourdomain.com/webhooks/cwm\",\n  \"events\": [\n    \"invitation.created\"\n  ],\n  \"description\": \"AI Assistant Webhook\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/webhooks",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhooks"
              ]
            },
            "description": "Register a new webhook callback URL and receive an HMAC-SHA256 signing secret."
          }
        },
        {
          "name": "Get Webhook Details & Logs",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/webhooks/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhooks",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "1",
                  "description": "Webhook ID"
                }
              ]
            },
            "description": "Retrieve subscription details and recent delivery logs for a specific webhook."
          }
        },
        {
          "name": "Test Webhook Ping",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/webhooks/:id/test",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhooks",
                ":id",
                "test"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "1",
                  "description": "Webhook ID"
                }
              ]
            },
            "description": "Send a test ping event to verify connectivity with the registered callback URL."
          }
        },
        {
          "name": "Delete Webhook",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Client-Id",
                "value": "{{clientId}}"
              },
              {
                "key": "X-Client-Secret",
                "value": "{{clientSecret}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/webhooks/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhooks",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "1",
                  "description": "Webhook ID"
                }
              ]
            },
            "description": "Revoke and permanently delete a webhook subscription."
          }
        }
      ]
    }
  ]
}