Skip to main content
← Back
← Back
WILLA CREATIVE

API Status

Public status and endpoint overview for the willaOS Client Record API.

Healthy
Checked 2026-10-13 11:57:27 UTC
/api/status
DOCS + HEALTH
Developer docsStart here for REST and MCP integration guidance.REST API docsAuth, route inventory, request shapes, errors, and rate limits./api/docs redirectStable willaOS shortcut to the canonical REST developer docs.MCP docsInstall, authenticate, and use willaOS tools from external agents.JSON healthMachine-readable health at /api/status.
SERVICES
postgres
60msup
redis
33msup
clerk
250msup
AUTOMATION JOBS
Agenda Prompts
agenda-prompts
Last run 2026-10-13 11:30:41 UTC
ok
Agent Gardening
agent-gardening
Last run 2026-10-13 06:30:32 UTC
ok
Agent Runtime Cleanup
agent-runtime-cleanup
Last run 2026-10-13 11:17:42 UTC
ok
Daily Briefing
daily-briefing
Last run 2026-10-13 11:55:36 UTC
ok
Delay Alerts
delay-alerts
Last run 2026-10-13 06:00:47 UTC
ok
API SURFACE
Namespace
/api/*
Auth
Bearer API key (Authorization: Bearer …)
Concurrency
Optimistic — PATCH requires X-Version
REST ROUTES143
Agent Actions
/api/agent-actionsGET — Durable external-action decisions, attempts, and reconciliation.
/api/agent-actions/{id}GET — Durable external-action decisions, attempts, and reconciliation.
/api/agent-actions/{id}/approvePOST — Durable external-action decisions, attempts, and reconciliation.
/api/agent-actions/{id}/reconcilePOST — Durable external-action decisions, attempts, and reconciliation.
/api/agent-actions/{id}/rejectPOST — Durable external-action decisions, attempts, and reconciliation.
Agent Gardening
/api/agent-gardeningGET — Repeated agent friction and human review decisions.
/api/agent-gardening/{id}GET, PATCH — Repeated agent friction and human review decisions.
/api/agent-gardening/metricsGET — Scoped agent-gardening quality metrics.
MCP TOOLS103
accept_dump_itemAccept one pending dump item as company memory. Only the dump owner can do this. Does not write wiki or SOPs.
apply_figma_asana_syncApply a Figma-to-Asana sync plan through server-side Asana credentials. Requires write permission and explicit apply mode.
approve_agent_actionApprove one pending durable action using optimistic concurrency. This records authorization; provider execution remains a separate durable step.
approve_email_approval_requestApprove a pending email approval request. Resend-backed requests are sent immediately after approval.
calendar.list_eventsList aggregated admin calendar events using the same filters as GET /api/calendar.
calendar.list_resourcing_weekList weekly resourcing calendar lanes and per-day allocations with the same date, client, project, team member, and timezone filters as GET /api/calendar.
calendar.update_event_timeMove or resize an editable admin calendar event. Supports project milestones, shoot days, and selected meeting proposal slots. Uses expected_version like X-Version.
← HomeWilla Creative · Venice, CA
Designer Tasks
designer-tasks
Last run 2026-04-21 12:30:30 UTC
ok
Digest
digest
Last run 2026-10-12 12:00:23 UTC
ok
Email Sync
email-sync
Last run 2026-10-13 11:55:28 UTC
ok
Github Metrics Refresh
github-metrics-refresh
Last run 2026-10-13 11:00:31 UTC
ok
Harvest Refresh
harvest-refresh
Last run 2026-10-13 07:30:14 UTC
error
Jasper Reconciliation
jasper-reconciliation
Last run 2026-10-13 11:55:17 UTC
ok
Meeting Proposal Events
meeting-proposal-events
Last run 2026-10-13 11:55:09 UTC
ok
Meeting Proposal Expiry
meeting-proposal-expiry
Last run 2026-10-13 11:45:42 UTC
ok
Process Documents
process-documents
Last run 2026-10-13 11:50:00 UTC
ok
Receipts Eod
receipts-eod
Last run 2026-09-29 05:45:19 UTC
ok
Refresh Asana
refresh-asana
Last run 2026-10-13 06:05:29 UTC
error
Refresh Figma
refresh-figma
Last run 2026-10-13 07:00:06 UTC
error
Slack Ack Reminders
slack-ack-reminders
Last run 2026-10-13 11:55:12 UTC
ok
Slack Drafts
slack-drafts
Last run 2026-10-12 11:30:23 UTC
ok
Supermemory Sync
supermemory-sync
Last run 2026-10-13 09:00:48 UTC
ok
Uptime
uptime
Last run 2026-10-13 11:45:32 UTC
ok
Agent Sessions
/api/agent-sessionsGET, POST — Durable agent session status, events, and artifacts.
/api/agent-sessions/{id}GET — Durable agent session status, events, and artifacts.
/api/agent-sessions/{id}/artifacts/{artifactId}GET — Permission-checked durable agent artifact delivery.
Client Documents
/api/client/documents/{versionId}/fileGET — Document list, detail, lifecycle, portal-link, and file access.
Client Email Drafts
/api/client-email-draftsGET, POST — Shared project client-email drafts, comments, review, and send queue.
/api/client-email-drafts/{id}GET, PATCH — Shared project client-email drafts, comments, review, and send queue.
/api/client-email-drafts/{id}/commentsPOST — Shared project client-email drafts, comments, review, and send queue.
/api/client-email-drafts/{id}/presencePUT, GET — Shared project client-email drafts, comments, review, and send queue.
/api/client-email-drafts/{id}/queuePOST — Shared project client-email drafts, comments, review, and send queue.
/api/client-email-drafts/{id}/reviewPOST — Shared project client-email drafts, comments, review, and send queue.
Clients
/api/clientsGET, POST — Client records and nested client resources.
/api/clients/{id}GET, PATCH, DELETE — Client records and nested client resources.
/api/clients/{id}/{field}GET, PUT — Client records and nested client resources.
/api/clients/{id}/content_production/deliverablesPOST — Content production deliverables.
/api/clients/{id}/content_production/deliverables/{deliverable_id}PUT — Content production deliverables.
/api/clients/{id}/deal/scope_decisionsPOST — Scope decision append-only records.
/api/clients/{id}/documentsGET, POST — Document list, detail, lifecycle, portal-link, and file access.
/api/clients/{id}/documents/{doc_id}GET, PUT — Document list, detail, lifecycle, portal-link, and file access.
/api/clients/{id}/fullGET — Client records and nested client resources.
/api/clients/{id}/projectsGET, POST — Client records and nested client resources.
/api/clients/{id}/transitionsPOST — Client records and nested client resources.
Figma
/api/figma/brand-publishesPOST — Public integration endpoint.
/api/figma/brand-publishes/{id}GET, PATCH — Public integration endpoint.
/api/figma/projectsGET — Public integration endpoint.
/api/figma/projects/{id}/asana-sync/applyPOST — Public integration endpoint.
/api/figma/projects/{id}/asana-sync/planPOST — Public integration endpoint.
/api/figma/projects/{id}/asana-sync/statusGET — Public integration endpoint.
/api/figma/projects/{id}/frame-generation-planGET — Public integration endpoint.
/api/figma/projects/{id}/link-filePOST — Public integration endpoint.
/api/figma/projects/resolveGET — Public integration endpoint.
/api/figma/section-ledgersGET, POST — Figma section-ledger check-in/out and seen-state.
/api/figma/section-ledgers/{id}GET — Figma section-ledger check-in/out and seen-state.
/api/figma/section-ledgers/{id}/eventsPOST — Figma section-ledger check-in/out and seen-state.
/api/figma/section-ledgers/{id}/instances/seenPOST — Figma section-ledger check-in/out and seen-state.
Gatekeepers
/api/connector-grantsGET, POST — Revocable connector authority grants.
/api/connector-grants/{id}/revokePOST — Revocable connector authority grants.
/api/connector-resourcesGET, POST — Canonical external connector resources and scoped discovery.
/api/connector-resources/{id}GET — Canonical external connector resources and scoped discovery.
MCP
/api/mcpPOST, GET, DELETE — Streamable HTTP MCP transport.
Meetings
/api/meeting-proposalsGET, POST — Meeting availability proposal workflow.
/api/meeting-proposals/{id}GET — Meeting availability proposal workflow.
/api/meeting-proposals/{id}/cancelPOST — Meeting availability proposal workflow.
/api/meeting-proposals/{id}/sendPOST — Meeting availability proposal workflow.
Platform
/api/integrations/asanaGET, POST — Public integration endpoint.
/api/milestonesGET — Cross-project milestone list.
/api/receipts/dump-itemsGET — Public integration endpoint.
/api/receipts/dump-items/{id}/acceptPOST — Public integration endpoint.
/api/receipts/dump-items/{id}/rejectPOST — Public integration endpoint.
/api/receipts/dumps/{date}GET, PUT — Public integration endpoint.
/api/receipts/dumps/{date}/extractPOST — Public integration endpoint.
/api/uploads/presignPOST — Public integration endpoint.
Projects
/api/projectsGET — Project records and nested project resources.
/api/projects/{id}GET, PATCH, DELETE — Project records and nested project resources.
/api/projects/{id}/assetsGET, POST — Project media asset library.
/api/projects/{id}/assets/{assetId}GET, PATCH — Project media asset library.
/api/projects/{id}/assets/{assetId}/versionsGET, POST — Project media asset library.
/api/projects/{id}/batchesGET, POST — Project records and nested project resources.
/api/projects/{id}/batches/{batchId}PATCH — Project records and nested project resources.
/api/projects/{id}/content_production/deliverablesPOST — Content production deliverables.
/api/projects/{id}/content_production/deliverables/{deliverable_id}PUT — Content production deliverables.
/api/projects/{id}/content-entries/{entryId}PATCH — Light CMS entry mutation surface.
/api/projects/{id}/content-schemasGET — Light CMS schema metadata and entry values.
/api/projects/{id}/content-schemas/{schemaId}GET — Light CMS schema metadata and entry values.
/api/projects/{id}/content-schemas/derivePOST — Light CMS schema metadata and entry values.
/api/projects/{id}/deal/scope_decisionsPOST — Scope decision append-only records.
/api/projects/{id}/documentsGET, POST — Document list, detail, lifecycle, portal-link, and file access.
/api/projects/{id}/documents/{doc_id}GET, PUT — Document list, detail, lifecycle, portal-link, and file access.
/api/projects/{id}/documents/{doc_id}/lifecycleGET, PATCH — Document list, detail, lifecycle, portal-link, and file access.
/api/projects/{id}/documents/{doc_id}/portal-linkGET, POST, PATCH, DELETE — Document list, detail, lifecycle, portal-link, and file access.
/api/projects/{id}/fields/{field}GET — Project records and nested project resources.
/api/projects/{id}/githubGET — GitHub repository telemetry, incidents, and health.
/api/projects/{id}/github/commitsGET — GitHub repository telemetry, incidents, and health.
/api/projects/{id}/github/deploymentsGET — GitHub repository telemetry, incidents, and health.
/api/projects/{id}/github/healthGET, POST — GitHub repository telemetry, incidents, and health.
/api/projects/{id}/github/incidentsGET — GitHub repository telemetry, incidents, and health.
/api/projects/{id}/github/incidents/{incidentId}PATCH — GitHub repository telemetry, incidents, and health.
/api/projects/{id}/github/issuesGET — GitHub repository telemetry, incidents, and health.
/api/projects/{id}/github/pull-requestsGET — GitHub repository telemetry, incidents, and health.
/api/projects/{id}/github/syncPOST — GitHub repository telemetry, incidents, and health.
/api/projects/{id}/image-swaps/bulk-uploadPOST — Project records and nested project resources.
/api/projects/{id}/overviewGET — Project records and nested project resources.
/api/projects/{id}/pullGET — Project records and nested project resources.
/api/projects/{id}/qa-configGET — QA extension project configuration and page mappings.
/api/projects/{id}/qa-config/mappingsPOST, PATCH, DELETE — QA extension project configuration and page mappings.
/api/projects/{id}/qa-itemsGET, POST — Canonical QA intake items.
/api/projects/{id}/qa-items/{itemId}PATCH, DELETE — Canonical QA intake items.
/api/projects/{id}/qa-items/{itemId}/repliesGET, POST — Canonical QA intake items.
/api/projects/{id}/readiness-rollupGET — Project readiness and Mila SOP runtime.
/api/projects/{id}/readiness-sopGET, POST — Project readiness and Mila SOP runtime.
/api/projects/{id}/reviews/{reviewId}/assets/{assetId}PATCH — Deliverable review asset status using expected_updated_at concurrency.
/api/projects/{id}/reviews/{reviewId}/roundsPOST — Deliverable review round advancement using expected_current_round_id.
/api/projects/{id}/scope/searchGET — Project records and nested project resources.
/api/projects/{id}/shoot-days/{shootDayId}/floor-planGET, PATCH — Studio shot-list and shoot-day planning.
/api/projects/{id}/shoot-days/{shootDayId}/planGET — Studio shot-list and shoot-day planning.
/api/projects/{id}/shotsGET, POST — Studio shot-list and shoot-day planning.
/api/projects/{id}/shots/{shotId}GET, PATCH, DELETE — Studio shot-list and shoot-day planning.
/api/projects/{id}/sprintsGET, POST — Project records and nested project resources.
/api/projects/{id}/sprints/{sprintId}PATCH — Project records and nested project resources.
/api/projects/{id}/taste-profileGET, POST — Project records and nested project resources.
/api/projects/{id}/taste-roomsGET, POST — Taste room read/write collaboration resources.
/api/projects/{id}/taste-rooms/{roomId}GET, PATCH, DELETE — Taste room read/write collaboration resources.
/api/projects/{id}/taste-rooms/{roomId}/archivePOST — Taste room read/write collaboration resources.
/api/projects/{id}/taste-rooms/{roomId}/cardsGET, POST — Taste room read/write collaboration resources.
/api/projects/{id}/taste-rooms/{roomId}/cards/{cardId}PATCH, DELETE — Taste room read/write collaboration resources.
/api/projects/{id}/taste-rooms/{roomId}/quizGET — Taste room read/write collaboration resources.
/api/projects/{id}/taste-rooms/{roomId}/quiz/prompts/{promptId}PATCH — Taste room read/write collaboration resources.
/api/projects/{id}/taste-rooms/{roomId}/sharePOST — Taste room read/write collaboration resources.
/api/projects/{id}/transitionsPOST — Project records and nested project resources.
/api/projects/{id}/workstreamsGET, PATCH — Project workstream state.
QA Extension
/api/qa-extension/client-bootstrapGET — Public integration endpoint.
/api/qa-extension/client-commentsGET, POST — Public integration endpoint.
/api/qa-extension/client-comments/{itemId}/repliesPOST — Public integration endpoint.
/api/qa-extension/configGET — Public integration endpoint.
Record Work
/api/record-work/blocked-on-youGET — Active work blocked on an authorized team member.
Reviews
/api/reviews/assets/{assetId}/fileGET — Project media asset library.
/api/reviews/live/{reviewId}GET — Public integration endpoint.
/api/reviews/versions/{versionId}/fileGET — Public integration endpoint.
Shopify
/api/shopify/app-bootstrapGET — Public integration endpoint.
/api/shopify/installations/syncPOST — Public integration endpoint.
/api/shopify/sessionsPOST, GET, DELETE — Shopify session storage contract.
/api/shopify/sessions/{id}GET, DELETE — Shopify session storage contract.
/api/shopify/staged-actionsPOST, GET — Shopify staged actions queue.
/api/shopify/staged-actions/{id}GET, PATCH — Shopify staged actions queue.
/api/shopify/staged-actions/claimPOST — Shopify staged actions queue.
/api/shopify/store-snapshotsPOST, GET — Shopify store snapshot cache.
Skills
/api/skillsGET, POST — Published skill metadata, publisher draft library view, and skill creation.
/api/skills/{slug}GET, PATCH — Published bundle, publisher draft view, and versioned draft save or archive.
/api/skills/{slug}/releasesPOST — Publish the draft or restore a snapshot as a new immutable release. Requires X-Version.
/api/skills/{slug}/usageGET — Skill selection and invocation totals by version, plus up to 20 recent events.
/api/skills/{slug}/versionsGET — Immutable skill history, newest first. Limit 1 to 5, default 5; exclusive before_version cursor.
/api/skills/invocationsPOST — Ingest 1 to 100 usage events, deduplicated by authenticated source and event ID.
SOPs
/api/sopsGET, POST — SOP registry.
/api/sops/{id}GET, PUT — SOP registry.
/api/sops/searchGET — SOP registry.
Status
/api/statusGET — Public JSON health check.
comment_on_client_email_draft
Add an attributed internal comment to a shared client email draft.
commit_scheduling_changeCommit a Google Calendar event reschedule and refresh willaOS scheduling projection metadata.
create_client_email_draftCreate a shared client email draft on a project so designers and developers can review it.
create_meeting_proposalCreate a Willa meeting availability proposal and suggest slots from connected internal Google Calendars
create_skillCreate a Willa Skill Library draft. Drafts are never installable: publish_skill puts a release in front of install clients
delete_project_qa_itemDelete one project QA item using its current optimistic version
discover_skillsDiscover Willa automation workflow skills by intent without exposing local paths, secrets, private prompts, or install content
extract_receipt_dumpFile a saved dump into pending typed items. Human accept/reject is still required before the items become company memory.
get_agent_actionGet one durable staged action with its append-only decisions and execution attempts. Invisible actions return not found.
get_agent_gardening_findingGet one gardening proposal and its source session links. Human review is still required before any environment change lands.
get_agent_gardening_metricsRead scoped gardening quality metrics, including decisions, repeated friction, improved sessions, and unresolved gap age.
get_agent_sessionGet one durable agent session with its append-only events and linked artifacts. Discovery: obtain session_id from list_agent_sessions or a willaOS session link. Do: use this to resume or audit work. Don't: treat an artifact as approved unless the timeline contains approval_granted.
get_asana_statusGet Asana task summary for a project
get_clientGet a full client record by ID plus its list of projects
get_client_email_draftGet one shared client email draft with comments, reviewers, presence, and permissions.
get_connector_resourceGet one canonical connector resource by its willaOS resource ID. Invisible resources return not found.
get_email_approval_requestGet one email approval request, including recipients, body, classification, status, and SLA timestamps.
get_figma_asana_sync_statusGet Figma-to-Asana sync readiness for a project, including linked Figma files and cached Asana graph status
get_figma_comment_mirrorGet the latest paired client/internal Figma comment mirror state for a project, including newest comments and mirror operation keys
get_figma_section_ledgerGet one Figma section-ledger bundle, including check-in/check-out events and per-user seen state
get_meeting_proposalGet one meeting availability proposal with proposed slots and internal attendees
get_milestonesGet upcoming milestones across all projects, sorted by date
get_projectGet a full project record by ID
get_project_content_schemaGet a Light CMS content schema detail with pages, sections, slots, current entry values, and validation state
get_project_economicsGet the Harvest-backed project economics roll-up, including budget lines, actuals, profitability, and time-entry cache status
get_project_fieldGet a specific field from a project record
get_project_overviewStart here for any question about how a project is doing. One database-only call returning the project header and signals permitted by this key's fields_read grants, plus a drill_down list naming the tool to call for each domain and whether this key can reach it. Omitted signals are not authorized; a null signal means its database source was unavailable. Prefer this over calling the per-domain get_project_* tools speculatively.
get_project_pull_ticketThe next live ticket on a project record. Contractors and clients pull this card instead of asking someone to assign. Dead or approved work is omitted.
get_project_readiness_rollupGet the cross-system project readiness rollup and pre-launch audit checklist for a project
get_project_readiness_sopRead the Mila readiness SOP runtime state for a project, including checklist summary, missing inputs, adapter capabilities, and pending staged writes
get_project_shotGet one studio shot-list item for a project, including references, props, and version metadata
get_project_sitemapGet the current or SOW baseline sitemap for a project, including pages and external page mappings
get_project_sitemap_reconciliationShow matched, unmatched, conflicting, and orphaned external mappings for the current project sitemap
get_project_taste_profileGet the compact client taste profile for a project, including quiz answers and competitor/reference signals
get_project_timelineGet normalized project timeline batches and sprints for a project
get_project_workstreamsGet first-class per-workstream status, blocked reason, and rollup summary for a project
get_qa_extension_configGet the versioned QA extension page contract by project ID or storefront/domain URL
get_receipt_dumpGet the caller's own end-of-day tacit dump for a local date. Raw dump text is owner-private. Accepted items are company memory and belong on list_accepted_dump_items.
get_resource_calendarGet the internal scheduling resource calendar for a date range. Returns Willa resources, Google-backed calendar events, shoots, conflicts, and the FullCalendar Premium fallback status.
get_shoot_floor_planGet a shoot-day 2D floor plan, sidebar inventory, and clone source metadata
get_skill_bundleGet one published installable Willa Skill Library bundle, including content files/fragments and deterministic checksum metadata
get_skill_discoveryGet safe discovery metadata for one Willa automation workflow skill
get_skill_usageRead bounded Willa skill usage: selection and invocation totals per version plus the most recent reported events with their source
list_accepted_dump_itemsList accepted end-of-day dump items. These are company memory after a person accepted them. Pending and rejected items are omitted. Do not treat this as permission to write wiki or SOPs.
list_agent_actionsList durable staged actions visible to this caller. An action must be explicitly approved before external execution unless its recorded policy already approved it.
list_agent_gardening_findingsList repeated agent-work friction visible to this caller. Findings are review proposals, not permission to change code, SOPs, records, or integrations.
list_agent_sessionsList durable agent sessions visible to this caller. Discovery: use filters to find a session ID, then call get_agent_session for its event and artifact timeline. Do: use this instead of scraping Slack. Don't: infer hidden sessions from empty results.
list_blocked_on_youOne list of record work that cannot move without this team member. Not an Asana dump and not a morning essay.
list_client_email_draftsList project-scoped shared client email drafts. Use this for collaborative client mail, not the personal Gmail inbox.
list_clientsList all non-archived Willa Creative clients. Returns summaries with these fields only: id, name, brand_name, phase, team_pm, archived_at, project_count. team_pm is a best-effort runtime lookup and may be null; it is not a persisted field on the client record. For the full client record (contacts, platform_links, brand_tokens, portal config, etc.) call get_client.
list_connector_grantsList connector grants visible to this caller. Grants are authority records; never infer access from a resource existing without an active grant.
list_connector_resourcesList canonical connector resources visible to this caller. Use the returned resource_uri when asking a connector-backed agent to read a specific channel, thread, or mailbox.
list_email_approval_requestsList client-facing email approval requests, optionally filtered by client, project, status, source, and limit.
list_figma_section_ledgersList Figma section-ledger records for a project, optionally filtered by file key or section node ID
list_meeting_proposalsList Willa meeting availability proposals, optionally filtered by client, project, status, and limit
list_project_content_schemasList Light CMS content schemas for a project, newest first, with schema metadata and missing source messages
list_project_document_vendor_lifecycleList project documents with Google Signatures and QuickBooks lifecycle refs, status snapshots, external links, last sync time, and sync errors
list_project_media_assetsList the project media asset library, including lifecycle counts, source links, current versions, replacement history, and readiness blockers
list_project_pagesList canonical sitemap pages for a project with page status, scope status, mapping coverage, and owner references
list_project_qa_itemsList canonical QA items captured for a project from manual entry, video QA, QA extension, Asana, Figma, or GitHub
list_project_shotsList studio shot-list scenes for a project, including references, prop readiness, and linked shoot-day schedule usage
list_projectsList non-archived projects, optionally filtered by client_id. Returns summaries with these fields only: id, client_id, name, engagement_type, phase, team_pm, next_milestone, archived_at. team_pm and next_milestone are best-effort runtime values and may be null. For the full project record (deal, team, dates, platform_links, readiness_gate, content_production, etc.) call get_project. For how one project is currently doing, call get_project_overview.
list_shoot_day_planGet a shoot-day schedule plan with blocks and linked studio shot-list details
list_skill_versionsList immutable Willa skill versions newest first, five per page. Pass the oldest returned version as before_version to read earlier history.
list_skillsList published installable Willa Skill Library releases with stable slug, kind, released version, checksum, scope, and update metadata
meeting_transcript.ingestIngest a plaintext meeting transcript into willaOS documents and structured meeting transcript records.
open_deliverable_review_roundOpen the next numbered round for a deliverable review
plan_figma_asana_syncBuild a dry-run Figma-to-Asana sync plan for page mappings, section subtasks, dependencies, and board placement
preview_scheduling_changePreview conflicts for a proposed Google Calendar event move before committing it.
publish_skillPublish the current Willa skill draft, or restore a historical version, as a new immutable active release. History is never rewritten
queue_client_email_draftQueue a shared client email draft for the existing send-approval path.
reject_agent_actionReject one pending durable action with a required reason and optimistic concurrency.
reject_dump_itemReject one pending dump item. Only the dump owner can do this.
reject_email_approval_requestReject a pending email approval request with a required reason.
report_skill_invocationsReport bounded skill selection/invocation telemetry idempotently. The source actor is this API key; member_id is an unverified attribution claim and never grants access
request_client_email_draft_reviewAsk named team members to review a shared client email draft.
save_receipt_dumpSave the caller's end-of-day tacit dump for a local date. Empty text or skip=true marks a valid empty day. This does not write wiki, SOPs, or SuperMemory.
save_shoot_floor_planSave a shoot-day 2D floor plan. Uses expected_version like X-Version.
search_project_scopeSearch project scope includes/excludes, legacy scope notes, first-class scope decisions, and current sitemap pages
search_project_sitemapSearch the canonical current project sitemap, scope decisions, and QA items for a page or feature
search_scopeCheck if something is in scope for a project
search_sopsSearch Standard Operating Procedures by content
send_meeting_proposalSend a meeting availability proposal with a constrained set of proposed slot IDs and return the client link
shopify_app_bootstrapGet the Willa Shopify app's per-store bootstrap payload: linked client/project, branded contacts, platform links, readiness/QA counts, and installation status. Used by the Willa Shopify app's App Home and by external agents asking 'what does Willa know about this store?'.
shopify_installation_syncUpsert a Shopify app installation record in willaOS. Called by the Willa Shopify app backend after OAuth, periodic refresh, or theme/scope changes. Shop must be allowlisted (matches a client/project platform link or an existing installation).
shopify_staged_action_createDraft a Shopify write action that will execute on a willa-managed store once approved. Action is created in 'submitted' state; an authorized Willa operator must approve before execution. Use idempotency_key to safely retry. Action types: shopify_page_create, shopify_page_update, shopify_menu_update, shopify_metaobject_upsert, shopify_metafield_set, shopify_file_upload, shopify_file_link, shopify_readiness_finalize.
shopify_staged_action_listList Shopify staged actions for a shop, filtered by status. Useful for agents to see what's pending approval, executing, or recently completed.
shopify_store_snapshot_getGet the most recent cached Shopify store snapshot for a willa-managed store: shop info, product/collection/page/blog/file counts, recent order rollup, theme inventory, installed-app inventory, and online-store performance metrics. Sourced from the Redis snapshot pushed by the Willa Shopify app on every embedded load. Returns null if no snapshot is cached.
stage_image_swap_manifestAccept a Chrome image-swap placement manifest and optionally draft a Shopify media placement staged action for operator review. This never writes directly to a live theme.
update_client_ai_policySet a client's AI data policy with optimistic concurrency. private_only and local_only prohibit hosted AI processing.
update_client_email_draftUpdate a shared client email draft using optimistic concurrency.
update_deliverable_review_asset_statusUpdate a deliverable review asset status using its current updated timestamp
update_project_content_entryUpdate one Light CMS content entry value using optimistic concurrency via expected_version
update_project_qa_itemUpdate the title, description, status, severity, or assignee of one project QA item
update_project_workstream_stateUpdate one project workstream status. Blocked workstreams require blocked_reason.
update_skillSave a new Willa skill draft with optimistic concurrency. The previous published release keeps serving install clients until publish_skill runs