MCP — Model Context Protocol

Plug any LLM into Rheba.

76 tools — 34 read, 42 write — covering calendar, availability, groups, coordination, and spatial fit. OAuth 2.1 + PKCE + DPoP. Same surface from Claude, ChatGPT, Ollama, or your own client.

Overview

Hosted HTTP

POST https://rheba.io/mcp with JSON-RPC 2.0. One round-trip per call. Best for hosted LLM platforms (Claude.ai, ChatGPT plugins, custom apps).

Stdio (local)

@rheba/mcp-server — runs as a subprocess of Claude Desktop, Codex, or any MCP-compatible client. Owns its own OAuth dance + DPoP keypair.

Transport

Both transports speak JSON-RPC 2.0. The HTTP endpoint accepts tools/list, tools/call, and the standard initialize handshake. Tools/list is filtered by the token's scopes — an LLM never sees a tool it isn't authorized to call.

curl -X POST https://rheba.io/mcp \
  -H "Authorization: DPoP <access-token>" \
  -H "DPoP: <dpop-proof-jwt>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Authentication

OAuth 2.1 with PKCE. Tokens may optionally be sender-constrained with DPoP (RFC 9449) — the stdio client does this by default. The authorization-server metadata is served at the standard well-known location:

/.well-known/oauth-authorization-server

Dashboard → Apps shows connected agents and lets users disconnect any one of them with immediate effect.

POST /api/v1/auth/revoke for RFC 7009 token revocation.

Scopes

The user grants scopes during authorize. The MCP layer enforces them per tool call and filters the tool list at tools/list.

availability:read

Read the user's availability buckets and group mutual times.

backoffice:read

(no description)

backoffice:write

(no description)

cities:read

(no description)

coordinate:read

Read coordination requests and group proposals.

coordinate:write

Create proposals, respond to slots, finalize accepted slots.

credits:read

(no description)

events:read

Read the user's calendar (creator-only at the MCP boundary).

events:write

Create, update, delete, restore the user's events.

groups:read

List the user's groups and their members (names only).

groups:write

(no description)

notifications:read

(no description)

notifications:write

Create notifications attributable to this agent.

tasks:read

(no description)

tasks:write

(no description)

users:read

Search users in the caller's network (group-shared only).

Tool Catalog

76 tools

Below is the live catalog from the running server — sourced directly from app/mcp/tools.ts. Names, descriptions, and argument schemas update with each deploy.

rheba_add_group_member

Add a user to a group by userId, with a role (owner|admin|member|follower; default member). Caller must have manage-members permission in the group. Find a userId with rheba_search_users.

write

Scopes

groups:write

Arguments

groupIdstringrequired
userIdstringrequiredThe user to add (from rheba_search_users).
rolestringDefault 'member'.
rheba_auto_book_time

AUTO-BOOK — the write half of Auto-find. Re-runs the find, then HOLDS the best slot as a potential group event and invites every member (available ones flagged). Use after rheba_auto_find_time to commit the chosen slot in one step. slotIndex 0 = the chosen slot (default), 1+ = an alternative. Requires coordinator (create_bookings) authority. This creates a HOLD, not a confirmed event.

write

Scopes

events:writegroups:read

Arguments

groupIdstringrequired
titlestringrequiredEvent title for the hold.
durationMinutesnumberrequiredHow long the block needs to be.
startDatestringrequiredISO YYYY-MM-DD — window start.
endDatestringISO YYYY-MM-DD — window end (default = startDate).
slotIndexnumber0 = chosen (default), 1+ = an alternative.
modestringDefault 'all' (everyone free).
minMembersnumberFor mode 'most' — the floor (default = majority).
flavorstring
hourFromnumber0–24 — restrict to hours ≥ this.
hourTonumber0–24 — restrict to hours ≤ this.
policystringDefault 'soonest'.
rheba_auto_find_time

AUTO-FIND — the 'system decides' way to schedule. Given a group, a duration, and a date window, returns the SINGLE best time everyone (or the most people) is free, computed straight from the availability graph — no proposing, no voting. Returns { chosen, alternatives } for a one-tap confirm. mode 'all' (everyone free) | 'most' (with minMembers); policy 'soonest' (default) | 'max_attendance'. Use this instead of asking people 'when are you free?' — Rheba already knows.

read

Scopes

availability:readgroups:read

Arguments

groupIdstringrequired
durationMinutesnumberrequiredHow long the block needs to be.
startDatestringrequiredISO YYYY-MM-DD — window start.
endDatestringISO YYYY-MM-DD — window end (default = startDate).
modestringDefault 'all' (everyone free).
minMembersnumberFor mode 'most' — the floor (default = majority).
flavorstring
hourFromnumber0–24 — restrict to hours ≥ this.
hourTonumber0–24 — restrict to hours ≤ this.
policystringDefault 'soonest'.
rheba_bulk_clear_events

Soft-delete the user's scheduling events in a date range. Capped at 90 days per call.

write

Scopes

events:write

Arguments

startDatestringrequired
endDatestringrequired
rheba_cancel_job

Cancel a Back Office job and remove its booking events. Caller must dispatch for the job's group.

write

Scopes

backoffice:write

Arguments

jobIdstringrequired
rheba_cancel_proposal

Cancel (withdraw) a proposal you initiated while it's still in flight. Members are notified. Accepted / fully-declined / expired proposals can't be cancelled. Only the initiator may cancel.

write

Scopes

coordinate:write

Arguments

crCodestringrequired
rheba_check_spatial_fit

Pre-flight: can a candidate booking fit at the city + time given existing bookings?

read

Scopes

events:read

Arguments

datestringrequired
cityIdstringrequired
startTimestringrequired
endTimestringrequired
bufferMinutesnumber
rheba_claim_slot

Claim an opening on a board. You must be a group member. Capacity is enforced atomically — the last spot cannot be double-claimed. Re-claiming a slot you hold is a no-op.

write

Scopes

availability:readgroups:read

Arguments

claimIdstringrequired
slotIdstringrequired
rheba_close_claim_board

Close a claim board (no more claims). Creator or coordinator only.

write

Scopes

events:writegroups:read

Arguments

claimIdstringrequired
rheba_close_collection

Close a collection (no more share updates). Creator or coordinator only.

write

Scopes

groups:write

Arguments

collectionIdstringrequired
rheba_close_preference_poll

Close a preference round. Pass book=true to also HOLD the winning slot as a potential group event (inviting everyone) in one step. Only the round's creator or a group coordinator may close it.

write

Scopes

events:writegroups:read

Arguments

pollIdstringrequired
bookbooleanAlso book the winner.
rheba_commit_quorum

Commit to (or out of) a quorum round — stance 'in' or 'out'. You must be a group member. When the 'in' count reaches the threshold the event auto-locks and is scheduled.

write

Scopes

availability:readgroups:read

Arguments

quorumIdstringrequired
stancestringrequired
rheba_complete_job

Mark a Back Office job complete. Caller must dispatch for the job's group.

write

Scopes

backoffice:write

Arguments

jobIdstringrequired
rheba_complete_task

Mark a task as completed. Irreversible via MCP — use delete if you want to remove it instead.

write

Scopes

tasks:write

Arguments

eventIdstringrequiredTask eventId from rheba_list_tasks
rheba_convert_pipeline_lead

Convert an ACCEPTED booking-request lead into a dispatchable Job with unfilled role slots. Idempotent — re-converting the same lead returns the existing job. Caller must dispatch for the lead's group.

write

Scopes

backoffice:write

Arguments

requestIdstringrequired
rheba_create_claim_board

CLAIM — the 'who grabs it' way to coordinate. Post a set of limited openings (shifts, sub spots, volunteer slots, 'bring the drinks'); members claim them first-come. Each slot has an optional time and a capacity (default 1). Requires coordinator (create_bookings) authority.

write

Scopes

events:writegroups:read

Arguments

groupIdstringrequired
titlestringrequired
slotsarrayrequiredThe openings to post.
closesAtstringOptional ISO soft deadline.
rheba_create_collection

COLLECT MONEY from a group — dues, a split cost, a tip jar ('collect $20 each for the trip'). TRACKING only: Rheba records who owes/paid, it never holds or moves funds (payment happens off-app via payTo). Split one of three ways: `shares` (explicit per-member amounts) | `perMember` (everyone pays the same) | `total` (split equally). memberIds defaults to all group members. Requires coordinator (manage_members).

write

Scopes

groups:write

Arguments

groupIdstringrequired
titlestringrequired
currencystringDefault USD.
notestring
payTostringHow to pay (e.g. "Venmo @you", a link) — display only.
dueDatestringOptional ISO due date.
perMembernumberEveryone pays this amount.
totalnumberSplit this total equally.
memberIdsarrayWho to collect from (default all members).
sharesarray
rheba_create_event

Create a single non-recurring scheduling event. Default duration 1 hour. Use this for one-off events. For repeating series use rheba_create_recurring_events.

write

Scopes

events:write

Arguments

titlestringrequired
datestringrequiredISO YYYY-MM-DD
startTimestringrequiredHH:MM 24h, e.g. "14:30"
endTimestringHH:MM 24h. Defaults to startTime + 1 hour.
descriptionstring
cityIdstringCity id; defaults to user's home city
citystringDisplay name for the city
bufferMinutesnumber
rheba_create_group

Create a new group owned by the user. Groups are the core container for members, a shared calendar, and coordination. Free-tier users are limited to one group (returns an upgrade error beyond that). Returns the created group incl. its groupId.

write

Scopes

groups:write

Arguments

namestringrequired
descriptionstring
isPublicbooleanDefault false (private).
typeSlugstringOptional group type/category slug.
maxMembersnumberOptional cap; 0 = unlimited.
rheba_create_preference_poll

PREFERENCE — the 'members decide' way to schedule. Seeds candidate slots straight from the availability graph (only times that already work for the threshold), then members rank preference + confirm intent in one pass and the system picks the winner. NOT a blank poll, NOT a discussion — members only ever rank times everyone is already free for. Requires coordinator (create_bookings) authority. Returns the poll + its candidate slots (each with an index members vote by).

write

Scopes

events:writegroups:read

Arguments

groupIdstringrequired
titlestringrequired
durationMinutesnumberrequired
startDatestringrequiredISO YYYY-MM-DD — window start.
endDatestringISO YYYY-MM-DD — window end (default startDate).
modestring
minMembersnumber
flavorstring
hourFromnumber
hourTonumber
policystring
maxCandidatesnumberHow many slots to offer (2–10, default 5).
closesAtstringOptional ISO soft deadline.
rheba_create_proposal

Create a group coordination proposal with 3–5 candidate slots. Initiator must be a member of the target group. Slot 0 goes out for confirmation immediately; on any decline the cycle advances to the next slot. Always propose 3+ slots — single-slot proposals leave the recipient no real choice.

write

Scopes

coordinate:writegroups:read

Arguments

groupIdstringrequired
titlestringrequired
messagestring
proposedSlotsarrayrequiredMust propose 3-5 candidate slots so the recipient has real options to pick from.
expiresInMinutesnumber
rheba_create_quorum

QUORUM — the 'whether, not when' way to schedule. Propose a specific time and a threshold N; the event LOCKS IN only when ≥N members commit 'in' (else it doesn't happen). Pickup games, optional gigs, min-enrollment classes. Reaching the threshold auto-holds the time as a group event. Requires coordinator (create_bookings) authority.

write

Scopes

events:writegroups:read

Arguments

groupIdstringrequired
titlestringrequired
startDatestringrequiredISO YYYY-MM-DD of the proposed time.
startTimenumberrequiredHHMM military start (e.g. 1900).
durationMinutesnumberrequired
thresholdnumberrequiredMembers needed for it to happen.
closesAtstringOptional ISO soft deadline.
rheba_create_recurring_events

Create a recurring scheduling or task series.

write

Scopes

events:write

Arguments

titlestringrequired
anchorDatestringrequired
startTimestringrequired
endTimestringrequired
horizonMonthsnumberrequired
kindstringrequired
ruleobjectrequired
descriptionstring
cityIdstring
rheba_create_subgroup

Create a private subgroup under a parent group (e.g. a committee or team). Caller must have manage-members permission in the parent. Returns the new subgroup incl. its groupId.

write

Scopes

groups:write

Arguments

groupIdstringrequiredThe PARENT group id.
namestringrequired
descriptionstring
rheba_create_task

Create a personal task. Tasks can be flexible (floating, no time anchor) or pinned to a time slot. Use rheba_list_tasks to verify after creation.

write

Scopes

tasks:write

Arguments

titlestringrequiredTask title (required)
descriptionstring
startTimestringISO datetime for a pinned task
endTimestringISO datetime for a pinned task
flexiblebooleanTrue for floating tasks (default true)
deadlinestringISO datetime deadline
estimatedMinutesnumberEstimated duration in minutes
importancestring
urgencystring
rheba_delete_event

Delete a single scheduling event by id. For recurring series use rheba_delete_event_series with scope 'one' | 'following' | 'all'.

write

Scopes

events:write

Arguments

eventIdstringrequired
rheba_delete_event_series

Delete one occurrence, this and following, or the whole series.

write

Scopes

events:write

Arguments

eventIdstringrequired
scopestringrequired
rheba_delete_task

Delete (soft-delete) a personal task. Deleted tasks are not restorable via MCP. Prefer rheba_complete_task for tasks that are done.

write

Scopes

tasks:write

Arguments

eventIdstringrequiredTask eventId from rheba_list_tasks
rheba_find_group_availability

Mutual free times across all members of a group on a date range.

read

Scopes

availability:readgroups:read

Arguments

groupIdstringrequired
startDatestringrequired
endDatestring
rheba_find_group_availability_range

Mutual free times across a group over a date range. Wider than find_group_availability (which is single-day). Use for 'when can the family meet next week?' patterns.

read

Scopes

availability:readgroups:read

Arguments

groupIdstringrequired
startDatestringrequired
endDatestringrequired
flavorstring
rheba_find_mutual_with_person

When the user asks 'when can X and I meet?' — pass the person's first name. Returns mutual free times for the smallest group both share. Permission-gated: only finds people the user already shares at least one group with — if there's no match, the user is not connected to anyone by that name.

read

Scopes

availability:readgroups:readusers:read

Arguments

personNamestringrequiredThe other person's first name (or any substring of their name)
startDatestringrequiredISO YYYY-MM-DD
endDatestringISO YYYY-MM-DD (defaults to startDate)
rheba_get_availability

User's availability buckets for a date.

read

Scopes

availability:read

Arguments

datestringrequired
rheba_get_availability_buckets

Detailed availability breakdown for a date: avail (marked available), scheduled (booked by an event), other (unmarked free gaps), and a combined times array. Optionally filter by flavor.

read

Scopes

availability:read

Arguments

datestringrequiredISO YYYY-MM-DD
flavorstring
rheba_get_calendar

Return events the user CREATED in a date range. Does NOT return events the user was invited to or is attending — those are app-only and not exposed via MCP for privacy. Dates are ISO YYYY-MM-DD.

read

Scopes

events:read

Arguments

startDatestringrequiredISO YYYY-MM-DD
endDatestringISO YYYY-MM-DD
rheba_get_claim_board

Get a claim board: its slots, who claimed each, and remaining capacity.

read

Scopes

availability:readgroups:read

Arguments

claimIdstringrequired
rheba_get_collection

Get a collection: per-member shares (owed/paid/waived) + totals (total/collected/outstanding).

read

Scopes

groups:read

Arguments

collectionIdstringrequired
rheba_get_credit_balance

The user's Rheba credit balance (cents + a formatted dollar string), lifetime earned, and recent credit history.

read

Scopes

credits:read
rheba_get_day_cities

User's own bookings on a date with cities, ordered by start.

read

Scopes

events:readavailability:read

Arguments

datestringrequired
rheba_get_deleted_events

User's recently soft-deleted events.

read

Scopes

events:read

Arguments

rangeDaysnumber
rheba_get_group_analytics

Owner-facing group analytics: membership + COORDINATION THROUGHPUT (events, preference/quorum/claim rounds, collections, jobs — total + last 30 days), money coordinated, and last activity. Shows how much real coordination the group drives. Aggregate + read-only; coordinator (manage_members) only.

read

Scopes

groups:read

Arguments

groupIdstringrequired
rheba_get_job

Full detail of a Back Office job — role assignments + status. Caller must dispatch for the job's group.

read

Scopes

backoffice:read

Arguments

jobIdstringrequired
rheba_get_job_invoice

Get the recorded invoice for a job (number, status, online URL) if one has been created.

read

Scopes

backoffice:read

Arguments

jobIdstringrequired
rheba_get_job_payouts

List the per-assignee payout amounts recorded on a Back Office job.

read

Scopes

backoffice:read

Arguments

jobIdstringrequired
rheba_get_preference_poll

Get a preference round with its live tally — the candidate slots, each one’s score and preferred/ok/cant breakdown, and the current winner. Use to show members where the round stands.

read

Scopes

availability:readgroups:read

Arguments

pollIdstringrequired
rheba_get_proposal

Full state of a coordination proposal: current slot, all proposed slots, per-member responses, and cycle history. Caller must be initiator or member.

read

Scopes

coordinate:read

Arguments

crCodestringrequired
rheba_get_quorum

Get a quorum round: commitments, in/out counts, and whether the threshold is met.

read

Scopes

availability:readgroups:read

Arguments

quorumIdstringrequired
rheba_list_claim_boards

List the claim boards for a group (optionally only open ones).

read

Scopes

availability:readgroups:read

Arguments

groupIdstringrequired
openOnlyboolean
rheba_list_collections

List a group’s money collections (optionally only open ones).

read

Scopes

groups:read

Arguments

groupIdstringrequired
openOnlyboolean
rheba_list_group_members

Members of a group the caller belongs to.

read

Scopes

groups:read

Arguments

groupIdstringrequired
rheba_list_groups

List the user's groups.

read

Scopes

groups:read
rheba_list_jobs

List Back Office jobs across the groups you dispatch for (Business tier), newest first. Each carries a rolled-up status: filled | partially_filled | pending | at_risk.

read

Scopes

backoffice:read

Arguments

limitnumberDefault 30.
offsetnumberDefault 0.
rheba_list_notifications

List the user's own notifications, newest first. Set unreadOnly to show just the unread ones. Each has a title, body, type, read flag, and optional actionUrl.

read

Scopes

notifications:read

Arguments

unreadOnlybooleanOnly unread notifications.
limitnumberDefault 25.
offsetnumberDefault 0.
rheba_list_pipeline

List inbound booking-request leads across the groups you dispatch for, optionally filtered by status (pending|accepted|declined|cancelled). Convert an ACCEPTED lead into a job with rheba_convert_pipeline_lead.

read

Scopes

backoffice:read

Arguments

statusstring
rheba_list_preference_polls

List the preference rounds for a group (optionally only open ones).

read

Scopes

availability:readgroups:read

Arguments

groupIdstringrequired
openOnlyboolean
rheba_list_proposals

Group coordination proposals where the user is the initiator or an invited member. Includes status, current slot, and members' responses.

read

Scopes

coordinate:read
rheba_list_quorums

List the quorum rounds for a group (optionally only open ones).

read

Scopes

availability:readgroups:read

Arguments

groupIdstringrequired
openOnlyboolean
rheba_list_tasks

List the user's personal tasks. Filter by status ('pending'|'completed'|'all'), flexibility, and date range. Returns tasks the user created or was assigned. Personal tasks only — group / job tasks are a separate surface.

read

Scopes

tasks:read

Arguments

statusstringDefault 'pending'
flexiblebooleanFilter to flexible tasks only when true
dateFromstringISO YYYY-MM-DD — only tasks with startTime ≥ this date
dateTostringISO YYYY-MM-DD — only tasks with startTime ≤ this date
limitnumberDefault 50, max 100
rheba_mark_notifications_read

Mark the user's notification(s) read — one by notificationId, or all unread with all=true.

write

Scopes

notifications:write

Arguments

notificationIdstringMark this one read.
allbooleanMark every unread notification read.
rheba_mark_share_paid

Mark a member's share status in a collection. status 'paid' | 'owed' | 'waived' (default 'paid'). You may update your OWN share; a coordinator (manage_members) may update anyone's or 'waived'. userId defaults to you.

write

Scopes

groups:read

Arguments

collectionIdstringrequired
userIdstring
statusstring
rheba_release_claim

Give up an opening you claimed, freeing it for someone else.

write

Scopes

availability:readgroups:read

Arguments

claimIdstringrequired
slotIdstringrequired
rheba_remove_group_member

Remove a user from a group. Removing YOURSELF (leaving) needs no special permission; removing anyone else requires manage-members permission.

write

Scopes

groups:write

Arguments

groupIdstringrequired
userIdstringrequired
rheba_resolve_quorum

Finalize a quorum round now (deadline/manual). If the threshold is met it locks in and books the time; otherwise it's marked 'nogo'. Creator or coordinator only.

write

Scopes

events:writegroups:read

Arguments

quorumIdstringrequired
rheba_respond_to_proposal

Confirm or decline the current slot of a proposal. Caller must be a member of the proposal. A reason is required when declining.

write

Scopes

coordinate:write

Arguments

crCodestringrequired
responsestringrequired
reasonstring
rheba_restore_events

Restore soft-deleted events by id list.

write

Scopes

events:write

Arguments

idsarrayrequired
rheba_schedule_job

Create a Back Office job (a gig) directly, assigning team members to role slots. Auto-confirms the assignees (owner direct-assign) and creates one booking event per assignee. For invite-based staffing use the pipeline/dispatch flow instead. Business tier + dispatch capability required.

write

Scopes

backoffice:write

Arguments

dispatchGroupIdstringrequiredThe group you dispatch for.
titlestringrequired
datestringrequiredYYYY-MM-DD
startHournumberrequired0–23
endHournumberrequired0–23
venuestring
notesstring
slotsarrayrequiredOne entry per role to staff. assignedUserIds from rheba_list_group_members / rheba_search_users.
rheba_search_cities

Search cities by name (supports 'City, ST' format). Returns cityId, city, state, and stateName. Use cityId when creating events with a specific city. Results are sorted by population descending.

read

Scopes

cities:read

Arguments

querystringrequiredCity name or 'City, ST' (e.g. 'Nashville, TN')
limitnumberDefault 8, max 20
rheba_search_users

Search the user's network by name or email. Scoped to people who share a group with the caller — not a global directory. Use to resolve names like 'Brad' to userIds before calling availability tools.

read

Scopes

users:read

Arguments

querystringrequiredName or email substring (≥2 chars)
limitnumber
rheba_send_notification

Send a notification to a Rheba user (e.g. a reminder or update). It's sent FROM the current user's account. Find a recipient userId with rheba_search_users. Not for bulk/marketing sends.

write

Scopes

notifications:write

Arguments

recipientIdstringrequiredThe user to notify (from rheba_search_users).
titlestringrequired
bodystringrequired
typestringCategory, e.g. 'reminder'. Default 'agent_message'.
actionUrlstringOptional deep link the notification opens.
rheba_set_job_client

Set the billing client on a job — either a Rheba user/group on the network (kind='network' with clientType + clientId) or an off-network contact (kind='inline' with name + optional email/phone). This is who the job's invoice bills.

write

Scopes

backoffice:write

Arguments

jobIdstringrequired
kindstringrequired
clientTypestringnetwork only
clientIdstringnetwork only — the user/group id
namestringinline only
emailstringinline only
phonestringinline only
rheba_set_job_payout

Set (upsert) one assignee's payout amount on a job. amount is a non-negative number in the given currency (default USD). Records the intended payout; pushing it to accounting is a separate Xero-connected step.

write

Scopes

backoffice:write

Arguments

jobIdstringrequired
userIdstringrequiredThe assignee to pay.
amountnumberrequired
currencystringISO code; default 'USD'.
rheba_set_member_role

Change a member's role in a group (admin|member|follower). Caller needs manage-members permission. The owner's role can only be changed by the owner. 'owner' cannot be assigned here.

write

Scopes

groups:write

Arguments

groupIdstringrequired
userIdstringrequired
rolestringrequired
rheba_submit_preference_vote

Cast (or update) your ballot in a preference round. prefs maps a candidate index to a rating: 'preferred' (this is my pick), 'ok' (I can do it), or 'cant' (free but won't). Omitted candidates default to 'ok'. You must be a member of the round's group. Returns the updated tally.

write

Scopes

availability:readgroups:read

Arguments

pollIdstringrequired
prefsobjectrequiredMap of candidate index → 'preferred'|'ok'|'cant'.
rheba_today

Today's date in ISO + RDate.

read
rheba_update_group

Update a group's name, description, and/or public visibility. Caller must have edit-settings permission (owner/admin). Send only the fields you want to change.

write

Scopes

groups:write

Arguments

groupIdstringrequired
namestring
descriptionstring
isPublicboolean
rheba_update_proposal

Edit a proposal you initiated while it's still in flight: title, message, expiry, and/or the candidate slots. Slots can only be changed BEFORE any member has responded (afterwards, cancel and create a fresh one). Only the initiator may edit; provide only the fields you want to change.

write

Scopes

coordinate:write

Arguments

crCodestringrequired
titlestring
messagestring
proposedSlotsarrayReplacement candidate slots (1-5). Only allowed before anyone has responded.
expiresInMinutesnumber
rheba_update_task

Update editable fields on a task — title, description, times, deadline, priority, flexibility. Pass only the fields you want to change; omitted fields are preserved.

write

Scopes

tasks:write

Arguments

eventIdstringrequiredTask eventId from rheba_list_tasks
titlestring
descriptionstring
startTimestringISO datetime
endTimestringISO datetime
flexibleboolean
deadlinestringISO datetime deadline
estimatedMinutesnumber
importancestring
urgencystring