Zum Inhalt springen
Dokumentationsseiten

MCP server

https://api.cadae.ai/mcp — one endpoint, every Cadae tool, scoped to the caller's permissions.

Transport

Streamable HTTP (the MCP standard). The server responds to initialize, tools/list and tools/call. Unauthenticated calls get a 401 with a WWW-Authenticate header pointing at the protected-resource metadata, so clients can discover OAuth automatically.

Tools

Tools are scope-filtered: a credential sees only the tools its scopes allow.

A tool marked destructive is two-phase. The first call writes nothing and answers with a one-shot confirmToken; repeat the call with that token and the same arguments to run it. A token minted for different arguments does not authorise the call.

ToolScopeWhatNotes
access_events_listactivities.readAccess and membership audit eventsread-only
activities_listactivities.readPortfolio audit feedread-only
annual_confirmation_confirmphi.writeAnswer an annual property-model confirmation
annual_confirmation_pendingphi.readThe hotel's annual property-model confirmationsread-only
applicability_overrides_listphi.readThe hotel's applicability overridesread-only
asset_types_listprojects.readAsset types this Portfolio can use, with their active configurable fieldsread-only
assumptions_approvedphi.readThe hotel's approved assumptions for a periodread-only
assumptions_listphi.readThe hotel's assumption needs and valuesread-only
assumptions_propose_needphi.writePropose that an assumption is needed
bills_addressphi.readThe hotel's bill forwarding addressread-only
bills_archivephi.writeArchive an inbound bill
bills_attach_manuallyphi.writeAttach a bill to a source and a draft month by hand
bills_confirm_matchphi.writeConfirm a suggested match
bills_decline_matchphi.writeDecline a suggested match
bills_ensure_addressphi.writeMint the hotel's bill forwarding address
bills_getphi.readOne inbound bill and its suggested matchesread-only
bills_listphi.readThe hotel's bill inboxread-only
bills_retry_extractionphi.writeRead an inbound bill again
bills_suggestionsphi.readThe suggested matches for one billread-only
bills_uploadphi.writeAdd a finalised document to the bill inbox
boundary_rules_approvedphi.readThe hotel's boundary rules in force on a date (approved, or superseded after it)read-only
boundary_rules_listphi.readThe hotel's calculation-boundary rulesread-only
boundary_rules_proposephi.writePropose a calculation-boundary rule
budgets_ledgerprojects.readThe append-only budget ledger for one hotel and budget yearread-only
budgets_positionprojects.readThe delegated budget position for one hotel and budget yearread-only
budgets_setbudgets.writeSet a hotel's delegated budget for one budget year
building_sections_removephi.writeRemove a building section from the hotel's draft property modeldestructive, needs confirmToken
building_sections_upsertphi.writeCreate or change a building section of the hotel's draft property model
context_landingviewer.readWhere the signed-in user landsread-only
context_resolveviewer.readResolve and re-authorise a route contextread-only
context_treeviewer.readAuthorised Portfolios and hotels for the switcherread-only
corrections_listphi.readThe hotel's correction requests and Cadae's answersread-only
data_gaps_acknowledgephi.writeAcknowledge a data gap
data_gaps_listphi.readThe hotel's open data gapsread-only
data_sources_activephi.readThe hotel's data sources active on a dateread-only
data_sources_closephi.writeClose a data source of the hotel
data_sources_createphi.writeRegister a data source for the hotel
data_sources_listphi.readThe hotel's data-source registerread-only
data_sources_replacephi.writeReplace a meter of the hotel, with its closing and opening readings
data_sources_updatephi.writeChange an active data source of the hotel
documents_create_download_urldocuments.readMint a signed download URL for a document versionread-only
documents_create_referencedocuments.writeRecord reference-only evidence and link it to the record it supports
documents_create_upload_urldocuments.writeReserve a document and mint a signed upload URL
documents_create_versiondocuments.writeReplace a document with a new version
documents_downloaddocuments.readDownload a document version (REST streams the file)read-only
documents_finalise_uploaddocuments.writeFinalise an uploaded document version
documents_getdocuments.readOne document, with its versions and linksread-only
documents_linkdocuments.writeAttach a document to a record
documents_listdocuments.readDocuments attached to a record, or held at a scoperead-only
documents_markdocuments.writeMark a version superseded or added in errordestructive, needs confirmToken
documents_requirements_statusdocuments.readThe document categories one of a Project's gates requires, each with whether a live document satisfies itread-only
documents_unlinkdocuments.writeDetach a document from a recorddestructive, needs confirmToken
facility_closures_removephi.writeRemove a closure from the hotel's draft property modeldestructive, needs confirmToken
facility_closures_upsertphi.writeRecord or change a closure in the hotel's draft property model
facility_presence_setphi.writeAnswer whether the hotel has a facility
facility_systems_closephi.writeClose a facility system of the hotel's draft property model
facility_systems_link_areasphi.writeSet the usage areas a facility system serves
facility_systems_upsertphi.writeRecord or change a facility system in the hotel's draft property model
hotel_activityactivities.readA hotel's activityread-only
hotel_check_namehotel.writeWould this hotel name be refused as a duplicate?read-only
hotel_createhotel.writeCreate hotel
hotel_gethotel.readOne hotelread-only
hotel_listhotel.readHotels I can accessread-only
hotel_members_grantmembers.writeGrant hotel access
hotel_members_listmembers.readHotel membersread-only
hotel_members_revokemembers.writeRevoke hotel accessdestructive, needs confirmToken
hotel_moduleshotel.readModules enabled for a hotelread-only
hotel_set_lifecyclehotel.writeSet hotel lifecycle statusdestructive, needs confirmToken
hotel_set_primary_contactmembers.writeSet a hotel's primary contact
hotel_updatehotel.writeUpdate hotel
invites_cancelinvites.writeCancel an invitationdestructive, needs confirmToken
invites_createinvites.writeInvite a member
invites_create_batchinvites.writeInvite several people
invites_listmembers.readList invitationsread-only
invites_resendinvites.writeResend an invitation
invites_retry_deliveryinvites.writeRetry a failed invitation delivery
invites_updateinvites.writeEdit and resend an invitationdestructive, needs confirmToken
members_listmembers.readPortfolio membersread-only
members_removal_previewmembers.readOpen work and assignments a removal would affectread-only
members_removemembers.writeRemove a member from the Portfoliodestructive, needs confirmToken
members_restoremembers.writeRestore a suspended Portfolio membership
members_send_access_instructionsmembers.writeEmail a member their sign-in instructions
members_suspendmembers.writeSuspend a Portfolio membershipdestructive, needs confirmToken
members_update_accessmembers.writeChange a member's role, department or hotels
notifications_listnotifications.readMy notificationsread-only
organisation_getorganisation.readPortfolio detailread-only
organisation_listorganisation.readPortfolios I can openread-only
organisation_updateorganisation.writeUpdate a Portfolio
people_check_contactsmembers.readCheck contacts before invitingread-only
people_getmembers.readOne person's accessread-only
people_listmembers.readPeople and accessread-only
people_summarymembers.readPeople and access summary countsread-only
period_findings_explainphi.writeExplain a validation finding
periods_ensure_baselinephi.writeCreate the hotel's baseline reporting months
periods_getphi.readOne reporting monthread-only
periods_historyphi.readThe input versions of one reporting monthread-only
periods_listphi.readThe hotel's reporting monthsread-only
periods_readinessphi.readThe month's ready-to-submit checklistread-only
periods_request_correctionphi.writeAsk Cadae to correct a locked or published month
periods_save_draftphi.writeSave a month's draft data
periods_submitphi.writeSubmit a month to Cadae
periods_submitted_versionphi.readThe submitted input version of a monthread-only
periods_validatephi.writeRe-run the validation catalogue over a month
phi_contacts_forphi.readThe hotel's PHI data contactsread-only
phi_contacts_setphi.writeSet the hotel's PHI data contacts
phi_dashboard_category_driversphi.readThe hotel's largest PHI category driversread-only
phi_dashboard_coveragephi.readThe hotel's PHI data coverageread-only
phi_dashboard_intensityphi.readThe hotel's operational intensity measuresread-only
phi_dashboard_point_detailphi.readOne point of the PHI series, in detailread-only
phi_dashboard_resource_trendphi.readOne resource's monthly trendread-only
phi_dashboard_seriesphi.readThe hotel's PHI over timeread-only
phi_dashboard_summaryphi.readThe hotel dashboard's headline cards and noticesread-only
phi_dashboard_yearly_totalsphi.readOne resource's published calendar-year totalsread-only
phi_events_archiveevents.writeArchive a PHI eventdestructive, needs confirmToken
phi_events_createevents.writeCreate a PHI event as a draft
phi_events_getevents.readOne PHI eventread-only
phi_events_listevents.readPHI events I can see, filteredread-only
phi_events_publishevents.writePublish a PHI event
phi_events_set_dateevents.writeMove a PHI event's date
phi_events_timelineevents.readThe PHI event markers for a chartread-only
phi_events_updateevents.writeEdit a PHI event
phi_import_confirmphi.writeApply a validated import to the hotel's drafts
phi_import_discardphi.writeDiscard a staged import
phi_import_getphi.readOne staged importread-only
phi_import_mappingsphi.readA hotel's saved import source mappingsread-only
phi_import_remapphi.writeMap several source labels to registered meters
phi_import_resolvephi.writeDecide what to do with one staged row
phi_import_rowsphi.readThe staged rows of one importread-only
phi_import_stagephi.writeOpen a staged import over an uploaded workbook
phi_import_validatephi.writeParse and classify a staged import
phi_imports_listphi.readA hotel's staged importsread-only
phi_results_breakdownphi.readOne result's category totals and intensity measuresread-only
phi_results_carbonphi.readOne published month's CO₂ outputsread-only
phi_results_confidencephi.readOne result's confidence level and reasonread-only
phi_results_correction_historyphi.readThe correction history of a published windowread-only
phi_results_costphi.readOne published month's eligible cost and theoretical cost gapread-only
phi_results_for_projectsphi.readPublished PHI quantities with their publication idsread-only
phi_results_getphi.readOne PHI publication and the windows it publishedread-only
phi_results_latestphi.readThe hotel's latest published PHI resultread-only
phi_results_listphi.readThe hotel's published PHI resultsread-only
phi_source_selections_listphi.readThe source selections recorded for a hotelread-only
phi_summary_actionsphi.readThe Portfolio's action progress: Savings Task buckets, Projects by stage and what completed in the periodread-only
phi_summary_hotel_actionsphi.readA hotel's action progress: Savings Task buckets, Projects by stage and what completed in the periodread-only
phi_summary_hotel_moneyphi.readA hotel's money story: savings realised in the period, the remaining opportunity and the investment return — three figures, never addedread-only
phi_summary_hotel_risksphi.readA hotel's risk summary: open findings by severity, the oldest unresolved and the top typesread-only
phi_summary_moneyphi.readThe Portfolio's money story: savings realised in the period, the remaining opportunity and the investment return — three figures, never addedread-only
phi_summary_risksphi.readThe Portfolio's risk summary: open findings by severity, the oldest unresolved, the top types and the hotels affectedread-only
phi_templatephi.readThe hotel's PHI data template (REST streams the .xlsx workbook)read-only
portfolio_category_breakdownphi.readThe Portfolio's PHI category breakdownread-only
portfolio_compare_hotelsphi.readUp to five hotels side by sideread-only
portfolio_comparison_groupsphi.readThe Portfolio dashboard's four hotel comparison groupsread-only
portfolio_confidence_breakdownphi.readEach hotel's PHI confidence, behind the Portfolio countsread-only
portfolio_context_markersphi.readThe Portfolio's cohort context markersread-only
portfolio_data_coveragephi.readThe Portfolio's PHI data coverageread-only
portfolio_export_league_tablephi.readThe Portfolio's hotels league table as CSV (REST streams the file)read-only
portfolio_intensityphi.readThe Portfolio's intensity measures, as ratios of totalsread-only
portfolio_league_tablephi.readThe Portfolio's hotels league tableread-only
portfolio_phi_trendphi.readPHI over time, one line per hotelread-only
portfolio_resource_trendphi.readOne resource's monthly totals across the Portfolioread-only
portfolio_summaryphi.readThe Portfolio's PHI headline cardsread-only
programmes_archiveprojects.writeArchive a programme label
programmes_createprojects.writeCreate a programme label
programmes_listprojects.readThe Portfolio's programme labelsread-only
programmes_updateprojects.writeRename a programme or change its description
project_adjusted_pipeline_setprojects.writeChoose which Projects of an overlap group count in the adjusted pipeline
project_assets_archiveprojects.writeArchive an asset record (kept, read-only)destructive, needs confirmToken
project_assets_createprojects.writeCreate an asset record, with its first configured answers
project_assets_getprojects.readOne asset record, with its answers and (optionally) their historyread-only
project_assets_listprojects.readA hotel's asset records, with their configured field answersread-only
project_assets_set_field_valuesprojects.writeAnswer an asset record's configured fields
project_assets_updateprojects.writeChange an asset record's name, location, quantity or details
project_business_case_exportprojects.writeGenerate a Project's business case as a PDF, filed in its Documents as Generated by Cadae — answers the export request and its state (stored, pending or failed)
project_business_case_export_statusprojects.readThe state of a business-case PDF export you requested: stored (with a download URL), pending or failedread-only
project_business_case_getprojects.readA Project's business case: Cadae's calculated summary and the hotel team's sectionsread-only
project_business_case_mark_reviewedprojects.writeMark a Project's business-case sections reviewed against its current figures
project_business_case_printprojects.readA Project's business case as a printable HTML document, in the hotel's language — about 350 KB, most of it the inlined typefaceread-only
project_business_case_section_updateprojects.writeWrite one section of a Project's business case
project_collaborators_addprojects.writePut somebody on this Project, or change the role they hold
project_collaborators_listprojects.readWho is on this Project, and which of the hotel's people may be addedread-only
project_collaborators_removeprojects.writeTake somebody off this Projectdestructive, needs confirmToken
project_comments_createprojects.writePost a comment, mentioning colleagues with @name
project_comments_listprojects.readA Project's comments, newest firstread-only
project_completeprojects.writeComplete a Project — refused 412 until every item of the completion checklist is metdestructive, needs confirmToken
project_completion_readinessprojects.readThe Complete checklist, over the stored answers or a draft of them — nothing is savedread-only
project_confidence_listprojects.readThe confidence judgements recorded on this Projectread-only
project_confidence_recordprojects.writeRecord a confidence judgement, with its reason
project_costs_addprojects.writeRecord an actual cost (VAT-exclusive) — posted to the hotel's budget ledger as actual spend
project_costs_confirm_proposalprojects.writeConfirm a supplier invoice the bill inbox proposed — recorded as an actual cost and posted to the ledger, as the person confirming; the document's figures may be corrected
project_costs_dismiss_proposalprojects.writeDismiss a supplier invoice the bill inbox proposed, with the reason — nothing is recorded or posted
project_costs_listprojects.readA Project's actual costs, the cost to date, the forecast and the variances against the approved amount and the preferred quoteread-only
project_costs_updateprojects.writeCorrect an actual cost — a changed amount posts its difference to the ledger
project_delivery_readinessprojects.readThe Start delivery checklist: every item with whether it is satisfied and why notread-only
project_delivery_startprojects.writeStart delivery — refused 412 until every item of the delivery checklist is metdestructive, needs confirmToken
project_financials_accept_recalculationprojects.writeAccept a Project's recalculation: re-pin a stale PHI baseline and recompute its figures
project_financials_snapshotprojects.writeSave this Project's figures as a new immutable version
project_financials_summaryprojects.readA Project's financial position, computed now, with its stored versionread-only
project_financials_versionsprojects.readThe immutable financial versions, newest firstread-only
project_funding_deleteprojects.writeRemove one external funding row from the live set
project_funding_listprojects.readA Project's external funding, confirmed and potentialread-only
project_funding_upsertprojects.writeCreate or replace one external funding row
project_inbox_proposals_listprojects.readThe supplier invoices and quotes the bill inbox proposed to a Project, pending first — none is a recorded cost or quote until confirmedread-only
project_investment_lines_deleteprojects.writeRemove one investment line from the live set
project_investment_lines_listprojects.readA Project's investment linesread-only
project_investment_lines_upsertprojects.writeCreate or replace one investment line (VAT-exclusive)
project_milestones_assignprojects.writeAssign or clear a milestone's owner (an active person with access to the hotel)
project_milestones_completeprojects.writeComplete a milestone on a date (the go-live milestone raises project.went_live)
project_milestones_createprojects.writeAdd a milestone to a Project's plan
project_milestones_deleteprojects.writeTake a milestone out of the plan (a completed one stays)
project_milestones_listprojects.readA Project's milestones, with overdue derived in the hotel's time zone and owner access shownread-only
project_milestones_set_go_liveprojects.writeMake this milestone the Project's one operational go-live
project_milestones_updateprojects.writeReplace a milestone's fields (a date change keeps the previous date in history)
project_overlap_groups_listprojects.readThe overlap groups this Project sits in, and which options count in the adjusted pipelineread-only
project_overview_getprojects.readA Project's identity, scope and datesread-only
project_overview_updateprojects.writeEdit a Project's scope, dates and narrative
project_quote_required_setprojects.writeSay whether Start delivery needs a preferred quote; “no quote required” carries its reason
project_quotes_compareprojects.readThe live quotes side by side, with missing-document, expired and scope-mismatch warningsread-only
project_quotes_confirm_financialsprojects.writeConfirm the preferred quote into a new financial version (investment lines, recurring cost, ROI)
project_quotes_confirm_proposalprojects.writeConfirm a supplier's quote the bill inbox proposed — recorded as a received quote, as the person confirming; nothing is preferred or confirmed into the figures
project_quotes_createprojects.writeRecord a supplier's quote (received; nothing about the Project moves)
project_quotes_dismiss_proposalprojects.writeDismiss a supplier's quote the bill inbox proposed, with the reason — no quote is recorded
project_quotes_link_investment_linesprojects.writeSet the investment lines a quote supports (replaces the set)
project_quotes_listprojects.readA Project's quotes, each with its displayed status (Expired derived in the hotel's time zone)read-only
project_quotes_set_preferredprojects.writePrefer a quote, with a reason — answers the proposed financial changes and writes none of them
project_quotes_updateprojects.writeReplace a quote's typed fields (a confirmed quote's total and recurring cost are fixed)
project_quotes_withdrawprojects.writeWithdraw a quote from the running; its figures and file stay
project_relationships_clearprojects.writeMake two Projects independent again
project_relationships_listprojects.readProjects this one depends on, overlaps or is an alternative toread-only
project_relationships_setprojects.writeState how this Project relates to another
project_saving_lines_deleteprojects.writeRemove one saving line from the live set
project_saving_lines_listprojects.readA Project's saving linesread-only
project_saving_lines_previewprojects.readPrice one saving line against this Project's assumptions, without saving itread-only
project_saving_lines_upsertprojects.writeCreate or replace one saving line
project_templates_getprojects.readOne Project template version and everything it gives a Projectread-only
project_templates_listprojects.readProject templates this Portfolio can create a Project fromread-only
project_utility_assumptionsprojects.readThe prices this Project is costed at, per resource and budget year, with their basisread-only
project_utility_overrides_deleteprojects.writeDrop a Project price override, so the hotel's forecast answers again
project_utility_overrides_upsertprojects.writeSet a Project-only unit price for one resource and year
project_verification_acceptprojects.writeAccept the verification: the verified saving becomes the realised saving, derived onceneeds confirmToken
project_verification_draftprojects.writeRecord the verified annual saving per resource, with its method, period and evidence
project_verification_getprojects.readA Project's savings verification, its variance against the estimate, and what a reopen keptread-only
project_verification_mark_unableprojects.writeRecord that the saving could not be verified, with the reason — it contributes no verified saving
project_versions_listprojects.readA Project's scope and narrative snapshots, newest firstread-only
projects_approve_under_delegationprojects.approveApprove (or re-approve) a Project within the hotel's delegated authoritydestructive, needs confirmToken
projects_assets_linkprojects.writeFile one of the hotel's asset records under this Project
projects_assets_unlinkprojects.writeTake an asset record out of this Project (it stays with the hotel)
projects_assign_ownerprojects.writeAssign or clear a Project's owner
projects_copy_to_draftprojects.writeRestart a cancelled Project as a new Draft in its own hotel
projects_copy_to_draft_previewprojects.writePreview restarting a cancelled Project as a new Draft in its own hotelread-only
projects_copy_to_hotelprojects.writeCopy this Project into another hotel of the Portfolio as a new Draft (an Owner's)
projects_copy_to_hotel_previewprojects.writePreview a copy of this Project into another hotel of the Portfolio: what travels and what staysread-only
projects_createprojects.writeCreate a Project in Draft
projects_create_from_templateprojects.writeCreate a Project in Draft from a Project template
projects_dashboard_analyticsprojects.readThe Projects Analytics panels — status, type, hotel, return, budget, confidence and exceptions, over the filtered setread-only
projects_dashboard_boardprojects.readThe Projects Pipeline board — six lifecycle columns, their totals and the exception laneread-only
projects_dashboard_board_reorderprojects.writeMove a Project within its column of the Pipeline board's manual order
projects_dashboard_filter_optionsprojects.readThe Projects dashboard's filter options, from the Projects the caller can readread-only
projects_dashboard_listprojects.readOne page of the Projects List — filtered, sorted and paged on the serverread-only
projects_dashboard_summaryprojects.readThe Projects dashboard's five headline cards, with the Projects behind each figureread-only
projects_dashboard_timelineprojects.readThe Projects Timeline — planned bars, milestone markers and the Projects whose dates are requiredread-only
projects_decideprojects.approveRecord an approval decision on a submitted Project, or re-approve an outgrown onedestructive, needs confirmToken
projects_getprojects.readOne Project, with its governance answer, its action bar and its ownerread-only
projects_governanceprojects.readApproval requirement, approval state and budget positionread-only
projects_historyprojects.readA Project's lifecycle events and approval decisionsread-only
projects_listprojects.readProjects I can see, filteredread-only
projects_open_workprojects.readThe open work one person still holds: the Projects they own and the Savings Tasks they own or contribute toread-only
projects_reassign_open_workprojects.writeReassign one person's open work — the Projects and Savings Tasks they own, their open task contributions and the milestones they owndestructive, needs confirmToken
projects_set_budget_yearprojects.writeMove a Project to another budget year
projects_set_owner_approval_requiredprojects.approveRequire (or stop requiring) Owner approval for this Project
projects_setup_baselines_listprojects.readA hotel's annual Energy and Water baselines, with what PHI proposesread-only
projects_setup_baselines_upsertprojects.writeAccept PHI's baseline, or override it with a reason
projects_setup_getprojects.readA hotel's Projects setup: baselines, price forecasts, delegated budget and readinessread-only
projects_setup_prices_listprojects.readA hotel's utility prices for this budget year and the next three, VAT-exclusiveread-only
projects_setup_prices_upsertprojects.writeSet utility prices, or a yearly % increase, for the current budget year and the next three
projects_setup_readinessprojects.readWhether a hotel's Projects setup is ready, and what is missingread-only
projects_setup_updateprojects.writeSave a hotel's Projects baselines and price forecasts
projects_summary_hotel_pipelineprojects.readOne hotel's remaining opportunity: gross, adjusted for overlaps, on hold and awaiting verificationread-only
projects_summary_pipelineprojects.readThe Portfolio's remaining opportunity: gross, adjusted for overlaps, on hold and awaiting verificationread-only
projects_transitionprojects.writeTake a lifecycle action on a Projectdestructive, needs confirmToken
projects_updateprojects.writeUpdate a Project's details (never its status)
projects_update_forecastprojects.writeRecord a Project's revised final cost
property_model_approved_onphi.readThe approved property model on a date or across a periodread-only
property_model_field_historyphi.readEvery value one property-model field has heldread-only
property_model_getphi.readThe hotel's property model, with every recordread-only
property_model_list_versionsphi.readThe hotel's property-model versionsread-only
property_model_reviewphi.readThe property model's review: section states, totals and submission blockersread-only
property_model_save_draftphi.writeSave one section of the hotel's draft property model
property_model_sectionsphi.readThe property model's sections, fields and answersread-only
property_model_setup_overviewphi.readThe hotel's PHI setup overview: workstreams, readiness and blockersread-only
property_model_submitphi.writeSubmit the hotel's property model for Cadae review
risk_findings_createrisks.writeOpen a risk finding
risk_findings_create_eventrisks.writePut a risk finding on the PHI timeline
risk_findings_getrisks.readOne risk findingread-only
risk_findings_listrisks.readRisk findings I can see, filteredread-only
risk_findings_promote_from_gaprisks.writePromote a data gap into a risk finding
risk_findings_transitionrisks.writeMove a risk finding to another statusdestructive, needs confirmToken
risk_findings_updaterisks.writeEdit a risk finding
savings_tasks_assigntasks.writeAssign or clear a task's owner and, when given, replace its contributors (active people with access to the hotel)
savings_tasks_blocktasks.writeBlock a task — the reason, what is needed, and who is responsible where known
savings_tasks_canceltasks.writeCancel a task with a reason (a required task is a documented exception only with an exception note)destructive, needs confirmToken
savings_tasks_completetasks.writeComplete a task — refused until every required answer and document is there and its dependency is complete or overridden; what it proposes waits for confirmation
savings_tasks_createtasks.writeAdd a Savings Task to a Project, with its owner, contributors and completion fields
savings_tasks_fields_settasks.writeReplace a task's completion fields (eight types, no conditions; an answered field keeps its type)
savings_tasks_gettasks.readOne Savings Task, with its fields, answers and readiness to completeread-only
savings_tasks_listtasks.readA hotel's Savings Tasks across its Projects, with overdue derived in the hotel's time zoneread-only
savings_tasks_list_for_portfoliotasks.readSavings Tasks across the Portfolio's hotels where Savings Tasks is on (an Owner's view)read-only
savings_tasks_list_for_projecttasks.readA Project's Savings Tasks — fields, answers, readiness to complete and what each waits onread-only
savings_tasks_override_dependencytasks.writeLet a task complete past an open dependency — an Owner's or an Administrator's, with a reason kept in history
savings_tasks_proposals_acceptprojects.writeConfirm a task's proposal — the target's own command applies it (a quote is created, a milestone completed, an asset answer saved, a document filed)
savings_tasks_proposals_listtasks.readWhat completed tasks propose to change on a Project — current beside proposed, pending until confirmedread-only
savings_tasks_proposals_rejectprojects.writeReject a task's proposal — kept as history; nothing about the Project changes
savings_tasks_responses_submittasks.writeAnswer one completion field of an open task — a document for a photograph or a file; a blank answer clears it
savings_tasks_starttasks.writeStart a task (Not started → In progress)
savings_tasks_unblocktasks.writeUnblock a task — it returns to the status it had
savings_tasks_updatetasks.writeReplace an open task's details (a changed dependency drops an earlier override)
source_record_charges_listphi.readThe charge lines of a set of recordsread-only
source_records_mark_duplicatephi.writeMark a record as a duplicate of another
source_records_resolve_duplicatephi.writeClear a record's duplicate flag
source_records_voidphi.writeVoid a utility source record
usage_areas_removephi.writeRemove a usage area from the hotel's draft property modeldestructive, needs confirmToken
usage_areas_upsertphi.writeCreate or change a usage area of the hotel's draft property model
viewer_meviewer.readCurrent user profileread-only

Every tool takes an optional organisationId. Leave it out and the credential's own Portfolio is used; a credential bound to one Portfolio may not name another.

Refusals

A refused tool call comes back as a tool error whose text is a sentence. When the refusal is one you may want to tell apart, a second line carries a machine-readable token:

this hotel does not have that module enabled
reason: MODULE_DISABLED

MODULE_DISABLED means the Hotel does not have that module enabled — it is not an empty result and must never be reported as a zero. Call hotel_modules for the Hotel's own flags. A refusal with no reason: line is an access refusal, and says nothing about the Hotel's modules.

Authentication

  • OAuth (recommended) — the client walks the standard flow and receives per-user tools.
  • Bearer token — cad_osk_… / cad_pat_… for automation.

Clients

  • Claude: claude mcp add --transport http cadae https://api.cadae.ai/mcp
  • ChatGPT: Settings → Connectors → Create → paste the URL
  • Cursor: one-click deep link on the MCP page