# Erdo Docs ## Docs - [A/B test your landing pages](https://docs.erdo.ai/ab-testing-pages.md): Split live traffic across page variants, keep each visitor on their variant, attribute every lead, and let the loop decide the winner. - [Agents](https://docs.erdo.ai/agents.md): Your AI workforce — specialized agents you recruit, brief, and configure to work on your business. - [AddEvalCaseAPI mirrors erdo_add_eval_case. ](https://docs.erdo.ai/api-reference/addevalcaseapi-mirrors-erdo_add_eval_case.md) - [AddWorkstreamPhaseAPI mirrors erdo_add_workstream_phase. ](https://docs.erdo.ai/api-reference/addworkstreamphaseapi-mirrors-erdo_add_workstream_phase.md) - [AppendWorkstreamEventAPI mirrors erdo_append_workstream_event. ](https://docs.erdo.ai/api-reference/appendworkstreameventapi-mirrors-erdo_append_workstream_event.md) - [ArmWorkstreamLoopAPI mirrors erdo_arm_workstream_loop: schedule the recurring ](https://docs.erdo.ai/api-reference/armworkstreamloopapi-mirrors-erdo_arm_workstream_loop:-schedule-the-recurring.md): allocator reconciliation pass for a workstream. - [AskDataQuestionAPI mirrors the erdo_ask_data_question MCP tool as a REST endpoint. ](https://docs.erdo.ai/api-reference/askdataquestionapi-mirrors-the-erdo_ask_data_question-mcp-tool-as-a-restendpoint.md) - [AttachWorkstreamResourceAPI mirrors erdo_attach_workstream_resource. ](https://docs.erdo.ai/api-reference/attachworkstreamresourceapi-mirrors-erdo_attach_workstream_resource.md) - [BacktestJudgeAPI mirrors erdo_backtest_judge: run a judge over the org's live ](https://docs.erdo.ai/api-reference/backtestjudgeapi-mirrors-erdo_backtest_judge:-run-a-judge-over-the-orgs-live.md): experiments' variant pages of its kind and persist one prediction per variant. Synchronous and potentially slow. - [CheckIntegrationConnectionAPI mirrors the erdo_check_integration_connection MCP tool. ](https://docs.erdo.ai/api-reference/checkintegrationconnectionapi-mirrors-the-erdo_check_integration_connection-mcptool.md) - [ConnectIntegrationAPI mirrors the erdo_connect_integration MCP tool. ](https://docs.erdo.ai/api-reference/connectintegrationapi-mirrors-the-erdo_connect_integration-mcp-tool.md) - [CreateDatasetAPI creates a new empty dataset. ](https://docs.erdo.ai/api-reference/createdatasetapi-creates-a-new-empty-dataset.md) - [CreateDatasetFilterAPI mirrors the erdo_add_dataset_filter MCP tool. ](https://docs.erdo.ai/api-reference/createdatasetfilterapi-mirrors-the-erdo_add_dataset_filter-mcp-tool.md) - [CreateEvalSuiteAPI mirrors erdo_create_eval_suite. ](https://docs.erdo.ai/api-reference/createevalsuiteapi-mirrors-erdo_create_eval_suite.md) - [CreateExperimentAPI mirrors erdo_create_experiment. ](https://docs.erdo.ai/api-reference/createexperimentapi-mirrors-erdo_create_experiment.md) - [CreateHeartbeatAPI mirrors the erdo_create_heartbeat MCP tool. ](https://docs.erdo.ai/api-reference/createheartbeatapi-mirrors-the-erdo_create_heartbeat-mcp-tool.md) - [CreateIntegrationDatasetAPI mirrors erdo_create_integration_dataset. ](https://docs.erdo.ai/api-reference/createintegrationdatasetapi-mirrors-erdo_create_integration_dataset.md) - [CreateKnowledgeAPI mirrors the erdo_create_knowledge MCP tool. ](https://docs.erdo.ai/api-reference/createknowledgeapi-mirrors-the-erdo_create_knowledge-mcp-tool.md) - [CreateKVStoreAPIv1 mirrors the erdo_create_kv_store MCP tool. ](https://docs.erdo.ai/api-reference/createkvstoreapiv1-mirrors-the-erdo_create_kv_store-mcp-tool.md) - [CreateManagedOrganizationAPI mirrors erdo_create_managed_organization. ](https://docs.erdo.ai/api-reference/createmanagedorganizationapi-mirrors-erdo_create_managed_organization.md) - [CreateManagerKeyAPI mirrors erdo_create_manager_key. The raw key is returned exactly once. ](https://docs.erdo.ai/api-reference/createmanagerkeyapi-mirrors-erdo_create_manager_key-the-raw-key-is-returnedexactly-once.md) - [CreatePageReviewAPI mirrors erdo_review_pages: start a review of one or more ](https://docs.erdo.ai/api-reference/createpagereviewapi-mirrors-erdo_review_pages:-start-a-review-of-one-or-more.md): external page URLs with the real landing critic. Returns a review id immediately (status=pending); poll GET /v1/page-reviews/:reviewID for the typed findings. - [CreateProjectAPI mirrors erdo_create_project. ](https://docs.erdo.ai/api-reference/createprojectapi-mirrors-erdo_create_project.md) - [CreateThreadAPI mirrors the erdo_create_thread MCP tool. ](https://docs.erdo.ai/api-reference/createthreadapi-mirrors-the-erdo_create_thread-mcp-tool.md) - [CreateTokenAPI mints a new API token for the caller. The raw token is returned ](https://docs.erdo.ai/api-reference/createtokenapi-mints-a-new-api-token-for-the-caller-the-raw-token-is-returned.md): exactly once. - [CreateWorkstreamAPI mirrors erdo_create_workstream. ](https://docs.erdo.ai/api-reference/createworkstreamapi-mirrors-erdo_create_workstream.md) - [DecideApprovalAPI mirrors erdo_decide_approval. ](https://docs.erdo.ai/api-reference/decideapprovalapi-mirrors-erdo_decide_approval.md) - [DecideReviewItemAPI mirrors erdo_decide_review_item. ](https://docs.erdo.ai/api-reference/decidereviewitemapi-mirrors-erdo_decide_review_item.md) - [DeleteDatasetAPI deletes a dataset by slug. ](https://docs.erdo.ai/api-reference/deletedatasetapi-deletes-a-dataset-by-slug.md) - [DeleteDatasetFilterAPI mirrors the erdo_remove_dataset_filter MCP tool. ](https://docs.erdo.ai/api-reference/deletedatasetfilterapi-mirrors-the-erdo_remove_dataset_filter-mcp-tool.md) - [DeleteDatasetRowsAPI deletes rows from a dataset. ](https://docs.erdo.ai/api-reference/deletedatasetrowsapi-deletes-rows-from-a-dataset.md) - [DeleteKnowledgeAPI mirrors the erdo_delete_knowledge MCP tool. ](https://docs.erdo.ai/api-reference/deleteknowledgeapi-mirrors-the-erdo_delete_knowledge-mcp-tool.md) - [DeleteKVItemAPIv1 mirrors the erdo_delete_kv_item MCP tool. ](https://docs.erdo.ai/api-reference/deletekvitemapiv1-mirrors-the-erdo_delete_kv_item-mcp-tool.md) - [DeletePageAPI mirrors the erdo_delete_page MCP tool. ](https://docs.erdo.ai/api-reference/deletepageapi-mirrors-the-erdo_delete_page-mcp-tool.md) - [DeployPageAPI mirrors the erdo_deploy_page MCP tool. ](https://docs.erdo.ai/api-reference/deploypageapi-mirrors-the-erdo_deploy_page-mcp-tool.md) - [DiagnoseExperimentAPI mirrors erdo_diagnose_experiment_personas: run ](https://docs.erdo.ai/api-reference/diagnoseexperimentapi-mirrors-erdo_diagnose_experiment_personas:-run.md): Stage-B diagnostic persona sessions on an experiment's surviving variants. Narratives land as action\_taken observations, readable via GET /v1/experiments/:slug/observations. - [DiscoverIntegrationTablesAPI mirrors erdo_discover_integration_tables. ](https://docs.erdo.ai/api-reference/discoverintegrationtablesapi-mirrors-erdo_discover_integration_tables.md): The path param is the app key or integration id; schema\_name comes from the query string. - [FetchDatasetContentsAPI mirrors the erdo_fetch_dataset_contents MCP tool as a REST endpoint. ](https://docs.erdo.ai/api-reference/fetchdatasetcontentsapi-mirrors-the-erdo_fetch_dataset_contents-mcp-tool-as-arest-endpoint.md) - [GatherDatasetContextAPI mirrors the erdo_gather_dataset_context MCP tool as a REST endpoint. ](https://docs.erdo.ai/api-reference/gatherdatasetcontextapi-mirrors-the-erdo_gather_dataset_context-mcp-tool-as-arest-endpoint.md) - [GetAgentRunAPIv1 mirrors erdo_get_agent_run. ](https://docs.erdo.ai/api-reference/getagentrunapiv1-mirrors-erdo_get_agent_run.md) - [GetArtifactAPI mirrors the erdo_get_artifact MCP tool. ](https://docs.erdo.ai/api-reference/getartifactapi-mirrors-the-erdo_get_artifact-mcp-tool.md) - [GetAutonomyModeAPI mirrors erdo_get_autonomy_mode: read the org's engine ](https://docs.erdo.ai/api-reference/getautonomymodeapi-mirrors-erdo_get_autonomy_mode:-read-the-orgs-engine.md): autonomy mode (autopilot | propose | strict). - [GetDatasetSchemaAPI mirrors the erdo_get_dataset_schema MCP tool as a REST endpoint. ](https://docs.erdo.ai/api-reference/getdatasetschemaapi-mirrors-the-erdo_get_dataset_schema-mcp-tool-as-a-restendpoint.md) - [GetEvalRunAPI mirrors erdo_get_eval_run. ](https://docs.erdo.ai/api-reference/getevalrunapi-mirrors-erdo_get_eval_run.md) - [GetEvalSuiteAPI mirrors erdo_get_eval_suite. ](https://docs.erdo.ai/api-reference/getevalsuiteapi-mirrors-erdo_get_eval_suite.md) - [GetEventPipelineAPI mirrors erdo_get_event_pipeline (slug or uuid). ](https://docs.erdo.ai/api-reference/geteventpipelineapi-mirrors-erdo_get_event_pipeline-slug-or-uuid.md) - [GetExperimentAPI mirrors erdo_get_experiment (slug or uuid). ](https://docs.erdo.ai/api-reference/getexperimentapi-mirrors-erdo_get_experiment-slug-or-uuid.md) - [GetExperimentPolicyAPI mirrors erdo_get_experiment_policy — the decision ](https://docs.erdo.ai/api-reference/getexperimentpolicyapi-mirrors-erdo_get_experiment_policy-—-the-decision.md): policy's latest state (posteriors, allocation, stop probabilities). - [GetKVItemAPIv1 mirrors the erdo_get_kv_item MCP tool. ](https://docs.erdo.ai/api-reference/getkvitemapiv1-mirrors-the-erdo_get_kv_item-mcp-tool.md) - [GetPageReviewAPI mirrors erdo_get_page_review: read a review's status and, ](https://docs.erdo.ai/api-reference/getpagereviewapi-mirrors-erdo_get_page_review:-read-a-reviews-status-and.md): once ready, its typed per-page findings (strengths + defects), the deterministic conversion score with its category breakdown, and real Lighthouse scores when available. - [GetReviewItemAPI mirrors erdo_get_review_item. ](https://docs.erdo.ai/api-reference/getreviewitemapi-mirrors-erdo_get_review_item.md) - [GetThreadMessagesAPI mirrors the erdo_get_thread_messages MCP tool as a REST endpoint. ](https://docs.erdo.ai/api-reference/getthreadmessagesapi-mirrors-the-erdo_get_thread_messages-mcp-tool-as-a-restendpoint.md) - [GetVoiceWidgetConversationAPI mirrors erdo_voice_widget_conversation_get, ](https://docs.erdo.ai/api-reference/getvoicewidgetconversationapi-mirrors-erdo_voice_widget_conversation_get.md): returning the transcript plus the structured per-turn LLM metrics (\`turns\`). - [GetWorkstreamAPI mirrors erdo_get_workstream (slug or uuid). ](https://docs.erdo.ai/api-reference/getworkstreamapi-mirrors-erdo_get_workstream-slug-or-uuid.md) - [GroundPersonasAPI mirrors erdo_ground_personas: ground the org's persona ](https://docs.erdo.ai/api-reference/groundpersonasapi-mirrors-erdo_ground_personas:-ground-the-orgs-persona.md): skills in measured page-events sessions. Returns what the pass did (or the gated no-op reason). - [IOSScreenshotAPI mirrors the erdo_ios_screenshot MCP tool: capture a page on a ](https://docs.erdo.ai/api-reference/iosscreenshotapi-mirrors-the-erdo_ios_screenshot-mcp-tool:-capture-a-page-on-a.md): REAL iPhone (real iOS Safari) — for iOS-Safari-only behaviour headless Chromium can't see. Returns a job\_id; poll /v1/screenshot/result with it for the PNG. - [JudgeCalibrationAPI mirrors erdo_judge_calibration. ](https://docs.erdo.ai/api-reference/judgecalibrationapi-mirrors-erdo_judge_calibration.md) - [ListActivityFeedAPI mirrors erdo_list_activity_feed: the unified, ranked, ](https://docs.erdo.ai/api-reference/listactivityfeedapi-mirrors-erdo_list_activity_feed:-the-unified-ranked.md): read-only feed (attention items, approvals, workstream events, catalog updates, urgent cause-clusters). Query params carry limit/offset/categories/ scope. Responding to an item routes through /v1/attention/:id/respond and /v1/approvals/:id/decide — this endpoint is a view only. - [ListAgentRunsAPI mirrors erdo_list_agent_runs. ](https://docs.erdo.ai/api-reference/listagentrunsapi-mirrors-erdo_list_agent_runs.md) - [ListApprovalsAPI mirrors erdo_list_approvals. ](https://docs.erdo.ai/api-reference/listapprovalsapi-mirrors-erdo_list_approvals.md) - [ListArtifactsAPI mirrors the erdo_list_artifacts MCP tool. ](https://docs.erdo.ai/api-reference/listartifactsapi-mirrors-the-erdo_list_artifacts-mcp-tool.md) - [ListAttentionItemsAPI mirrors erdo_list_attention_items. ](https://docs.erdo.ai/api-reference/listattentionitemsapi-mirrors-erdo_list_attention_items.md) - [ListCrossCustomerPriorsAPI mirrors erdo_list_cross_customer_priors. ](https://docs.erdo.ai/api-reference/listcrosscustomerpriorsapi-mirrors-erdo_list_cross_customer_priors.md) - [ListDatasetFiltersAPI mirrors the erdo_list_dataset_filters MCP tool. ](https://docs.erdo.ai/api-reference/listdatasetfiltersapi-mirrors-the-erdo_list_dataset_filters-mcp-tool.md) - [ListDatasetsAPI mirrors the erdo_list_datasets MCP tool as a REST endpoint. ](https://docs.erdo.ai/api-reference/listdatasetsapi-mirrors-the-erdo_list_datasets-mcp-tool-as-a-rest-endpoint.md) - [ListEvalRunsAPI mirrors erdo_list_eval_runs. ](https://docs.erdo.ai/api-reference/listevalrunsapi-mirrors-erdo_list_eval_runs.md) - [ListEvalSuitesAPI mirrors erdo_list_eval_suites. ](https://docs.erdo.ai/api-reference/listevalsuitesapi-mirrors-erdo_list_eval_suites.md) - [ListEventPipelineExecutionsAPI mirrors erdo_list_event_pipeline_executions. ](https://docs.erdo.ai/api-reference/listeventpipelineexecutionsapi-mirrors-erdo_list_event_pipeline_executions.md) - [ListEventPipelinesAPI mirrors erdo_list_event_pipelines. ](https://docs.erdo.ai/api-reference/listeventpipelinesapi-mirrors-erdo_list_event_pipelines.md) - [ListExperimentObservationsAPI mirrors erdo_list_experiment_observations. ](https://docs.erdo.ai/api-reference/listexperimentobservationsapi-mirrors-erdo_list_experiment_observations.md) - [ListExperimentsAPI mirrors erdo_list_experiments. ](https://docs.erdo.ai/api-reference/listexperimentsapi-mirrors-erdo_list_experiments.md) - [ListHeartbeatExecutionsAPI mirrors the erdo_list_heartbeat_executions MCP tool. ](https://docs.erdo.ai/api-reference/listheartbeatexecutionsapi-mirrors-the-erdo_list_heartbeat_executions-mcp-tool.md) - [ListHeartbeatsAPI mirrors the erdo_list_heartbeats MCP tool. ](https://docs.erdo.ai/api-reference/listheartbeatsapi-mirrors-the-erdo_list_heartbeats-mcp-tool.md) - [ListIntegrationsAPI mirrors the erdo_list_integrations MCP tool. ](https://docs.erdo.ai/api-reference/listintegrationsapi-mirrors-the-erdo_list_integrations-mcp-tool.md) - [ListKnowledgeAPI mirrors the erdo_list_knowledge MCP tool. ](https://docs.erdo.ai/api-reference/listknowledgeapi-mirrors-the-erdo_list_knowledge-mcp-tool.md) - [ListKVStoresAPIv1 mirrors the erdo_list_kv_stores MCP tool. ](https://docs.erdo.ai/api-reference/listkvstoresapiv1-mirrors-the-erdo_list_kv_stores-mcp-tool.md) - [ListManagedOrganizationsAPI mirrors erdo_list_managed_organizations. ](https://docs.erdo.ai/api-reference/listmanagedorganizationsapi-mirrors-erdo_list_managed_organizations.md) - [ListOrganizationsAPI lists the orgs the caller belongs to, for `erdo org list` ](https://docs.erdo.ai/api-reference/listorganizationsapi-lists-the-orgs-the-caller-belongs-to-for-`erdo-org-list`.md): / \`erdo org use\`. - [ListPageReviewsAPI mirrors erdo_list_page_reviews: past reviews newest first ](https://docs.erdo.ai/api-reference/listpagereviewsapi-mirrors-erdo_list_page_reviews:-past-reviews-newest-first.md): as lean summaries (id, status, URLs, goal, scores) — filter by url to track one page over time. The full findings stay on GET /v1/page-reviews/:reviewID. - [ListPagesAPI mirrors the erdo_list_pages MCP tool. ](https://docs.erdo.ai/api-reference/listpagesapi-mirrors-the-erdo_list_pages-mcp-tool.md) - [ListProjectsAPI mirrors erdo_list_projects. ](https://docs.erdo.ai/api-reference/listprojectsapi-mirrors-erdo_list_projects.md) - [ListReviewItemsAPI mirrors erdo_list_review_items. ](https://docs.erdo.ai/api-reference/listreviewitemsapi-mirrors-erdo_list_review_items.md) - [ListThreadsAPI mirrors the erdo_list_threads MCP tool as a REST endpoint. ](https://docs.erdo.ai/api-reference/listthreadsapi-mirrors-the-erdo_list_threads-mcp-tool-as-a-rest-endpoint.md) - [ListTokensAPI lists the caller's API tokens. It never returns the token hash or ](https://docs.erdo.ai/api-reference/listtokensapi-lists-the-callers-api-tokens-it-never-returns-the-token-hash-or.md): the raw secret — only the display hint and metadata. - [ListVoiceWidgetConversationsAPI mirrors erdo_voice_widget_conversation_list. ](https://docs.erdo.ai/api-reference/listvoicewidgetconversationsapi-mirrors-erdo_voice_widget_conversation_list.md): The widget handle + paging ride the query string. - [ListVoiceWidgetConversationsPostAPI is the POST body form of the list endpoint, ](https://docs.erdo.ai/api-reference/listvoicewidgetconversationspostapi-is-the-post-body-form-of-the-list-endpoint.md): for callers that prefer a JSON body over query params. - [ListWorkstreamEventsAPI mirrors erdo_list_workstream_events. ](https://docs.erdo.ai/api-reference/listworkstreameventsapi-mirrors-erdo_list_workstream_events.md) - [ListWorkstreamsAPI mirrors erdo_list_workstreams. ](https://docs.erdo.ai/api-reference/listworkstreamsapi-mirrors-erdo_list_workstreams.md) - [MeAPI returns the authenticated user and their currently-active org (the one ](https://docs.erdo.ai/api-reference/meapi-returns-the-authenticated-user-and-their-currently-active-org-the-one.md): resolved from the token + X-Organization-ID header). - [QueryDataNaturalLanguageAPI mirrors the erdo_query_data MCP tool as a REST endpoint. ](https://docs.erdo.ai/api-reference/querydatanaturallanguageapi-mirrors-the-erdo_query_data-mcp-tool-as-a-restendpoint.md) - [QueryPageAnalyticsAPI mirrors the erdo_page_analytics_query MCP tool: run a ](https://docs.erdo.ai/api-reference/querypageanalyticsapi-mirrors-the-erdo_page_analytics_query-mcp-tool:-run-a.md): read-only HogQL query against the caller org's page-analytics events. Thin — resolves the caller's org from ctx and hands the query to the organization service (which re-checks member RBAC and pins the query to the org's own project). A rejected HogQL propagates as InvalidArgument with PostHog's own… - [ReadWorkstreamLedgerAPI mirrors erdo_read_workstream_ledger: the allocator's ](https://docs.erdo.ai/api-reference/readworkstreamledgerapi-mirrors-erdo_read_workstream_ledger:-the-allocators.md): single ledger read (budget, experiments + observations, calibration, steering notes, attention items, allocator recommendation). - [RecordAllocationDecisionAPI mirrors erdo_record_allocation_decision: record ](https://docs.erdo.ai/api-reference/recordallocationdecisionapi-mirrors-erdo_record_allocation_decision:-record.md): that the caller is acting against the allocator's recommendation for one bet. Experiment-scoped (not workstream-scoped) because the overridden bet is a variant of one experiment — the same identity the ledger's allocator\_recommendation names. - [RemoveEvalCaseAPI mirrors erdo_remove_eval_case. ](https://docs.erdo.ai/api-reference/removeevalcaseapi-mirrors-erdo_remove_eval_case.md) - [RenderChartAPI mirrors the erdo_render_chart MCP tool as a REST endpoint. ](https://docs.erdo.ai/api-reference/renderchartapi-mirrors-the-erdo_render_chart-mcp-tool-as-a-rest-endpoint.md) - [RenderTableAPI mirrors the erdo_render_table MCP tool as a REST endpoint. ](https://docs.erdo.ai/api-reference/rendertableapi-mirrors-the-erdo_render_table-mcp-tool-as-a-rest-endpoint.md) - [RespondAttentionItemAPI mirrors erdo_respond_attention_item: answer a choice ](https://docs.erdo.ai/api-reference/respondattentionitemapi-mirrors-erdo_respond_attention_item:-answer-a-choice.md): or escalation, acknowledge (mark read), or dismiss. Answers route through the same service method the web feed uses, so a choice answer lands as human comparison observations (judge\_slug human:\) in the calibration ledger, and any flagged-broken variants land as 'defect' observations. - [RestorePageAPI mirrors the erdo_restore_page MCP tool. ](https://docs.erdo.ai/api-reference/restorepageapi-mirrors-the-erdo_restore_page-mcp-tool.md): The path is /v1/pages/restore/:pageID rather than /v1/pages/:pageID/restore because Encore forbids a parameterized segment (:pageID) at the same position as the existing static /v1/pages/validate route under POST. A static "restore" sibling to "validate" sidesteps that; delete stays RESTful (DELETE… - [RevokeManagedOrganizationAPI mirrors erdo_revoke_managed_organization (managed org named by slug). ](https://docs.erdo.ai/api-reference/revokemanagedorganizationapi-mirrors-erdo_revoke_managed_organization-managedorg-named-by-slug.md) - [RevokeTokenAPI revokes one of the caller's API tokens. ](https://docs.erdo.ai/api-reference/revoketokenapi-revokes-one-of-the-callers-api-tokens.md) - [RunEvalSuiteAPI mirrors erdo_run_eval_suite. ](https://docs.erdo.ai/api-reference/runevalsuiteapi-mirrors-erdo_run_eval_suite.md) - [RunHeartbeatAPI mirrors the erdo_run_heartbeat MCP tool. ](https://docs.erdo.ai/api-reference/runheartbeatapi-mirrors-the-erdo_run_heartbeat-mcp-tool.md) - [RunPersonaPanelAPI mirrors erdo_run_persona_panel: start a persona panel ](https://docs.erdo.ai/api-reference/runpersonapanelapi-mirrors-erdo_run_persona_panel:-start-a-persona-panel.md): (wind tunnel) against an experiment's page variants. Results land as experiment observations, readable via GET /v1/experiments/:slug/observations. - [RunQueryAPI mirrors the erdo_run_query MCP tool as a REST endpoint. ](https://docs.erdo.ai/api-reference/runqueryapi-mirrors-the-erdo_run_query-mcp-tool-as-a-rest-endpoint.md) - [RunTournamentAPI mirrors erdo_run_pairwise_tournament: rank an experiment's ](https://docs.erdo.ai/api-reference/runtournamentapi-mirrors-erdo_run_pairwise_tournament:-rank-an-experiments.md): page variants pairwise and persist the comparisons to the ledger. Synchronous — each judged pair is one LLM round-trip, so expect minutes. - [ScreenshotAPI mirrors the erdo_screenshot MCP tool as a REST endpoint: capture ](https://docs.erdo.ai/api-reference/screenshotapi-mirrors-the-erdo_screenshot-mcp-tool-as-a-rest-endpoint:-capture.md): a public URL to a PNG and return a signed download URL. - [ScreenshotResultAPI polls an instructed capture started by ScreenshotAPI, ](https://docs.erdo.ai/api-reference/screenshotresultapi-polls-an-instructed-capture-started-by-screenshotapi.md): returning status="processing" until the detached browser render finishes. - [SearchDatasetsAPI mirrors the erdo_search_datasets MCP tool as a REST endpoint. ](https://docs.erdo.ai/api-reference/searchdatasetsapi-mirrors-the-erdo_search_datasets-mcp-tool-as-a-rest-endpoint.md) - [SearchIntegrationAppsAPI mirrors the erdo_search_integration_apps MCP tool. ](https://docs.erdo.ai/api-reference/searchintegrationappsapi-mirrors-the-erdo_search_integration_apps-mcp-tool.md) - [SearchKnowledgeAPI mirrors the erdo_search_knowledge MCP tool. ](https://docs.erdo.ai/api-reference/searchknowledgeapi-mirrors-the-erdo_search_knowledge-mcp-tool.md) - [SendMessageAPI mirrors the erdo_send_message MCP tool. ](https://docs.erdo.ai/api-reference/sendmessageapi-mirrors-the-erdo_send_message-mcp-tool.md) - [SetAutonomyModeAPI mirrors erdo_set_autonomy_mode: set the org's engine ](https://docs.erdo.ai/api-reference/setautonomymodeapi-mirrors-erdo_set_autonomy_mode:-set-the-orgs-engine.md): autonomy mode. Admin only (enforced by the organization service). - [SetKnowledgeVisibilityAPI mirrors the erdo_set_knowledge_visibility MCP tool. ](https://docs.erdo.ai/api-reference/setknowledgevisibilityapi-mirrors-the-erdo_set_knowledge_visibility-mcp-tool.md) - [SetKVItemAPIv1 mirrors the erdo_set_kv_item MCP tool. ](https://docs.erdo.ai/api-reference/setkvitemapiv1-mirrors-the-erdo_set_kv_item-mcp-tool.md) - [UpdateDatasetSchemaAPI updates a dataset's schema (add/remove/rename columns, alter types). ](https://docs.erdo.ai/api-reference/updatedatasetschemaapi-updates-a-datasets-schema-addremoverename-columnsalter-types.md) - [UpdateEvalCaseAPI mirrors erdo_update_eval_case. ](https://docs.erdo.ai/api-reference/updateevalcaseapi-mirrors-erdo_update_eval_case.md) - [UpdateEvalSuiteAPI mirrors erdo_update_eval_suite. Only provided fields change. ](https://docs.erdo.ai/api-reference/updateevalsuiteapi-mirrors-erdo_update_eval_suite-only-provided-fields-change.md) - [UpdateEventPipelineAPI mirrors erdo_update_event_pipeline. Fields merge over ](https://docs.erdo.ai/api-reference/updateeventpipelineapi-mirrors-erdo_update_event_pipeline-fields-merge-over.md): the stored pipeline — an omitted field keeps its current value — so a caller can edit just the steps or the state without re-sending the rest. - [UpdateExperimentAPI mirrors erdo_update_experiment. ](https://docs.erdo.ai/api-reference/updateexperimentapi-mirrors-erdo_update_experiment.md) - [UpdatePageAPI mirrors the erdo_update_page MCP tool. ](https://docs.erdo.ai/api-reference/updatepageapi-mirrors-the-erdo_update_page-mcp-tool.md) - [UpdateWorkStateAPI mirrors erdo_update_work_state. ](https://docs.erdo.ai/api-reference/updateworkstateapi-mirrors-erdo_update_work_state.md) - [UploadDatasetFileAPI mirrors the erdo_upload_dataset_file MCP tool as a REST ](https://docs.erdo.ai/api-reference/uploaddatasetfileapi-mirrors-the-erdo_upload_dataset_file-mcp-tool-as-a-rest.md): endpoint. (/v1/datasets/upload would conflict with the /v1/datasets/:datasetID routes, hence the hyphenated path — same convention as /v1/datasets-search.) - [UploadImageAPI mirrors the erdo_upload_image MCP tool as a REST endpoint. ](https://docs.erdo.ai/api-reference/uploadimageapi-mirrors-the-erdo_upload_image-mcp-tool-as-a-rest-endpoint.md): Accepts a base64-encoded image in the request body and returns the bucket key that can be passed to AskDataQuestionAPI / erdo\_ask\_data\_question. - [ValidatePageAPI mirrors the erdo_validate_page MCP tool. ](https://docs.erdo.ai/api-reference/validatepageapi-mirrors-the-erdo_validate_page-mcp-tool.md) - [WriteDatasetRowsAPI writes/upserts rows to a dataset. ](https://docs.erdo.ai/api-reference/writedatasetrowsapi-writesupserts-rows-to-a-dataset.md) - [REST API](https://docs.erdo.ai/api/overview.md): Use Erdo's REST API to query, write, and manage your data programmatically - [Approvals](https://docs.erdo.ai/approvals.md): List and decide approval requests — actions an agent paused on, awaiting a human decision — over MCP, REST, or the CLI - [Build Apps on Erdo](https://docs.erdo.ai/apps/build-apps.md): Deploy authenticated, data-wired HTML apps to Erdo — read your data directly, write through governed APIs, and go realtime with a few lines of JavaScript. - [Your attention feed](https://docs.erdo.ai/attention.md): One feed carries everything that wants your attention — narrative digests, quick judgment calls, blocked-decision escalations, and judge re-screens — plus a way to steer work mid-run. - [Automations](https://docs.erdo.ai/automations.md): Put agents to work on a schedule or a trigger — so the report, the analysis, or the alert happens without you. - [Engine autonomy](https://docs.erdo.ai/autonomy.md): One dial — autopilot, propose, or strict — decides how much the growth engine may change live, customer-facing state on its own clock, with a single ledger of everything it has done. - [Web Browsing](https://docs.erdo.ai/browser.md): Have an Erdo agent use a real web browser — log in, navigate, fill forms, extract data, download files, and capture screenshots — for the things that only happen in a browser. - [CLI](https://docs.erdo.ai/cli.md): Drive Erdo from the terminal or CI — agents, pages, evals, datasets, and more - [Core concepts](https://docs.erdo.ai/concepts.md): The handful of ideas that make up Erdo — agents, threads, data, knowledge, and the things agents produce. - [Cross-customer priors](https://docs.erdo.ai/cross-customer-priors.md): How Erdo learns aggregate priors from every organization's experiments — what is shared, what never is, and how to opt out. - [Data & Connectors](https://docs.erdo.ai/data.md): Give your agents something to work on — upload files, connect your tools, bring your semantic layer, and trust that the answers are right. - [Data Lakes](https://docs.erdo.ai/data-lake.md): Connect your parquet data lake on GCS or S3 and query it in place — no copy, no warehouse. - [Evals](https://docs.erdo.ai/evals.md): Run and maintain evaluations of agents and generated pages — over MCP, REST, or the CLI - [Event pipelines](https://docs.erdo.ai/event-pipelines.md): See and inspect the deterministic flows that turn inbound events — lead-form submissions, third-party webhooks — into enriched rows, emails, and integration actions. - [Experiments](https://docs.erdo.ai/experiments.md): Run structured tests — hypothesis, variants, decision rule — and decide whether a change worked. - [Filters](https://docs.erdo.ai/filters.md): Saved rules that keep the rows matching their conditions on every read of a dataset — manage them in chat, the dataset settings UI, the CLI, MCP, or REST - [Inboxes](https://docs.erdo.ai/inboxes.md): Give Erdo an email address it can receive at — so an agent can sign up to a service, read the verification code, and keep going on its own. - [Introduction](https://docs.erdo.ai/introduction.md): Erdo is an AI workforce for your business — specialized agents that connect to your data, analyze it, and take action. - [Judges and calibration](https://docs.erdo.ai/judges.md): A judge is anything that predicts which variant wins before reality measures it — a critic lens, a persona panel, a pairwise tournament, your own answer to a choice. Calibration is the track record that says which ones to trust. - [Knowledge](https://docs.erdo.ai/knowledge.md): Your agents' shared brain — the metrics, definitions, skills, and learnings they build once and reuse everywhere. - [Manager accounts](https://docs.erdo.ai/manager-accounts.md): Operate many client organizations from one credential — provision an org per customer and run them all with a single manager key, instead of a pasted key per tenant. - [MCP Server](https://docs.erdo.ai/mcp/overview.md): Connect AI assistants and applications to your data via Erdo's MCP server - [SMS Messaging](https://docs.erdo.ai/messaging.md): Have an Erdo agent send outbound SMS — qualify a lead, confirm a detail, follow up — consent-gated and opt-out-aware, no setup required. - [Page analytics](https://docs.erdo.ai/page-analytics.md): Query how your published pages perform with real visitors — views, conversions, and campaign attribution — with a read-only HogQL query over the org's own analytics events, from chat, MCP, REST, or the CLI - [Page reviews — the critic on any URL](https://docs.erdo.ai/page-reviews.md): Review any landing page URL with Erdo's real conversion critic: typed defects with severity, the principle each one violates, the evidence in the captures, and the fix — plus what the page does well. - [Pages](https://docs.erdo.ai/pages.md): Turn a result into a shareable, data-wired app — dashboards, reports, and tools your agents build for you. - [How we validate synthetic panels](https://docs.erdo.ai/panel-validation.md): The Upworthy benchmark, isotonic calibration, and the falsification gate — how Erdo checks that its synthetic-panel predictions track reality, and why the gate that says when it doesn't know is harder to copy than any single accuracy number. - [Persona panel — the wind tunnel](https://docs.erdo.ai/persona-panel.md): Test page variants against your brand's customer cohorts before spending a cent of paid traffic: synthetic personas predict each variant's micro-conversions, rank the field, and flag the losers. - [Quickstart](https://docs.erdo.ai/quickstart.md): Connect a data source and put an agent to work in a few minutes. - [The review queue](https://docs.erdo.ai/review-queue.md): The queue of things an agent wants a human to decide — knowledge the critic proposes, investigations it opens, and the failure signals it keeps counting — readable and answerable over the app, MCP, REST, and the CLI. - [Python SDK — Invoke](https://docs.erdo.ai/sdk/invoke.md): Execute agents programmatically with the Python SDK - [Client Reference](https://docs.erdo.ai/ts-sdk/client.md): API reference for @erdoai/server - [Integration Patterns](https://docs.erdo.ai/ts-sdk/integration.md): Common patterns for integrating Erdo into your applications - [TypeScript SDK Overview](https://docs.erdo.ai/ts-sdk/overview.md): Integrate Erdo AI agents into your TypeScript/JavaScript applications - [UI Components](https://docs.erdo.ai/ts-sdk/ui-components.md): React components for rendering Erdo agent results - [Vercel AI SDK Integration](https://docs.erdo.ai/ts-sdk/vercel-ai-sdk.md): Use Erdo's MCP tools with Vercel AI SDK for rich data analysis in your chat UI - [Voice Calls & Scheduling](https://docs.erdo.ai/voice.md): Have an Erdo agent place real outbound phone calls — qualify a lead, confirm a detail, and book a meeting on your calendar, all in one call. - [Website Widget (concierge)](https://docs.erdo.ai/voice-widget.md): Embed an AI concierge on your website — visitors can talk, chat, or video with it, grounded in your content. Configure its modes, voice, and branding from the dashboard, let it book meetings on your calendar, and review every conversation. - [The wind tunnel](https://docs.erdo.ai/wind-tunnel.md): Prune page variants against calibrated synthetic customers before you spend a cent of paid traffic — then let real visitors decide among the survivors and score the predictions. - [Workstreams](https://docs.erdo.ai/workstreams.md): Track multi-step business work — campaigns, lead engines, comms loops — as it moves through phases to done. ## OpenAPI Specs - [openapi](https://docs.erdo.ai/api/openapi.json)