create_app
Create a data app on autario in ONE call, owned by you. You give it a name and an entry: either an https URL where the app already runs, or the app itself which autario then hosts and serves inside a locked sandbox: one HTML document (content, max 512 KB), or index.html plus the JavaScript, CSS, images, fonts and further pages it loads by relative path (files, max 50 files, 1 MB each, 2 MB in total). The app id is derived from the name, so you never invent one. The new app is PRIVATE: only you can open it, it is in no catalog and at no public URL until you call publish_app. Use this as the FIRST step whenever a user asks you to build them an app, a dashboard, a report page or a tool that runs on autario data | the public catalog (World Bank, FRED, Eurostat, OECD, WHO, IMF, ECB, US Census, SEC) or the user's own connector tables (Google Search Console, GA4, Google Ads, Meta Ads, YouTube, TikTok, Instagram, Facebook, Shopify, LinkedIn). Inside the HTML read data with autario.js, never with fetch (the sandbox has no network): autario.ready(), autario.datasets(), autario.query(datasetId, {limit, orderBy, where}), autario.artifacts.get/set(key); autario inlines the SDK into every app, docs at https://autario.com/developer/docs/autario-js. Pass datasets with the ids of the user's own tables the app may read. Follow it with write_app_artifact (to save the app's data or saved views), get_app_preview_url (to hand the user a link to try) and publish_app (to make it public). Requires authentication.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Display name of the app. The app id is derived from it (lowercased, hyphenated); needs at least three letters or digits. | |
| files | No | A multi-file app: index.html plus every file it loads by relative path (e.g. "app.js", "css/style.css", "img/logo.png", "about.html"). Paths are relative, use "/", no "..". Allowed: html, js, mjs, css, json, svg, png, jpg, webp, woff2. Max 50 files, 1 MB each, 2 MB in total. Put index.html in this list or pass it as content. Links between the HTML pages work, every page gets autario.js. | |
| content | No | The app's entry document when entry_kind is "upload": one HTML file, or index.html when you also send files. It runs in a sandbox with no outbound network: read autario data through autario.js, not through fetch to third parties. | |
| tagline | No | One line saying what the app does, max 200 chars. Worth writing: it is what a user reads in the app store, and an app cannot be indexed without one. | |
| datasets | No | Ids of the user's OWN datasets (connector tables, uploads; get them from get_my_workspace) this app may read through autario.js. Everyone the owner shares the app with (role reader and up) reads exactly these, nothing else. Public catalog datasets need no declaration. | |
| entry_url | No | REQUIRED when entry_kind is "url". Must start with https://. | |
| entry_kind | No | "url" = the app already runs somewhere (give entry_url). "upload" = you are sending the app itself (give content or files). Default "url". | |
| source_url | No | Optional link to the app's open source repository. | |
| content_type | No | Type of the uploaded content. Default text/html. |