---
title: "Get Catalog Entry"
method: GET
path: "/catalog/{api_id}"
tags: ["Catalog"]
---

# Get Catalog Entry

`GET /catalog/{api_id}`

Retrieve a single catalog entry by api_id.

## Path parameters

- `api_id` string, required

## Response `200`

Successful Response

- CatalogEntryResponse — A single browsable catalog entry.
  - `_links` CatalogEntryLinksResponse, required — Hypermedia links for a catalog entry.
    - `github` string, nullable — Human-facing GitHub tree URL for the entry, when known.
    - `import` string, required — URL of the catalog import action (`POST /catalog/{api_id}:import`).
    - `operations` string, required — URL of the entry's operation preview.
    - `self` string, required — Canonical URL of this catalog entry.
  - `api_id` string, required — Catalog identity of the API (manifest domain, e.g. `stripe.com`).
  - `path` string, nullable, required — Manifest path of the entry within the public-APIs repo.
  - `registered` boolean, required — Whether this entry is already imported locally — its `spec_url` backs a non-archived revision in `GET /apis`.
  - `spec_url` string, nullable, required — Fetchable OpenAPI spec URL the entry resolves to (used for import + coverage).
  - `update_available` boolean — Whether this (registered) entry has an upstream spec update the local revision hasn't adopted yet. Always false for unregistered entries.
  - `vendor` string, nullable, required — Registrable-domain vendor derived from `api_id` (e.g. `stripe.com`).

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `422` — Unprocessable Entity
- `500` — Internal Server Error
- `503` — Service Unavailable

## Changes

- **2026-07-31** `662bbfb3ad23` — 1 info
  - added the optional property `update_available` to the response with the `200` status
- **2026-07-01** `d65fcba0d25a` — 2 breaking, 26 info
  - the response's body type/format changed from ``/`` to `object`/`` for status `200`
  - the `detail` response's property type/format changed from `array`/`` to `string`/`` for status `422`
  - api operation id `get_catalog_entry_catalog__api_id__get` removed and replaced with `getCatalogEntry`
  - the endpoint scheme security `BearerAuth` was added to the API
  - …24 more
- **2026-05-07** `5a765d68c56f` — 1 info
  - the endpoint scheme security `AgentOauthAccessToken` was added to the API
- **2026-04-13** `76e8f6063728` — 11 breaking, 6 warning, 11 info
  - the response's body type/format changed from `object`/`` to ``/`` for status `200`
  - media type `application/problem+json` was changed to a more general media type `application/json` for the response status `422`
  - the response property `detail` became optional for the status `422`
  - the `detail` response property's maxLength was unset from `4096` for the response status `422`
  - …24 more

[Change history](https://skmtc.dev/jentic/apis/jentic-control-plane-api/changes/catalog/:api_id/get.md)

---

[API](https://skmtc.dev/jentic/apis/jentic-control-plane-api.md) · [All operations](https://skmtc.dev/jentic/apis/jentic-control-plane-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/jentic/jentic-control-plane-api/revisions/f4594f50f4d3/schema)
