{"protocolVersion":"0.3.0","name":"Easy Answers Agent","description":"Analyzes data from your Easy Answers ontologies using Semantic SQL. Select an ontology, ask questions about your data, and get interactive visualizations.","url":"https://tools-easyanswers.apporchid.com/api/a2a","preferredTransport":"JSONRPC","version":"1.0.0","documentationUrl":"https://tools-easyanswers.apporchid.com/workspace/api","capabilities":{"streaming":true,"pushNotifications":false,"stateTransitionHistory":false,"extensions":[{"uri":"urn:easy-answers:a2a:request-settings:v1","description":"Per-request Data Analysis settings passed via message.metadata on message/send and message/stream. Unknown keys are ignored; local-SQL-only settings and action calling are rejected. Settings persist on the task: follow-up sends (ambiguity resume) reuse the original turn's settings unless explicitly overridden.","required":false,"params":{"supportedMetadataKeys":[{"key":"ontologyUids","type":"string[]","default":"first accessible ontology","description":"Ontology uid(s) to scope the turn to. All uids must be accessible to the token owner (validated; inaccessible uids are rejected). The first uid is the primary ontology; passing more than one enables multi-ontology analysis."},{"key":"deepAnalysisMode","type":"boolean","default":"false","description":"true = Deep Analysis mode (full analysis framing + intelligence toolset). false = Quick mode (answer exactly what was asked)."},{"key":"maxRecords","type":"number","default":"5000","description":"Per-query record cap, clamped to 100–25000."},{"key":"useTemplates","type":"boolean","default":"true","description":"Allow approved SQL template matching."},{"key":"generateInsights","type":"boolean","default":"false","description":"Allow interpretive insights beyond the literal data."},{"key":"generateRecommendations","type":"boolean","default":"false","description":"Allow operational recommendations / next steps."},{"key":"showSqlExplanation","type":"boolean","default":"false","description":"Include a brief plain-language explanation of each executed SQL query in the answer."},{"key":"matchEarlierPhrasing","type":"boolean","default":"true","description":"Allow matching a question to an earlier canonical phrasing for cache reuse."},{"key":"searchDocuments","type":"boolean","default":"false","description":"Enable the document-search tools over the token owner's accessible documents."},{"key":"documentSourceIds","type":"string[]","default":"all sources","description":"Optional connection ids narrowing document search. Only honored when searchDocuments=true."},{"key":"suppressVisualization","type":"boolean","default":"false","description":"true = the agent produces no chart blocks or visualization suggestions (visualization tools are disabled and any stray chart fence is stripped from the answer). Useful when the calling client renders its own charts from the returned data."},{"key":"portableContext","type":"boolean","default":"false","description":"true = append one extra data artifact named 'portable-context': the versioned portable governed-context envelope (scope + provenance references + standards mappings) for the turn. Legacy artifacts are unchanged; envelope fields never grant authority."},{"key":"serverFirstSql","type":"boolean","default":"true","description":"true (default) = Server-First SQL generation: the connected platform generates Semantic SQL from the question. false = the LOCAL SQL generation lane (deterministic tiers + local NLQ agent); the question is never sent to the platform generator, and questions the local lane cannot answer fail honestly instead of silently falling back to the platform."}]}},{"uri":"urn:easy-answers:a2a:ontology-discovery:v1","description":"Discover the ontology uids accessible to your token: GET /api/a2a/status with your Bearer token returns accessibleOntologies as [{ uid, displayName }]. Pass those uids in message.metadata.ontologyUids. The list is scoped to the token (pinned server or the owner's default server) and is empty when no server context exists.","required":false,"params":{"statusEndpoint":"/api/a2a/status","field":"accessibleOntologies"}},{"uri":"urn:easy-answers:a2a:portable-context:v1","description":"Set message.metadata.portableContext=true on message/send or message/stream to append one extra data artifact named 'portable-context': a versioned portable governed-context envelope (scope + provenance references + W3C PROV / OpenLineage / CloudEvents / OpenTelemetry GenAI mappings) for the turn. Default off — legacy artifacts are unchanged. Envelope fields never grant authority; scope is re-resolved live on every request and resume.","required":false,"params":{"envelopeVersion":"1.0","mediaType":"application/vnd.easy-answers.portable-context+json","capabilitiesEndpoint":"/api/v1/context/capabilities"}}]},"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Personal access token (create one on the Workspace API page)."}},"security":[{"bearer":[]}],"authentication":{"schemes":["Bearer"]},"defaultInputModes":["text/plain"],"defaultOutputModes":["text/plain","application/json"],"skills":[{"id":"data-integration","name":"Data Sources, Sinks & Pipelines","description":"Connector and pipeline configuration for external data systems. 34 skills: Datasink Bigquery, Datasink Cache, Datasink Elasticsearch, Datasink File, Datasink Jms, Datasink Kafka, Datasink Mongodb, Datasink Relationaldb, Datasink Solr, Datasink Storedproc, Datasink Vectordb, Datasource Bigquery, Data","tags":["data-analysis","data-integration"],"inputModes":["text/plain"],"outputModes":["text/plain","application/json"]},{"id":"semantic-sql","name":"Semantic SQL & Ontology Querying","description":"Natural-language questions compiled to Semantic SQL over ontology data. 15 skills: MSO Naming Conventions, Mso Query Json, Ontology Coverage Scoring, Ontology Discovery Workflow, Ontology Schema Understanding, Requirement-to-Ontology Mapping, Semantic SQL Coverage Reporter, Semantic SQL Data & Count","tags":["data-analysis","semantic-sql"],"inputModes":["text/plain"],"outputModes":["text/plain","application/json"]},{"id":"visualization-chart-configs","name":"Visualization & Chart Configuration","description":"Chart, series, layout, and dashboard visualization spec generation. 80 skills: Accordion Builder, ao-web-viz Visualization, Area Series Config, Bar Series Config, Boxplot Series Config, Bubble Series Config, Calendar Builder, Calendar Json, Candlestick Series Config, Carousel Slider Builder, Chart A","tags":["data-analysis","visualization-chart-configs"],"inputModes":["text/plain"],"outputModes":["text/plain","application/json"]},{"id":"document-store","name":"Document Store & Extraction","description":"Document search, viewing, and requirement extraction. 3 skills: Document Requirement Extraction, Document Store, Document Viewer Builder","tags":["data-analysis","document-store"],"inputModes":["text/plain"],"outputModes":["text/plain","application/json"]},{"id":"statistical-analysis","name":"Statistical & ML Analysis","description":"Bayesian and statistical modeling skills. 8 skills: BART Skill (Bayesian Additive Regression Trees), Causal Inference Skill, Clustering Skill (Bayesian Mixture Model), Correlation Skill (Bayesian Correlation Analysis), Data Quality Assessment, Feature Engineering, Transformations & Tricks, Regressio","tags":["data-analysis","statistical-analysis"],"inputModes":["text/plain"],"outputModes":["text/plain","application/json"]},{"id":"app-building","name":"App, Form & Solution Building","description":"Interactive app, form, and solution configuration. 22 skills: App Configuration Builder, Application Json, Config Property Json, Config Property Patterns, Controls Json, Curation Insight Builder, Form Builder, Form Controls Builder, Form Json, Insight Configuration Patterns, Insight Template Selecti","tags":["data-analysis","app-building"],"inputModes":["text/plain"],"outputModes":["text/plain","application/json"]},{"id":"general-data-analysis","name":"Data Analysis Toolkit","description":"Additional analysis and workflow skills. 12 skills: Code Generation Skill, Data Analysis Workflow, EA Server Authentication, Gap Analysis Patterns, General Agent Guidelines, Js Function Json, Kanban Scheduler Json, Outlier Detection Skill, Question Debugging Workflow, Requirements Analysis Methodolo","tags":["data-analysis","general-data-analysis"],"inputModes":["text/plain"],"outputModes":["text/plain","application/json"]}]}