---
title: "Publish a mini-app catalog entry"
method: POST
path: "/mini-apps/publish"
tags: ["mini-apps"]
---

# Publish a mini-app catalog entry

`POST /mini-apps/publish`

Publishes a mini-app's catalog entry. Called by the mini-apps deploy pipeline after a deploy to register or refresh a single app, keyed by its unique slug. Re-publishing an existing app refreshes the deploy-managed fields (label, description, embed mode, scopes, image-input support, deployment details, and website) while leaving administrator-managed settings and artwork untouched. Artwork from the request is used only when creating a new app.

## Request body

- PublishMiniAppRequest — Artwork URLs used to present a mini-app in the app catalog.
  - `icon` string, nullable — Square mini-app icon URL.
  - `cover` string, nullable — Cover image or video URL used when no card artwork is available. Video URL paths must end in .mp4 or .webm.
  - `card` string, nullable — Preferred app catalog image or video thumbnail URL. Video URL paths must end in .mp4 or .webm.

## Response `200`

Mini-app published successfully

- PublishMiniAppResponse — Confirmation of a published mini-app catalog entry.
  - `mini_app_id` string, required — Unique identifier of the published mini-app.
  - `slug` string, required — Unique, stable, URL-safe mini-app identifier.
  - `requires_membership` boolean, required — Whether the mini-app requires a membership to access.
  - `archived` boolean, required — Whether the mini-app is currently archived (hidden from the catalog).

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `503` — Service unavailable

---

[API](https://skmtc.net/ideogram/apis/ideogram-openapi-3-0.md) · [All operations](https://skmtc.net/ideogram/apis/ideogram-openapi-3-0/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ideogram/ideogram-openapi-3-0/revisions/b560c0ad0618/schema)
