https://api.examplary.ai/appsPublishes an app, or replaces its definition. Use the CLI (exp app upload) to build and upload an app.
Query parameters
Add a new version even when the app is unchanged
Allowed values:truefalse
Request body
Unique identifier for the app (e.g. 'my-org.my-app')
Display name of the app
Short description of what the app does
URL of a square icon
Version of the app, e.g. '1.2.0'
Where to read more about the app
Long markdown description
Preview image
Default scope of the app's settings: the workspace's or each user's
Allowed values:userorg
Settings filled in when installing the app
Server-side functions by ID, exported by the `server` bundle
Front-end components by ID
Assets by ID
Question types the app provides, with their files uploaded
URL of the CSS the components use, like Tailwind classes
URL of the app's server bundle, which exports the hooks
SHA-256 of the server bundle, checked before it runs
SHA-256 of everything the app consists of, to recognise an upload that changes nothing
Whether every workspace can find and install the app
Whether the app is installed in every workspace. Only Examplary staff can publish preinstalled apps.
Whether the app is left out of the account pages, e.g. for a preinstalled app without settings. Only Examplary staff can publish hidden apps.
Whether the app is deprecated: existing installations keep working, but it can no longer be installed
The plans a workspace needs to be on to install the app or change its settings. Any plan when left out.
Responses
200 — The updated app, or unchanged: true when it's identical to the latest version (unless force is set).
201 — The published app.
400 — Invalid definition, or an ID taken elsewhere.
403 — Only staff can publish preinstalled or hidden apps.
429 — Rate limit exceeded
Requirements
Rate limit
50 requests per minute per user.
User roles
This endpoint requires the admin or owner role to be present.
OAuth scopes
This endpoint requires the apps:write scope to be present.