Catalog

Search catalog entities

Full-text and structured search with relevance ranking and facet counts.

Query language (q). Plain words match names, descriptions, tags and documentation. Structured clauses use field:value (e.g. kind:component, lifecycle:production, owner:payments, tag:backend, language:go, namespace:payments) and combine with AND, OR, NOT and parentheses, e.g. lifecycle:production AND (language:go OR language:rust). An invalid query returns 400 with code, position, token and suggestions extensions.

Custom field filters. Any number of fields.{key} query parameters, where {key} is a field definition key:

  • fields.{key}={value} — equals the value
  • fields.{key}=__null / fields.{key}=__notnull — the field is unset / set
  • fields.{key}=__contains:{value} — a MultiSelect or Tag field contains the value

These compile to the same clauses as q, and all filters combine with AND.

Pagination is offset-based: limit + offset, with totalCount in the result.

get/api/rest/v1/catalog/search

Request

  • Base URL: https://app.componecat.ai
  • URL: https://app.componecat.ai/api/rest/v1/catalog/search
  • Auth: none required

Query parameters

qstring

Search text and/or query-language expression. Omit to match everything.

integer
OR
string int32

Page size, 1–100. Defaults to 25.

integer
OR
string int32

Number of matches to skip. Defaults to 0.

kindIdstring

Comma-separated entity kind IDs; matches any of them.

lifecyclestring

Comma-separated lifecycle stages (EXPERIMENTAL, DEVELOPMENT, PRODUCTION, DEPRECATED, RETIRED; case-insensitive); matches any of them.

ownerIdstring

Comma-separated owning team IDs; matches any of them.

tagstring

Comma-separated tags; matches entities carrying any of them.

languagestring

Comma-separated repository languages (detected from the linked repository); matches any of them.

namespacestring

Exact namespace.

sortByFieldstring

Sort by this custom field key instead of relevance.

sortDescendingboolean

With sortByField, sort descending. Defaults to false.

Response

OK

Example response

{
  "data": {
    "items": [
      {
        "fields": {
          "costCenter": "CC-100",
          "tier": 1,
          "isPublic": true,
          "environments": [
            "prod",
            "staging"
          ]
        }
      }
    ]
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.