recordMeasurementtasks:personal
Record a personal dFDA/N-of-1 measurement such as a medication dose, food, symptom, mood, sleep, activity, lab, or vital sign. Use variableName plus category/unit for new variables, or globalVariableId for an existing variable.
Parameters (15)
- globalVariableId (string)
- variableName (string)
- categoryName (string) — Required when variableName does not already exist. Examples: Treatment, Food, Drink, Nutrient, Symptom, Emotion, Sleep, Activity, Vital Sign, or Biomarker.
- value (number, required)
- unitId (string)
- unitAbbreviation (string) — Short unit such as mg, IU, servings, count, or 1-5. serving and {serving} are accepted aliases for servings.
- unitName (string) — Full unit name; matched case-insensitively.
- startTime (string) — ISO date/time.
- duration (number) — Duration in seconds.
- note (string)
- sourceName (string)
- combinationOperation (enum)
- fillingType (enum)
- latitude (number)
- longitude (number)
listMeasurementstasks:personal
List the authenticated user's own recorded measurements, newest first. Covers everything logged through recordMeasurement or a tracking-reminder response. Filter by globalVariableId or variableName for one variable, or omit both to see every variable. Use this to review logged doses, foods, symptoms, moods, sleep, activity, labs, and vitals, or to check whether a reminder was actually answered.
Parameters (6)
- globalVariableId (string)
- variableName (string) — Variable name, matched case-insensitively. An unknown variable is an error, not an empty result.
- startTimeAfter (string) — ISO date/time. Only measurements at or after this time.
- startTimeBefore (string) — ISO date/time. Only measurements at or before this time.
- limit (number) — Page size. Default 100, maximum 500.
- cursor (string) — nextCursor from the previous page. Repeat the same filters until nextCursor is null.
upsertTrackingRemindertasks:personal
Create or edit a personal tracking reminder for medications, food, symptoms, mood, sleep, activity, labs, or vitals. When creating a new variable, pass categoryName; Food defaults to servings. To edit a reminder in place, first get its ID from listTrackingReminders, then pass trackingReminderId plus only the fields to change. Omit trackingReminderId to create or idempotently update the reminder identified by variable, start time, and frequency. The reminder can later be answered as TRACKED, SKIPPED, or SNOOZED.
Parameters (17)
- trackingReminderId (string) — Existing reminder ID to edit in place. When present, variable identity fields must be omitted and all other fields are optional patches.
- globalVariableId (string)
- variableName (string)
- categoryName (string) — Required when variableName does not already exist. Examples: Treatment, Food, Drink, Nutrient, Symptom, Emotion, Sleep, Activity, Vital Sign, or Biomarker.
- defaultValue (number | null) — Pre-filled value, such as a normal medication dose or symptom rating. Pass null to clear it when editing.
- unitId (string)
- unitAbbreviation (string) — Short unit such as mg, IU, servings, count, or 1-5. serving and {serving} are accepted aliases for servings.
- unitName (string) — Full unit name; matched case-insensitively.
- reminderStartTime (string) — Local wall-clock time in HH:mm, for example 08:00.
- reminderEndTime (string | null) — Optional local end/quiet time in HH:mm. Pass null to clear it when editing.
- reminderFrequency (number) — Seconds between reminders. Default 86400.
- active (boolean)
- instructions (string | null)
- startTrackingDate (string | null) — ISO date/time, or null to clear it when editing.
- stopTrackingDate (string | null) — ISO date/time, or null to clear it when editing.
- combinationOperation (enum)
- fillingType (enum)
listTrackingReminderstasks:personal
List the authenticated user's personal tracking reminders, active by default.
Parameters (1)
- includeInactive (boolean)
listTrackingReminderNotificationstasks:personal
List due tracking reminder notifications. A reminder defines a schedule. A notification is one occurrence that you answer. Most pending notifications have no stored row. Use compact mode for voice or chat clients.
Parameters (3)
- dateKey (string) — Local date in YYYY-MM-DD. Defaults to today.
- compact (boolean) — Return trackingReminderId as id, plus name, due, and status.
- includeCompleted (boolean) — Include completed notifications and snoozes that have not elapsed.
listDueTrackingReminderstasks:personal
Deprecated alias for listTrackingReminderNotifications. It keeps the reminders response key for existing callers.
Parameters (3)
- dateKey (string) — Local date in YYYY-MM-DD. Defaults to today.
- compact (boolean) — Return trackingReminderId as id, plus name, due, and status.
- includeCompleted (boolean) — When true, include reminders already TRACKED, SKIPPED, or SNOOZED for the date.
respondToTrackingReminderNotificationstasks:personal
Answer notifications whose due time has arrived. Apply one default status and optional exceptions. If any exception ID is not due, this tool writes nothing. Valid reminders continue when one response fails.
Parameters (5)
- dateKey (string) — Local date in YYYY-MM-DD. Defaults to today.
- defaultStatus (enum, required) — Apply this status to each notification without an exception.
- except (array) — Override individual notifications by trackingReminderId.
- note (string)
- snoozeMinutes (number) — Set the snooze duration. The default is 30 minutes. The server caps the deferred time at the local day's end.
respondToTrackingRemindertasks:personal
Answer a due tracking reminder. TRACKED records a measurement; use TRACKED with value 0 when the value was definitely zero so analysis counts it. SKIPPED dismisses the occurrence without a measurement and leaves a gap. SNOOZED defers it.
Parameters (11)
- trackingReminderId (string, required)
- status (enum, required) — TRACKED records a measurement. SKIPPED records no measurement. SNOOZED defers the notification.
- snoozeMinutes (number) — Set the snooze duration. The default is 30 minutes. The server caps the deferred time at the local day's end.
- value (number) — Override dose/rating/value. If omitted for TRACKED, the reminder defaultValue is used.
- unitId (string)
- unitAbbreviation (string)
- unitName (string)
- trackedAt (string) — ISO date/time.
- dateKey (string) — Local date in YYYY-MM-DD. Defaults from trackedAt.
- note (string)
- sourceName (string)
getQueueAudittasks:personal or tasks:organization
Start here before trusting a personal task queue. Audits active private tasks created by this user or assigned to their Person for missing estimates, blocked dependencies, impossible priority inputs, required/expiring deadline risks, and other data issues. A life-planning agent should repair or clarify high-severity issues before relying on getNextAction.
No parameters
getMyQueuetasks:personal or tasks:organization
Get the authenticated user's available private self-work in two lanes. deadlineLane contains unblocked REQUIRED or EXPIRES work that is past due or past latest-start, sorted most-overdue first and never truncated by maxResults. evLane contains all other executable work in the existing expected-value order and is limited by maxResults. Returns tasks the user created OR has been assigned to (via assigneePersonId).
Parameters (2)
- maxResults (number) — Max number of evLane tasks to return (default 20, max 100). Does not truncate deadlineLane.
- buybackRate (number) — USD per hour used to convert cash cost into time-equivalent penalty (default 1000)
getAIQueuetasks:personal or tasks:organization
Get the authenticated user's available private AI-agent tasks that fit one bounded execution attempt, sorted by computed priority. Oversized leaves appear in itemsNeedingDecomposition. Use executor_type='AI Agent' for autonomous work; otherwise use executor_type='Self'.
Parameters (3)
- agentId (string) — Current agent ID. Required to see this agent's own leased tasks: any leased task is omitted unless agentId is passed and matches the lease holder.
- maxResults (number) — Max number of tasks to return (default 20, max 100)
- buybackRate (number) — USD per hour used to convert cash cost into time-equivalent penalty (default 1000)
getExecutionPlantasks:personal or tasks:organization
Build a capacity-bounded execution plan for the authenticated user, their Person record, or an organization they administer. Uses frontier-replanning-v1: repeatedly chooses the highest-priority feasible atomic task, simulates completion to unlock dependencies, and never starts AI work or writes Calendar events.
Parameters (7)
- target (object)
- planningWindowStart (string) — ISO 8601 start. Defaults to now.
- planningWindowEnd (string) — ISO 8601 end. Defaults to 24 hours after start.
- fixedCommitments (array) — Calendar meetings or invitations that consume capacity but are not imported as tasks.
- availableMinutes (number) — Maximum work minutes. The planner also caps this at free time left after fixed commitments.
- maxResults (number) — Maximum checklist and AI proposal items (default 20, max 100).
- buybackRate (number) — USD per hour used to convert cash cost into time-equivalent penalty (default 1000).
getNextActiontasks:personal or tasks:organization
Get the best next self-work action from the same two-lane result as getMyQueue. Returns the most-overdue deadlineLane task whenever that lane is non-empty; otherwise returns the highest-ranked evLane task.
Parameters (1)
- buybackRate (number) — USD per hour used to convert cash cost into time-equivalent penalty (default 1000)
recordTaskActualstasks:personal or tasks:organization or tasks:admin
Append an execution-history attempt and update aggregate actual cash cost and effort. Personal callers may record actuals only for their own private or assigned tasks; this does not create health measurements or run causal analysis.
Parameters (5)
- taskId (string, required) — Task ID
- actualCashCostUsd (number) — Observed external cash cost in USD
- actualEffortSeconds (number) — Observed effort in seconds
- note (string) — Short execution note or procurement/funding rationale
- completedAt (string) — ISO 8601 completion time. Defaults to now.
findTasksForUsertasks:personal or tasks:admin
Rank accessible active tasks for a user using their private matching preferences plus the task impact score. Non-admin callers can only rank their own user.
Parameters (3)
- userId (string) — Optional target user ID. Admin-only unless it is the authenticated user.
- limit (number) — Max results, default 20, max 50.
- preferLeafExecution (boolean) — When true, return only executable tasks without active subtasks; never fall back to parent tasks.
applyToTasktasks:personal
Create or update the authenticated user's application to an OPEN or INVITE_ONLY task/role opening.
Parameters (7)
- taskId (string, required) — Task or role opening ID.
- applicationMessage (string) — Applicant message, cover note, or proposal.
- answersJson (object | array | null) — Structured answers to task.applicationQuestionsJson.
- applicantNameSnapshot (string) — Optional applicant name snapshot.
- applicantEmailSnapshot (string) — Optional applicant email snapshot.
- originUrl (string) — Where the application started.
- utmJson (object | null) — UTM/campaign metadata.
listTaskApplicationstasks:personal or tasks:admin
List applications for one task. Caller must be admin, task creator, task manager, or owner/admin of the owner/assignee organization.
Parameters (1)
- taskId (string, required) — Task ID.
reviewTaskApplicationtasks:personal or tasks:admin
Review one task application. Optionally assign the task to the accepted applicant's Person row.
Parameters (6)
- applicationId (string, required) — Application ID.
- status (enum) — New application status.
- reviewScore (integer | null) — Reviewer score, conventionally 0-100.
- reviewNote (string | null) — Reviewer note.
- answersJson (object | array | null) — Reviewer-normalized answer data.
- assignTaskOnAccept (boolean) — If status is ACCEPTED, set task.assigneePersonId to the applicant person.
listTaskCandidateMatchestasks:personal or tasks:admin
List saved candidate matches for a task. Non-admin callers must have application-review rights for the task.
Parameters (3)
- taskId (string, required)
- status (enum)
- limit (number) — Max results, default 50.
listCommunicationstasks:personal or tasks:admin
List task communications (email, in-app, external URL, manual) across all channels. Admins see everything; other callers see only communications on tasks they created or are assigned to, with recipient emails masked (m***@domain). Suppressed sends surface as FAILED/CANCELLED rows with a suppressionReason.
Parameters (8)
- taskId (string) — Filter to one task.
- organizationId (string) — Filter by recipient organization ID.
- personId (string) — Filter by recipient person ID.
- sinceIso (string) — Only rows created at or after this ISO-8601 timestamp.
- untilIso (string) — Only rows created at or before this ISO-8601 timestamp.
- channel (enum) — Filter by communication channel.
- status (enum) — Filter by lifecycle status.
- limit (number) — Max rows to return (default 50, max 200).
getCommunicationLogtasks:personal or tasks:admin
Fetch one task communication by ID: full message body (via the linked task comment), envelope metadata, email delivery details (provider IDs, delivery status), and trigger/idempotency metadata. Same visibility and masking rules as listCommunications.
Parameters (1)
- id (string, required) — TaskCommunication ID.
getMetasks:personal or tasks:organization
Return the authenticated user's profile (User + canonical Person row). Use this to discover who you are acting as: userId, email, displayName, handle, avatar, bio, headline, website, social links, and visibility flags. No arguments — identity is taken from the OAuth bearer token.
No parameters
updateMyProfiletasks:personal
Update the authenticated user's profile. Person is canonical for the public-facing fields (displayName, handle, bio, headline, coverImage, website, isPublic); this tool writes Person directly. Only fields you supply are changed. Pass `handle: ""` (or null) to clear the handle. Returns the fresh profile.
Parameters (28)
- name (string) — Display name shown across the app.
- image (string | null) — Profile avatar image URL.
- handle (string | null) — Player-name handle, 3–24 chars, [A-Za-z0-9_-]. Empty/null clears it. Must be unique.
- bio (string) — Short bio.
- headline (string | null) — Optional one-line headline shown above the bio.
- website (string | null) — Personal/profile URL.
- coverImage (string | null) — Profile cover image URL.
- isPublic (boolean) — Whether the profile is publicly visible.
- newsletterSubscribed (boolean) — Whether to receive the newsletter.
- unsubscribedScopes (array) — Email scopes to opt out of (transactional/master scopes are filtered out server-side).
- skillTags (array)
- credentialTags (array)
- interestTags (array)
- languageTags (array)
- toolTags (array)
- accessTags (array)
- preferredPaymentRails (array)
- workPreferenceTags (array)
- preferredTaskTags (array)
- unavailableTaskTags (array)
- availableHoursPerWeek (number | null)
- availableFrom (string | null) — ISO 8601 date.
- countryCode (string | null)
- regionCode (string | null)
- city (string | null)
- postalCode (string | null)
- latitude (number | null)
- longitude (number | null)
createTasktasks:personal or tasks:organization or tasks:admin
Create an ACTIVE task. Visibility defaults to PRIVATE; admin organization assignments default PUBLIC. Only admins may create PUBLIC tasks. Required: title, description, one parentTaskId or parentTaskKey, taskKey, category, hours, value, p_success, acceptanceCriteria, and impactStatement. Call getMe first: personalRoot is the caller's private Optimize-{name} root and organizationRoots lists accessible organization roots. Choose the closest parent; use personalRoot.taskKey only for personal work. Never guess or default. Optimize Earth is reserved. For Optimitron code or documentation improvements, search for duplicate work and set parentTaskKey='optimitron:dev'. Estimate instead of omitting numbers. Use testable acceptance criteria and one sentence explaining impact. Reference tasks as titled Markdown links to https://optimitron.com/tasks/<id>, never as bare IDs. Use depends_on for true prerequisites; executor_type='Self' for user work and 'AI Agent' only for autonomous assistant work; deadline_policy='REQUIRED' for must-do legal/health/safety tasks and 'EXPIRES' for opportunities that vanish after due_at. taskKey is the idempotency key: retrying the same create returns the existing task instead of creating a duplicate. The response includes a writeReceipt and a missingFields[] array for soft-recommended metadata.
Parameters (79)
- title (string) — Short imperative title
- description (string) — Full explanation and acceptance criteria
- parentTaskId (string) — Existing parent task ID. Provide this or parentTaskKey, not both. Call getMe for personalRoot and organizationRoots, then choose the closest objective or task; do not use Optimize Earth directly.
- parentTaskKey (string) — Exact stable key of the existing parent task. Provide this or parentTaskId, not both. For personal work use getMe.personalRoot.taskKey; for Optimitron development work use 'optimitron:dev'.
- taskKey (string) — Stable dedup key (e.g. accountability:us:golf-2025)
- category (enum) — Task category
- skillTags (array) — Skills needed
- interestTags (array) — Related topics/causes
- engagementKind (enum) — Commitment shape: ONE_OFF, ONGOING, PART_TIME, FULL_TIME, CONTRACT.
- applicationPolicy (enum) — Whether users can apply: CLOSED, OPEN, or INVITE_ONLY.
- preferredSkillTags (array) — Skills that improve fit beyond required skillTags.
- requiredCredentialTags (array) — Credentials, licenses, or qualifications required.
- preferredCredentialTags (array) — Credentials that improve fit.
- requiredLanguageTags (array) — Languages required.
- preferredLanguageTags (array) — Languages that improve fit.
- requiredToolTags (array) — Tools, platforms, or software required.
- preferredToolTags (array) — Tools that improve fit.
- requiredAccessTags (array) — Accounts, clearance, location, network, or social access required.
- preferredAccessTags (array) — Access that improves fit.
- ownerOrganizationId (string | null) — Organization that owns/reviews this opening or task.
- compensationKind (enum) — Compensation category.
- compensationCadence (enum) — Compensation cadence. Null clears it.
- compensationCurrency (string | null) — Lowercase currency code, usually usd.
- compensationMinAmountMinorUnits (integer | null) — Minimum compensation in currency minor units.
- compensationMaxAmountMinorUnits (integer | null) — Maximum compensation in currency minor units.
- compensationMinAmountUsd (number | null) — Alias for compensationMinAmountMinorUnits when the currency is USD.
- compensationMaxAmountUsd (number | null) — Alias for compensationMaxAmountMinorUnits when the currency is USD.
- compensationPaymentRails (array) — Acceptable payment rails, such as stripe, ach, usdc, wire.
- estimatedHoursPerWeekMin (integer | null) — Minimum weekly hours for ongoing work.
- estimatedHoursPerWeekMax (integer | null) — Maximum weekly hours for ongoing work.
- remotePolicy (enum) — UNSPECIFIED, REMOTE, HYBRID, or ONSITE.
- locationText (string | null) — Human-readable location constraint.
- workLocationCountryCode (string | null)
- workLocationRegionCode (string | null)
- workLocationCity (string | null)
- workLocationPostalCode (string | null)
- workLocationLatitude (number | null)
- workLocationLongitude (number | null)
- workLocationRadiusKm (number | null)
- workTimeZone (string | null) — IANA time zone preferred for the work.
- applicationQuestionsJson (object | array | null) — Structured questions for applicants. Null clears it.
- executionMode (enum) — HUMAN_OR_AGENT, HUMAN_ONLY, or AGENT_ONLY.
- maxClaims (integer | null) — Max simultaneous claims when claimPolicy is OPEN_MANY.
- depends_on (array) — Alias for blockerTaskIds: existing task IDs that must be VERIFIED before this task appears in active queues. Use only for real prerequisites, not generic importance.
- blockerTaskRefs (array) — Prerequisite task IDs or exact taskKeys.
- blockerTaskIds (array) — Optional IDs of existing tasks that block this task (must be completed first). Use searchTasks first to discover valid blocker task IDs.
- blockedTaskRefs (array) — Blocked task IDs or exact taskKeys.
- blockedTaskIds (array) — Optional IDs of existing tasks that are blocked by this task (tasks that depend on it). Use searchTasks first to discover valid dependent task IDs.
- estimatedEffortHours (number) — Estimated hours to complete
- hours (number) — Alias for estimatedEffortHours. Required for reliable priority; use expected user hours, not calendar duration.
- value (number) — Gross conditional value if the task succeeds. For required tasks, include avoided downside such as penalties, health loss, or system failure.
- p_success (number) — Success probability, 0-1. MCP computes expected value as value * p_success when value is supplied.
- cash_cost (number) — Cash cost in USD. Priority converts this to hour-equivalent cost using buybackRate, default $1000/hr.
- executor_type (enum) — Who should execute this task. Use Self for normal user tasks even if AI assists; use AI Agent only for autonomous assistant tasks.
- expectedEconomicValueUsdBase (number) — Expected economic value in USD-equivalent welfare (probability-adjusted by your model)
- successProbabilityBase (number) — Estimated success probability for the task outcome, 0-1
- estimatedCashCostUsdBase (number) — One-time cash cost expected to execute this task (USD)
- timeToImpactStartDays (number) — Days until value can start being realized. Metadata/public impact-frame input; not part of personal priority.
- available_at (string) — Earliest time this task should appear in active queues (ISO 8601). Use for tasks that cannot or should not be started yet.
- dueAt (string) — Due date (ISO 8601)
- due_at (string) — Alias for dueAt
- deadline_policy (enum) — Whether due_at is ignored, a soft target, an expiring opportunity, or required work. REQUIRED is for must-do tasks like taxes or medicine refills; EXPIRES is for grants/applications/opportunities that vanish after due_at.
- deadline_rationale (string) — Freeform rationale for the deadline policy, e.g. taxes must be filed by a legal deadline.
- claimPolicy (enum) — How work is claimed. Assigned tasks always use ASSIGNED_ONLY. Unassigned tasks default to OPEN_SINGLE; use OPEN_MANY only for ongoing independent contributions.
- assigneePersonId (string) — Person ID to assign this task to
- assigneeOrganizationId (string) — Organization ID to assign this task to
- roleTitle (string) — Role of the assignee (e.g. President, Commissioner)
- sourceUrl (string) — URL to the source/evidence for this task
- contactUrl (string) — URL for contacting the assignee
- contactLabel (string) — Label for the contact channel
- impactStatement (string) — Why this matters
- ev_math (string) — Freeform rationale for value/probability/hour assumptions
- can_delegate (boolean) — Whether an agent or contractor can do this task
- best_route (string) — Best execution route, e.g. self, agent, contractor
- acceptanceCriteria (array) — Structured acceptance criteria. If omitted, createTask also extracts checklist bullets under a markdown 'Acceptance criteria' heading in description.
- visibility (enum) — Optional visibility override. Defaults to PUBLIC for organization-assigned tasks and PRIVATE otherwise.
- isPublic (boolean) — Legacy boolean visibility alias. Prefer visibility='PUBLIC' or 'PRIVATE'. Ignored when visibility is supplied.
- contextJson (object) — Optional advanced task metadata. Prefer the typed top-level task fields.
- sortOrder (number) — Manual display order for public/task-tree views (lower = earlier). Not the computed personal priority score.
deleteTasktasks:personal or tasks:organization or tasks:admin
Delete a task by soft delete. Admins may delete any task within the client boundary. Non-admin callers may delete only a private task they have MANAGE access to; a public task is always rejected for non-admin callers with 'Deleting public tasks requires an admin user.', even though they can look one up by ID without MANAGE access.
Parameters (1)
- taskId (string, required) — Task ID to delete
proposeTaskBundletasks:personal or tasks:organization or tasks:admin
Propose a bundle of tasks for review. Creates each as DRAFT, runs validation, returns review decisions. Does NOT auto-promote.
Parameters (1)
- candidates (array, required) — Tasks to propose
promoteTasktasks:personal or tasks:organization or tasks:admin
Promote reviewed DRAFT tasks to ACTIVE. Promotion reruns governance review and rejects tasks that fail the current checks.
Parameters (1)
- proposalRefs (array, required) — Proposal refs (task IDs or taskKeys) to promote
updateTasktasks:personal or tasks:organization or tasks:admin
Update task metadata, estimates, ancestry, dependencies, deadline, or executor. Reparent with exactly one of parentTaskId or parentTaskKey. Reference tasks in descriptions as titled Markdown links to https://optimitron.com/tasks/<id>, never as bare IDs. Completion and verification use the execution tools. Passing depends_on replaces the blocker set idempotently, so keep it complete.
Parameters (68)
- taskId (string, required) — Task ID
- status (enum)
- claimPolicy (enum) — How work is claimed. Use ASSIGNED_ONLY for a named person or organization, OPEN_SINGLE for one claim that completes the task, and OPEN_MANY only for ongoing independent contributions.
- title (string)
- description (string)
- parentTaskId (string) — Existing rooted parent task ID. Provide this or parentTaskKey, not both. Search first; cannot be Optimize Earth or create a hierarchy cycle.
- parentTaskKey (string) — Exact stable key of the existing rooted parent task. Provide this or parentTaskId, not both. Call getMe for personalRoot and organizationRoots.
- impactStatement (string)
- category (enum) — Re-categorize the task. Affects category-filtered listTasks queries; not part of personal priority score.
- engagementKind (enum) — Commitment shape: ONE_OFF, ONGOING, PART_TIME, FULL_TIME, CONTRACT.
- applicationPolicy (enum) — Whether users can apply: CLOSED, OPEN, or INVITE_ONLY.
- preferredSkillTags (array) — Skills that improve fit beyond required skillTags.
- requiredCredentialTags (array) — Credentials, licenses, or qualifications required.
- preferredCredentialTags (array) — Credentials that improve fit.
- requiredLanguageTags (array) — Languages required.
- preferredLanguageTags (array) — Languages that improve fit.
- requiredToolTags (array) — Tools, platforms, or software required.
- preferredToolTags (array) — Tools that improve fit.
- requiredAccessTags (array) — Accounts, clearance, location, network, or social access required.
- preferredAccessTags (array) — Access that improves fit.
- ownerOrganizationId (string | null) — Organization that owns/reviews this opening or task.
- compensationKind (enum) — Compensation category.
- compensationCadence (enum) — Compensation cadence. Null clears it.
- compensationCurrency (string | null) — Lowercase currency code, usually usd.
- compensationMinAmountMinorUnits (integer | null) — Minimum compensation in currency minor units.
- compensationMaxAmountMinorUnits (integer | null) — Maximum compensation in currency minor units.
- compensationMinAmountUsd (number | null) — Alias for compensationMinAmountMinorUnits when the currency is USD.
- compensationMaxAmountUsd (number | null) — Alias for compensationMaxAmountMinorUnits when the currency is USD.
- compensationPaymentRails (array) — Acceptable payment rails, such as stripe, ach, usdc, wire.
- estimatedHoursPerWeekMin (integer | null) — Minimum weekly hours for ongoing work.
- estimatedHoursPerWeekMax (integer | null) — Maximum weekly hours for ongoing work.
- remotePolicy (enum) — UNSPECIFIED, REMOTE, HYBRID, or ONSITE.
- locationText (string | null) — Human-readable location constraint.
- workLocationCountryCode (string | null)
- workLocationRegionCode (string | null)
- workLocationCity (string | null)
- workLocationPostalCode (string | null)
- workLocationLatitude (number | null)
- workLocationLongitude (number | null)
- workLocationRadiusKm (number | null)
- workTimeZone (string | null) — IANA time zone preferred for the work.
- applicationQuestionsJson (object | array | null) — Structured questions for applicants. Null clears it.
- executionMode (enum) — HUMAN_OR_AGENT, HUMAN_ONLY, or AGENT_ONLY.
- maxClaims (integer | null) — Max simultaneous claims when claimPolicy is OPEN_MANY.
- taskKey (string) — Stable dedup key
- assigneePersonId (string) — Person ID to assign (use empty string to clear)
- assigneeOrganizationId (string) — Organization ID to assign (use empty string to clear)
- roleTitle (string) — Role of the assignee
- sourceUrl (string) — URL to the source/evidence
- available_at (string) — Earliest time this task should appear in active queues (ISO 8601), use empty string to clear
- dueAt (string) — Due date (ISO 8601), use empty string to clear
- due_at (string) — Alias for dueAt, use empty string to clear
- deadline_policy (enum) — Whether dueAt is ignored, a soft target, an expiring opportunity, or required work.
- deadline_rationale (string) — Freeform rationale for the deadline policy.
- contextJson (object) — Optional advanced task metadata merged with existing contextJson.
- depends_on (array) — Replace blocker dependencies with this exact list of task IDs. Blockers must be completed/VERIFIED before this task appears in active queues.
- blockerTaskRefs (array) — Replace blockers using task IDs or exact taskKeys.
- blockerTaskIds (array) — Replace blocker dependencies with this exact list of task IDs.
- hours (number) — Alias for estimatedEffortHours. Keep this current when task scope changes.
- value (number) — Gross conditional value if the task succeeds. Update when the upside/downside estimate changes.
- p_success (number) — Success probability, 0-1. Update after new information changes the odds.
- cash_cost (number) — Cash cost in USD. Update if execution cost changes.
- executor_type (enum) — Who should execute this task. Use Self for normal user tasks even with AI assistance; AI Agent means autonomous assistant work.
- ev_math (string) — Freeform rationale for value/probability/hour assumptions
- can_delegate (boolean) — Whether an agent or contractor can do this task
- best_route (string) — Best execution route, e.g. self, agent, contractor
- acceptanceCriteria (array) — Structured acceptance criteria. If omitted while description is updated, updateTask can extract checklist bullets under a markdown 'Acceptance criteria' heading.
- sortOrder (number) — Manual display order for public/task-tree views (lower = earlier). Not the computed personal priority score.
searchParameterstasks:personal or earthdata:write
Search published parameters used by Optimitron calculations.
Parameters (2)
- query (string) — Key, display name, or description text.
- limit (number) — Maximum results (default 20, max 100).
getParameterTracetasks:personal or earthdata:write
Get one exact parameter revision with formula, uncertainty, pinned input revisions, source metadata, inert calculation code, assumptions, and publication state.
Parameters (2)
- revisionId (string) — Exact revision id. Preferred for reproducible traces.
- key (string) — Parameter key when looking up the current revision.
proposeParameterBundletasks:personal or tasks:admin
Create one or more immutable parameter revision drafts. Returns numerical diffs, formulas or inert calculation code, exact input revisions, and provenance for human review. This never publishes revisions.
Parameters (1)
- parameters (array, required)
reviewParameterRevisiontasks:personal or tasks:admin
Publish or reject one reviewed parameter revision.
Parameters (2)
- revisionId (string, required)
- action (enum, required)
proposeTaskImpacttasks:personal or tasks:admin
Create an immutable task-impact draft with materialized values, formulas or inert calculation code, assumptions, and sources. Public drafts require admin review before use.
Parameters (14)
- taskId (string, required)
- frameKey (enum)
- frame (object)
- metrics (array)
- assumptions (array)
- formulaText (string)
- formulaLatex (string)
- calculationCode (string)
- calculationLanguage (string)
- sourceUrls (array)
- calculationSource (object) — Exact Python, notebook, or other calculation source to retain as inert content-addressed data. Optimitron stores but never executes it.
- estimateNotes (string)
- calculationVersion (string)
- methodologyKey (string)
getTaskImpactTracetasks:personal or earthdata:write
Trace the current or specified task-impact estimate through its formula, materialized values, recursive parameter tree, and source metadata.
Parameters (2)
- taskId (string)
- estimateSetId (string)
claimTasktasks:personal or tasks:organization
Claim a task as the authenticated user.
Parameters (1)
- taskId (string, required) — Task ID to claim
claimSignerRemindertasks:personal
Commit to reminding a specific head of state (or other 1% Treaty signer) to sign. Creates a private reminder subtask for you, parented to the signer task. The subtask carries an actionLink to a Google search for the signer's official contact, plus an outreach message template with your referral code embedded so any signer click-through credits you. Idempotent: calling twice with the same signer returns the existing subtask. The subtask auto-VERIFIES when the signer signs the treaty via your referral.
Parameters (1)
- signerTaskId (string, required) — Task ID of the parent signer task (e.g. 1-pct-treaty-signer-us). Use listTasks or searchTasks with status=ACTIVE to find candidates.
completeTasktasks:personal
Mark one private Self task you own VERIFIED in a single call so it leaves your active queue. This owner-attestation shortcut is only for uncompensated, childless personal tasks that are unassigned or assigned only to you and have no formal work history. Use the submission-and-verification workflow for OPEN_MANY, delegated, shared, paid, public, organization, or agent work. If a one-person task was incorrectly stored as OPEN_MANY and has no formal history, update its claimPolicy to OPEN_SINGLE first.
Parameters (2)
- taskId (string, required) — Private Self task ID
- completionEvidence (string, required) — A short factual description of what was completed
completeTaskClaimtasks:personal or tasks:organization
Claim an open task if needed, then mark only the authenticated user's claim completed. This does not itself complete the task. An authorized reviewer may later verify the claim; OPEN_SINGLE then resolves the task, while OPEN_MANY remains active for more contributions. Safe to retry after claim completion.
Parameters (2)
- taskId (string, required) — Task ID
- completionEvidence (string, required) — What was done and proof it worked
addDependencytasks:personal or tasks:organization or tasks:admin
Add a dependency between tasks. The blocked task cannot proceed until the blocker is done. Optional edge metadata can estimate how much the blocker raises downstream success probability or accelerates downstream value.
Parameters (12)
- blockedTaskRef (string) — Canonical task ID or exact taskKey for the task that is blocked.
- blockedTaskId (string) — Task that is blocked
- blockerTaskRef (string) — Canonical task ID or exact taskKey for the task that must complete first.
- blockerTaskId (string) — Task that must complete first
- probabilityDeltaBase (number) — Base probability lift, 0-1, produced by completing blockerTaskId for blockedTaskId.
- increases_p_success (number) — Alias for probabilityDeltaBase. Use for Notion-style 'this prerequisite raises downstream P(success)' estimates.
- timeDeltaDaysBase (number) — Base days of acceleration produced by completing blockerTaskId for blockedTaskId.
- time_delta_days (number) — Alias for timeDeltaDaysBase.
- assumptions (array) — Short assumptions behind the edge lift estimate.
- calculationVersion (string) — Optional version tag for the edge-lift calculation.
- label (string) — Optional note describing the dependency
- notes (string) — Optional note describing the dependency
getBlockerstasks:personal or tasks:organization
Get all tasks blocking a given task, and all tasks this task blocks.
Parameters (1)
- taskId (string, required) — Task ID
listTaskTemplatestasks:personal or tasks:admin
List reusable task templates. This is a friendly view over TaskTrigger rows.
Parameters (4)
- eventName (string)
- enabled (boolean)
- jurisdictionId (string)
- limit (number) — Default 100, max 500
getTaskTemplatetasks:personal or tasks:admin
Get one task template, including spawned task specs and recent fires.
Parameters (2)
- templateKey (string, required)
- recentFires (number) — How many recent fires to include. Default 10, max 100.
previewTaskTemplatetasks:personal or tasks:admin
Render a task template for a target/context without writing anything. Use before enabling or assigning a template.
Parameters (5)
- templateKey (string, required)
- targetPersonId (string) — Person ID to assign/render for. Adds context.target={kind:'person',id} and context.recipientPersonId.
- targetOrganizationId (string) — Organization ID to assign/render for. Adds context.target={kind:'organization',id} and context.organizationId.
- targetUserId (string) — User ID to render for. Adds context.target={kind:'user',id} and context.user.id.
- context (object) — Extra template context. Explicit fields here are preserved unless a target helper fills a missing field.
listTaskTriggerstasks:personal or tasks:admin
List TaskTriggers, optionally filtered by eventName, enabled, or jurisdictionId. Returns triggerKey + summary fields, no specs.
Parameters (4)
- eventName (string)
- enabled (boolean)
- jurisdictionId (string)
- limit (number) — Default 100, max 500
getTaskTriggertasks:personal or tasks:admin
Get full details of a TaskTrigger by triggerKey, including all spec rows and the most recent fires.
Parameters (2)
- triggerKey (string, required)
- recentFires (number) — How many recent fires to include. Default 10, max 100.
fireTaskTriggertasks:personal or tasks:admin
Fire a TaskTrigger manually with arbitrary context. Use dryRun:true to render templates and return the planned spawn without committing — critical for iterating on a template before it goes live. Without dryRun: writes are committed and idempotent (re-firing the same idempotencyKey returns the cached result).
Parameters (3)
- triggerKey (string, required)
- context (object, required) — Arbitrary event context. Templates and resolvers read from this.
- dryRun (boolean) — Default false. True = render-only, no writes.
importNotionBundletasks:personal or tasks:admin
Validate and import a lossless Notion export bundle. Dry-run is the default; set dryRun to false only after reviewing the returned create, update, unchanged, and error items. Imported tasks remain private drafts, and formula or rollup definitions are preserved without execution.
Parameters (2)
- bundle (object, required)
- dryRun (boolean)
createCollectiontasks:personal or tasks:admin
Create a private structured collection with stable fields. Formula and rollup fields preserve imported definitions and outputs but are not executed.
Parameters (7)
- name (string, required)
- description (string)
- organizationId (string)
- jurisdictionId (string)
- visibility (enum)
- idempotencyKey (string, required)
- fields (array)
updateCollectiontasks:personal or tasks:admin
Update collection metadata with optimistic concurrency. Sharing and ownership still require full access.
Parameters (7)
- collectionId (string, required)
- expectedVersion (number, required)
- fields (array)
- name (string)
- description (string)
- organizationId (string)
- visibility (enum)
getCollectiontasks:personal or tasks:admin
Get a collection schema, saved views, and effective permission.
Parameters (1)
- collectionId (string, required)
listCollectionstasks:personal or tasks:admin
List collections the current user can see.
Parameters (1)
createCollectionRecordtasks:personal or tasks:admin
Create a collection record. Normal edits cannot write file, relation, formula, rollup, or canonical-entity fields through values; use relations for links.
Parameters (8)
- collectionId (string, required)
- values (object, required)
- relations (array)
- taskId (string | null)
- personId (string | null)
- organizationId (string | null)
- documentId (string | null)
- idempotencyKey (string, required)
updateCollectionRecordtasks:personal or tasks:admin
Update record values or relations and reject stale versions.
Parameters (8)
- recordId (string, required)
- expectedVersion (number, required)
- values (object)
- relations (array)
- taskId (string | null)
- personId (string | null)
- organizationId (string | null)
- documentId (string | null)
upsertCollectionRecordsBatchtasks:personal or tasks:admin
Atomically create or update up to 100 collection records. Creates require stable idempotency keys; updates require the expected record version. Any invalid or stale operation rolls back the entire batch.
Parameters (2)
- collectionId (string, required)
- operations (array, required)
queryCollectionRecordstasks:personal or tasks:admin
Query collection records with bounded filters, ordered sorts, cursor pagination, and linked-entity authorization.
Parameters (6)
- collectionId (string, required)
- cursor (string)
- limit (number)
- query (string)
- filters (array)
- sorts (array)
searchContenttasks:personal or tasks:admin
Search authorized Markdown documents and collection records without exposing inaccessible matches.
Parameters (2)
- query (string, required)
- limit (number)
saveCollectionViewtasks:personal or tasks:admin
Create or update a saved table view with visible fields, filters, and sorts.
Parameters (8)
- collectionId (string, required)
- viewId (string)
- expectedVersion (number)
- name (string, required)
- visibleFieldIds (array)
- filters (array)
- sorts (array)
- isDefault (boolean)
createDocumenttasks:personal or tasks:organization or tasks:admin
Create a markdown document (version 1). Private by default. Optionally attach it to a task you can view.
Parameters (8)
- title (string, required) — Document title
- body (string, required) — Markdown body
- taskId (string) — Optional task to attach the document to
- jurisdictionId (string) — Optional jurisdiction. Defaults to the attached task's jurisdiction.
- organizationId (string) — Optional organization that owns the document
- parentDocumentId (string) — Optional parent document
- idempotencyKey (string, required) — Stable retry key for this create request
- visibility (enum) — PRIVATE (default) or PUBLIC.
updateDocumenttasks:personal or tasks:organization or tasks:admin
Update a document. Writes an immutable revision and rejects stale edits. Omitted fields carry forward.
Parameters (8)
- documentId (string, required) — Stable document ID
- expectedVersion (number, required) — Version returned by getDocument
- title (string)
- body (string) — Full replacement markdown body
- organizationId (any) — Organization owner, or null to remove it
- parentDocumentId (any) — Parent document, or null to move it to the root
- taskId (any) — Linked task, or null to remove the task link
- visibility (enum) — PRIVATE (default) or PUBLIC.
getDocumenttasks:personal or tasks:organization or tasks:admin
Read a document or historical revision plus its revision list when you have access.
Parameters (1)
- documentId (string, required) — Stable document ID or historical revision ID
listDocumentstasks:personal or tasks:organization or tasks:admin
List documents you can see. Filter by taskId to see a task's documents.
Parameters (2)
- taskId (string) — Only documents on this task
- limit (number) — Default 100, max 500
getDocumentReviewtasks:personal or tasks:organization or tasks:admin
Read the exact document revision and instructions assigned to the authenticated reviewer.
Parameters (1)
- reviewTaskId (string, required)
createDocumentProposaltasks:personal or tasks:organization or tasks:admin
Create a separate private proposal document from selected comments on one exact document revision.
Parameters (7)
- authorityTaskId (string, required)
- baseDocumentRevisionId (string, required)
- body (string, required)
- idempotencyKey (string, required) — Stable retry key for this operation.
- sourceCommentIds (array, required)
- summary (string, required)
- title (string, required)
applyDocumentProposaltasks:personal or tasks:organization or tasks:admin
Apply a pinned proposal artifact to its unchanged base document as a new immutable revision.
Parameters (3)
- authorityTaskId (string, required)
- idempotencyKey (string, required) — Stable retry key for this operation.
- proposalArtifactId (string, required)
requestDocumentReviewtasks:personal or tasks:organization or tasks:admin
Create a private assigned review task pinned to one exact immutable document revision.
Parameters (5)
- authorityTaskId (string, required)
- documentRevisionId (string, required)
- idempotencyKey (string, required) — Stable retry key for this operation.
- instructions (string, required)
- reviewerPersonId (string, required)
submitDocumentReviewtasks:personal or tasks:organization or tasks:admin
Submit an explained verdict for the exact revision assigned to the authenticated reviewer.
Parameters (4)
- explanation (string, required)
- idempotencyKey (string, required) — Stable retry key for this operation.
- reviewTaskId (string, required)
- verdict (enum, required)
decideDocumentRevisiontasks:personal or tasks:organization or tasks:admin
Record an authorized immutable internal ADOPT or REJECT decision on one exact current revision.
Parameters (6)
- action (enum, required)
- authorityTaskId (string, required)
- documentRevisionId (string, required)
- idempotencyKey (string, required) — Stable retry key for this operation.
- reason (string)
- reviewArtifactId (string, required)
manageContentAccesstasks:personal or tasks:admin
List, grant, or revoke access to a document or collection. Grant and revoke require full access. A user may be identified by Optimitron user ID or account email.
Parameters (7)
- action (enum, required)
- resourceId (string, required)
- resourceType (enum, required)
- granteeType (enum)
- granteeId (string)
- granteeEmail (string)
- accessLevel (enum)
manageContentFilestasks:personal or tasks:admin
List files, prepare or complete an upload, obtain a short-lived authorized download URL, or delete a private document/collection-record file.
Parameters (8)
- action (enum, required)
- attachmentId (string)
- documentId (string)
- collectionRecordId (string)
- checksumSha256 (string)
- contentType (string)
- fileName (string)
- sizeBytes (number)
exportContenttasks:personal or tasks:admin
Export an authorized document snapshot or one cursor-paginated collection page. Private file metadata is included, but storage keys and unsigned object URLs are never returned.
Parameters (4)
- resourceId (string, required)
- resourceType (enum, required)
- cursor (string)
- limit (number)
reviewPrivateTaskBundletasks:personal or tasks:organization
Validate, normalize, deduplicate, and hash a user-selected private conversation-to-work batch without writing tasks. Review every returned error and action before applyPrivateTaskBundle.
Parameters (3)
- rootTaskId (string, required) — Private personal or organization root/container task ID.
- source (object, required)
- candidates (array, required)
applyPrivateTaskBundletasks:personal or tasks:organization
Atomically apply a previously reviewed private task bundle as ACTIVE tasks. The server recomputes reviewHash; changed or invalid bundles are rejected. Raw transcript text is not accepted.
Parameters (4)
- rootTaskId (string, required) — Private personal or organization root/container task ID.
- source (object, required)
- candidates (array, required)
- reviewHash (string, required)
startTaskExecutiontasks:personal or tasks:organization
Start the canonical execution attempt for an accessible active, unblocked leaf task. Reserved roots, containers, and tasks with active or pending-verification attempts are rejected.
Parameters (6)
- agentExecutorId (string | null)
- confidence (number | null)
- estimatedCost (object | null)
- estimatedDurationSeconds (number | null)
- runContext (object | null)
- taskId (string, required)
submitTaskArtifacttasks:personal or tasks:organization
Submit exactly one immutable artifact for a running execution attempt: a task-linked document revision, content attachment, task-comment attachment, external URL, or structured result.
Parameters (8)
- contentAttachmentId (string)
- documentRevisionId (string)
- externalUrl (string)
- label (string | null)
- metadata (object | null)
- structuredResult (any)
- taskCommentAttachmentId (string)
- taskExecutionAttemptId (string, required)
submitTaskForVerificationtasks:personal or tasks:organization
Finish a running attempt, snapshot the task's acceptance criteria, record actual duration/cost, and create a pending typed verification. At least one artifact is required.
Parameters (5)
- actualCost (object | null)
- actualDurationSeconds (number, required)
- method (enum)
- outputSummary (string, required)
- taskExecutionAttemptId (string, required)
verifyTaskExecutiontasks:personal or tasks:organization
Accept or reject one pending execution verification against its immutable criteria snapshot. Acceptance verifies the task; rejection preserves evidence and requeues it as ACTIVE.
Parameters (5)
- criterionResults (array, required)
- evidence (object | null)
- note (string | null)
- result (enum, required)
- taskVerificationId (string, required)
getTaskAuditTrailtasks:personal or tasks:organization
Read the accessible task's provenance, claims, comments, execution attempts, artifact hashes, and verification history without exposing raw private source content.
Parameters (1)
- taskId (string, required)
proposeExternalActiontasks:personal or tasks:organization
Create an immutable outbound message or browser-action request for human approval. This does not approve or execute anything; editing requires a new idempotency key and request.
Parameters (7)
- destination (string, required)
- expiresAt (string)
- idempotencyKey (string, required)
- operation (string, required)
- payload (object, required)
- taskExecutionAttemptId (string | null)
- taskId (string, required)
recordExternalActionResulttasks:personal or tasks:organization
Record one terminal execution receipt for an already human-approved external action. The exact approved payload cannot be changed or replayed through this tool.
Parameters (4)
- externalActionRequestId (string, required)
- failureMessage (string | null)
- receipt (object | null)
- result (enum, required)
exportPrivateWorktasks:personal or tasks:organization
Export one private root subtree you manage, including tasks, internal comments, safe attachment metadata, source provenance, execution evidence, linked current documents, and internal dependency edges.
Parameters (1)
- rootTaskId (string, required)
deletePrivateSourceSelectiontasks:personal or tasks:organization
Scrub and unlink one reviewed private source selection you own or administer. Derived tasks remain; approved excerpts, anchors, aliases, URLs, and external identifiers are removed.
Parameters (1)
- sourceArtifactId (string, required)
findReviewedAnswerstasks:personal or tasks:organization
Find reusable reviewed text answers for one person or organization.
Parameters (6)
- subject (object, required)
- question (string, required)
- knowledgeKey (string)
- contextTags (array)
- asOf (string)
- limit (number)
prepareFormResponsestasks:personal or tasks:organization
Capture a form's narrative fields, prepare reusable responses, and create one shared review task for each unresolved answer.
Parameters (8)
- formKey (string)
- formTitle (string)
- formSourceUrl (string)
- formPurpose (enum)
- formTaskId (string, required)
- subject (object, required)
- questions (array, required)
- idempotencyKey (string, required)
proposeFormSubmissiontasks:personal or tasks:organization
Propose the exact prepared form submission for human approval without executing it.
Parameters (4)
- formSubmissionId (string, required)
- taskExecutionAttemptId (string, required)
- destination (string, required)
- expiresAt (string)