---
topic: showcase
connector: "Not in the connector yet. Connector apps have no deploy token: give the person the approved draft and send them to https://embarko.ai/app/showcase/submit"
api: "PUT https://ship.embarko.ai/api/apps/{app-name}/showcase"
needs_human: The person confirms the listing before it goes public.
requires: [deploy, claim]
---

[← Guide home](https://embarko.ai/docs)

# List it on Showcase

**On this page:** Over HTTP, Examples, Fields, Errors, What to tell the person

> Plain words unless the person is a developer. Never invent a link, name or code. [Rules](https://embarko.ai/docs/prerequisites) Needs first: [deploy](https://embarko.ai/docs/deploy), [claim](https://embarko.ai/docs/claim) (over HTTP only).

Showcase is a public gallery of apps built with AI. One listing per app, reused on the public page and on event pages. Act only when the person wants it listed.

**Connector:** Not in the connector yet. Connector apps have no deploy token: give the person the approved draft and send them to https://embarko.ai/app/showcase/submit

**Done when:** The listing page opens, or the event listing is waiting for the organiser and the person knows.

**Over HTTP**

1. GET https://ship.embarko.ai/api/public/showcase/apps/{app-name} (no token). 404 means not listed yet; otherwise reuse what is there and send only changes.
2. Draft name, tagline, description, category and tags from the app itself.
3. Ask once for what only the person knows: their name or profile link, who else built it, screenshots or a video, and the event page and code if it is for an event. Never invent these.
4. Show them the draft and get a yes, then send it (example below). Only the fields you send change, so a retry is safe.
5. The reply's status says what happened. approved: give them https://embarko.ai/showcase/app/{app-name}. pending: the event organiser must approve (a valid code skips this). rejected: next gives the reason.

**Example: List an app on an event page**

body.json:

```json
{"collectionSlug":"walkover-hack-2026","code":"WH26","tagline":"Live voting for hackathon demos, built in a day","creatorName":"Ravi Kumar","builtWith":"Claude","category":"Productivity","description":"What it does and who it is for.","videoUrl":"https://youtu.be/abc123"}
```

```bash
curl -sS -X PUT 'https://ship.embarko.ai/api/apps/my-app/showcase' --oauth2-bearer $DEPLOY_TOKEN -H 'Content-Type: application/json' --data @body.json
```

Leave out collectionSlug and code for the public gallery. Reply: 201 the first time, 200 after, with the listing, its status and a one-line next.

**Fields**

- `tagline`: Required on first listing. One line, 60-160 characters.
- `creatorName`: Required on first listing.
- `collectionSlug`: Event page slug: the last part of the event page link (embarko.ai/showcase/{slug}). Ask the person for that link; never guess it. Leave out for the public gallery.
- `code`: Event submit code, if the organiser gave one.
- `name`: Page title. Also changes the app's display name in the dashboard (not its address): leave it out unless the person wants that.
- `description`: Up to 4,000 characters.
- `story`: Up to 600 characters.
- `creatorProfile`: An https link.
- `contributorEmails`: Up to 10, the person listing first. Ask before sending.
- `builtWith`: Claude, Codex, Cursor, Lovable, Replit, or another.
- `category`: AI Tool, Personal, Business, Productivity, Education, Game, Developer Tool, Other.
- `tags`: Up to 8.
- `screenshotUrls`: Up to 10 https images; the first is the card image.
- `videoUrl`: A demo video link.
- `customHtml`: Up to 50,000 characters.

**Errors**

| Code | Status | Retry | What to do |
| --- | --- | --- | --- |
| `SHOWCASE_COLLECTION_UNKNOWN` | 404 | No | Wrong event slug. |
| `SHOWCASE_COLLECTION_PRIVATE` | 403 | No | Another company's event page. |
| `unauthorized` | 401 | No | Bad token, or the app is not claimed. |

**What to tell the person**

- confirm: "Here's how your app will look on Showcase: {draft}. Publish it?"
- done: "Your app is on Showcase: {link}."

**Next:** Check it is live and claimed, draft the listing, confirm, publish.

**Related:** [rename](https://embarko.ai/docs/rename) · [feedback](https://embarko.ai/docs/feedback)

---

[Guide home](https://embarko.ai/docs) · JSON: add .json