Create an app or accept an ESM app build
Existing-contract callers receive a published app synchronously; anonymous creation returns a chrm_app_* token and may request pair: true. The explicit https://charm.ing/schema/app-manifest/next.json contract requires an enabled authenticated user and Idempotency-Key, validates imports without evaluation, and returns 202 before dependency resolution or compilation. A same-owner manifest.id target is frozen at acceptance; an absent target cannot later become an overwrite. Use PUT for a known app. Every existing ESM destination requires its desired revision in If-Match; migration also requires migrate_contract: true. pair and label are not ESM fields.
Request
- Base URL: https://charm.ing
- URL: https://charm.ing/app
- Auth: one of:
- none
- HTTP bearer
Headers
Required for ESM saves. Reuse the same key, body, target and If-Match after response loss; a changed request with that key returns idempotency_conflict. Use a fresh key for each intentional save.
Desired-source revision in double quotes for an ESM upsert or migration. Read GET /app/{id}/source first.
Request body
Response
App created or upserted.
Changes
No recorded changes to this operation across all 1 revision of this API.