---
title: "Get a catalog entity by ID"
method: GET
path: "/api/rest/v1/catalog/{id}"
tags: ["Catalog"]
---

# Get a catalog entity by ID

`GET /api/rest/v1/catalog/{id}`

## Request

- Base URL: `https://app.componecat.ai`
- URL: `https://app.componecat.ai/api/rest/v1/catalog/{id}`
- Auth: none required

## Path parameters

- `id` string, uuid, required

## Response `200`

OK

- RestApiResponseOfCatalogEntityDetail: Standard REST API response envelope for a single resource.
  - `data` CatalogEntityDetail, required: Catalog entity detail view -- full fields for single-resource responses.
    - `id` string, uuid, required: The entity ID.
    - `name` string, required: URL-safe identifier (lowercase slug), unique per kind + namespace. Together with the kind key and namespace it forms the entity ref, e.g. `component://payments/payment-gateway`.
    - `namespace` string, nullable, required: Optional logical grouping namespace. Null when the entity has none.
    - `displayName` string, required: Human-readable name.
    - `kindId` string, uuid, required: ID of the entity kind definition (see `/entity-kind-definitions`).
    - `ownerId` string, uuid, required: ID of the owning team (see `/teams`).
    - `lifecycle` 'EXPERIMENTAL' | 'DEVELOPMENT' | 'PRODUCTION' | 'DEPRECATED' | 'RETIRED', required: Lifecycle stage.
    - `description` string, required: Human-readable description.
    - `tags` string[], required: Free-form tags for categorization.
    - `repository` string, nullable, required: Linked source repository URL (HTTPS GitHub, GitLab or Bitbucket). Only kinds with repositories enabled have one; null otherwise.
    - `fields` object, nullable, required: Current custom field values as a JSON object keyed by field definition `key`, with native JSON value types — the same shape accepted by the create/update `fieldValues` input, so a value read back can be sent straight into an update. An empty object when no field values are set.
    - `organizationId` string, uuid, required: ID of the organization that owns the entity.
    - `createdAt` string, date-time, required: When the entity was created.
    - `updatedAt` string, date-time, required: When the entity was last updated.
    - `ownerName` string, nullable: Name of the owning team.
    - `ownerExternalId` string, nullable: Identifier of the owning team in the external system that manages it (e.g. the Atlassian team id); null for a team created in the catalog.
    - `ownerExternalSource` string, nullable: The external system that manages the owning team (e.g. `Atlassian`); null for a team created in the catalog.

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `429`: Too Many Requests

---

[API](https://skmtc.dev/componecat/apis/componecat-rest-api.md) · [All operations](https://skmtc.dev/componecat/apis/componecat-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/componecat/apis/componecat-rest-api/revisions/6c53d4984720?raw)
