{"id":"platform.wiki-api","app":"platform","title":"Connect an external AI tool to the wiki API","summary":"Discover apps, search articles and fetch authoritative instructions using a public read-only API.","url":"https://www.simultem-apps.com/wiki/platform#wiki-api","apiUrl":"https://www.simultem-apps.com/api/wiki/v1/articles/platform.wiki-api","resourceUri":"wiki://platform/wiki-api","revision":"2026-11-02.1","lastReviewedAt":"2026-11-02","keywords":["API","MCP","OpenAPI","search","fetch","tools","resources","AI"],"sections":[{"title":"Read the wiki in a browser","steps":["Open /wiki to browse and search all app manuals without an account or Apaleo sign-in.","Open /wiki/<app> for an individual manual, such as /wiki/tasks or /wiki/ibe. Share an article using its #section anchor.","Use Browse the public wiki on the login screen to open documentation without beginning OAuth.","Only Open app or Sign in to apps takes you to the authenticated application. Reading the manuals requires no API connection."],"notes":[]},{"title":"Start with discovery","steps":["Open /api/wiki for the discovery manifest and navigation guidance.","Use /api/wiki/openapi.json for the OpenAPI contract, or /api/wiki/v1/tools for JSON Schema tool definitions.","Call list_apps to choose a manual, get_app to read its contents, search to find a topic and fetch to read the full article.","Search questions can use English, German or Finnish, including common app-name inflections. Articles remain in English; an AI reader can explain the fetched instructions in your language.","For another language or weak matches, reformulate the query in English or browse get_app. A returned match is a navigation hint, not proof that the requested feature exists.","Follow related article IDs for cross-app workflows and cite the returned public /wiki URLs."],"notes":[],"example":"GET /api/wiki/v1/search?query=send%20guest%20door%20link&app=salto&limit=5"},{"title":"Invoke a tool over HTTP","steps":["POST a tool name and arguments to /api/wiki/v1/tools.","Read structuredContent for machine-readable results and content for text content blocks.","Check HTTP status and the isError flag and correct invalid arguments using the published schema.","Use revision and lastReviewedAt to identify the deployed documentation version."],"notes":[],"example":"{\"name\":\"fetch\",\"arguments\":{\"id\":\"salto.guest-links\"}}"},{"title":"Connection scope and future MCP","steps":["No customer login or API token is required for published wiki content; browser clients can read it with CORS.","The API exposes documentation only. Operational MSG, Salto and Tasks APIs require their separate credentials.","An AI tool must support HTTP/OpenAPI tools or a custom integration to call this API today.","A future MCP adapter can reuse the same tool schemas, executor and resource URIs. The HTTP discovery manifest identifies that an MCP transport is not yet implemented."],"notes":["Supplying this URL to an MCP-only connector does not create a working MCP connection. MCP transport, protocol negotiation and authorization for any future private tools belong in a separate adapter."]}],"text":"# Shared guides: Connect an external AI tool to the wiki API\n\nDiscover apps, search articles and fetch authoritative instructions using a public read-only API.\n\n## Read the wiki in a browser\n\n1. Open /wiki to browse and search all app manuals without an account or Apaleo sign-in.\n\n2. Open /wiki/<app> for an individual manual, such as /wiki/tasks or /wiki/ibe. Share an article using its #section anchor.\n\n3. Use Browse the public wiki on the login screen to open documentation without beginning OAuth.\n\n4. Only Open app or Sign in to apps takes you to the authenticated application. Reading the manuals requires no API connection.\n\n## Start with discovery\n\n1. Open /api/wiki for the discovery manifest and navigation guidance.\n\n2. Use /api/wiki/openapi.json for the OpenAPI contract, or /api/wiki/v1/tools for JSON Schema tool definitions.\n\n3. Call list_apps to choose a manual, get_app to read its contents, search to find a topic and fetch to read the full article.\n\n4. Search questions can use English, German or Finnish, including common app-name inflections. Articles remain in English; an AI reader can explain the fetched instructions in your language.\n\n5. For another language or weak matches, reformulate the query in English or browse get_app. A returned match is a navigation hint, not proof that the requested feature exists.\n\n6. Follow related article IDs for cross-app workflows and cite the returned public /wiki URLs.\n\nExample:\n\n```text\n\nGET /api/wiki/v1/search?query=send%20guest%20door%20link&app=salto&limit=5\n\n```\n\n## Invoke a tool over HTTP\n\n1. POST a tool name and arguments to /api/wiki/v1/tools.\n\n2. Read structuredContent for machine-readable results and content for text content blocks.\n\n3. Check HTTP status and the isError flag and correct invalid arguments using the published schema.\n\n4. Use revision and lastReviewedAt to identify the deployed documentation version.\n\nExample:\n\n```text\n\n{\"name\":\"fetch\",\"arguments\":{\"id\":\"salto.guest-links\"}}\n\n```\n\n## Connection scope and future MCP\n\n1. No customer login or API token is required for published wiki content; browser clients can read it with CORS.\n\n2. The API exposes documentation only. Operational MSG, Salto and Tasks APIs require their separate credentials.\n\n3. An AI tool must support HTTP/OpenAPI tools or a custom integration to call this API today.\n\n4. A future MCP adapter can reuse the same tool schemas, executor and resource URIs. The HTTP discovery manifest identifies that an MCP transport is not yet implemented.\n\nNote: Supplying this URL to an MCP-only connector does not create a working MCP connection. MCP transport, protocol negotiation and authorization for any future private tools belong in a separate adapter.","related":[{"id":"msg.external-api","app":"msg","title":"MSG API tokens and email integration","summary":"Use account-scoped server-to-server credentials to list automations and send email.","url":"https://www.simultem-apps.com/wiki/msg#external-api","apiUrl":"https://www.simultem-apps.com/api/wiki/v1/articles/msg.external-api","resourceUri":"wiki://msg/external-api","revision":"2026-11-02.1","lastReviewedAt":"2026-11-02"},{"id":"tasks.external-api","app":"tasks","title":"Tasks API tokens and CRUD integration","summary":"Read, create and update tasks from an external server.","url":"https://www.simultem-apps.com/wiki/tasks#external-api","apiUrl":"https://www.simultem-apps.com/api/wiki/v1/articles/tasks.external-api","resourceUri":"wiki://tasks/external-api","revision":"2026-11-02.1","lastReviewedAt":"2026-11-02"},{"id":"salto.external-api","app":"salto","title":"Salto API keys and permissions","summary":"Grant only the read, PIN-write, guest-link or door-open capabilities an integration needs.","url":"https://www.simultem-apps.com/wiki/salto#external-api","apiUrl":"https://www.simultem-apps.com/api/wiki/v1/articles/salto.external-api","resourceUri":"wiki://salto/external-api","revision":"2026-11-02.1","lastReviewedAt":"2026-11-02"}]}