accueil / serveurs / Dev & Code / com.dayze/life-context
com.dayze/life-context
serveur MCP (Model Context Protocol) · dayze 1.60.2
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que com.dayze/life-context est sûr ?
Au dernier audit MCP Hub, le serveur MCP « com.dayze/life-context » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 178 outils
- add_inventory_item≈ 1980 tokens
Add an owned item to the user's private Inventory. For a computer, phone, camera or synth pass spec_template (computer.v1, phone.v1, camera.v1, synth.v1) and specs with that template's fields, taken from what the user says or the device reports; never infer specs from a model name. Changing facts (OS version, free space, battery, service readiness) go in state, one observation with observed_at. Never ask for or store device or account identifiers. Returns inventory_id and the item with capability_summary. Example: { name: "MacBook Pro 14 (2023)", spec_template: "computer.v1", specs: { manufacturer: "Apple", model_name: "MacBook Pro", model_identifier: "Mac15,11", chip: "Apple M3 Max", performance_cores: 10, efficiency_cores: 4, total_cores: 14, memory_bytes: 38654705664, memory: "36 GB", architecture: "arm64" }, state: { os: { name: "macOS", version: "15.4.1", build: "24E263" }, observed_at: "2026-09-29T14:00:00Z", source: "user_reported" } } ($0.10; API key required)
Paramètres, retour & exemple (28)
Paramètresname· string · requis
What the user calls the item, e.g. "MacBook Pro 14 (2023)".tags· array · optionnel
Replaces the tag list.brand· string · optionnelmodel· string · optionnelnotes· string · optionnel
Free text from the user.specs· object · optionnel
Stable facts, by the template's field names (computer.v1: nickname, manufacturer, model_name, model_identifier, year, primary_uses, capability_tags, product_family, form_factor, chip, cpu, architecture, performance_cores, efficiency_cores, total_cores, threads, gpu, gpu_cores, gpu_memory_bytes, neural_engine_cores, memory_bytes, memory, storage_devices, display, ports). Merged per key on update; null removes a key; other keys are kept as written. Only what the user or the device says, never inferred from a model name. Never device or account identifiers.state· object · optionnel
Changing facts, as one observation: observed_at (ISO, default now), source (e.g. user_reported, system_profiler), confidence (0-1), and values such as os { name, version, build }, available_storage_bytes, battery, security { sip, gatekeeper, filevault }, services { bluebubbles: { installed_version, running, configured, blockers, checked_at } }. Merged per key; a key observed more recently is kept. Never changes specs or notes. Never device or account identifiers.status· string · optionnel · wishlist | ordered | owned | listed_for_sale | sold | returned | lost | disposed
Default owned. To archive, use archive_inventory_item.subtype· string · optionnel
Specific kind: laptop, sweatshirt, guitar. Alias: item_type.category· string · optionnel
electronics | instruments | clothing | shoes | bags | accessories | jewelry | watches | collectibles | sports | health | home | tools | vehicles | furniture | other. Computers, phones and cameras are electronics; synths are instruments. Defaults to the spec_template's category, else other.currency· string · optionnel
ISO 4217, e.g. USD, SGD. Default USD.location· string · optionnel
Where it is kept.condition· string · optionnel · new | excellent | good | worn | needs_repair | retireditem_type· string · optionnel
Alias for subtype (the stored column).person_ids· array · optionnel
Contacts to link: purchased_from, or inherited_from when acquisition_type is inheritance.request_id· string · optionnel
Client idempotency key (retries return original result).acquired_date· string · optionnel
YYYY-MM-DD it came into the user's life (gift, inheritance). add_inventory_item also stores it as purchase_date when none is given.acquired_from· string · optionnel
Shop or person it came from.current_value· number · optionnel
Alias for estimated_value (the stored column).purchase_date· string · optionnel
YYYY-MM-DDspec_template· string · optionnel · computer.v1 | phone.v1 | camera.v1 | synth.v1
Which typed fields specs uses. Templates are listed in docs/MCP_LIFE_GRAPH.md. null (update) clears it.purchase_price· number · optionnelestimated_value· number · optionnel
What it is worth now. Alias: current_value.idempotency_key· string · optionnel
Alias for request_id.acquisition_type· string · optionnel
purchase | gift | inheritance | …reference_number· string · optionnel
Manufacturer reference or model number (e.g. a watch reference).subtype_confidence· number · optionnel
0-1, when the subtype is a guess.specs_schema_version· integer · optionnel
Layout of specs and state. Only 1 (the default).
Exemple d'appel{"name": "add_inventory_item", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"item": {}, "account": {}, "message": "texte", "provenance": {}, "inventory_id": "texte", "idempotent_replay": true, "people_not_linked": []}} - add_inventory_valuation≈ 866 tokens
Append a valuation (value, currency, valued_at, source) to one owned Inventory item; the item's current value becomes this value. ($0.10; API key required)
Paramètres, retour & exemple (9)
Paramètresnotes· string · optionnelvalue· number · requis
What it is worth.source· string · optionnel
Where the value comes from: appraisal, listing, estimate, …currency· string · optionnel
ISO 4217, default USD.valued_at· string · optionnel
ISO date or date-time; default now.confidence· number · optionnel
0-1request_id· string · optionnel
Client idempotency key (retries return original result).inventory_id· string · requis
The item id from add_inventory_item, get_inventory or search_inventory.idempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "add_inventory_valuation", "arguments": {"value": 1, "inventory_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"account": {}, "message": "texte", "valuation": {}, "provenance": {}, "inventory_id": "texte", "idempotent_replay": true}} - add_people_to_list≈ 963 tokens
Add owned contacts to a contact list (list_id, or list_name as its name or slug). Returns added, already_member and not_found (ids that aren't the owner's contacts); a repeat adds nothing. create_if_missing=true creates a list named list_name first. Family follows relationships and is refused (code AUTO_SYNCED_LIST): set the relationship with update_person. undo_contact_change(change_id) removes the ones added. ($0.05; API key required)
Paramètres, retour & exemple (6)
Paramètreslist_id· string · optionnel
Contact list id from list_contact_lists.list_name· string · optionnel
Contact list name or slug, when list_id is not known.person_ids· array · requis
Contact ids (at most 500).request_id· string · optionnel
Client idempotency key (retries return original result).idempotency_key· string · optionnel
Alias for request_id.create_if_missing· boolean · optionnel
Create the list named list_name if it does not exist (default false).
Exemple d'appel{"name": "add_people_to_list", "arguments": {"person_ids": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"list": {}, "added": [], "account": {}, "message": "texte", "change_id": "texte", "not_found": [], "provenance": {}, "list_created": true, "already_member": []}} - add_person_alias≈ 755 tokens
Add a nickname/payment handle/misspelling alias for one CRM person. ($0.05; API key required)
Paramètres, retour & exemple (6)
Paramètresalias· string · requissource· string · optionnelperson_id· string · requisalias_kind· string · optionnelrequest_id· string · optionnel
Client idempotency key (retries return original result).idempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "add_person_alias", "arguments": {"alias": "texte", "person_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"alias": "texte", "account": {}, "aliases": [], "message": "texte", "change_id": "texte", "person_id": "texte", "provenance": {}}} - apply_event_fact_correction≈ 775 tokens
Correct or dispute an event fact from a saved answer. Inspect its source first. Supply request_id for safe retries. ($0.10; API key required)
Paramètres, retour & exemple (6)
Paramètresvalue· string · optionnel
Required when action is correct.action· string · requis · correct | not_true_anymoremessage_id· string · requisrequest_id· string · requissource_ref· string · requisidempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "apply_event_fact_correction", "arguments": {"action": "correct", "message_id": "texte", "request_id": "texte", "source_ref": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "status": {}, "account": {}, "provenance": {}, "recordState": "texte", "correctionId": "texte"}} - archive_asset≈ 994 tokens
Preview first, 30-day undo. Soft-delete an asset (sets archived_at). Original rows are preserved for versioning. Reviewed and reversible: first call preview_destructive_change({ tool: "archive_asset", arguments: { asset_id } }), which stores the exact change without applying it. After the user confirms, call archive_asset with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. ($0.05; API key required)
Paramètres, retour & exemple (5)
Paramètresasset_id· string · requispreview_id· string · requis
preview_id returned by preview_destructive_change for this tool.request_id· string · requis
Required idempotency key; retries return the original receipt.idempotency_key· string · optionnel
Alias for request_id.restore_window_acknowledged· boolean · requis
Must be true after reviewing the preview and its 30-day restore window.
Exemple d'appel{"name": "archive_asset", "arguments": {"asset_id": "texte", "preview_id": "texte", "request_id": "texte", "restore_window_acknowledged": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"asset": {}, "account": {}, "message": "texte", "archived": true, "asset_id": "texte", "preview_id": "texte", "provenance": {}, "restore_id": "texte", "reversible": true, "idempotent_replay": true, "restore_expires_at": "texte", "restore_window_days": 1}} - archive_event≈ 779 tokens
Reversibly archive one owned event; preserve linked data and return restore_id. Archived rows are never purged, so restore_event works for at least 30 days (the Dayze destructive-change restore window). Use a new request_id for each intended action. ($0; API key required)
Paramètres, retour & exemple (4)
Paramètresreason· string · optionnelevent_id· string · requisrequest_id· string · requisidempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "archive_event", "arguments": {"event_id": "texte", "request_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"rows": [], "account": {}, "changed": true, "expires_at": "texte", "preview_id": "texte", "provenance": {}, "restore_id": "texte", "server_time": "texte", "candidate_hash": "texte"}} - archive_expense≈ 782 tokens
Reversibly archive one owned expense; preserve linked data and return restore_id. Archived rows are never purged, so restore_expense works for at least 30 days (the Dayze destructive-change restore window). Use a new request_id for each intended action. ($0; API key required)
Paramètres, retour & exemple (4)
Paramètresreason· string · optionnelexpense_id· string · requisrequest_id· string · requisidempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "archive_expense", "arguments": {"expense_id": "texte", "request_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"rows": [], "account": {}, "changed": true, "expires_at": "texte", "preview_id": "texte", "provenance": {}, "restore_id": "texte", "server_time": "texte", "candidate_hash": "texte"}} - archive_inventory_item≈ 1049 tokens
Preview first, 30-day undo. Archive an inventory item instead of deleting it (status archived, archived_at set; valuations, people links and photos are kept). Reviewed and reversible: first call preview_destructive_change({ tool: "archive_inventory_item", arguments: { inventory_id } }), which stores the exact change without applying it. After the user confirms, call archive_inventory_item with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. ($0.10; API key required)
Paramètres, retour & exemple (6)
Paramètresreason· string · optionnel
Why it is archived (kept on the receipt).preview_id· string · requis
preview_id returned by preview_destructive_change for this tool.request_id· string · requis
Required idempotency key; retries return the original receipt.inventory_id· string · requis
The item id from add_inventory_item, get_inventory or search_inventory.idempotency_key· string · optionnel
Alias for request_id.restore_window_acknowledged· boolean · requis
Must be true after reviewing the preview and its 30-day restore window.
Exemple d'appel{"name": "archive_inventory_item", "arguments": {"preview_id": "texte", "request_id": "texte", "inventory_id": "texte", "restore_window_acknowledged": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"account": {}, "message": "texte", "archived": true, "preview_id": "texte", "provenance": {}, "restore_id": "texte", "reversible": true, "inventory_id": "texte", "idempotent_replay": true, "restore_expires_at": "texte", "restore_window_days": 1}} - archive_trip≈ 777 tokens
Reversibly archive one owned trip; preserve linked data and return restore_id. Archived rows are never purged, so restore_trip works for at least 30 days (the Dayze destructive-change restore window). Use a new request_id for each intended action. ($0; API key required)
Paramètres, retour & exemple (4)
Paramètresreason· string · optionneltrip_id· string · requisrequest_id· string · requisidempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "archive_trip", "arguments": {"trip_id": "texte", "request_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"rows": [], "account": {}, "changed": true, "expires_at": "texte", "preview_id": "texte", "provenance": {}, "restore_id": "texte", "server_time": "texte", "candidate_hash": "texte"}} - attach_asset≈ 952 tokens
Attach an asset_id to one of your entities. An asset uploaded without an entity is attached as is; one already on an entity gets a linked copy (the original row stays). Roles: original | processed | thumbnail | cover | document | receipt | certificate | other (photo is stored as original). Legacy: pass url instead of asset_id. ($0.10; API key required)
Paramètres, retour & exemple (10)
Paramètresurl· string · optionnel
A web link (https://…) to an image. Not a storage path: upload a file, then attach its asset_id.role· string · optionnel · original | processed | thumbnail | cover | document | receipt | certificate | photo
original | cover | thumbnail | …asset_id· string · optionnelmetadata· object · optionnel
Free-form metadata, merged into the stored metadata (metadata.source becomes the asset source).entity_id· string · requisasset_type· string · optionnelrequest_id· string · optionnel
Client idempotency key (retries return original result).description· string · optionnel
Caption for the attached asset (kept on a linked copy too).entity_type· string · requisidempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "attach_asset", "arguments": {"entity_id": "texte", "entity_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"asset": {}, "account": {}, "message": "texte", "asset_id": "texte", "attached": true, "provenance": {}}} - attach_food_photo≈ 1166 tokens
MUTATES one Food Diary row the authenticated user owns by storing a meal photo on it (same pipeline as the web diary upload). Required: food_id (UUID from log_food / search) plus exactly one of image_base64 (raw base64 or data: URL) or url (public https image). JPEG, PNG, WebP, GIF, HEIC, or AVIF under 8 MB. One photo per entry: calling again replaces photo_url (replaced/previous_photo_url report it). EXIF capture time moves consumed_at unless keep_consumed_at=true. Unknown or other-user food_id returns not_found and stores nothing. Response photo_url is re-read from the row. Syncs the mirrored calendar event and rebuilds life_state. Requires API key or OAuth with scope context. Share tokens cannot write. ($0.15; API key required)
Paramètres, retour & exemple (7)
Paramètresurl· string · optionnel
Public https image URL to fetch and store. Use this or image_base64.food_id· string · requis
UUID of a Food Diary row the authenticated user ownsfilename· string · optionnel
Optional original filenamerequest_id· string · optionnel
Client idempotency key (retries return original result).image_base64· string · optionnel
Image bytes as base64 (optional data:image/...;base64, prefix). Use this or url.idempotency_key· string · optionnel
Alias for request_id.keep_consumed_at· boolean · optionnel
true keeps the entry time even if the photo EXIF has a capture time
Exemple d'appel{"name": "attach_food_photo", "arguments": {"food_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"photo": {}, "account": {}, "food_id": "texte", "event_id": "texte", "replaced": true, "photo_url": "texte", "provenance": {}, "consumed_at": "texte", "life_state_rebuilt": true, "previous_photo_url": "texte", "consumed_at_changed": true}} - audit_people≈ 244 tokens
CONTEXT LAYER: server-side contact hygiene. Returns compact candidate clusters only (duplicates, entity-type hints, normalization, payment-handle collisions, junk system/test-word names). Do NOT use get_people bulk dumps for cleanup. ($0.10; API key required)
Paramètres, retour & exemple (3)
Paramètreslimit· number · optionnelchecks· array · optionnelmin_confidence· number · optionnel
Exemple d'appel{"name": "audit_people", "arguments": {"limit": 1, "checks": [], "min_confidence": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "summary": {}, "guidance": "texte", "candidates": []}} - backfill_place_names≈ 844 tokens
Add human names to coord-only places/visits via Google nearby search + reverse geocode. Never overwrites existing names, coordinates, or user-entered fields. Idempotent; resumable via cursor under a per-account monthly Places quota. ($0.10; API key required)
Paramètres, retour & exemple (5)
Paramètreslimit· number · optionnel
Max targets this run (1–100, default 25).cursor· string · optionnel
Resume token from a previous next_cursor.dry_run· boolean · optionnelrequest_id· string · optionnel
Client idempotency key (retries return original result).idempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "backfill_place_names", "arguments": {"limit": 1, "cursor": "texte", "dry_run": true, "request_id": "texte", "idempotency_key": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"done": true, "named": 1, "quota": {}, "account": {}, "message": "texte", "provenance": {}, "next_cursor": "texte", "rate_limited": true, "skipped_named": 1, "skipped_no_match": 1}} - bulk_dismiss_clarifications≈ 1012 tokens
Preview first, 30-day undo. Dismiss non-person / typed junk from the clarification queue. Reviewed and reversible: first call preview_destructive_change({ tool: "bulk_dismiss_clarifications", arguments: { entity_type?, reason? } }), which stores the exact change without applying it. After the user confirms, call bulk_dismiss_clarifications with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. The preview lists every clarification that would be dismissed; restore returns them to pending. ($0.05; API key required)
Paramètres, retour & exemple (6)
Paramètresreason· string · optionnelpreview_id· string · requis
preview_id returned by preview_destructive_change for this tool.request_id· string · requis
Required idempotency key; retries return the original receipt.entity_type· string · optionnelidempotency_key· string · optionnel
Alias for request_id.restore_window_acknowledged· boolean · requis
Must be true after reviewing the preview and its 30-day restore window.
Exemple d'appel{"name": "bulk_dismiss_clarifications", "arguments": {"preview_id": "texte", "request_id": "texte", "restore_window_acknowledged": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"account": {}, "message": "texte", "dismissed": 1, "preview_id": "texte", "provenance": {}, "restore_id": "texte", "reversible": true, "idempotent_replay": true, "restore_expires_at": "texte", "restore_window_days": 1}} - classify_contact≈ 757 tokens
Set entity_type (person/company/merchant/…) on a CRM row without losing transactions or links. ($0.10; API key required)
Paramètres, retour & exemple (8)
Paramètressource· string · optionnelentity_id· string · optionnelperson_id· string · optionnelconfidence· number · optionnelrequest_id· string · optionnel
Client idempotency key (retries return original result).entity_type· string · requisidempotency_key· string · optionnel
Alias for request_id.identity_status· string · optionnel
Exemple d'appel{"name": "classify_contact", "arguments": {"entity_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"person": {}, "account": {}, "message": "texte", "change_id": "texte", "provenance": {}}} - cleanup_apply≈ 787 tokens
Atomically archive the exact reviewed preview. Requires preview_id, candidate_hash and request_id. Refuses changed sources. Returns per-row statuses and restore_id (restore_cleanup undoes it for at least 30 days); replay performs no additional actions. ($0; API key required)
Paramètres, retour & exemple (4)
Paramètrespreview_id· string · requisrequest_id· string · requiscandidate_hash· string · requisidempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "cleanup_apply", "arguments": {"preview_id": "texte", "request_id": "texte", "candidate_hash": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"rows": [], "account": {}, "changed": true, "expires_at": "texte", "preview_id": "texte", "provenance": {}, "restore_id": "texte", "server_time": "texte", "candidate_hash": "texte"}} - cleanup_preview≈ 800 tokens
Read-only account audit and durable archive plan for events, expenses or trips. Returns source hashes, linked records, field differences, rollback payloads and a review queue. Review the exact candidate set before cleanup_apply. Preview expires after 30 minutes. ($0; API key required)
Paramètres, retour & exemple (3)
Paramètresfamily· string · requis · events | expenses | tripsrequest_id· string · optionnel
Client idempotency key (retries return original result).idempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "cleanup_preview", "arguments": {"family": "events"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"rows": [], "account": {}, "changed": true, "expires_at": "texte", "preview_id": "texte", "provenance": {}, "restore_id": "texte", "server_time": "texte", "candidate_hash": "texte"}} - commit_life_update≈ 770 tokens
Owner approve+commit via payload_hash + owner_session_id (flagged; off by default). Requires the propose_life_update review first. Commits append bitemporal revisions and keep prior revisions; there is no post-commit undo tool, so correct a committed fact with a new propose_life_update. ($0.10; API key required)
Paramètres, retour & exemple (5)
Paramètresrequest_id· string · optionnelproposal_id· string · requispayload_hash· string · requisidempotency_key· string · optionnelowner_session_id· string · requis
Exemple d'appel{"name": "commit_life_update", "arguments": {"proposal_id": "texte", "payload_hash": "texte", "owner_session_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"account": {}, "enabled": true, "message": "texte", "provenance": {}, "assertionIds": [], "graphVersion": 1}} - compare_lives≈ 308 tokens
Side-by-side notable packs for two slugs (life_in_days + day_number timelines). One call instead of two notable_pack. Example: elon-musk vs steve-jobs. ($0.08)
Paramètres, retour & exemple (5)
Paramètresdate· string · optionnel
YYYY-MM-DD target date for both packspeers· number · optionnelslug_a· string · requis
First person slugslug_b· string · requis
Second person slugsimilar· number · optionnel
Exemple d'appel{"name": "compare_lives", "arguments": {"slug_a": "texte", "slug_b": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"a": {}, "b": {}, "pack": "texte", "compare": {}}} - convert_contact_entity≈ 1031 tokens
Preview first, 30-day undo. Convert a contact’s entity_type (same as classify_contact). Preserves FKs. Reviewed and reversible: first call preview_destructive_change({ tool: "convert_contact_entity", arguments: { person_id, target_type } }), which stores the exact change without applying it. After the user confirms, call convert_contact_entity with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. Restore reverts entity_type, identity_status and identity_confidence. ($0.10; API key required)
Paramètres, retour & exemple (7)
Paramètresentity_id· string · optionnelperson_id· string · optionnelpreview_id· string · requis
preview_id returned by preview_destructive_change for this tool.request_id· string · requis
Required idempotency key; retries return the original receipt.target_type· string · optionnelidempotency_key· string · optionnel
Alias for request_id.restore_window_acknowledged· boolean · requis
Must be true after reviewing the preview and its 30-day restore window.
Exemple d'appel{"name": "convert_contact_entity", "arguments": {"preview_id": "texte", "request_id": "texte", "restore_window_acknowledged": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"person": {}, "account": {}, "message": "texte", "change_id": "texte", "preview_id": "texte", "provenance": {}, "restore_id": "texte", "reversible": true, "idempotent_replay": true, "restore_expires_at": "texte", "restore_window_days": 1}} - correct_memory_atom≈ 1031 tokens
Preview first, 30-day undo. Remove one exact false atom from a bundled memory, retaining the other text and clearing its stale embedding. Reviewed and reversible: first call preview_destructive_change({ tool: "correct_memory_atom", arguments: { memory_id, false_atom } }), which stores the exact change without applying it. After the user confirms, call correct_memory_atom with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. ($0.10; API key required)
Paramètres, retour & exemple (5)
Paramètresmemory_id· string · optionnel
Memory id, checked against the preview.preview_id· string · requis
preview_id returned by preview_destructive_change for this tool.request_id· string · requis
Required idempotency key; retries return the original receipt.idempotency_key· string · optionnel
Alias for request_id.restore_window_acknowledged· boolean · requis
Must be true after reviewing the preview and its 30-day restore window.
Exemple d'appel{"name": "correct_memory_atom", "arguments": {"preview_id": "texte", "request_id": "texte", "restore_window_acknowledged": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"account": {}, "content": "texte", "memory_id": "texte", "false_atom": "texte", "preview_id": "texte", "provenance": {}, "restore_id": "texte", "reversible": true, "idempotent_replay": true, "life_state_rebuilt": true, "restore_expires_at": "texte", "restore_window_days": 1}} - create_condition≈ 1212 tokens
Add a private condition for an explicit subject_type: self, or person plus an owned person_id from get_people/resolve_person. Never turn a family member's condition into self; if the person is unresolved, ask and write nothing. status defaults suspected—never infer active or confirmed from a mention. Keep the user's words; source defaults user_reported and confirmation_status reported. ($0.10; API key required)
Paramètres, retour & exemple (14)
Paramètresname· string · requis
What the user calls it, in their words (e.g. "Blurry near vision"). Never a diagnosis they did not give.notes· string · optionnelsource· string · optionnel
Provenance, e.g. user_reported. Default user_reported.status· string · optionnel · suspected | active | improving | resolved
suspected (default for a new one) | active | improving | resolved.symptoms· string · optionnel
What they notice, e.g. "Blurry at near distance, worse in the evening".body_area· string · optionnel
Where, e.g. "Left eye".person_id· string · optionnel
Owned contact id; required for person.request_id· string · optionnel
Client idempotency key (retries return original result).started_on· string · optionnel
YYYY-MM-DD it started (onset). Default for a new one: today.treatments· string · optionnel
What they use or do for it.subject_type· string · requis · self | person
self, or person with person_id.tracking_focus· string · optionnel
What to watch on each check-in.idempotency_key· string · optionnel
Alias for request_id.confirmation_status· string · optionnel · unconfirmed | reported | confirmed
unconfirmed | reported (default) | confirmed; never infer confirmed.
Exemple d'appel{"name": "create_condition", "arguments": {"name": "texte", "subject_type": "self"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"account": {}, "created": true, "message": "texte", "condition": {}, "provenance": {}, "condition_id": "texte", "already_existed": true, "idempotent_replay": true}} - create_contact_list≈ 741 tokens
Create a contact list by name. A list whose slug matches is returned unchanged (created=false), so a repeat creates nothing. ($0.05; API key required)
Paramètres, retour & exemple (3)
Paramètresname· string · requis
List name, e.g. "Book club".request_id· string · optionnel
Client idempotency key (retries return original result).idempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "create_contact_list", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"list": {}, "account": {}, "created": true, "message": "texte", "provenance": {}}} - create_pending_reply≈ 2156 tokens
Pending Replies (Inbox): save a reply the user owes someone, e.g. 'what to reply to X', 'I owe X a reply'. Use this, not log_event or a task. Optional draft (the reply text), summary (one line in your own words; never the email body, subject or sender), channel, category, received_at, and source { kind, thread_id, message_id } (ids only). Links the contact only when resolve_person finds exactly one (or pass person_id); otherwise the reply is saved unlinked and person_link says why. An unsent reply for the same thread or person comes back instead of a second one (created: false, deduplicated: true); update_existing: true replaces its draft and summary. Never sends anything. Requires API key or OAuth with context.write; share tokens cannot write. ($0.10; API key required)
Paramètres, retour & exemple (12)
Paramètresdraft· string · optionnel
The reply text to send later, max 20,000 characters. Replaces the saved draft; empty or null clears. Alias: draft_message.source· object · optionnel
The email the reply answers, as ids only (e.g. a search_gmail id is a message_id). Never a subject, sender or text. On update, null clears it.channel· string · optionnel
Where to reply: whatsapp, email, sms, call, imessage, telegram, instagram, facebook, signal, linkedin, twitter, slack, reddit, teams, work_email, zoom, dayze, other; the platform the conversation is on (a Reddit thread is reddit, an Instagram group instagram). Default email when source is set, else other.summary· string · optionnel
One line (max 280) in your own words: what the reply is about. Never paste the email body, subject line or sender address.category· string · optionnel · personal | work
Default personal.person_id· string · optionnel
An owned contact id; links that contact directly.request_id· string · optionnel
Client idempotency key (retries return original result).person_name· string · requis
Who the reply is owed to, as the user said it (e.g. "Ilana").received_at· string · optionnel
When they wrote (ISO date-time). Default now.draft_message· string · optionnel
Alias for draft.idempotency_key· string · optionnel
Alias for request_id.update_existing· boolean · optionnel
When an unsent reply for this thread or person exists, write draft/summary onto it instead of returning it unchanged.
Exemple d'appel{"name": "create_pending_reply", "arguments": {"person_name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"reply": {}, "account": {}, "app_url": "texte", "created": true, "message": "texte", "updated": true, "matched_on": "texte", "provenance": {}, "person_link": {}, "deduplicated": true, "source_saved": true, "life_state_rebuilt": true}} - create_person≈ 1557 tokens
Add a Dayze Contacts record, birthday included (YYYY-MM-DD, YYYY-MM, YYYY, or MM-DD if year unknown); checks duplicates first. An existing contact comes back unchanged with its person_id, not_applied (the fields you sent) and a hint. request_id is optional: without one, identical calls within 15 minutes return the first result. Advertised name create_person is stable; tools/call also accepts create_contact. ($0.10; API key required)
Paramètres, retour & exemple (14)
Paramètresname· string · requistier· string · optionnel · vip | normal | lowemail· string · optionnelnotes· string · optionnelphone· string · optionnelaliases· array · optionnelwallets· array · optionnel
PHI-930: ENS (.eth) / SNS (.sol) names and/or addresses for this contact. Stored in social_handles (legacy ens/ens_address kept).birthday· string · optionnel
YYYY-MM-DD, YYYY-MM, YYYY, or MM-DD / --MM-DD when the year is unknown (same as update_person)request_id· string · optionnel
Client idempotency key (retries return original result).is_favorite· boolean · optionnelcontext_tags· array · optionnelrelationship· string · optionnelrelationships· array · optionnelidempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "create_person", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "code": "texte", "hint": "texte", "name": "texte", "slug": "texte", "people": [], "person": {}, "account": {}, "aliases": [], "created": true, "message": "texte", "skipped": true}} - create_place≈ 981 tokens
Save a venue card (business_contacts): address, opening_hours, affordability ($/$$/$$$), notes, tags. Idempotent by name or idempotency_key — does not create calendar notes. ($0.10; API key required)
Paramètres, retour & exemple (21)
Paramètresarea· string · optionnelcity· string · optionnelname· string · requistags· array · optionnelhours· string · optionnel
Alias for opening_hoursnotes· string · optionnelphone· string · optionneladdress· string · optionnelcountry· string · optionnelwebsite· string · optionnelcategory· string · optionnel
restaurant|cafe|supermarket|shop|hawker|… (aliases mapped to business_contacts.category)latitude· number · optionnellongitude· number · optionnelrequest_id· string · optionnel
Client idempotency key (retries return original result).description· string · optionnelprice_level· string · optionnel
Alias for affordabilityhours_source· string · optionnel
agent | google_places | useraffordability· string · optionnel
$ | $$ | $$$ (or 1–3)opening_hours· string · optionnelphone_numbers· array · optionnelidempotency_key· string · optionnel
Exemple d'appel{"name": "create_place", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"place": {}, "account": {}, "created": true, "message": "texte", "place_id": "texte", "duplicate": true, "provenance": {}, "business_contact_id": "texte"}} - delete_event≈ 833 tokens
Reversibly archives one owned event. Required event_id and request_id. Returns the prior row in deleted for compatibility, changed, restore_id and life_state_rebuilt. All food, people and asset links are preserved. Restore with restore_event. Replays perform no additional action. ($0.10; API key required)
Paramètres, retour & exemple (3)
Paramètresevent_id· string · requis
UUID of a calendar event the authenticated user ownsrequest_id· string · requis
Required client idempotency key; a replay returns the first result.idempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "delete_event", "arguments": {"event_id": "texte", "request_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"account": {}, "deleted": {}, "event_id": "texte", "provenance": {}, "food_deleted_ids": [], "life_state_rebuilt": true}} - delete_food≈ 1096 tokens
Preview first, 30-day undo. Removes one Food Diary row the authenticated user owns and archives its mirrored calendar event. Prefer this over delete_event for meals logged via log_food. Unknown or other-user food_id returns an error. Rebuilds life_state. Reviewed and reversible: first call preview_destructive_change({ tool: "delete_food", arguments: { food_id } }), which stores the exact change without applying it. After the user confirms, call delete_food with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. Requires API key or OAuth with context.delete. Share tokens cannot write. ($0.10; API key required)
Paramètres, retour & exemple (5)
Paramètresfood_id· string · requis
UUID of a Food Diary row the authenticated user ownspreview_id· string · requis
preview_id returned by preview_destructive_change for this tool.request_id· string · requis
Required idempotency key; retries return the original receipt.idempotency_key· string · optionnel
Alias for request_id.restore_window_acknowledged· boolean · requis
Must be true after reviewing the preview and its 30-day restore window.
Exemple d'appel{"name": "delete_food", "arguments": {"food_id": "texte", "preview_id": "texte", "request_id": "texte", "restore_window_acknowledged": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"account": {}, "deleted": {}, "food_id": "texte", "event_id": "texte", "preview_id": "texte", "provenance": {}, "restore_id": "texte", "reversible": true, "idempotent_replay": true, "life_state_rebuilt": true, "restore_expires_at": "texte", "restore_window_days": 1}} - delete_memory≈ 1172 tokens
Preview first, 30-day undo. Removes Dayze Agent memories the authenticated user owns: memory_id (or up to 50 memory_ids) from get_memories. Rows get_memories marks source "event" are calendar events (use delete_event). An unknown or other-user id is not found and nothing changes. Dayze chat and get_memories stop using them at once; rebuilds life_state. Reviewed and reversible: first call preview_destructive_change({ tool: "delete_memory", arguments: { memory_id } }), which stores the exact change without applying it. After the user confirms, call delete_memory with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. Requires API key or OAuth with context.delete. Share tokens cannot write. ($0.10; API key required)
Paramètres, retour & exemple (5)
Paramètresmemory_id· string · optionnel
Optional: the memory the preview named (checked against it). A preview of several memory_ids names none.preview_id· string · requis
preview_id returned by preview_destructive_change for this tool.request_id· string · requis
Required idempotency key; retries return the original receipt.idempotency_key· string · optionnel
Alias for request_id.restore_window_acknowledged· boolean · requis
Must be true after reviewing the preview and its 30-day restore window.
Exemple d'appel{"name": "delete_memory", "arguments": {"preview_id": "texte", "request_id": "texte", "restore_window_acknowledged": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"account": {}, "deleted": [], "memory_id": "texte", "memory_ids": [], "preview_id": "texte", "provenance": {}, "restore_id": "texte", "reversible": true, "idempotent_replay": true, "life_state_rebuilt": true, "restore_expires_at": "texte", "restore_window_days": 1}} - delete_moment≈ 970 tokens
Preview first, 30-day undo. Reviewed and reversible: first call preview_destructive_change({ tool: "delete_moment", arguments: { moment_id } }), which stores the exact change without applying it. After the user confirms, call delete_moment with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. ($0.10; API key required)
Paramètres, retour & exemple (5)
Paramètresmoment_id· string · optionnelpreview_id· string · requis
preview_id returned by preview_destructive_change for this tool.request_id· string · requis
Required idempotency key; retries return the original receipt.idempotency_key· string · optionnel
Alias for request_id.restore_window_acknowledged· boolean · requis
Must be true after reviewing the preview and its 30-day restore window.
Exemple d'appel{"name": "delete_moment", "arguments": {"preview_id": "texte", "request_id": "texte", "restore_window_acknowledged": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"account": {}, "deleted": {}, "moment_id": "texte", "preview_id": "texte", "provenance": {}, "restore_id": "texte", "reversible": true, "linked_impact": {}, "idempotent_replay": true, "restore_expires_at": "texte", "restore_window_days": 1}} - delete_moment_preview≈ 730 tokens
Read a Moment and linked impact and store a reviewed deletion preview; nothing is removed. ($0.05; API key required)
Paramètres, retour & exemple (3)
Paramètresmoment_id· string · requisrequest_id· string · optionnel
Client idempotency key (retries return original result).idempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "delete_moment_preview", "arguments": {"moment_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"moment": {}, "account": {}, "preview_id": "texte", "provenance": {}, "linked_impact": {}, "restore_window_days": 1}} - delete_person≈ 885 tokens
Delete one owned contact only after delete_person_preview. Preserves a complete restore snapshot for 30 days; undo with undo_contact_change using restore_id. Requires a request_id for retry-safe idempotency. ($0.10; API key required)
Paramètres, retour & exemple (5)
Paramètresperson_id· string · requis
UUID of the owned contact to delete.preview_id· string · requis
Durable preview_id returned by delete_person_preview.request_id· string · requis
Required idempotency key; retries return the original result.idempotency_key· string · optionnel
Alias for request_id.restore_window_acknowledged· boolean · requis
Must be true after reviewing the 30-day restore window.
Exemple d'appel{"name": "delete_person", "arguments": {"person_id": "texte", "preview_id": "texte", "request_id": "texte", "restore_window_acknowledged": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"account": {}, "deleted": true, "message": "texte", "provenance": {}, "restore_id": "texte", "reversible": true, "deleted_person": {}, "deleted_person_id": "texte", "life_state_rebuilt": true, "restore_expires_at": "texte"}} - delete_person_preview≈ 810 tokens
Create a durable, non-mutating snapshot of one owned contact and every linked record before deletion. Review the 30-day restore window, then pass preview_id to delete_person. ($0.05; API key required)
Paramètres, retour & exemple (3)
Paramètresperson_id· string · requis
UUID of the owned contact to review.request_id· string · optionnel
Client idempotency key (retries return original result).idempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "delete_person_preview", "arguments": {"person_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"person": {}, "account": {}, "manifest": {}, "person_id": "texte", "preview_id": "texte", "provenance": {}, "reversible": true, "restore_window_days": 1}} - delete_place≈ 1056 tokens
Preview first, 30-day undo. Delete a saved place card (business_contacts) by place_id / business_contact_id and return the deleted card. Reviewed and reversible: first call preview_destructive_change({ tool: "delete_place", arguments: { place_id } }), which stores the exact change without applying it. After the user confirms, call delete_place with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. Restore also re-links visits, events, expenses and people that pointed at the card. ($0.10; API key required)
Paramètres, retour & exemple (7)
Paramètresid· string · optionnelplace_id· string · optionnelpreview_id· string · requis
preview_id returned by preview_destructive_change for this tool.request_id· string · requis
Required idempotency key; retries return the original receipt.idempotency_key· string · optionnel
Alias for request_id.business_contact_id· string · optionnelrestore_window_acknowledged· boolean · requis
Must be true after reviewing the preview and its 30-day restore window.
Exemple d'appel{"name": "delete_place", "arguments": {"preview_id": "texte", "request_id": "texte", "restore_window_acknowledged": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"account": {}, "deleted": {}, "place_id": "texte", "preview_id": "texte", "provenance": {}, "restore_id": "texte", "reversible": true, "idempotent_replay": true, "restore_expires_at": "texte", "business_contact_id": "texte", "restore_window_days": 1}} - delete_place_visit≈ 1048 tokens
Preview first, 30-day undo. Delete one place_visits row (visit_id from get_place_visits or log_place_visit) without deleting its canonical place. Reviewed and reversible: first call preview_destructive_change({ tool: "delete_place_visit", arguments: { visit_id } }), which stores the exact change without applying it. After the user confirms, call delete_place_visit with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. ($0.10; API key required)
Paramètres, retour & exemple (5)
Paramètresvisit_id· string · requis
UUID of a place_visits row: visit_id from get_place_visits or log_place_visit.preview_id· string · requis
preview_id returned by preview_destructive_change for this tool.request_id· string · requis
Required idempotency key; retries return the original receipt.idempotency_key· string · optionnel
Alias for request_id.restore_window_acknowledged· boolean · requis
Must be true after reviewing the preview and its 30-day restore window.
Exemple d'appel{"name": "delete_place_visit", "arguments": {"visit_id": "texte", "preview_id": "texte", "request_id": "texte", "restore_window_acknowledged": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"account": {}, "deleted": {}, "visit_id": "texte", "preview_id": "texte", "provenance": {}, "restore_id": "texte", "reversible": true, "place_visit_id": "texte", "idempotent_replay": true, "restore_expires_at": "texte", "restore_window_days": 1}} - dismiss_clarification≈ 701 tokens
Dismiss a pending entity clarification (not_person, etc.). ($0.05; API key required)
Paramètres, retour & exemple (4)
Paramètresreason· string · optionnelrequest_id· string · optionnel
Client idempotency key (retries return original result).idempotency_key· string · optionnel
Alias for request_id.clarification_id· string · requis
Exemple d'appel{"name": "dismiss_clarification", "arguments": {"clarification_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"account": {}, "message": "texte", "dismissed": true, "provenance": {}}} - enrich_place_from_google≈ 850 tokens
Optional Google Places fill for a saved place card (hours/address/phone/website). Defaults to fill_empty_only — does not overwrite agent-supplied fields. Returns a clear not_configured capability error if GOOGLE_PLACES_API_KEY (or GOOGLE_MAPS_API_KEY) is missing. ($0.15; API key required)
Paramètres, retour & exemple (5)
Paramètresplace_id· string · optionnelrequest_id· string · optionnel
Client idempotency key (retries return original result).fill_empty_only· boolean · optionnelidempotency_key· string · optionnel
Alias for request_id.business_contact_id· string · optionnel
Exemple d'appel{"name": "enrich_place_from_google", "arguments": {"place_id": "texte", "request_id": "texte", "fill_empty_only": true, "idempotency_key": "texte", "business_contact_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"code": "texte", "place": {}, "account": {}, "message": "texte", "enriched": true, "place_id": "texte", "capability": "texte", "provenance": {}, "applied_fields": [], "business_contact_id": "texte"}} - explain_fact≈ 485 tokens
Return evidence/provenance for a claim: polaris_learned_facts, life_events / life_event_relationships when present, then memories. Use when the agent must cite why it believes something — do not invent sources. ($0.10; API key required)
Paramètres, retour & exemple (3)
Paramètresfact· string · optionnel
Alias for querylimit· number · optionnel
Max evidence rows 1–20, default 8query· string · requis
Fact or phrase to explain
Exemple d'appel{"name": "explain_fact", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "query": "texte", "account": {}, "message": "texte", "evidence": [], "inspect_note": "texte"}} - find_identity_candidates≈ 185 tokens
Compact identity resolution candidates by person_id or query (alias/name/payment signals). Prefer over bulk get_people. ($0.05; API key required)
Paramètres, retour & exemple (3)
Paramètreslimit· number · optionnelquery· string · optionnelperson_id· string · optionnel
Exemple d'appel{"name": "find_identity_candidates", "arguments": {"limit": 1, "query": "texte", "person_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "candidates": []}} - get_asset≈ 155 tokens
Fetch one asset by asset_id with signed_url for download/processing. ($0.05; API key required)
Paramètres, retour & exemple (2)
Paramètresasset_id· string · requisinclude_signed_url· boolean · optionnel
Exemple d'appel{"name": "get_asset", "arguments": {"asset_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"asset": {}, "count": 1}} - get_berklee_relationship_map≈ 749 tokens
Read-only owner view of the 2012–2015 Berklee email archive: per-person first/last cited contact, imported message volume, explicitly stored courses/projects, and email-anchor versus name-only provenance. Optional exact course, term, and project filters. Every cited event carries an inspect_url. Volume is not closeness; silence is not interpreted. Identity-document, health, and legal records are excluded. ($0.15; API key required)
Paramètres, retour & exemple (3)
Paramètresterm· string · optionnel
Exact term facet, e.g. Fall 2014.course· string · optionnel
Exact stored course facet.project· string · optionnel
Exact stored project facet.
Exemple d'appel{"name": "get_berklee_relationship_map", "arguments": {"term": "texte", "course": "texte", "project": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"facets": {}, "people": [], "period": {}, "account": {}, "caveats": [], "filters": {}, "truncated": true, "inspect_note": "texte", "record_count": 1, "active_correction_count": 1, "correction_history_count": 1, "correction_history_available": true}} - get_cities_visited≈ 182 tokens
Canonical cities from confirmed/completed trips only (excludes soft pins / status=possible). Inference requires category=travel + structured location — not todo titles. ($0.10; API key required)
Paramètres, retour & exemple (2)
Paramètresto· string · optionnelfrom· string · optionnel
Exemple d'appel{"name": "get_cities_visited", "arguments": {"to": "texte", "from": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "cities": []}} - get_conditions≈ 453 tokens
Private health conditions owned by the user, for subject_type self (default) or an explicitly resolved Dayze Contacts person_id. A person condition never appears in the user's self list. status: open (default), suspected, active, improving, resolved or all. condition_id returns recent check-ins and care items for the same subject. ($0.05; API key required)
Paramètres, retour & exemple (4)
Paramètresstatus· string · optionnel · open | suspected | active | improving | resolved | all
open (default: every condition not resolved), one status, or all.person_id· string · optionnel
Owned contact id; required for person.condition_id· string · optionnel
One condition, with its recent check-ins and care items.subject_type· string · optionnel · self | person
self, or person with person_id.
Exemple d'appel{"name": "get_conditions", "arguments": {"status": "open", "person_id": "texte", "condition_id": "texte", "subject_type": "self"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "status": "texte", "condition": {}, "person_id": "texte", "conditions": [], "subject_type": "texte"}} - get_context_pack≈ 1761 tokens
Life Context pack for one Dayze account (`account` names it — with more than one Dayze connection, say which account you are answering from): identity, pulse, people, next actions, memories, quizzes, recent consented place visits, and traced facts. Use include_*=false to omit default sections; current location and money stay opt-in. Spec: https://dayze.com/docs/life-context Records carry inspect_url (their Dayze page): cite with it, never build a link from an id; a record without one has no page (inspect_note says which). ($0.20; API key required)
Paramètres, retour & exemple (13)
Paramètresq· string · optionnel
Alias for query.at· string · optionnel
ISO date-time to answer as of (default now), e.g. 2026-09-26T09:00:00+08:00.focus· string · optionnel
Optional focus hint echoed in the pack (e.g. places, travel, people)query· string · optionnel
Question that guides facts and memories.timezone· string · optionnel
IANA time zone for today (default: where the user is now, else their home zone).include_money· boolean · optionnel
Include the private cashflow summaryinclude_trips· boolean · optionnel
Include recent/upcoming trips from completed travel historyinclude_places· boolean · optionnel
Include recent canonical places.include_location· boolean · optionnel
Include city/country label; never returns a precise addressinclude_memories· boolean · optionnel
Include recent memories.include_place_visits· boolean · optionnel
Include recent venue visits; never a GPS trailinclude_quiz_results· boolean · optionnel
Include latest quiz results.include_relationships· boolean · optionnel
Include people and relationship context.
Exemple d'appel{"name": "get_context_pack", "arguments": {"q": "texte", "at": "texte", "focus": "texte", "query": "texte", "timezone": "texte", "include_money": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "error": "texte", "facts": [], "focus": "texte", "pulse": {}, "query": "texte", "trace": {}, "trips": {}, "places": {}, "account": {}, "omitted": [], "partial": true}} - get_countries_visited≈ 162 tokens
Canonical countries from completed trips (not other people travel). ($0.10; API key required)
Paramètres, retour & exemple (3)
Paramètresto· string · optionnelfrom· string · optionnelinclude_residence· boolean · optionnel
Exemple d'appel{"name": "get_countries_visited", "arguments": {"to": "texte", "from": "texte", "include_residence": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "countries": []}} - get_current_states≈ 218 tokens
Permitted assertion states for a person (flagged life-graph; off by default). ($0.10; API key required)
Paramètres, retour & exemple (5)
Paramètresknown_at· string · optionnelvalid_at· string · optionnelpeople_id· string · optionnel
CRM people.id UUIDperson_id· string · optionnel
Alias for people_idpredicates· array · optionnel
Exemple d'appel{"name": "get_current_states", "arguments": {"known_at": "texte", "valid_at": "texte", "people_id": "texte", "person_id": "texte", "predicates": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "states": [], "enabled": true}} - get_entity_assets≈ 186 tokens
List assets linked to an entity (role, signed_url, versions). entity_type inventory_item → inventory. ($0.10; API key required)
Paramètres, retour & exemple (3)
Paramètresentity_id· string · requisasset_type· string · optionnelentity_type· string · requis
Exemple d'appel{"name": "get_entity_assets", "arguments": {"entity_id": "texte", "entity_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "assets": []}} - get_entity_links≈ 276 tokens
List graph edges for an event, trip, place, or person. Each link has a confirmation: explicit | pending | confirmed | rejected. A rejected link is listed only as a record of the decision: it is not a relationship, and every other read leaves it out. ($0.05; API key required)
Paramètres, retour & exemple (2)
Paramètresentity_id· string · requisentity_type· string · requis
Exemple d'appel{"name": "get_entity_links", "arguments": {"entity_id": "texte", "entity_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "links": [], "message": "texte"}} - get_event_fact_source≈ 276 tokens
Inspect an event fact from a saved Dayze answer before correcting it. Requires calendar read and travel details access. ($0.10; API key required)
Paramètres, retour & exemple (2)
Paramètresmessage_id· string · requis
Saved assistant answer message UUID.source_ref· string · requis
events:<id> or event_people:<id> from that answer.
Exemple d'appel{"name": "get_event_fact_source", "arguments": {"message_id": "texte", "source_ref": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "fact": {}, "record": {}, "status": {}, "history": [], "evidence": {}}} - get_events≈ 1113 tokens
Authenticated user's calendar events. Prefer explicit from/to (YYYY-MM-DD). Shortcuts: today|week|month|year (calendar year)|decade. Browsing noise excluded by default. Records carry inspect_url (their Dayze page): cite with it, never build a link from an id; a record without one has no page (inspect_note says which). ($0.10; API key required)
Paramètres, retour & exemple (17)
Paramètresat· string · optionnel
ISO date-time to answer as of (default now), e.g. 2026-09-26T09:00:00+08:00.to· string · optionnel
Inclusive YYYY-MM-DDfrom· string · optionnel
Inclusive YYYY-MM-DD (preferred over range)kinds· array · optionnel
Filter by event_kind: life_event, calendar_block, todo, goal, travel_segment, food_log, health_record, transaction, media_log, work, family, personal. Alias "food" (also meal/drink/snack) matches the displayed Food category: food_log rows plus Meal/Drink/Snack life_events. total/has_more count only matching rows.limit· number · optionnelquery· string · optionnel
Literal substring in title, description or location.range· string · optionnel · today | week | month | year | decade | allcursor· string · optionneloffset· number · optionnel
Skip this many matching rows of a new snapshot (a cursor carries its own).date_to· string · optionnel
Alias for to.timezone· string · optionnel
IANA time zone for today (default: where the user is now, else their home zone).date_from· string · optionnel
Alias for from.redact_pii· boolean · optionnel
true: redact contact details, card and account numbers and secrets in description, location and scoreboard, even where this connection may see them. Never unredacts: without travel_secrets:read they are always redacted.event_kinds· array · optionnel
Alias for kinds.include_archived· boolean · optionnelinclude_browsing· boolean · optionnel
Include extension "Browsed domain · Xm" auto-events (default false)include_calendar_blocks· boolean · optionnel
Include Focus Time / calendar_block rows (default false)
Exemple d'appel{"name": "get_events", "arguments": {"at": "texte", "to": "texte", "from": "texte", "kinds": [], "limit": 1, "query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"to": "texte", "cap": 1, "from": "texte", "range": "texte", "total": 1, "events": [], "account": {}, "has_more": true, "ordering": "texte", "timezone": "texte", "truncated": true, "expires_at": "texte"}} - get_expenses≈ 390 tokens
Authenticated user cashflow summary: spend, income, net, and top spend categories. Requires OAuth or a supported scoped credential. ($0.10; API key required)
Paramètres, retour & exemple (1)
Paramètresperiod· string · optionnel · month | year
Summary window. Default month.
Exemple d'appel{"name": "get_expenses", "arguments": {"period": "month"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"net": 1, "usd": {}, "count": 1, "spend": 1, "income": 1, "period": "month", "partial": true, "currency": "texte", "by_currency": [], "period_days": 1, "unconverted": [], "multi_currency": true}} - get_finance≈ 622 tokens
Money for a civil date range in the account timezone (max 366 days; default today): total spent and income in one display currency (the same aggregation as Dayze chat; transfers and IOU anchors left out, rows without an FX quote listed separately, never converted 1:1), plus totals by category and by currency. Optional category matches the expense category (e.g. "food"). Individual transactions are included only with the Financial details permission. ($0.05; API key required)
Paramètres, retour & exemple (7)
Paramètresat· string · optionnel
Optional ISO instant to read "today" at (defaults to now).to· string · optionnel
Last civil day, YYYY-MM-DD, inclusive.date· string · optionnel
Alias for from (one day).from· string · optionnel
First civil day, YYYY-MM-DD, in the account timezone. Alone = that one day. Default: today.category· string · optionnel
Optional expense category to total, matched case-insensitively (e.g. food, transport).currency· string · optionnel
Optional 3-letter display currency (e.g. SGD).timezone· string · optionnel
Optional IANA zone of the user's device (e.g. Asia/Singapore). Used only when the account has no zone set; the profile zone wins.
Exemple d'appel{"name": "get_finance", "arguments": {"at": "texte", "to": "texte", "date": "texte", "from": "texte", "category": "texte", "currency": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"to": "texte", "from": "texte", "count": 1, "totals": {}, "category": "texte", "timezone": "texte", "truncated": true, "by_category": [], "by_currency": [], "transactions": [], "transactions_note": "texte"}} - get_food_log≈ 399 tokens
Food Diary entries (what, kind, place, local time, dishes, photo) for a civil date range in the account timezone (max 92 days; default today), oldest first. Optional place narrows to one venue. Each entry has food_id. ($0.05; API key required)
Paramètres, retour & exemple (6)
Paramètresat· string · optionnel
Optional ISO instant to read "today" at (defaults to now).to· string · optionnel
Last civil day, YYYY-MM-DD, inclusive.date· string · optionnel
Alias for from (one day).from· string · optionnel
First civil day, YYYY-MM-DD, in the account timezone. Alone = that one day. Default: today.place· string · optionnel
Optional venue or merchant to match.timezone· string · optionnel
Optional IANA zone of the user's device (e.g. Asia/Singapore). Used only when the account has no zone set; the profile zone wins.
Exemple d'appel{"name": "get_food_log", "arguments": {"at": "texte", "to": "texte", "date": "texte", "from": "texte", "place": "texte", "timezone": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"to": "texte", "food": [], "from": "texte", "count": 1, "limit": 1, "complete": true, "timezone": "texte", "truncated": true}} - get_fundraising_candidates≈ 254 tokens
Structured fundraising CRM: source-backed roles, sector and stage fit, pipeline and existing graph intro paths. Use for who to approach for a round. Returns canonical person IDs. ($0.05; API key required)
Paramètres, retour & exemple (5)
Paramètresview· string · optionnel · investors | intro_sourcesstage· string · optionnelsector· string · optionnelstatus· string · optionnel · research | intro_requested | contacted | meeting | diligence | passed | committedstrength· number · optionnel
Exemple d'appel{"name": "get_fundraising_candidates", "arguments": {"view": "investors", "stage": "texte", "sector": "texte", "status": "research", "strength": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "candidates": []}} - get_health_trends≈ 415 tokens
Read private health trend points for self (default), or for an explicit person subject through condition_id. Effective points only by default; include_superseded returns corrections. ($0.05; API key required)
Paramètres, retour & exemple (8)
Paramètreskind· string · optionnel · symptom | treatment | energy | sleeplimit· integer · optionnel
Default 100.person_id· string · optionnel
Owned contact id; required for person.observed_to· string · optionnel
Inclusive ISO timestamp.condition_id· string · optionnel
From get_conditions or create_condition.subject_type· string · optionnel · self | person
self, or person with person_id.observed_from· string · optionnel
Inclusive ISO timestamp.include_superseded· boolean · optionnel
Default false. True includes correction history.
Exemple d'appel{"name": "get_health_trends", "arguments": {"kind": "symptom", "limit": 1, "person_id": "texte", "observed_to": "texte", "condition_id": "texte", "subject_type": "self"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "person_id": "texte", "subject_type": "texte", "trend_points": [], "include_superseded": true}} - get_interactions≈ 656 tokens
Bounded graph read over life_updates (PHI-54/61): traverse interaction → person/event/expense/place with source/confidence on every hop. When life_update edges are missing, projects hops from CRM interactions, event_people, and expense person FKs (PHI-100). Prefer for “who was I with at X?”, “when am I meeting Y next?”, “how much at Z?”. 93-day default window. Pass person_name, place_query, or ids. Records carry inspect_url (their Dayze page): cite with it, never build a link from an id; a record without one has no page (inspect_note says which). ($0.10; API key required)
Paramètres, retour & exemple (9)
Paramètresto· string · optionnel
Inclusive YYYY-MM-DDfrom· string · optionnel
Inclusive YYYY-MM-DDlimit· number · optionnel
Max 1–50, default 25event_id· string · optionnelplace_id· string · optionnelperson_id· string · optionnelexpense_id· string · optionnelperson_name· string · optionnelplace_query· string · optionnel
Venue/merchant substring
Exemple d'appel{"name": "get_interactions", "arguments": {"to": "texte", "from": "texte", "limit": 1, "event_id": "texte", "place_id": "texte", "person_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "error": "texte", "window": {}, "account": {}, "no_data": true, "degraded": true, "truncated": true, "inspect_note": "texte", "interactions": []}} - get_inventory≈ 420 tokens
Browse the user's owned Inventory: filter by category, status or search text (name, brand, model, notes, reference number). Archived and no-longer-owned items only with include_archived. Items with specs carry capability_summary and state_freshness; each item has photo_count and cover_url. ($0.10; API key required)
Paramètres, retour & exemple (8)
Paramètreslimit· number · optionnel
1-200, default 50offset· number · optionnelsearch· string · optionnel
Match name, brand, model, notes or reference number.status· string · optionnel · wishlist | ordered | owned | listed_for_sale | sold | returned | lost | disposedsort_by· string · optionnel · created_at | name | valuecategory· string · optionnel
e.g. electronics, watches, clothinginclude_archived· boolean · optionnel
Include archived and no-longer-owned items.include_sensitive· boolean · optionnel
API keys only: include stored identifiers. Ignored for connectors without pii:read.
Exemple d'appel{"name": "get_inventory", "arguments": {"limit": 1, "offset": 1, "search": "texte", "status": "wishlist", "sort_by": "created_at", "category": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "items": []}} - get_inventory_item≈ 383 tokens
One owned Inventory item in full: specs and spec_template, state with state_freshness (current, recent or stale for each key; check with the user before relying on stale state), capability_summary (one line to plan from, e.g. "Can my computer run this?"), valuations, linked people and photos. ($0.10; API key required)
Paramètres, retour & exemple (1)
Paramètresinventory_id· string · requis
The item id from add_inventory_item, get_inventory or search_inventory.
Exemple d'appel{"name": "get_inventory_item", "arguments": {"inventory_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"item": {}, "assets": [], "people": [], "valuations": [], "people_links": [], "capability_summary": "texte"}} - get_inventory_valuations≈ 192 tokens
Chronological valuation history for one owned Inventory item. ($0.10; API key required)
Paramètres, retour & exemple (1)
Paramètresinventory_id· string · requis
The item id from add_inventory_item, get_inventory or search_inventory.
Exemple d'appel{"name": "get_inventory_valuations", "arguments": {"inventory_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "valuations": [], "inventory_id": "texte"}} - get_life_context≈ 1768 tokens
Get a snapshot of the authenticated user's current life context (identity, today/upcoming events, pulse, trackers, plus a question-aware facts slice with trace). Relationships and memories are included by default; pass include_*=false to omit. social_edges is capped at the highest-confidence 40 — check social_edges_truncated / social_edges_total. Location is opt-in. Requires an authenticated Dayze account via OAuth; scoped API keys are also supported for direct clients. ($0.15; API key required)
Paramètres, retour & exemple (8)
Paramètresq· string · optionnel
Alias for query.at· string · optionnel
ISO date-time to answer as of (default now), e.g. 2026-09-26T09:00:00+08:00.query· string · optionnel
Optional question. Drives the question-aware facts slice (family, names, dates, merchants) returned in facts/trace.timezone· string · optionnel
IANA time zone for today (default: where the user is now, else their home zone).include_money· boolean · optionnel
Include money facts in the question-aware facts slice (opt-in; the grant must allow financial details).include_location· boolean · optionnel
Include city/country label; never returns a precise addressinclude_memories· boolean · optionnel
Include recent memory summaries (default true; set false to omit)include_relationships· boolean · optionnel
Include inner-circle and relationship summaries (default true; set false to omit)
Exemple d'appel{"name": "get_life_context", "arguments": {"q": "texte", "at": "texte", "query": "texte", "timezone": "texte", "include_money": true, "include_location": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"facts": [], "trace": {}, "account": {}, "omitted": [], "partial": true, "identity": {}, "sections": {}, "redaction": {}, "mood_score": 1, "energy_score": 1, "inner_circle": [], "inspect_note": "texte"}} - get_life_graph≈ 375 tokens
Explicit private life-graph export: favorites/VIP plus people with edges or recent event tags. Pass full=true for a larger capped list. Optional event–people links. Requires OAuth or a supported scoped credential. ($0.25; API key required)
Paramètres, retour & exemple (4)
Paramètresfull· boolean · optionnel
Include additional people by last interaction, up to max_peoplemax_people· number · optionnelevent_links_limit· number · optionnelinclude_event_links· boolean · optionnel
Exemple d'appel{"name": "get_life_graph", "arguments": {"full": true, "max_people": 1, "event_links_limit": 1, "include_event_links": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"hot": true, "edges": [], "nodes": [], "edge_count": 1, "node_count": 1, "event_people_links": [], "max_people_requested": 1}} - get_location_context≈ 181 tokens
Likely current or at-time place with confidence and provenance. ($0.10; API key required)
Paramètres, retour & exemple (1)
Paramètresat· string · optionnel
ISO timestamp
Exemple d'appel{"name": "get_location_context", "arguments": {"at": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"at": "texte", "place": {}, "confidence": 1, "provenance": []}} - get_location_history≈ 265 tokens
Normalized visit history (venue-level by default). Merges GPS location_visits + place_visits (MCP/Uber digs). ($0.10; API key required)
Paramètres, retour & exemple (6)
Paramètresto· string · optionnelcity· string · optionnelfrom· string · optionnelplace· string · optionnelcountry· string · optionnelprecision· string · optionnel · point | venue | neighborhood | city | country
Exemple d'appel{"name": "get_location_history", "arguments": {"to": "texte", "city": "texte", "from": "texte", "place": "texte", "country": "texte", "precision": "point"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "visits": []}} - get_memories≈ 575 tokens
Authenticated user memories from Dayze Agent. Pass query for semantic/keyword retrieval. Prefer search for event-first trip and calendar titles. Requires OAuth or a supported scoped credential. ($0.10; API key required)
Paramètres, retour & exemple (4)
Paramètresq· string · optionnel
Alias for query.focus· string · optionnel
Ranks memories toward this focus. next_actions (or current, now) returns only up to 4 next-action memories.limit· number · optionnel
Max rows 1–50, default 20query· string · optionnel
Semantic focus (optional)
Exemple d'appel{"name": "get_memories", "arguments": {"q": "texte", "focus": "texte", "limit": 1, "query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"mode": "semantic", "query": "texte", "events": [], "people": [], "account": {}, "memories": [], "inspect_note": "texte"}} - get_moments≈ 266 tokens
List owned Moments by date, title, type, tag, person or place. Stable moment_id and inspect_url for each. ($0.05; API key required)
Paramètres, retour & exemple (9)
Paramètresto· string · optionnel
YYYY-MM-DD inclusivetag· string · optionnelfrom· string · optionnel
YYYY-MM-DD inclusivelimit· integer · optionnelplace· string · optionneltitle· string · optionneloffset· integer · optionnelperson_id· string · optionnelmoment_type· string · optionnel
Exemple d'appel{"name": "get_moments", "arguments": {"to": "texte", "tag": "texte", "from": "texte", "limit": 1, "place": "texte", "title": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"limit": 1, "offset": 1, "moments": [], "next_offset": 1}} - get_money_between_people≈ 534 tokens
Same as get_person_transactions: authenticated user ↔ one contact via individual expense rows. Requires context.read and financial_details:read. Prefer get_person_transactions; this alias exists for agent discoverability. ($0.10; API key required)
Paramètres, retour & exemple (5)
Paramètresto· string · optionnel
Inclusive YYYY-MM-DD filterfrom· string · optionnel
Inclusive YYYY-MM-DD filtername· string · optionnel
Surface name if person_id unknownlimit· number · optionnel
Max rows 1–200, default 50person_id· string · optionnel
CRM people.id
Exemple d'appel{"name": "get_money_between_people", "arguments": {"to": "texte", "from": "texte", "name": "texte", "limit": 1, "person_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"name": "texte", "model": "texte", "totals": [], "account": {}, "entries": [], "person_id": "texte", "inspect_note": "texte", "person_inspect_url": "texte"}} - get_movements≈ 174 tokens
Read evidence-backed travel legs with their origin, destination, timing, mode, provider, distance, and linked expense. ($0.10; API key required)
Paramètres, retour & exemple (3)
Paramètresto· string · optionnelfrom· string · optionnellimit· number · optionnel
Exemple d'appel{"name": "get_movements", "arguments": {"to": "texte", "from": "texte", "limit": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "movements": []}} - get_pending_replies≈ 860 tokens
Pending Replies (Inbox): the replies the user owes ('who do I owe a reply?'), newest first, or one by reply_id. status: unsent (default; pending + snoozed), sent, dismissed, all. Filter by person_name or person_id. Each reply has reply_id, person_name, person_id (null when unlinked), draft, summary, channel, category, source ids, status, state (unsent | sent | dismissed) and due (owed now; false while snoozed until snooze_until). Read-only. ($0.05; API key required)
Paramètres, retour & exemple (5)
Paramètreslimit· number · optionnel
1-200, default 50.status· string · optionnel · unsent | sent | dismissed | allreply_id· string · optionnel
Read one reply (ignores the filters).person_id· string · optionnelperson_name· string · optionnel
Exemple d'appel{"name": "get_pending_replies", "arguments": {"limit": 1, "status": "unsent", "reply_id": "texte", "person_id": "texte", "person_name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "status": "texte", "app_url": "texte", "has_more": true, "pending_replies": []}} - get_people≈ 1411 tokens
List or search the authenticated user's Dayze Contacts (private CRM; table people). query matches literal substrings of name, slug, email, occupation or context tags (no fuzzy fallback). context_tags requires all exact tags; occupation requires a substring. These filters combine with query and search the full owned contact set before pagination. Set wealth_category=reviewed for only explicitly owner-reviewed wealth-category contacts: returns id and name only, even with include_notes=true. That mode searches names only, uses offset rather than cursor, and cannot combine with occupation or context_tags. Without it, each contact includes avatar_url, photo_count, and has_photos; use get_person_photos(person_id) for the full gallery. With financial_details:read, net_worth_assessment includes category, scope, estimated range (when supported), confidence, methodology, caveat, dated source URLs, and review date. Context-only and insufficient-evidence assessments carry no personal number. birthday_precision says which parts of birthday are real: month_day means the year is unknown (stored 1900, or 1904 for Feb 29), year means only the year. Notes omitted by default (has_notes flag); pass include_notes=true for progressive fetch (credential/secret spans are redacted server-side). Supports limit (default 100, max 500) and offset; returns total and truncated. Distinct from public notable People at /people. Advertised name get_people is stable; tools/call also accepts get_contacts / list_contacts. Requires OAuth or a supported scoped credential. ($0.10; API key required)
Paramètres, retour & exemple (10)
Paramètreslimit· number · optionnel
Page size (default 100, max 500)lists· array · optionnel
Only contacts on any of these contact lists (ids or slugs from list_contact_lists), by name; page with offset. Cannot combine with query, occupation, context_tags, wealth_category or cursor.query· string · optionnel
Literal substring search over name, slug, email, occupation and context tags; with wealth_category=reviewed, name only. No fuzzy fallback.cursor· string · optionneloffset· number · optionnel
Skip N rows (default 0)occupation· string · optionnel
Require this literal substring in the occupation field. Cannot combine with wealth_category.context_tags· array · optionnel
Require every exact context tag, case insensitive (for example ["model"]). Cannot combine with wealth_category.include_lists· boolean · optionnel
When true, each contact includes lists: [{ id, name, slug }]. Default false.include_notes· boolean · optionnel
When true, include notes (server-redacted). Default false.wealth_category· string · optionnel · reviewed
Only explicitly owner-reviewed wealth-category contacts. Returns id and name only; cannot combine with occupation or context_tags.
Exemple d'appel{"name": "get_people", "arguments": {"limit": 1, "lists": [], "query": "texte", "cursor": "texte", "offset": 1, "occupation": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"limit": 1, "query": "texte", "total": 1, "offset": 1, "people": [], "account": {}, "has_more": true, "no_match": true, "ordering": "texte", "self_note": "texte", "truncated": true, "expires_at": "texte"}} - get_people_cleanup_result≈ 146 tokens
Fetch start_people_cleanup result by cleanup_id. ($0.05; API key required)
Paramètres, retour & exemple (1)
Paramètrescleanup_id· string · requis
Exemple d'appel{"name": "get_people_cleanup_result", "arguments": {"cleanup_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"status": "texte", "cleanup_id": "texte"}} - get_people_links≈ 172 tokens
Alias of get_person_connections — list graph edges for one CRM person. ($0.05; API key required)
Paramètres, retour & exemple (1)
Paramètresperson_id· string · requis
Exemple d'appel{"name": "get_people_links", "arguments": {"person_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "person": {}, "connections": []}} - get_person_aliases≈ 228 tokens
List canonical aliases (nicknames) for a CRM person. Pass person_id or name (resolved via aliases). Requires OAuth or a supported scoped credential. ($0.05; API key required)
Paramètres, retour & exemple (2)
Paramètresname· string · optionnel
Surface name if person_id unknownperson_id· string · optionnel
CRM people.id
Exemple d'appel{"name": "get_person_aliases", "arguments": {"name": "texte", "person_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"name": "texte", "aliases": [], "person_id": "texte", "candidates": []}} - get_person_connections≈ 167 tokens
List graph edges for one CRM person. ($0.05; API key required)
Paramètres, retour & exemple (1)
Paramètresperson_id· string · requis
Exemple d'appel{"name": "get_person_connections", "arguments": {"person_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "person": {}, "connections": []}} - get_person_interactions≈ 601 tokens
Relationship timeline for one CRM person: interactions rows (message/call/meeting/note + extended kinds like visit/gift/stayed_over encoded in summary) plus co-tagged calendar events. Prefer this over dumping people.notes for “when did I last see X?”. Pass person_id or name. Records carry inspect_url (their Dayze page): cite with it, never build a link from an id; a record without one has no page (inspect_note says which). ($0.10; API key required)
Paramètres, retour & exemple (6)
Paramètresto· string · optionnel
Inclusive YYYY-MM-DD filterfrom· string · optionnel
Inclusive YYYY-MM-DD filterkind· string · optionnel
Optional filter: meeting, visit, gift, stayed_over, met, …name· string · optionnellimit· number · optionnel
Max rows 1–100, default 40person_id· string · optionnel
Exemple d'appel{"name": "get_person_interactions", "arguments": {"to": "texte", "from": "texte", "kind": "texte", "name": "texte", "limit": 1, "person_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"name": "texte", "count": 1, "events": [], "account": {}, "person_id": "texte", "truncated": true, "matched_via": "texte", "inspect_note": "texte", "person_inspect_url": "texte"}} - get_person_neighborhood≈ 516 tokens
Subgraph around one user-owned person_id — profile (avatar_url, photo_count, has_photos) plus declared connections. Use get_person_photos for the full gallery. Notes omitted unless include_notes=true (redacted). Requires OAuth or a supported scoped credential. ($0.15; API key required)
Paramètres, retour & exemple (2)
Paramètresperson_id· string · requis
UUIDinclude_notes· boolean · optionnel
When true, include center.notes (server-redacted). Default false.
Exemple d'appel{"name": "get_person_neighborhood", "arguments": {"person_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"center": {}, "account": {}, "connections": [], "inspect_note": "texte", "include_notes": true, "connection_count": 1}} - get_person_photos≈ 234 tokens
Read a contact avatar and gallery as inline MCP images with per-asset render status. Avatar comes first. Use offset to page through photos (up to six per call); never paste raw image URLs into chat. ($0.10; API key required)
Paramètres, retour & exemple (3)
Paramètreslimit· integer · optionneloffset· integer · optionnelperson_id· string · requis
Exemple d'appel{"name": "get_person_photos", "arguments": {"person_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "photos": [], "person_id": "texte"}} - get_person_transactions≈ 581 tokens
Me↔contact money ledger from individual expenses (paid_to_person_id / income_from_person_id). Requires context.read and financial_details:read. Pass person_id or name. Returns entries + per-currency totals. Reuses existing expenses — no parallel ledger table. Records carry inspect_url (their Dayze page): cite with it, never build a link from an id; a record without one has no page (inspect_note says which). ($0.10; API key required)
Paramètres, retour & exemple (5)
Paramètresto· string · optionnel
Inclusive YYYY-MM-DD filterfrom· string · optionnel
Inclusive YYYY-MM-DD filtername· string · optionnel
Surface name if person_id unknownlimit· number · optionnel
Max rows 1–200, default 50person_id· string · optionnel
CRM people.id
Exemple d'appel{"name": "get_person_transactions", "arguments": {"to": "texte", "from": "texte", "name": "texte", "limit": 1, "person_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"name": "texte", "count": 1, "totals": [], "account": {}, "entries": [], "person_id": "texte", "inspect_note": "texte", "person_inspect_url": "texte"}} - get_photo≈ 149 tokens
Single photo metadata + secure URL. Returns inline MCP image attachment when available. ($0.10; API key required)
Paramètres, retour & exemple (1)
Paramètresphoto_id· string · requis
Exemple d'appel{"name": "get_photo", "arguments": {"photo_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"photo": {}}} - get_photos_for_event≈ 166 tokens
Assets linked to an event. ($0.10; API key required)
Paramètres, retour & exemple (1)
Paramètresevent_id· string · requis
Exemple d'appel{"name": "get_photos_for_event", "arguments": {"event_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "photos": [], "event_id": "texte"}} - get_photos_for_place≈ 168 tokens
Assets linked to a canonical place. ($0.10; API key required)
Paramètres, retour & exemple (1)
Paramètresplace_id· string · requis
Exemple d'appel{"name": "get_photos_for_place", "arguments": {"place_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "photos": [], "place_id": "texte"}} - get_place≈ 191 tokens
Fetch one saved place card (business_contacts) by place_id — address, opening hours, affordability, notes. ($0.05; API key required)
Paramètres, retour & exemple (3)
Paramètresid· string · optionnelplace_id· string · optionnelbusiness_contact_id· string · optionnel
Exemple d'appel{"name": "get_place", "arguments": {"id": "texte", "place_id": "texte", "business_contact_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"place": {}, "message": "texte", "place_id": "texte", "business_contact_id": "texte"}} - get_place_visits≈ 763 tokens
Count confirmed outings at a venue. Resolves aliases first; typed PlaceVisits are primary, and past non-todo events/GPS evidence for the canonical place are reconciled by day. count excludes plans, todos, and separately labelled reconstructed_candidates. Returns visit dates and evidence refs. ($0.10; API key required)
Paramètres, retour & exemple (5)
Paramètresto· string · optionnelfrom· string · optionnelplace· string · requisplace_id· string · optionnelperson_ids· array · optionnel
Exemple d'appel{"name": "get_place_visits", "arguments": {"place": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "place": "texte", "visits": [], "account": {}, "confidence": 1, "matched_via": "texte", "inspect_note": "texte", "people_present": [], "resolved_place": {}, "confirmed_count": 1, "count_semantics": "texte", "matching_events": []}} - get_places≈ 538 tokens
Known venues: visit-graph `places` plus saved place cards (`saved_places` from business_contacts) with address, opening_hours, and affordability ($/$$/$$$). `query` filters both lists by name. ($0.10; API key required)
Paramètres, retour & exemple (8)
Paramètrestag· string · optionnelarea· string · optionnelcity· string · optionnelnear· string · optionnel
Filter saved cards by area/tag/notes (e.g. Madeira).limit· number · optionnelquery· string · optionnel
Name contains, case-insensitive (e.g. "QA Map Probe Tokyo").country· string · optionnelaffordability· string · optionnel
$ | $$ | $$$
Exemple d'appel{"name": "get_places", "arguments": {"tag": "texte", "area": "texte", "city": "texte", "near": "texte", "limit": 1, "query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "places": [], "account": {}, "saved_count": 1, "inspect_note": "texte", "saved_places": []}} - get_residences≈ 232 tokens
Home / residence history separate from trips: trips with metadata.kind=residence (from log_travel) plus optional life_eras. Use for Boylston / Madeira / current home cards. ($0.10; API key required)
Paramètres, retour & exemple (4)
Paramètresto· string · optionnelfrom· string · optionnellimit· number · optionnelinclude_eras· boolean · optionnel
Include life_eras rows (default true)
Exemple d'appel{"name": "get_residences", "arguments": {"to": "texte", "from": "texte", "limit": 1, "include_eras": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"eras": [], "count": 1, "residences": []}} - get_sleep≈ 156 tokens
Sleep: list typed sleep/nap records with duration_minutes. ($0.05; API key required)
Paramètres, retour & exemple (3)
Paramètresto· string · optionnelfrom· string · optionnellimit· number · optionnel
Exemple d'appel{"name": "get_sleep", "arguments": {"to": "texte", "from": "texte", "limit": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "sleeps": []}} - get_sleep_summary≈ 161 tokens
Sleep: day/week/month totals and averages. ($0.05; API key required)
Paramètres, retour & exemple (1)
Paramètresrange· string · optionnel · day | week | month
Exemple d'appel{"name": "get_sleep_summary", "arguments": {"range": "day"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "range": "texte", "nights": 1, "total_minutes": 1, "average_minutes": 1}} - get_timeline≈ 558 tokens
The user's days in one read: calendar events, Moments (lived stories) and Food Diary entries for a civil date range in the account timezone (max 92 days; default today). A food entry's calendar mirror is listed once, under food. Text the connection may not see is redacted as in get_events. Each record keeps its id and inspect_url where it has a page. ($0.05; API key required)
Paramètres, retour & exemple (5)
Paramètresat· string · optionnel
Optional ISO instant to read "today" at (defaults to now).to· string · optionnel
Last civil day, YYYY-MM-DD, inclusive.date· string · optionnel
Alias for from (one day).from· string · optionnel
First civil day, YYYY-MM-DD, in the account timezone. Alone = that one day. Default: today.timezone· string · optionnel
Optional IANA zone of the user's device (e.g. Asia/Singapore). Used only when the account has no zone set; the profile zone wins.
Exemple d'appel{"name": "get_timeline", "arguments": {"at": "texte", "to": "texte", "date": "texte", "from": "texte", "timezone": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"to": "texte", "food": [], "from": "texte", "today": "texte", "counts": {}, "events": [], "moments": [], "timezone": "texte", "truncated": {}, "unavailable": []}} - get_today≈ 509 tokens
Today in the user's timezone: local date and time, today's events, Moments and Food Diary entries, and today's money totals by category. Use first when an agent needs the user's current day. ($0.05; API key required)
Paramètres, retour & exemple (3)
Paramètresat· string · optionnel
Optional ISO instant to read "today" at (defaults to now).currency· string · optionnel
Optional 3-letter display currency for the money totals (default: the account's most used).timezone· string · optionnel
Optional IANA zone of the user's device (e.g. Asia/Singapore). Used only when the account has no zone set; the profile zone wins.
Exemple d'appel{"name": "get_today", "arguments": {"at": "texte", "currency": "texte", "timezone": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"to": "texte", "date": "texte", "food": [], "from": "texte", "money": {}, "counts": {}, "events": [], "moments": [], "timezone": "texte", "truncated": {}, "local_time": "texte", "unavailable": []}} - get_trackers≈ 328 tokens
Authenticated user live trackers only; expired countdowns and inactive streaks are omitted. Sobriety/streak trackers remain visible at day 0 after a reset. Merges event-backed trackers with the trackers table when present. current_value is read from the tracker's events: days for sobriety/streak, days left for a countdown, the total for a counter (value_unit), with last_event_date. Returns up to `limit` trackers (default 50, max 200; get_context_pack's active_trackers keeps 6); total and truncated say whether more exist. Requires OAuth or a supported scoped credential. ($0.10; API key required)
Paramètres, retour & exemple (1)
Paramètreslimit· number · optionnel
Max trackers 1–200, default 50
Exemple d'appel{"name": "get_trackers", "arguments": {"limit": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "limit": 1, "total": 1, "trackers": [], "truncated": true}} - get_transactions≈ 545 tokens
List individual expense/income/transfer rows (includes tags, payment_method). Requires context.read and financial_details:read. Filter with tag=project:… or project=… ($0.10; API key required)
Paramètres, retour & exemple (9)
Paramètresto· string · optionneltag· string · optionnel
Exact tag, e.g. project:max-soko-poker-venture or rail:zellefrom· string · optionneltype· string · optionnellimit· number · optionnel
Page size 1-500, default 100.cursor· string · optionnel
Continue the same immutable one-hour snapshot; other filters remain frozen.offset· number · optionnel
Skip this many rows of a new snapshot (a cursor carries its own).project· string · optionnel
Project label or slug → project:{slug}include_archived· boolean · optionnel
Exemple d'appel{"name": "get_transactions", "arguments": {"to": "texte", "tag": "texte", "from": "texte", "type": "texte", "limit": 1, "cursor": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "account": {}, "inspect_note": "texte", "transactions": []}} - get_travel_history≈ 145 tokens
Completed/confirmed travel only. ($0.10; API key required)
Paramètres, retour & exemple (2)
Paramètresto· string · optionnelfrom· string · optionnel
Exemple d'appel{"name": "get_travel_history", "arguments": {"to": "texte", "from": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "trips": []}} - get_trip≈ 178 tokens
Single trip with linked places and people. ($0.10; API key required)
Paramètres, retour & exemple (1)
Paramètrestrip_id· string · requis
Exemple d'appel{"name": "get_trip", "arguments": {"trip_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"trip": {}, "people": [], "places": []}} - get_trips≈ 228 tokens
User trips with status filter (planned/completed/etc.). Residences also appear here with metadata.kind=residence — prefer get_residences for home history. ($0.10; API key required)
Paramètres, retour & exemple (6)
Paramètresto· string · optionnelfrom· string · optionnellimit· number · optionnelcursor· string · optionnel
Continue the same immutable one-hour snapshot; other filters remain frozen.status· string · optionnelinclude_archived· boolean · optionnel
Exemple d'appel{"name": "get_trips", "arguments": {"to": "texte", "from": "texte", "limit": 1, "cursor": "texte", "status": "texte", "include_archived": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "trips": []}} - import_rideshare_gmail≈ 839 tokens
Preview or import completed Lyft and Uber receipts as deduplicated origin-to-destination movements plus linked expenses. dry_run returns the exact proposed records without writing. Requires mail.read on an API key or non-ChatGPT OAuth connection. ChatGPT profiles do not grant mail.read or list this tool. ($0.15; API key required)
Paramètres, retour & exemple (7)
Paramètresemail· string · optionnelquery· string · optionnelaccount· string · optionneldry_run· boolean · optionnelrequest_id· string · optionnel
Client idempotency key (retries return original result).max_results· number · optionnelidempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "import_rideshare_gmail", "arguments": {"email": "texte", "query": "texte", "account": "texte", "dry_run": true, "request_id": "texte", "max_results": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"query": "texte", "account": {}, "results": [], "scanned": 1, "skipped": 1, "imported": 1, "duplicates": 1, "provenance": {}}} - import_uber_gmail≈ 854 tokens
Search connected Gmail for Uber trip receipts and write log_place_visit rows with sources gmail:uber-{gmail_id} (idempotent). Optional dry_run, max_results, query, account. Requires mail.read on an API key or non-ChatGPT OAuth connection. ChatGPT profiles do not grant mail.read or list this tool. ($0.15; API key required)
Paramètres, retour & exemple (7)
Paramètresemail· string · optionnelquery· string · optionnel
Override Gmail search (default from:uber.com receipt/trip)account· string · optionneldry_run· boolean · optionnelrequest_id· string · optionnel
Client idempotency key (retries return original result).max_results· number · optionnelidempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "import_uber_gmail", "arguments": {"email": "texte", "query": "texte", "account": "texte", "dry_run": true, "request_id": "texte", "max_results": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"query": "texte", "account": {}, "results": [], "scanned": 1, "skipped": 1, "imported": 1, "duplicates": 1, "provenance": {}}} - import_venmo_gmail≈ 915 tokens
Search connected Gmail for Venmo receipts and write log_transaction rows with external_id=venmo-gmail-{gmail_id} (idempotent). Optional dry_run, max_results, query, mirror_event, account. Prefer this over calendar-only Money · digs. Requires mail.read on an API key or non-ChatGPT OAuth connection. ChatGPT profiles do not grant mail.read or list this tool. ($0.15; API key required)
Paramètres, retour & exemple (8)
Paramètresemail· string · optionnel
Alias for accountquery· string · optionnel
Override Gmail search (default from:venmo.com paid/payment)account· string · optionnel
Mailbox email or connection iddry_run· boolean · optionnelrequest_id· string · optionnel
Client idempotency key (retries return original result).max_results· number · optionnelmirror_event· boolean · optionnel
Also create Money · calendar annotationsidempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "import_venmo_gmail", "arguments": {"email": "texte", "query": "texte", "account": "texte", "dry_run": true, "request_id": "texte", "max_results": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"query": "texte", "account": {}, "results": [], "scanned": 1, "skipped": 1, "imported": 1, "duplicates": 1, "provenance": {}}} - link_entities≈ 1237 tokens
Link Trip→Stay→Place / Event→Person (graph, not prose). link_type accepts documented aliases (e.g. participant → event_person); unknown values error instead of silently becoming "other". Pass status=confirmed|rejected to record a human decision on an existing (often inferred) edge. status=confirmed on a link that does not exist yet creates it, as a call without status does (explicit, confidence 1). status=rejected on a link that does not exist errors and saves nothing: there is nothing to reject. ($0.10; API key required)
Paramètres, retour & exemple (11)
Paramètresnotes· string · optionnelto_id· string · requissource· string · optionnel
Provenance tag, e.g. manual, inferred:name_match:title.status· string · optionnel · confirmed | rejected
confirmed: confirm an existing edge (usually an inferred one: +confirmed, confidence 1), or create the edge if it does not exist yet, as a call without status does. rejected: tombstone an existing edge (+rejected, confidence 0). A rejected edge is not a relationship: the event's people, timelines, get_interactions and every other read leave it out. It is kept so automated writers never recreate it; linking the same pair again without status replaces it. Errors and saves nothing when the edge does not exist.from_id· string · requisto_type· string · requisfrom_type· string · requislink_type· string · optionnel
trip_stay | trip_flight | stay_place | event_place | event_person | transaction_trip | event_event | other. Aliases: participant/participants/attendee/attendees → event_person.confidence· number · optionnel
0-1. Defaults to 1 for explicit links. 0 means rejected: every read leaves the edge out.request_id· string · optionnel
Client idempotency key (retries return original result).idempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "link_entities", "arguments": {"to_id": "texte", "from_id": "texte", "to_type": "texte", "from_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"link": {}, "linked": true, "account": {}, "message": "texte", "provenance": {}, "confirmation": "explicit"}} - link_inventory_person≈ 846 tokens
Link one owned contact to one owned Inventory item as its provenance: inherited_from, gifted_by, purchased_from, co_owned_with, borrowed_from or loaned_to. ($0.10; API key required)
Paramètres, retour & exemple (6)
Paramètresnotes· string · optionnelperson_id· string · requis
Contact id (from get_people or resolve_person).request_id· string · optionnel
Client idempotency key (retries return original result).inventory_id· string · requis
The item id from add_inventory_item, get_inventory or search_inventory.relationship· string · requis · inherited_from | gifted_by | purchased_from | co_owned_with | borrowed_from | loaned_toidempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "link_inventory_person", "arguments": {"person_id": "texte", "inventory_id": "texte", "relationship": "inherited_from"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"link": {}, "account": {}, "message": "texte", "person_id": "texte", "provenance": {}, "inventory_id": "texte", "idempotent_replay": true}} - link_people≈ 788 tokens
NON-DESTRUCTIVE: create/update a person_connections edge between two distinct people (friends/family/knows/…). Both contacts remain. Do not use for duplicate cleanup — use merge_people. ($0.10; API key required)
Paramètres, retour & exemple (9)
Paramètresnotes· string · optionnelsource· string · optionneldirection· string · optionnelperson_id· string · requisconfidence· number · optionnelrequest_id· string · optionnel
Client idempotency key (retries return original result).idempotency_key· string · optionnel
Alias for request_id.other_person_id· string · requisrelationship_type· string · optionnel
Exemple d'appel{"name": "link_people", "arguments": {"person_id": "texte", "other_person_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"linked": true, "account": {}, "message": "texte", "connection": {}, "provenance": {}}} - list_clarifications≈ 278 tokens
Ranked clarification queue: only person-typed mentions + duplicate CRM people. Non-person junk (places, orgs, media, command fragments) is auto-dismissed. Existing contacts auto-link. ($0.05; API key required)
Paramètres, retour & exemple (3)
Paramètreskind· string · optionnel
Optional: entity_mention | duplicate_peoplelimit· number · optionnel
Max rows 1–50, default 15auto_cleanup· boolean · optionnel
Auto-dismiss non-person / auto-link existing (default true)
Exemple d'appel{"name": "list_clarifications", "arguments": {"kind": "texte", "limit": 1, "auto_cleanup": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "message": "texte", "truncated": true, "clarifications": []}} - list_contact_lists≈ 224 tokens
List the owner's contact lists (the lists on Contacts), by name: id, name, slug, member_count, created_at. auto_synced marks Family, which follows each contact's relationship. Filter contacts by list with get_people(lists). ($0.05; API key required)
Paramètres, retour & exemple (1)
Paramètresinclude_counts· boolean · optionnel
Include member_count (default true).
Exemple d'appel{"name": "list_contact_lists", "arguments": {"include_counts": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "lists": []}} - list_event_fact_corrections≈ 156 tokens
List the owner’s recent event classification and event-person correction ledger, including undone entries. ($0.10; API key required)
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_event_fact_corrections", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "corrections": []}} - list_gmail_accounts≈ 238 tokens
List connected Gmail mailboxes for the authenticated user (id, email, is_default). Use account on search_gmail / read_gmail_* / import_*_gmail to pick a mailbox. Connect another inbox at /integrations (multi-mailbox after migration). Requires mail.read on an API key or non-ChatGPT OAuth connection. ChatGPT profiles do not grant mail.read or list this tool. Share tokens cannot call. ($0.05; API key required)
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_gmail_accounts", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "accounts": [], "connect_url": "texte"}} - log_condition_checkin≈ 985 tokens
Save a day's check-in for one condition with the same explicit subject_type/person_id. Self check-ins show on the user's Day Card; another person's do not. severity 0-10, note, treatment_done; logged_on defaults today. One per condition/day. ($0.05; API key required)
Paramètres, retour & exemple (9)
Paramètresnote· string · optionnelseverity· integer · optionnel
0 (none) to 10 (worst).logged_on· string · optionnel
YYYY-MM-DD; default today in the user's time zone.person_id· string · optionnel
Owned contact id; required for person.request_id· string · optionnel
Client idempotency key (retries return original result).condition_id· string · requis
From get_conditions or create_condition.subject_type· string · requis · self | person
self, or person with person_id.treatment_done· string · optionnel
What they did for it that day.idempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "log_condition_checkin", "arguments": {"condition_id": "texte", "subject_type": "self"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"account": {}, "checkin": {}, "created": true, "message": "texte", "provenance": {}, "idempotent_replay": true}} - log_entry≈ 1158 tokens
CREATES one entry from what the user said: type food/meal/snack/drink/kopi/coffee → Food Diary (with its Finance row when amount is given), expense → Finance, moment → a private Moment. Uses the same duplicate check as Dayze chat: the identical entry sent again within about 2 minutes is not saved twice and the reply says "Already logged that a moment ago". Shows in Dayze with "Added by <this app>" and can be undone from the record. Returns the saved record id (food_id, expense_id or moment_id). ($0.10; API key required)
Paramètres, retour & exemple (10)
Paramètrestext· string · requis
What the user had, bought or did, in their words (max 500). For food the item ("kopi peng"); for an expense what it was for.type· string · requis · food | meal | snack | drink | kopi | coffee | expense | moment
What kind of entry.when· string · optionnel
Optional ISO 8601 instant with offset when it happened. Leave out for now.place· string · optionnel
Optional place or merchant name.amount· number · optionnel
Price paid, a positive number. Required for type expense.category· string · optionnel
Optional Finance category, type expense only.currency· string · optionnel
3-letter currency of amount (e.g. SGD).timezone· string · optionnel
Optional IANA zone of the user's device (e.g. Asia/Singapore). Used only when the account has no zone set; the profile zone wins.request_id· string · optionnel
A new id (UUID) per write; send the same value again only to retry this exact call (the retry returns the first result).idempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "log_entry", "arguments": {"text": "texte", "type": "food"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"kind": "texte", "logged": true, "record": {}, "account": {}, "food_id": "texte", "message": "texte", "timezone": "texte", "duplicate": true, "moment_id": "texte", "entry_type": "texte", "expense_id": "texte", "provenance": {}}} - log_event≈ 2684 tokens
MUTATES the calendar (non-food events, tasks, sleep). Replies owed ('what to reply to X') go to create_pending_reply. Woke at X: end_time. Requires title plus event_date or date (YYYY-MM-DD, YYYY-MM, or YYYY). A task with no deadline: ask for a date, never fill in today. Soft dates preserve date_precision. A story or anecdote about something that already happened is a moment: use log_moment (with event_id when it is about an event here), not a second event. Optional: event_time (alias time), end_date, end_time, location, description (alias notes), category, visibility, timezone, reminder fields, sharing/people, scoreboard (structured operating status; keep description for notes), and idempotency_key. Sleep with only a wake time ('I woke at 11:15'): category sleep, event_date the day they woke, end_time 11:15 and no event_time. Don't invent a bedtime; add it later with update_event event_time (a bedtime the night before also sets event_date to that night and end_date to the wake day). Timed events default to the profile push-reminder timing; all-day events stay off and explicit reminder_enabled=false opts out. Prefer log_travel for trips/residences. Unknown people do not fail the write. Public events return share_url. Requires API key or OAuth with context scope; share tokens cannot write. ($0.10; API key required)
Paramètres, retour & exemple (39)
Paramètrescity· string · optionnel
Structured city (composed into location if location omitted)date· string · optionnel
Alias for event_date.time· string · optionnel
Alias for event_time.with· array · optionnel
Alias for people.notes· string · optionnel
Alias for description.title· string · requis
Event title (required).amount· number · optionnel
If set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.people· array · optionnel
People names or person UUIDs to tag (event_people role=with).source· string · optionnel
With amount: venmo/zelle/…country· string · optionnel
Structured countrycategory· string · optionnel
e.g. sleep, funeral, family, work, travel. Stored as events.category and event_type.currency· string · optionnelend_date· string · optionnel
Optional end date YYYY-MM-DD (multi-day, or a night that ends the next day).end_time· string · optionnel
Optional end time (same formats as event_time). Works without event_time, e.g. a wake time alone.location· string · optionnel
Free-text place. Or pass city + country.timezone· string · optionnel
IANA timezone for wall-clock display (e.g. America/New_York).direction· string · optionnel · from | to
With amount: from=received, to=sentimage_url· string · optionnel
Optional cover image URL for Explore + /e share cards.person_id· string · optionnel
With amount: CRM person UUIDevent_date· string · optionnel
Start date YYYY-MM-DD, YYYY-MM, or YYYY (required). Alias: date. For a task, its real due date; if the user gave none, ask. Don't use today.event_time· string · optionnel
Optional start time: 8pm, 20:00, or 20:00:00. Alias: time. Leave it out when nobody said it.event_type· string · optionnel
Optional event kind (e.g. todo, goal, work). Worked out from category when omitted.person_ids· array · optionnel
Owned person UUIDs to tag (user-scoped).request_id· string · optionnel
Alias for idempotency_key (preferred by some clients).scoreboard· object · optionnel
Operating status as data (not description prose). state is required when the event has no scoreboard yet. On update_event fields merge; a null field clears it; scoreboard null removes the record.share_with· array · optionnel
Dayze profile handles to add as collaborators via shared_events (e.g. ["boof"]). Leading @ stripped.visibility· string · optionnel · private | friends | public
Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.description· string · optionnel
Notes about the event. Alias: notes.external_id· string · optionnel
With amount: idempotency keyperson_name· string · optionnel
One person to tag, by name.external_url· string · optionnelpeople_names· array · optionnel
Alias for people.date_precision· string · optionnel · day | month | year | approx
Soft date precision stored in metadata. YYYY/YYYY-MM dates default to year/month.idempotency_key· string · optionnel
Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.source_gmail_id· string · optionnel
Gmail message id the event came from (kept in metadata).reminder_enabled· boolean · optionnel
Timed events default to a push reminder when omitted. Set false only for an explicit opt-out; all-day events stay off.mirror_transaction· boolean · optionnel
Default true when amount is set; set false to keep calendar-onlyreminder_minutes_before· number · optionnel
Push lead time. Uses the profile reminder_timing when omitted (fallback 30 minutes).source_email_participants· array · optionnel
Sender/To/Cc identities from source_gmail_id. Contacts are proposed only on one exact stored email match; shared/unknown/automated addresses stay unresolved. Do not also pass people fields.
Exemple d'appel{"name": "log_event", "arguments": {"title": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"event": {}, "account": {}, "provenance": {}, "people_tagged": [], "places_from_names": [], "unresolved_people": [], "life_state_rebuilt": true, "people_name_matched": [], "import_hygiene_flags": [], "people_email_anchored": [], "unresolved_source_people": []}} - log_expense≈ 1242 tokens
Create an outgoing expense only. For money received (Venmo/Cash App/PayPal/Zelle) use log_transaction with direction=from and type=income. Lending a contact cash: category "IOU lend" + person_id (one call creates the IOU they owe and shows the money out once). ($0.10; API key required)
Paramètres, retour & exemple (19)
Paramètresdate· string · optionneltags· array · optionnel
Optional tags. Prefer project: / ext: / rail: grammar.notes· string · optionnel
Free text about the payment. Alias: description.amount· number · requissource· string · optionnel
Payment rail or app: venmo, zelle, cashapp, card, cash, … Alias: payment_method.project· string · optionnel
Venture/project label → stored as project:{slug} tag (e.g. Max Soko poker venture)category· string · optionnel
"IOU repayment" = paying a contact back; "IOU lend" = lending a contact cash (both need person_id).currency· string · optionneliou_type· string · optionnel
loan (default) or invoice. Invoice = unpaid receivable: no Finance outflow on create; payment is income "Invoice payment". Use for invoice/receivable phrasings; "I lent…" → loan.merchant· string · optionnel
Payee name (defaults when omitted)person_id· string · optionnel
The contact paid (needed for "IOU repayment" / "IOU lend").cash_moved· boolean · optionnel
With category "IOU lend": true (default) = cash changed hands as a loan (shows in Finance); false = an owed share, e.g. of a dinner logged as its own expense (IOU only). Ignored for iou_type invoice.request_id· string · optionnel
Client idempotency key (retries return original result).description· string · optionnel
Alias for notes.external_id· string · optionnel
The provider's id for this payment; dedupes imports. Without a request_id it is required.person_name· string · optionnel
The contact by name, when there is no person_id (IOU categories need one or the other).client_label· string · optionnel
Optional free-text client label for an invoice IOU.payment_method· string · optionnel
Alias for source.idempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "log_expense", "arguments": {"amount": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"account": {}, "expense": {}, "message": "texte", "expense_id": "texte", "provenance": {}}} - log_favorite_song≈ 1033 tokens
MUTATES the authenticated user favorite tracks list at /music. Use when they favorite or save a song — do not store this as a chat memory or in music_preferences. Example: “Henry Mancini - Piano And Strings (1995 Remastered)” → log_favorite_song({ track: "Henry Mancini - Piano And Strings (1995 Remastered)" }) or title + artist. Optional year_note, source_url, and person_id from get_people to link the track to one owned contact. Requires API key or OAuth with scope context. Share tokens cannot write. ($0.10; API key required)
Paramètres, retour & exemple (10)
Paramètresurl· string · optionnel
Alias for source_urltitle· string · optionnel
Track title (required unless track blob parses)track· string · optionnel
Optional "Artist - Title (year remaster)" blobartist· string · optionnel
Artist name (required unless track blob parses)person_id· string · optionnel
Optional owned contact id from get_people; the track appears on that contact profile and shared historyyear_note· string · optionnel
Optional year or remaster noterequest_id· string · optionnel
Client idempotency key (retries return original result).source_url· string · optionnel
Optional https linkremaster_note· string · optionnel
Alias for year_noteidempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "log_favorite_song", "arguments": {"url": "texte", "title": "texte", "track": "texte", "artist": "texte", "person_id": "texte", "year_note": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"track": {}, "account": {}, "created": true, "message": "texte", "track_id": "texte", "provenance": {}}} - log_food≈ 1562 tokens
MUTATES the authenticated user Food Diary and calendar. Use when they ate or drank — do not store this as a chat memory. Supports dish_items for multiple named dishes with optional price and rating. Example: “I had Mee Pok for late lunch with my parents” → log_food({ what: "Mee Pok", kind: "meal", meal_period: "late lunch", with: ["my parents"] }). Optional: calories (user-stated kilocalories), place/merchant, amount, consumed_at (ISO). Explicit calories override the automatic heuristic. Resolves with/Mum/Dad via person aliases; unknown names do not fail the food write. Tags companions on the mirrored event. Rebuilds life_state. Requires API key or OAuth with scope context. Share tokens cannot write. ($0.10; API key required)
Paramètres, retour & exemple (19)
Paramètreskind· string · optionnel · meal | snack | drinkwhat· string · requis
What they ate or drank (required). Example: Mee Pokwith· array · optionnel
Companion names, aliases, ids, or group tokens. "my parents" / Mum / Dad resolve via aliases; "family" expands to CRM rows with family relationship labelsnotes· string · optionnelplace· string · optionnel
Venue or locationamount· number · optionnel
Price if mentionedpaid_by· string · optionnel
Who paid. A person's name or alias for a third party; "self" / "me" = the user paid (recorded in Finance); "unknown" = payer not known. Not a payment method: use payment_methodcalories· number · optionnel
Kilocalories explicitly stated by the user; overrides the automatic heuristic and is stored with user provenancecurrency· string · optionnel
ISO currency, e.g. SGDmerchant· string · optionnel
Restaurant, stall, or shopdish_items· array · optionnel
Ordered dishes in this entry. Each requires name; price and rating are optional.expense_id· string · optionnel
Link this entry to ONE existing Finance transaction you own (UUID from get_expenses / log_expense) instead of recording a new oneperson_ids· array · optionnel
Owned person UUIDs to tag (user-scoped)request_id· string · optionnel
Client idempotency key (retries return original result).consumed_at· string · optionnel
ISO instant; wins over meal_periodmeal_period· string · optionnel
Spoken period when consumed_at is omitted, e.g. "late lunch"people_names· array · optionnel
Alias for withpayment_method· string · optionnel
How it was paid (cash, card, PayLah, PayNow…). Saved on the Finance transaction; never the payeridempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "log_food", "arguments": {"what": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"account": {}, "food_id": "texte", "message": "texte", "event_id": "texte", "food_log": {}, "provenance": {}, "request_id": "texte", "people_tagged": [], "unresolved_people": [], "life_state_rebuilt": true}} - log_income≈ 1257 tokens
Record money received (Stripe, refunds, payroll, Venmo). log_transaction with type income and direction from already set (pass neither). Use external_id for Stripe/Gmail idempotency. A contact paying back an IOU: category "IOU repayment" + person_id (lowers the IOU, shows the money once). A contact lending the user cash: category "IOU lend" + person_id (creates the IOU the user owes, shows the money once). ($0.10; API key required)
Paramètres, retour & exemple (20)
Paramètresdate· string · optionneltags· array · optionnel
Optional tags. Prefer project: / ext: / rail: grammar.notes· string · optionnel
Free text about the payment. Alias: description.amount· number · requissource· string · optionnelproject· string · optionnel
Venture/project label → stored as project:{slug} tag (e.g. Max Soko poker venture)category· string · optionnel
e.g. Salary, Gift, Refund. "IOU repayment" and "IOU lend" need person_id.currency· string · optionneliou_type· string · optionnel
loan (default) or invoice. Invoice = unpaid receivable: no Finance outflow on create; payment is income "Invoice payment". Use for invoice/receivable phrasings; "I lent…" → loan.merchant· string · optionnelperson_id· string · optionnelcash_moved· boolean · optionnel
With category "IOU lend": true (default) = cash changed hands as a loan (shows in Finance); false = an owed share, e.g. of a dinner logged as its own expense (IOU only). Ignored for iou_type invoice.request_id· string · optionnel
Client idempotency key (retries return original result).description· string · optionnel
Alias for notes.external_id· string · optionnelperson_name· string · optionnel
The contact by name, when there is no person_id (IOU categories need one or the other).client_label· string · optionnel
Optional free-text client label for an invoice IOU.payment_method· string · optionnelidempotency_key· string · optionnel
Alias for request_id.not_iou_repayment· boolean · optionnel
true only when income from a contact with an open IOU is unrelated to it.
Exemple d'appel{"name": "log_income", "arguments": {"amount": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"type": "texte", "account": {}, "message": "texte", "event_id": "texte", "direction": "texte", "duplicate": true, "expense_id": "texte", "provenance": {}, "transaction": {}, "transaction_id": "texte"}} - log_interaction≈ 1762 tokens
Contacts: log that the user was in touch with a contact ('I replied to Vadim', 'called Mum'): kind message, call, meeting, note, check_in or thought_of. Private to the owner. person_id (an owned contact) or person_name (linked only on one resolve_person match; otherwise nothing is logged and the candidates come back). With reply_id it also marks that Pending Reply sent: this interaction is the reply's one write-back (a later resolve adds no second). summary: one line in your own words, never email text or a subject. occurred_at: when it happened (ISO), default now; not in the future. Never sends anything. Requires API key or OAuth with context.write. ($0.05; API key required)
Paramètres, retour & exemple (8)
Paramètreskind· string · optionnel · message | call | meeting | note | check_in | thought_of
Default message.summary· string · optionnel
One line (max 280) in your own words. Never the email body, subject or sender.reply_id· string · optionnel
A Pending Reply (get_pending_replies) this closes as sent.person_id· string · optionnel
An owned contact id.request_id· string · optionnel
Client idempotency key (retries return original result).occurred_at· string · optionnel
When it happened (ISO date-time). Default now.person_name· string · optionnel
The contact as the user said it ("Vadim"); linked only on one match.idempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "log_interaction", "arguments": {"kind": "message", "summary": "texte", "reply_id": "texte", "person_id": "texte", "request_id": "texte", "occurred_at": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"reply": {}, "account": {}, "created": true, "message": "texte", "provenance": {}, "interaction": {}, "reply_resolved": true, "life_state_rebuilt": true}} - log_moment≈ 2143 tokens
Save a past story or memory as a private moment. Plans go to log_event; a touchpoint with a contact to log_interaction. Requires title, and moment_date (YYYY-MM-DD, YYYY-MM or YYYY; alias date) unless event_id is given. With event_id (an owned event the story is about) it creates a NEW moment linked to that event and takes the event's date and location when you pass none; the event itself is never changed, converted or deleted, and one event can have many moments. Don't also save the story as an event. Optional: description (the longer story), moment_date_precision (exact, month, year, circa), end_date, moment_type (default memory), location_name (only a place the user said), person_ids (owned contacts; any other id saves nothing), people_names (tag saved contacts only, never created), cover_image_url / media_urls (https links), tags. Always private: there is no visibility argument; the owner shares a moment in Dayze. Fix it later with update_moment. Requires API key or OAuth with context.write. ($0.10; API key required)
Paramètres, retour & exemple (18)
Paramètresdate· string · optionnel
Alias for moment_date.tags· array · optionnel
Optional short tags (max 20, 40 characters each).title· string · requis
The story in a few words (max 200), e.g. "Mia called the moon a banana".end_date· string · optionnel
Optional last day YYYY-MM-DD, for a moment that spans days.event_id· string · optionnel
A calendar event this story is about (owned). Links the new moment to it; the event is not changed.location· string · optionnel
Alias for location_name.media_urls· array · optionnel
Optional https image links (max 10).person_ids· array · optionnel
Owned contact ids of people in the story (max 25). An id that isn't the user's saves nothing.request_id· string · optionnel
Client idempotency key (retries return original result).description· string · optionnel
The longer story, in the user's words where possible.moment_date· string · optionnel
When it happened: YYYY-MM-DD, YYYY-MM or YYYY (alias date). With event_id and no date, the event's date is used. Otherwise required.moment_time· string · optionnel
Optional local time-of-day when it happened (HH:mm or HH:mm:ss). Null/empty = date-only. Not the row created_at.moment_type· string · optionnel · first_met | milestone | trip | achievement | memory | anniversary | life_event | relationship
Default memory.people_names· array · optionnel
Names the user said; tagged only when they match a saved contact (never created). Unmatched names come back in unresolved_people.location_name· string · optionnel
Where it happened, only as the user said it. With event_id and no place, the event's location is used. Alias: location.cover_image_url· string · optionnel
Optional https image link for the moment's cover.idempotency_key· string · optionnel
Alias for request_id.moment_date_precision· string · optionnel · exact | month | year | circa
How exact the date is. YYYY-MM and YYYY default to month and year; circa for "around then".
Exemple d'appel{"name": "log_moment", "arguments": {"title": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"moment": {}, "account": {}, "message": "texte", "provenance": {}, "invalidates": [], "linked_event": {}, "people_tagged": [], "unresolved_people": [], "inherited_from_event": []}} - log_movement≈ 991 tokens
Log one provenance-backed movement segment. Origin, destination, timestamps, source, and external_id are required for a deduplicated route history. ($0.10; API key required)
Paramètres, retour & exemple (24)
Paramètresmode· string · requis · walk | bike | car | rideshare | train | bus | ferry | flightorigin· string · requissource· string · requismetadata· object · optionnelprovider· string · optionnelarrived_at· string · requisconfidence· number · optionnelexpense_id· string · optionnelrequest_id· string · optionnel
Client idempotency key (retries return original result).departed_at· string · requisdestination· string · requisexternal_id· string · requisorigin_city· string · optionnelorigin_address· string · optionnelorigin_country· string · optionnelroute_geometry· object · optionneldistance_meters· number · optionnelgeometry_source· string · optionnel · observed_gps | provider_polyline | reconstructed | straight_lineidempotency_key· string · optionnel
Alias for request_id.destination_city· string · optionnelduration_seconds· number · optionnelsource_reference· string · optionneldestination_address· string · optionneldestination_country· string · optionnel
Exemple d'appel{"name": "log_movement", "arguments": {"mode": "walk", "origin": "texte", "source": "texte", "arrived_at": "texte", "departed_at": "texte", "destination": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"account": {}, "created": true, "message": "texte", "movement": {}, "duplicate": true, "provenance": {}, "movement_id": "texte"}} - log_place_visit≈ 971 tokens
MUTATES place_visits for map/history digs (Uber dropoff, address evidence). Required: place (or place_id) + arrived_at/date. Optional: departed_at, source (uber|mcp|…), evidence_expense_id (idempotent), city/country/address. Prefer this over stuffing streets only into expenses. ($0.10; API key required)
Paramètres, retour & exemple (15)
Paramètrescity· string · optionneldate· string · optionnel
Alias for arrived_atname· string · optionnel
Alias for placeplace· string · optionnelsource· string · optionneladdress· string · optionnelcountry· string · optionnelplace_id· string · optionnelarrived_at· string · optionnel
ISO or YYYY-MM-DDconfidence· number · optionnelrequest_id· string · optionnel
Client idempotency key (retries return original result).departed_at· string · optionnelidempotency_key· string · optionnel
Alias for request_id.evidence_event_id· string · optionnelevidence_expense_id· string · optionnel
Exemple d'appel{"name": "log_place_visit", "arguments": {"city": "texte", "date": "texte", "name": "texte", "place": "texte", "source": "texte", "address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"place": {}, "visit": {}, "account": {}, "message": "texte", "place_id": "texte", "duplicate": true, "provenance": {}, "created_place": true}} - log_sleep≈ 795 tokens
Sleep: log overnight or nap. Cross-midnight OK (e.g. 14:00→03:00 = 13h / 780m). ($0.10; API key required)
Paramètres, retour & exemple (11)
Paramètresnotes· string · optionnelsource· string · optionnelquality· number · optionnelended_at· string · requis
ISO endtimezone· string · optionnelrequest_id· string · optionnel
Client idempotency key (retries return original result).sleep_type· string · optionnel · overnight | nap | unknownstarted_at· string · requis
ISO starttimezone_end· string · optionneltimezone_start· string · optionnelidempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "log_sleep", "arguments": {"ended_at": "texte", "started_at": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "sleep": {}, "account": {}, "message": "texte", "provenance": {}}} - log_transaction≈ 1529 tokens
Income/expense/transfer write. direction=from + type=income for Venmo/Stripe/refunds received. Positive amount; external_id dedupes imports. Optional project/tags. Zelle always USD. Optional mirror_event creates a calendar Money · annotation (ledger is still the source of truth for /money). IOU repayment ("Mark paid me back $200"): category "IOU repayment" + person_id — one call lowers the IOU and shows the money once (direction from = they paid the user, to = the user paid them). A cash loan ("I lent Mark $200"): category "IOU lend" + person_id — one call creates the IOU and shows the money once on that day (direction to = the user lent them, from = they lent the user); cash_moved: false for an owed share (IOU only). A plain income from a contact with an open IOU is refused unless not_iou_repayment: true; the same money as an already-recorded repayment or loan comes back as duplicate. ($0.10; API key required)
Paramètres, retour & exemple (26)
Paramètresdate· string · optionneltags· array · optionnel
Optional tags. Prefer project: / ext: / rail: grammar.type· string · optionnel · income | expense | transfernotes· string · optionnel
Free text about the payment. Alias: description.amount· number · requissource· string · optionnelproject· string · optionnel
Venture/project label → stored as project:{slug} tag (e.g. Max Soko poker venture)category· string · optionnel
Ledger category (e.g. Salary, Gift, Refund, Transfer in, Food & Dining). "IOU repayment" = a contact paying back a loan IOU; "IOU lend" = a cash loan; "Invoice payment" = collecting an unpaid invoice (need person_id).currency· string · optionneliou_type· string · optionnel
loan (default) or invoice. Invoice = unpaid receivable: no Finance outflow on create; payment is income "Invoice payment". Use for invoice/receivable phrasings; "I lent…" → loan.merchant· string · optionneldirection· string · requis · from | toperson_id· string · optionnelaccount_id· string · optionnel
Stable provider account identity for imported payments.cash_moved· boolean · optionnel
With category "IOU lend": true (default) = cash changed hands as a loan (shows in Finance); false = an owed share, e.g. of a dinner logged as its own expense (IOU only). Ignored for iou_type invoice.message_id· string · optionnelrequest_id· string · optionnel
Client idempotency key (retries return original result).description· string · optionnel
Alias for notes.external_id· string · optionnelperson_name· string · optionnel
The contact by name, when there is no person_id (IOU categories need one or the other).client_label· string · optionnel
Optional free-text client label for an invoice IOU.mirror_event· boolean · optionnel
Also insert optional Money · calendar event (default false)payment_method· string · optionnelidempotency_key· string · optionnel
Alias for request_id.extractor_version· string · optionnelnot_iou_repayment· boolean · optionnel
true only when income from a contact with an open IOU is unrelated to it.
Exemple d'appel{"name": "log_transaction", "arguments": {"amount": 1, "direction": "from"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"type": "texte", "account": {}, "message": "texte", "event_id": "texte", "direction": "texte", "duplicate": true, "expense_id": "texte", "provenance": {}, "transaction": {}, "transaction_id": "texte"}} - log_travel≈ 962 tokens
MUTATES trips (+ optional calendar travel event). Prefer this over free-text log_event for map/history. Required: city + start_date. Optional: country, end_date, kind (trip|residence|soft_pin), confidence (confirmed|likely|possible), evidence, title, mirror_event. Soft pins default to status=possible and stay off cities/map until confidence=confirmed. The calendar event is private. Zelle/Venmo money belongs in log_transaction — not here. ($0.10; API key required)
Paramètres, retour & exemple (12)
Paramètrescity· string · requisdate· string · optionnel
Alias for start_datekind· string · optionnel · trip | residence | soft_pintitle· string · optionnelcountry· string · optionnelend_date· string · optionnelevidence· string · optionnel
Source note (Gmail id, address, etc.)confidence· string · optionnel · confirmed | likely | possiblerequest_id· string · optionnel
Client idempotency key (retries return original result).start_date· string · optionnel
YYYY-MM-DDmirror_event· boolean · optionnel
Also insert category=travel calendar event (default true)idempotency_key· string · optionnel
Alias for request_id.
Exemple d'appel{"name": "log_travel", "arguments": {"city": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"kind": "texte", "note": "texte", "trip": {}, "account": {}, "message": "texte", "event_id": "texte", "confidence": "texte", "provenance": {}}} - merge_memory≈ 748 tokens
Preview first, 30-day undo. Retire exact duplicates while keeping the named canonical memory. Preview shows every retired id and distinct provenance; the receipt restores all rows for 30 days. Similar wording is refused. Reviewed and reversible: first call preview_destructive_change({ tool: "merge_memory", arguments: { canonical_memory_id, duplicate_memory_ids } }), which stores the exact change without applying it. After the user confirms, call merge_memory with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. ($0.10; API key required)
Paramètres, retour & exemple (5)
Paramètrespreview_id· string · requis
preview_id returned by preview_destructive_change for this tool.request_id· string · requis
Required idempotency key; retries return the original receipt.idempotency_key· string · optionnel
Alias for request_id.canonical_memory_id· string · optionnel
Surviving memory id, checked against the preview.restore_window_acknowledged· boolean · requis
Must be true after reviewing the preview and its 30-day restore window.
Exemple d'appel{"name": "merge_memory", "arguments": {"preview_id": "texte", "request_id": "texte", "restore_window_acknowledged": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"account": {}, "preview_id": "texte", "provenance": [], "restore_id": "texte", "reversible": true, "idempotent_replay": true, "life_state_rebuilt": true, "restore_expires_at": "texte", "retired_memory_ids": [], "canonical_memory_id": "texte", "restore_window_days": 1}} - merge_moments≈ 1084 tokens
Preview first, 30-day undo. Preview with preview_destructive_change({tool:"merge_moments",arguments:{canonical_id,retired_ids}}). Conflicting story, date, place or event links stop the merge. Union people, tags and media. Reviewed and reversible: first call preview_destructive_change({ tool: "merge_moments", arguments: { canonical_id, retired_ids } }), which stores the exact change without applying it. After the user confirms, call merge_moments with preview_id, restore_window_acknowledged: true and request_id; the reviewed preview is applied exactly and a changed record is refused. Returns restore_id; restore_change({ restore_id }) undoes it for 30 days unless the record was edited since. ($0.10; API key required)
Paramètres, retour & exemple (6)
Paramètrespreview_id· string · requis
preview_id returned by preview_destructive_change for this tool.request_id· string · requis
Required idempotency key; retries return the original receipt.retired_ids· array · requiscanonical_id· string · requisidempotency_key· string · optionnel
Alias for request_id.restore_window_acknowledged· boolean · requis
Must be true after reviewing the preview and its 30-day restore window.
Exemple d'appel{"name": "merge_moments", "arguments": {"preview_id": "texte", "request_id": "texte", "retired_ids": [], "canonical_id": "texte", "restore_window_acknowledged": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"account": {}, "retired": [], "canonical": {}, "conflicts": [], "preview_id": "texte", "provenance": {}, "restore_id": "texte", "reversible": true, "retired_ids": [], "canonical_id": "texte", "idempotent_replay": true, "restore_expires_at": "texte"}}
+ 60 autres outils (affichage limité à 120).
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».