SerenAI

Pay Per Call Agentic Commerce

AgentCatalogEntry

A single catalog entry. The four fields `organization_id`, `namespace`, `name`, and `version` together form the immutable identity of an entry. `tag` is an optional mutable pointer (for example `stable`) that resolves to the underlying version at lookup time.

Properties

PropertyTypeRequiredDescription
annotations any Yes Narrative key/value annotations; not indexed and not queryable.
category string,null No
created_at string Yes
created_by_user_id string,null No
deprecated boolean Yes
description string Yes
id string Yes
kind AgentCatalogEntryKind Yes
labels any Yes Queryable key/value labels (e.g. `team=platform`, `env=prod`).
name string Yes
namespace string Yes
organization_id string Yes
requires EntryRequires No Dependencies this entry requires to be useful. Typed so the control plane can validate references at apply time without parsing free-form JSON. Stored as JSONB; unknown fields are tolerated on read so a schema bump does not invalidate old rows.
source any Yes Where the artifact lives. Free-form JSON so we can evolve the source shape (`inline`, `git`, `registry`, ...) without further migrations.
tag string,null No
trust any Yes Trust and provenance metadata (`author`, `maintained_by`, `license`, `last_audit_at`). Free-form for now; concrete shape comes later.
updated_at string Yes
version string Yes
View JSON Schema
{
  "type": "object",
  "description": "A single catalog entry. The four fields `organization_id`, `namespace`,\n`name`, and `version` together form the immutable identity of an entry.\n`tag` is an optional mutable pointer (for example `stable`) that resolves\nto the underlying version at lookup time.",
  "required": [
    "id",
    "organization_id",
    "namespace",
    "name",
    "version",
    "kind",
    "description",
    "source",
    "labels",
    "annotations",
    "trust",
    "deprecated",
    "created_at",
    "updated_at"
  ],
  "properties": {
    "annotations": {
      "description": "Narrative key/value annotations; not indexed and not queryable."
    },
    "category": {
      "type": [
        "string",
        "null"
      ]
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "created_by_user_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "deprecated": {
      "type": "boolean"
    },
    "description": {
      "type": "string"
    },
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "kind": {
      "$ref": "#/components/schemas/AgentCatalogEntryKind"
    },
    "labels": {
      "description": "Queryable key/value labels (e.g. `team=platform`, `env=prod`)."
    },
    "name": {
      "type": "string"
    },
    "namespace": {
      "type": "string"
    },
    "organization_id": {
      "type": "string",
      "format": "uuid"
    },
    "requires": {
      "$ref": "#/components/schemas/EntryRequires",
      "description": "Dependencies this entry requires to be useful. Typed so the control\nplane can validate references at apply time without parsing free-form\nJSON. Stored as JSONB; unknown fields are tolerated on read so a\nschema bump does not invalidate old rows."
    },
    "source": {
      "description": "Where the artifact lives. Free-form JSON so we can evolve the source\nshape (`inline`, `git`, `registry`, ...) without further migrations."
    },
    "tag": {
      "type": [
        "string",
        "null"
      ]
    },
    "trust": {
      "description": "Trust and provenance metadata (`author`, `maintained_by`, `license`,\n`last_audit_at`). Free-form for now; concrete shape comes later."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time"
    },
    "version": {
      "type": "string"
    }
  }
}