---
title: "One public listing without signing in"
method: GET
path: "/api/v1/agent_marketplace/{id}"
tags: ["agent_marketplace", "Agent Marketplace"]
---

# One public listing without signing in

`GET /api/v1/agent_marketplace/{id}`

## Request

- Base URL: `https://composal.com` (the document declares no server; this is the origin it was published from)
- URL: `https://composal.com/api/v1/agent_marketplace/{id}`
- Auth: none required

`id` is the listing's slug or public id. Signed out, organization, link and removed listings are 404, apps are never shown as connected (`connected` is null) and `share_token` is null. With a session it reads as the viewer's active organization, as the catalog does.

## Path parameters

- `id` string, required

## Response `200`

Listing

- PublicAgentListingDetailResponse
  - `listing` AgentListingDetail, required
    - `id` string, required
    - `slug` string, required: Readable, permanent address segment: /marketplace/<slug>.
    - `name` string, required
    - `summary` string, required
    - `category` string, required
    - `visibility` 'organization' | 'link' | 'public', required
    - `installs_count` integer, required
    - `featured` boolean, required
    - `version` integer, required
    - `publisher_name` string, required: "Composal" on listings Composal publishes.
    - `from_composal` boolean, required: One of Composal's ready-made listings.
    - `catalog_key` string, nullable, required: Stable key of a Composal listing, which names its character; null for other listings.
    - `publisher_avatar_url` string, nullable, required: The publisher's own profile picture; null for Composal's listings and publishers without one.
    - `organization_name` string, required
    - `counts` object, required
      - `memories` integer, required
      - `skills` integer, required
      - `integrations` integer, required
    - `integration_toolkits` string[], required
    - `can_manage` boolean, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `explainer` string, nullable, required: The listing's public write-up in Markdown.
    - `instructions` string, required
    - `memories` string[], required
    - `skills` AgentListingSkill[], required
      - `name` string, required
      - `description` string, required
      - `body` string, required
    - `integrations` object[], required
      - `toolkit` string, required
      - `reason` string, required
      - `name` string, required
      - `connected` boolean, nullable, required: Whether the viewing organization already has a working account for this app; null on the signed-out public endpoints.
    - `share_token` string, nullable, required: Present only for people who manage the listing.
  - `viewer` MarketplaceViewer, required: Who a public marketplace response was read for.
    - `signed_in` boolean, required
    - `organization` object, nullable, required: The organization the visitor browses as; null signed out or when agents are off there.
      - `slug` string, required
      - `name` string, required

## Other responses

- `404`: No public listing with this slug or id

---

[API](https://skmtc.dev/composal/apis/vex-api.md) - [All operations](https://skmtc.dev/composal/apis/vex-api/llms.txt) - [OpenAPI document](https://skmtc.dev/composal/apis/vex-api/revisions/74298a24e040?raw)
