Catalog

Create a new catalog entity

fieldValues must satisfy the kind's field definitions: unknown keys, wrong JSON types and missing required fields are rejected with 422. A plan's entity limit is reported as 402.

post/api/rest/v1/catalog

Request

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

Request body

displayNamestring required

Human-readable name (1–250 characters).

kindIdstring uuid required

ID of the entity kind definition (see /entity-kind-definitions).

ownerIdstring uuid required

ID of the owning team (see /teams).

lifecycle'EXPERIMENTAL' | 'DEVELOPMENT' | 'PRODUCTION' | 'DEPRECATED' | 'RETIRED' required

Lifecycle stage.

descriptionstring required

Human-readable description (1–500 characters).

namestring nullable

URL-safe identifier (lowercase slug, max 250 characters). Generated from displayName when omitted. Must be unique per kind + namespace.

namespacestring nullable

Optional namespace: lowercase alphanumeric with hyphens, not starting or ending with a hyphen, max 100 characters.

tagsstring[] nullable

Free-form tags for categorization.

repositorystring nullable

Source repository URL (HTTPS GitHub, GitLab or Bitbucket, including owner and repository). Only accepted for kinds with repositories enabled (hasRepository on the kind definition); any other kind rejects it with 422.

fieldValuesobject nullable

Kind-specific custom field values, as a JSON object keyed by each field definition's key (not an array). Send every value in its native JSON type matching the field's type: string (Text, Date, Url, Select, User, Team), number (Number), boolean (Boolean), array of strings (MultiSelect, Tag), or any JSON value (Json). Keys must resolve to field definitions assigned to the entity's kind; unknown keys are rejected.

Example request

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

Response

Created

Example response

{
  "data": {
    "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.