Open Morse

Reference

Access

6 routes, generated from Morse’s own OpenAPI document. Every path below hangs off the base URL, and every one needs the bearer header.

The examples are built from each route’s schema, so the shapes and types are exactly what the API declares. The values are illustrative, and no one has run them.

Who may read a finished meeting's notes, and whether with the figures and recording.

GET/meetings/{meeting_id}/access

The host, or an admin.

GET/meetings/{meeting_id}/access

curl "$MORSE/meetings/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60/access" \
  -H "Authorization: Bearer $MORSE_TOKEN"
200
{
  "addable": [
    {
      "email": "priya@neuralarc.ai",
      "name": "Priya Shah",
      "title": "Pricing review",
      "user_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60"
    }
  ],
  "asks": [
    {
      "asked_at": "2026-10-02T10:30:00+05:30",
      "email": "priya@neuralarc.ai",
      "kind": "…",
      "name": "Priya Shah",
      "title": "Pricing review",
      "user_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60"
    }
  ],
  "people": [
    {
      "email": "priya@neuralarc.ai",
      "figures": true,
      "granted_at": "2026-10-02T10:30:00+05:30",
      "name": "Priya Shah",
      "recording": true,
      "title": "Pricing review",
      "user_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60"
    }
  ]
}

Whether this person may ask the host, for what, and where their ask stands.

GET/meetings/{meeting_id}/access-request

Answers anyone signed in, like GET /meetings/{id}: it says nothing about the meeting beyond what that already does.

GET/meetings/{meeting_id}/access-request

curl "$MORSE/meetings/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60/access-request" \
  -H "Authorization: Bearer $MORSE_TOKEN"
200
{
  "asked_at": "2026-10-02T10:30:00+05:30",
  "can_ask": true,
  "kind": "…",
  "retry_at": "2026-10-02T10:30:00+05:30",
  "state": "…"
}

Ask for the notes, or for the figures in the version this person has.

POST/meetings/{meeting_id}/access-request

The host picks what to give; an ask never sets the level (plan 013 D3).

POST/meetings/{meeting_id}/access-request

curl -X POST "$MORSE/meetings/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60/access-request" \
  -H "Authorization: Bearer $MORSE_TOKEN" \
  -H "x-timezone: Asia/Kolkata"
200
{
  "asked_at": "2026-10-02T10:30:00+05:30",
  "can_ask": true,
  "kind": "…",
  "retry_at": "2026-10-02T10:30:00+05:30",
  "state": "…"
}

Set an ask aside.

POST/meetings/{meeting_id}/access-requests/{user_id}/dismiss

The asker is not told, and may ask again in three days.

POST/meetings/{meeting_id}/access-requests/{user_id}/dismiss

curl -X POST "$MORSE/meetings/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60/access-requests/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60/dismiss" \
  -H "Authorization: Bearer $MORSE_TOKEN"
200
{
  "addable": [
    {
      "email": "priya@neuralarc.ai",
      "name": "Priya Shah",
      "title": "Pricing review",
      "user_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60"
    }
  ],
  "asks": [
    {
      "asked_at": "2026-10-02T10:30:00+05:30",
      "email": "priya@neuralarc.ai",
      "kind": "…",
      "name": "Priya Shah",
      "title": "Pricing review",
      "user_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60"
    }
  ],
  "people": [
    {
      "email": "priya@neuralarc.ai",
      "figures": true,
      "granted_at": "2026-10-02T10:30:00+05:30",
      "name": "Priya Shah",
      "recording": true,
      "title": "Pricing review",
      "user_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60"
    }
  ]
}

Give someone access, or change what they have.

PUT/meetings/{meeting_id}/access/{user_id}

Only someone who was in the meeting: the panel never widens who may read it (plan 013 R5).

PUT/meetings/{meeting_id}/access/{user_id}

curl -X PUT "$MORSE/meetings/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60/access/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60" \
  -H "Authorization: Bearer $MORSE_TOKEN" \
  -H "x-timezone: Asia/Kolkata" \
  -H "Content-Type: application/json" \
  -d '{ "figures": true }'
200
{
  "addable": [
    {
      "email": "priya@neuralarc.ai",
      "name": "Priya Shah",
      "title": "Pricing review",
      "user_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60"
    }
  ],
  "asks": [
    {
      "asked_at": "2026-10-02T10:30:00+05:30",
      "email": "priya@neuralarc.ai",
      "kind": "…",
      "name": "Priya Shah",
      "title": "Pricing review",
      "user_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60"
    }
  ],
  "people": [
    {
      "email": "priya@neuralarc.ai",
      "figures": true,
      "granted_at": "2026-10-02T10:30:00+05:30",
      "name": "Priya Shah",
      "recording": true,
      "title": "Pricing review",
      "user_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60"
    }
  ]
}

Take someone's access away.

DELETE/meetings/{meeting_id}/access/{user_id}

Nobody is emailed (plan 013 R6).

DELETE/meetings/{meeting_id}/access/{user_id}

curl -X DELETE "$MORSE/meetings/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60/access/3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60" \
  -H "Authorization: Bearer $MORSE_TOKEN"
200
{
  "addable": [
    {
      "email": "priya@neuralarc.ai",
      "name": "Priya Shah",
      "title": "Pricing review",
      "user_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60"
    }
  ],
  "asks": [
    {
      "asked_at": "2026-10-02T10:30:00+05:30",
      "email": "priya@neuralarc.ai",
      "kind": "…",
      "name": "Priya Shah",
      "title": "Pricing review",
      "user_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60"
    }
  ],
  "people": [
    {
      "email": "priya@neuralarc.ai",
      "figures": true,
      "granted_at": "2026-10-02T10:30:00+05:30",
      "name": "Priya Shah",
      "recording": true,
      "title": "Pricing review",
      "user_id": "3f9c1a24-5e6f-4b31-9a77-1b2c3d4e5f60"
    }
  ]
}