# Packages

## Domain Types

### Input State

- `type InputState struct{…}`

  Computed input state for a package — derived at response time from the
  package kind's schema and the package's input binding. Not stored.

  `effective_schema` is the full input schema (kind + binding required
  constraints merged). `effective_bindings` resolves the CEL binding to
  show actual static values and `{"$input": "path"}` references for
  install-provided fields.

  - `EffectiveBindings map[string, any]`

  - `EffectiveSchema InputStateEffectiveSchema`

    A subset of JSON Schema 2020-12 used to describe package input and output
    shapes.

    Supported keywords:

    - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
    - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
    - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
      `minItems`, `maxItems`, `enum`, `const`, `format`

    Intentionally unsupported (reject at release time rather than silently ignore):

    - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
    - References: `$ref`, `$dynamicRef`
    - `patternProperties`, `propertyNames`, `unevaluatedProperties`
    - Custom vocabularies and `$vocabulary`

    Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

    - `AdditionalProperties any`

      Schema for properties not named in `properties`.

    - `Const any`

      Constant allowed value.

    - `Default any`

      Default value (annotation).

    - `Description string`

      Human-readable description (annotation).

    - `Enum []any`

      Enumerated allowed values.

    - `Format string`

      Format hint (e.g., "uri", "uuid", "email", "date-time").

    - `Items any`

      Schema for array items.

    - `Maximum float64`

    - `MaxItems int64`

    - `MaxLength int64`

    - `Minimum float64`

    - `MinItems int64`

    - `MinLength int64`

    - `Pattern string`

    - `Properties any`

      Property schemas, keyed by property name.

    - `ReadOnly bool`

      Read-only hint — server-populated, ignored on write.

    - `Required []string`

      Names of required properties.

    - `Title string`

      Human-readable title (annotation).

    - `Type string`

      The `type` keyword in JSON Schema 2020-12.

      - `const InputStateEffectiveSchemaTypeObject InputStateEffectiveSchemaType = "object"`

      - `const InputStateEffectiveSchemaTypeArray InputStateEffectiveSchemaType = "array"`

      - `const InputStateEffectiveSchemaTypeString InputStateEffectiveSchemaType = "string"`

      - `const InputStateEffectiveSchemaTypeInteger InputStateEffectiveSchemaType = "integer"`

      - `const InputStateEffectiveSchemaTypeNumber InputStateEffectiveSchemaType = "number"`

      - `const InputStateEffectiveSchemaTypeBoolean InputStateEffectiveSchemaType = "boolean"`

      - `const InputStateEffectiveSchemaTypeNull InputStateEffectiveSchemaType = "null"`

    - `WriteOnly bool`

      Write-only hint (passwords, secrets) — never returned on read.

### Package

- `type Package struct{…}`

  - `ID string`

  - `CreatedAt Time`

  - `Kind string`

  - `Name string`

  - `Published bool`

    Whether the package is published. Unpublished packages are excluded from
    list endpoints by default; pass `include_unpublished=true` to include them.

  - `Slug string`

    Server-populated URL-friendly identifier.

  - `UpdatedAt Time`

  - `CurrentVersion PackageVersion`

    - `ID string`

    - `CreatedAt Time`

    - `ManifestSha string`

    - `Name string`

    - `OwnerType PackageVersionOwnerType`

      - `const PackageVersionOwnerTypePlatform PackageVersionOwnerType = "platform"`

      - `const PackageVersionOwnerTypeCustomer PackageVersionOwnerType = "customer"`

    - `Version int64`

    - `ArchivedAt Time`

    - `CreatedBy string`

    - `Description string`

    - `IconURL string`

    - `Inputs PackageInputBinding`

      Input binding for a package.

      `schema` constrains install-level inputs. `bindings` is a CEL expression
      that assembles the flat input map — static values are CEL literals,
      install-provided values are `pkg.inputs.X` references. Evaluated at
      provisioning time to produce the `entities.inputs` map for entity bindings.

      - `Bindings string`

        CEL expression assembling the flat input map from static values
        and install-provided values (referenced via `pkg.inputs.X`).

        Scope:

        - `pkg.inputs` — install-supplied values conforming to `schema`.

      - `Schema PackageInputBindingSchema`

        A subset of JSON Schema 2020-12 used to describe package input and output
        shapes.

        Supported keywords:

        - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
        - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
        - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
          `minItems`, `maxItems`, `enum`, `const`, `format`

        Intentionally unsupported (reject at release time rather than silently ignore):

        - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
        - References: `$ref`, `$dynamicRef`
        - `patternProperties`, `propertyNames`, `unevaluatedProperties`
        - Custom vocabularies and `$vocabulary`

        Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

        - `AdditionalProperties any`

          Schema for properties not named in `properties`.

        - `Const any`

          Constant allowed value.

        - `Default any`

          Default value (annotation).

        - `Description string`

          Human-readable description (annotation).

        - `Enum []any`

          Enumerated allowed values.

        - `Format string`

          Format hint (e.g., "uri", "uuid", "email", "date-time").

        - `Items any`

          Schema for array items.

        - `Maximum float64`

        - `MaxItems int64`

        - `MaxLength int64`

        - `Minimum float64`

        - `MinItems int64`

        - `MinLength int64`

        - `Pattern string`

        - `Properties any`

          Property schemas, keyed by property name.

        - `ReadOnly bool`

          Read-only hint — server-populated, ignored on write.

        - `Required []string`

          Names of required properties.

        - `Title string`

          Human-readable title (annotation).

        - `Type string`

          The `type` keyword in JSON Schema 2020-12.

          - `const PackageInputBindingSchemaTypeObject PackageInputBindingSchemaType = "object"`

          - `const PackageInputBindingSchemaTypeArray PackageInputBindingSchemaType = "array"`

          - `const PackageInputBindingSchemaTypeString PackageInputBindingSchemaType = "string"`

          - `const PackageInputBindingSchemaTypeInteger PackageInputBindingSchemaType = "integer"`

          - `const PackageInputBindingSchemaTypeNumber PackageInputBindingSchemaType = "number"`

          - `const PackageInputBindingSchemaTypeBoolean PackageInputBindingSchemaType = "boolean"`

          - `const PackageInputBindingSchemaTypeNull PackageInputBindingSchemaType = "null"`

        - `WriteOnly bool`

          Write-only hint (passwords, secrets) — never returned on read.

    - `Links []PackageVersionLink`

      - `Href string`

        Target reference.

        Fragment URIs (`#name`) reference other entities in the same graph by
        their local name (the key in the entity map). Absolute paths and URLs reference
        external resources outside the graph.

      - `Rel string`

        Link relation type.

      - `Properties map[string, any]`

        Additional metadata keyed by property name.

      - `Titles map[string, string]`

        Human-readable titles keyed by BCP 47 language tag.

      - `Type string`

        Media type of the target resource (per RFC 7033 section 4.4.4.3).
        Applies to external `href`s; typically omitted for intra-graph references.

    - `Outputs PackageOutputBinding`

      Output binding for a package.

      `schema` describes the flat outputs surfaced on an install.
      `bindings` is a CEL expression — a map literal whose keys match
      `schema.properties` and whose values project fields out of the resolved
      entity graph. Evaluated after the provisioner has resolved all entities.

      - `Bindings string`

        CEL expression source. Must evaluate to a map whose fields match
        `schema.properties`.

        Scope: `entities`:

        - `entities.inputs` — the package's input values (merged with
          install inputs at provisioning time).
        - `entities.<name>` — resolved entities in the graph, each with
          `href: string` and `outputs: map<string, dyn>`.

      - `Schema PackageOutputBindingSchema`

        A subset of JSON Schema 2020-12 used to describe package input and output
        shapes.

        Supported keywords:

        - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
        - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
        - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
          `minItems`, `maxItems`, `enum`, `const`, `format`

        Intentionally unsupported (reject at release time rather than silently ignore):

        - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
        - References: `$ref`, `$dynamicRef`
        - `patternProperties`, `propertyNames`, `unevaluatedProperties`
        - Custom vocabularies and `$vocabulary`

        Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

        - `AdditionalProperties any`

          Schema for properties not named in `properties`.

        - `Const any`

          Constant allowed value.

        - `Default any`

          Default value (annotation).

        - `Description string`

          Human-readable description (annotation).

        - `Enum []any`

          Enumerated allowed values.

        - `Format string`

          Format hint (e.g., "uri", "uuid", "email", "date-time").

        - `Items any`

          Schema for array items.

        - `Maximum float64`

        - `MaxItems int64`

        - `MaxLength int64`

        - `Minimum float64`

        - `MinItems int64`

        - `MinLength int64`

        - `Pattern string`

        - `Properties any`

          Property schemas, keyed by property name.

        - `ReadOnly bool`

          Read-only hint — server-populated, ignored on write.

        - `Required []string`

          Names of required properties.

        - `Title string`

          Human-readable title (annotation).

        - `Type string`

          The `type` keyword in JSON Schema 2020-12.

          - `const PackageOutputBindingSchemaTypeObject PackageOutputBindingSchemaType = "object"`

          - `const PackageOutputBindingSchemaTypeArray PackageOutputBindingSchemaType = "array"`

          - `const PackageOutputBindingSchemaTypeString PackageOutputBindingSchemaType = "string"`

          - `const PackageOutputBindingSchemaTypeInteger PackageOutputBindingSchemaType = "integer"`

          - `const PackageOutputBindingSchemaTypeNumber PackageOutputBindingSchemaType = "number"`

          - `const PackageOutputBindingSchemaTypeBoolean PackageOutputBindingSchemaType = "boolean"`

          - `const PackageOutputBindingSchemaTypeNull PackageOutputBindingSchemaType = "null"`

        - `WriteOnly bool`

          Write-only hint (passwords, secrets) — never returned on read.

    - `Properties map[string, any]`

      Vocabulary-defined metadata properties, keyed by property URN.

      Known properties are declared with their schemas; additional
      properties with custom URNs are permitted via `Record<unknown>`.

      Each property carries `x-subject-types` indicating which entity types
      it applies to. Properties with `draft/` in the URN are experimental
      and carry `x-internal: true`.

    - `Tags []string`

  - `Description string`

  - `Draft PackageDraft`

    - `ID string`

    - `ManifestSha string`

    - `Name string`

    - `UpdatedAt Time`

    - `Description string`

    - `IconURL string`

    - `Inputs PackageInputBinding`

      Input binding for a package.

      `schema` constrains install-level inputs. `bindings` is a CEL expression
      that assembles the flat input map — static values are CEL literals,
      install-provided values are `pkg.inputs.X` references. Evaluated at
      provisioning time to produce the `entities.inputs` map for entity bindings.

      - `Bindings string`

        CEL expression assembling the flat input map from static values
        and install-provided values (referenced via `pkg.inputs.X`).

        Scope:

        - `pkg.inputs` — install-supplied values conforming to `schema`.

      - `Schema PackageInputBindingSchema`

        A subset of JSON Schema 2020-12 used to describe package input and output
        shapes.

        Supported keywords:

        - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
        - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
        - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
          `minItems`, `maxItems`, `enum`, `const`, `format`

        Intentionally unsupported (reject at release time rather than silently ignore):

        - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
        - References: `$ref`, `$dynamicRef`
        - `patternProperties`, `propertyNames`, `unevaluatedProperties`
        - Custom vocabularies and `$vocabulary`

        Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

        - `AdditionalProperties any`

          Schema for properties not named in `properties`.

        - `Const any`

          Constant allowed value.

        - `Default any`

          Default value (annotation).

        - `Description string`

          Human-readable description (annotation).

        - `Enum []any`

          Enumerated allowed values.

        - `Format string`

          Format hint (e.g., "uri", "uuid", "email", "date-time").

        - `Items any`

          Schema for array items.

        - `Maximum float64`

        - `MaxItems int64`

        - `MaxLength int64`

        - `Minimum float64`

        - `MinItems int64`

        - `MinLength int64`

        - `Pattern string`

        - `Properties any`

          Property schemas, keyed by property name.

        - `ReadOnly bool`

          Read-only hint — server-populated, ignored on write.

        - `Required []string`

          Names of required properties.

        - `Title string`

          Human-readable title (annotation).

        - `Type string`

          The `type` keyword in JSON Schema 2020-12.

          - `const PackageInputBindingSchemaTypeObject PackageInputBindingSchemaType = "object"`

          - `const PackageInputBindingSchemaTypeArray PackageInputBindingSchemaType = "array"`

          - `const PackageInputBindingSchemaTypeString PackageInputBindingSchemaType = "string"`

          - `const PackageInputBindingSchemaTypeInteger PackageInputBindingSchemaType = "integer"`

          - `const PackageInputBindingSchemaTypeNumber PackageInputBindingSchemaType = "number"`

          - `const PackageInputBindingSchemaTypeBoolean PackageInputBindingSchemaType = "boolean"`

          - `const PackageInputBindingSchemaTypeNull PackageInputBindingSchemaType = "null"`

        - `WriteOnly bool`

          Write-only hint (passwords, secrets) — never returned on read.

    - `Links []PackageDraftLink`

      - `Href string`

        Target reference.

        Fragment URIs (`#name`) reference other entities in the same graph by
        their local name (the key in the entity map). Absolute paths and URLs reference
        external resources outside the graph.

      - `Rel string`

        Link relation type.

      - `Properties map[string, any]`

        Additional metadata keyed by property name.

      - `Titles map[string, string]`

        Human-readable titles keyed by BCP 47 language tag.

      - `Type string`

        Media type of the target resource (per RFC 7033 section 4.4.4.3).
        Applies to external `href`s; typically omitted for intra-graph references.

    - `Outputs PackageOutputBinding`

      Output binding for a package.

      `schema` describes the flat outputs surfaced on an install.
      `bindings` is a CEL expression — a map literal whose keys match
      `schema.properties` and whose values project fields out of the resolved
      entity graph. Evaluated after the provisioner has resolved all entities.

      - `Bindings string`

        CEL expression source. Must evaluate to a map whose fields match
        `schema.properties`.

        Scope: `entities`:

        - `entities.inputs` — the package's input values (merged with
          install inputs at provisioning time).
        - `entities.<name>` — resolved entities in the graph, each with
          `href: string` and `outputs: map<string, dyn>`.

      - `Schema PackageOutputBindingSchema`

        A subset of JSON Schema 2020-12 used to describe package input and output
        shapes.

        Supported keywords:

        - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
        - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
        - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
          `minItems`, `maxItems`, `enum`, `const`, `format`

        Intentionally unsupported (reject at release time rather than silently ignore):

        - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
        - References: `$ref`, `$dynamicRef`
        - `patternProperties`, `propertyNames`, `unevaluatedProperties`
        - Custom vocabularies and `$vocabulary`

        Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

        - `AdditionalProperties any`

          Schema for properties not named in `properties`.

        - `Const any`

          Constant allowed value.

        - `Default any`

          Default value (annotation).

        - `Description string`

          Human-readable description (annotation).

        - `Enum []any`

          Enumerated allowed values.

        - `Format string`

          Format hint (e.g., "uri", "uuid", "email", "date-time").

        - `Items any`

          Schema for array items.

        - `Maximum float64`

        - `MaxItems int64`

        - `MaxLength int64`

        - `Minimum float64`

        - `MinItems int64`

        - `MinLength int64`

        - `Pattern string`

        - `Properties any`

          Property schemas, keyed by property name.

        - `ReadOnly bool`

          Read-only hint — server-populated, ignored on write.

        - `Required []string`

          Names of required properties.

        - `Title string`

          Human-readable title (annotation).

        - `Type string`

          The `type` keyword in JSON Schema 2020-12.

          - `const PackageOutputBindingSchemaTypeObject PackageOutputBindingSchemaType = "object"`

          - `const PackageOutputBindingSchemaTypeArray PackageOutputBindingSchemaType = "array"`

          - `const PackageOutputBindingSchemaTypeString PackageOutputBindingSchemaType = "string"`

          - `const PackageOutputBindingSchemaTypeInteger PackageOutputBindingSchemaType = "integer"`

          - `const PackageOutputBindingSchemaTypeNumber PackageOutputBindingSchemaType = "number"`

          - `const PackageOutputBindingSchemaTypeBoolean PackageOutputBindingSchemaType = "boolean"`

          - `const PackageOutputBindingSchemaTypeNull PackageOutputBindingSchemaType = "null"`

        - `WriteOnly bool`

          Write-only hint (passwords, secrets) — never returned on read.

    - `Properties map[string, any]`

      Vocabulary-defined metadata properties, keyed by property URN.

      Known properties are declared with their schemas; additional
      properties with custom URNs are permitted via `Record<unknown>`.

      Each property carries `x-subject-types` indicating which entity types
      it applies to. Properties with `draft/` in the URN are experimental
      and carry `x-internal: true`.

    - `Tags []string`

  - `IconURL string`

  - `InputState InputState`

    Computed input state for a package — derived at response time from the
    package kind's schema and the package's input binding. Not stored.

    `effective_schema` is the full input schema (kind + binding required
    constraints merged). `effective_bindings` resolves the CEL binding to
    show actual static values and `{"$input": "path"}` references for
    install-provided fields.

    - `EffectiveBindings map[string, any]`

    - `EffectiveSchema InputStateEffectiveSchema`

      A subset of JSON Schema 2020-12 used to describe package input and output
      shapes.

      Supported keywords:

      - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
      - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
      - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
        `minItems`, `maxItems`, `enum`, `const`, `format`

      Intentionally unsupported (reject at release time rather than silently ignore):

      - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
      - References: `$ref`, `$dynamicRef`
      - `patternProperties`, `propertyNames`, `unevaluatedProperties`
      - Custom vocabularies and `$vocabulary`

      Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

      - `AdditionalProperties any`

        Schema for properties not named in `properties`.

      - `Const any`

        Constant allowed value.

      - `Default any`

        Default value (annotation).

      - `Description string`

        Human-readable description (annotation).

      - `Enum []any`

        Enumerated allowed values.

      - `Format string`

        Format hint (e.g., "uri", "uuid", "email", "date-time").

      - `Items any`

        Schema for array items.

      - `Maximum float64`

      - `MaxItems int64`

      - `MaxLength int64`

      - `Minimum float64`

      - `MinItems int64`

      - `MinLength int64`

      - `Pattern string`

      - `Properties any`

        Property schemas, keyed by property name.

      - `ReadOnly bool`

        Read-only hint — server-populated, ignored on write.

      - `Required []string`

        Names of required properties.

      - `Title string`

        Human-readable title (annotation).

      - `Type string`

        The `type` keyword in JSON Schema 2020-12.

        - `const InputStateEffectiveSchemaTypeObject InputStateEffectiveSchemaType = "object"`

        - `const InputStateEffectiveSchemaTypeArray InputStateEffectiveSchemaType = "array"`

        - `const InputStateEffectiveSchemaTypeString InputStateEffectiveSchemaType = "string"`

        - `const InputStateEffectiveSchemaTypeInteger InputStateEffectiveSchemaType = "integer"`

        - `const InputStateEffectiveSchemaTypeNumber InputStateEffectiveSchemaType = "number"`

        - `const InputStateEffectiveSchemaTypeBoolean InputStateEffectiveSchemaType = "boolean"`

        - `const InputStateEffectiveSchemaTypeNull InputStateEffectiveSchemaType = "null"`

      - `WriteOnly bool`

        Write-only hint (passwords, secrets) — never returned on read.

  - `Inputs PackageInputBinding`

    Input binding for a package.

    `schema` constrains install-level inputs. `bindings` is a CEL expression
    that assembles the flat input map — static values are CEL literals,
    install-provided values are `pkg.inputs.X` references. Evaluated at
    provisioning time to produce the `entities.inputs` map for entity bindings.

    - `Bindings string`

      CEL expression assembling the flat input map from static values
      and install-provided values (referenced via `pkg.inputs.X`).

      Scope:

      - `pkg.inputs` — install-supplied values conforming to `schema`.

    - `Schema PackageInputBindingSchema`

      A subset of JSON Schema 2020-12 used to describe package input and output
      shapes.

      Supported keywords:

      - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
      - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
      - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
        `minItems`, `maxItems`, `enum`, `const`, `format`

      Intentionally unsupported (reject at release time rather than silently ignore):

      - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
      - References: `$ref`, `$dynamicRef`
      - `patternProperties`, `propertyNames`, `unevaluatedProperties`
      - Custom vocabularies and `$vocabulary`

      Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

      - `AdditionalProperties any`

        Schema for properties not named in `properties`.

      - `Const any`

        Constant allowed value.

      - `Default any`

        Default value (annotation).

      - `Description string`

        Human-readable description (annotation).

      - `Enum []any`

        Enumerated allowed values.

      - `Format string`

        Format hint (e.g., "uri", "uuid", "email", "date-time").

      - `Items any`

        Schema for array items.

      - `Maximum float64`

      - `MaxItems int64`

      - `MaxLength int64`

      - `Minimum float64`

      - `MinItems int64`

      - `MinLength int64`

      - `Pattern string`

      - `Properties any`

        Property schemas, keyed by property name.

      - `ReadOnly bool`

        Read-only hint — server-populated, ignored on write.

      - `Required []string`

        Names of required properties.

      - `Title string`

        Human-readable title (annotation).

      - `Type string`

        The `type` keyword in JSON Schema 2020-12.

        - `const PackageInputBindingSchemaTypeObject PackageInputBindingSchemaType = "object"`

        - `const PackageInputBindingSchemaTypeArray PackageInputBindingSchemaType = "array"`

        - `const PackageInputBindingSchemaTypeString PackageInputBindingSchemaType = "string"`

        - `const PackageInputBindingSchemaTypeInteger PackageInputBindingSchemaType = "integer"`

        - `const PackageInputBindingSchemaTypeNumber PackageInputBindingSchemaType = "number"`

        - `const PackageInputBindingSchemaTypeBoolean PackageInputBindingSchemaType = "boolean"`

        - `const PackageInputBindingSchemaTypeNull PackageInputBindingSchemaType = "null"`

      - `WriteOnly bool`

        Write-only hint (passwords, secrets) — never returned on read.

  - `Links []PackageLink`

    - `Href string`

      Target reference.

      Fragment URIs (`#name`) reference other entities in the same graph by
      their local name (the key in the entity map). Absolute paths and URLs reference
      external resources outside the graph.

    - `Rel string`

      Link relation type.

    - `Properties map[string, any]`

      Additional metadata keyed by property name.

    - `Titles map[string, string]`

      Human-readable titles keyed by BCP 47 language tag.

    - `Type string`

      Media type of the target resource (per RFC 7033 section 4.4.4.3).
      Applies to external `href`s; typically omitted for intra-graph references.

  - `Outputs PackageOutputBinding`

    Output binding for a package.

    `schema` describes the flat outputs surfaced on an install.
    `bindings` is a CEL expression — a map literal whose keys match
    `schema.properties` and whose values project fields out of the resolved
    entity graph. Evaluated after the provisioner has resolved all entities.

    - `Bindings string`

      CEL expression source. Must evaluate to a map whose fields match
      `schema.properties`.

      Scope: `entities`:

      - `entities.inputs` — the package's input values (merged with
        install inputs at provisioning time).
      - `entities.<name>` — resolved entities in the graph, each with
        `href: string` and `outputs: map<string, dyn>`.

    - `Schema PackageOutputBindingSchema`

      A subset of JSON Schema 2020-12 used to describe package input and output
      shapes.

      Supported keywords:

      - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
      - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
      - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
        `minItems`, `maxItems`, `enum`, `const`, `format`

      Intentionally unsupported (reject at release time rather than silently ignore):

      - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
      - References: `$ref`, `$dynamicRef`
      - `patternProperties`, `propertyNames`, `unevaluatedProperties`
      - Custom vocabularies and `$vocabulary`

      Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

      - `AdditionalProperties any`

        Schema for properties not named in `properties`.

      - `Const any`

        Constant allowed value.

      - `Default any`

        Default value (annotation).

      - `Description string`

        Human-readable description (annotation).

      - `Enum []any`

        Enumerated allowed values.

      - `Format string`

        Format hint (e.g., "uri", "uuid", "email", "date-time").

      - `Items any`

        Schema for array items.

      - `Maximum float64`

      - `MaxItems int64`

      - `MaxLength int64`

      - `Minimum float64`

      - `MinItems int64`

      - `MinLength int64`

      - `Pattern string`

      - `Properties any`

        Property schemas, keyed by property name.

      - `ReadOnly bool`

        Read-only hint — server-populated, ignored on write.

      - `Required []string`

        Names of required properties.

      - `Title string`

        Human-readable title (annotation).

      - `Type string`

        The `type` keyword in JSON Schema 2020-12.

        - `const PackageOutputBindingSchemaTypeObject PackageOutputBindingSchemaType = "object"`

        - `const PackageOutputBindingSchemaTypeArray PackageOutputBindingSchemaType = "array"`

        - `const PackageOutputBindingSchemaTypeString PackageOutputBindingSchemaType = "string"`

        - `const PackageOutputBindingSchemaTypeInteger PackageOutputBindingSchemaType = "integer"`

        - `const PackageOutputBindingSchemaTypeNumber PackageOutputBindingSchemaType = "number"`

        - `const PackageOutputBindingSchemaTypeBoolean PackageOutputBindingSchemaType = "boolean"`

        - `const PackageOutputBindingSchemaTypeNull PackageOutputBindingSchemaType = "null"`

      - `WriteOnly bool`

        Write-only hint (passwords, secrets) — never returned on read.

  - `Properties map[string, any]`

    Vocabulary-defined metadata properties, keyed by property URN.

    Known properties are declared with their schemas; additional
    properties with custom URNs are permitted via `Record<unknown>`.

    Each property carries `x-subject-types` indicating which entity types
    it applies to. Properties with `draft/` in the URN are experimental
    and carry `x-internal: true`.

  - `Source PackageSource`

    Provenance info for a package originating from an ancestor catalog.

    - `Scope PackageSourceScope`

      Scope type of the catalog where the package is authored.

      - `const PackageSourceScopeGlobal PackageSourceScope = "global"`

      - `const PackageSourceScopeOrg PackageSourceScope = "org"`

      - `const PackageSourceScopeZone PackageSourceScope = "zone"`

  - `Tags []string`

### Package Draft

- `type PackageDraft struct{…}`

  - `ID string`

  - `ManifestSha string`

  - `Name string`

  - `UpdatedAt Time`

  - `Description string`

  - `IconURL string`

  - `Inputs PackageInputBinding`

    Input binding for a package.

    `schema` constrains install-level inputs. `bindings` is a CEL expression
    that assembles the flat input map — static values are CEL literals,
    install-provided values are `pkg.inputs.X` references. Evaluated at
    provisioning time to produce the `entities.inputs` map for entity bindings.

    - `Bindings string`

      CEL expression assembling the flat input map from static values
      and install-provided values (referenced via `pkg.inputs.X`).

      Scope:

      - `pkg.inputs` — install-supplied values conforming to `schema`.

    - `Schema PackageInputBindingSchema`

      A subset of JSON Schema 2020-12 used to describe package input and output
      shapes.

      Supported keywords:

      - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
      - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
      - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
        `minItems`, `maxItems`, `enum`, `const`, `format`

      Intentionally unsupported (reject at release time rather than silently ignore):

      - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
      - References: `$ref`, `$dynamicRef`
      - `patternProperties`, `propertyNames`, `unevaluatedProperties`
      - Custom vocabularies and `$vocabulary`

      Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

      - `AdditionalProperties any`

        Schema for properties not named in `properties`.

      - `Const any`

        Constant allowed value.

      - `Default any`

        Default value (annotation).

      - `Description string`

        Human-readable description (annotation).

      - `Enum []any`

        Enumerated allowed values.

      - `Format string`

        Format hint (e.g., "uri", "uuid", "email", "date-time").

      - `Items any`

        Schema for array items.

      - `Maximum float64`

      - `MaxItems int64`

      - `MaxLength int64`

      - `Minimum float64`

      - `MinItems int64`

      - `MinLength int64`

      - `Pattern string`

      - `Properties any`

        Property schemas, keyed by property name.

      - `ReadOnly bool`

        Read-only hint — server-populated, ignored on write.

      - `Required []string`

        Names of required properties.

      - `Title string`

        Human-readable title (annotation).

      - `Type string`

        The `type` keyword in JSON Schema 2020-12.

        - `const PackageInputBindingSchemaTypeObject PackageInputBindingSchemaType = "object"`

        - `const PackageInputBindingSchemaTypeArray PackageInputBindingSchemaType = "array"`

        - `const PackageInputBindingSchemaTypeString PackageInputBindingSchemaType = "string"`

        - `const PackageInputBindingSchemaTypeInteger PackageInputBindingSchemaType = "integer"`

        - `const PackageInputBindingSchemaTypeNumber PackageInputBindingSchemaType = "number"`

        - `const PackageInputBindingSchemaTypeBoolean PackageInputBindingSchemaType = "boolean"`

        - `const PackageInputBindingSchemaTypeNull PackageInputBindingSchemaType = "null"`

      - `WriteOnly bool`

        Write-only hint (passwords, secrets) — never returned on read.

  - `Links []PackageDraftLink`

    - `Href string`

      Target reference.

      Fragment URIs (`#name`) reference other entities in the same graph by
      their local name (the key in the entity map). Absolute paths and URLs reference
      external resources outside the graph.

    - `Rel string`

      Link relation type.

    - `Properties map[string, any]`

      Additional metadata keyed by property name.

    - `Titles map[string, string]`

      Human-readable titles keyed by BCP 47 language tag.

    - `Type string`

      Media type of the target resource (per RFC 7033 section 4.4.4.3).
      Applies to external `href`s; typically omitted for intra-graph references.

  - `Outputs PackageOutputBinding`

    Output binding for a package.

    `schema` describes the flat outputs surfaced on an install.
    `bindings` is a CEL expression — a map literal whose keys match
    `schema.properties` and whose values project fields out of the resolved
    entity graph. Evaluated after the provisioner has resolved all entities.

    - `Bindings string`

      CEL expression source. Must evaluate to a map whose fields match
      `schema.properties`.

      Scope: `entities`:

      - `entities.inputs` — the package's input values (merged with
        install inputs at provisioning time).
      - `entities.<name>` — resolved entities in the graph, each with
        `href: string` and `outputs: map<string, dyn>`.

    - `Schema PackageOutputBindingSchema`

      A subset of JSON Schema 2020-12 used to describe package input and output
      shapes.

      Supported keywords:

      - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
      - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
      - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
        `minItems`, `maxItems`, `enum`, `const`, `format`

      Intentionally unsupported (reject at release time rather than silently ignore):

      - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
      - References: `$ref`, `$dynamicRef`
      - `patternProperties`, `propertyNames`, `unevaluatedProperties`
      - Custom vocabularies and `$vocabulary`

      Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

      - `AdditionalProperties any`

        Schema for properties not named in `properties`.

      - `Const any`

        Constant allowed value.

      - `Default any`

        Default value (annotation).

      - `Description string`

        Human-readable description (annotation).

      - `Enum []any`

        Enumerated allowed values.

      - `Format string`

        Format hint (e.g., "uri", "uuid", "email", "date-time").

      - `Items any`

        Schema for array items.

      - `Maximum float64`

      - `MaxItems int64`

      - `MaxLength int64`

      - `Minimum float64`

      - `MinItems int64`

      - `MinLength int64`

      - `Pattern string`

      - `Properties any`

        Property schemas, keyed by property name.

      - `ReadOnly bool`

        Read-only hint — server-populated, ignored on write.

      - `Required []string`

        Names of required properties.

      - `Title string`

        Human-readable title (annotation).

      - `Type string`

        The `type` keyword in JSON Schema 2020-12.

        - `const PackageOutputBindingSchemaTypeObject PackageOutputBindingSchemaType = "object"`

        - `const PackageOutputBindingSchemaTypeArray PackageOutputBindingSchemaType = "array"`

        - `const PackageOutputBindingSchemaTypeString PackageOutputBindingSchemaType = "string"`

        - `const PackageOutputBindingSchemaTypeInteger PackageOutputBindingSchemaType = "integer"`

        - `const PackageOutputBindingSchemaTypeNumber PackageOutputBindingSchemaType = "number"`

        - `const PackageOutputBindingSchemaTypeBoolean PackageOutputBindingSchemaType = "boolean"`

        - `const PackageOutputBindingSchemaTypeNull PackageOutputBindingSchemaType = "null"`

      - `WriteOnly bool`

        Write-only hint (passwords, secrets) — never returned on read.

  - `Properties map[string, any]`

    Vocabulary-defined metadata properties, keyed by property URN.

    Known properties are declared with their schemas; additional
    properties with custom URNs are permitted via `Record<unknown>`.

    Each property carries `x-subject-types` indicating which entity types
    it applies to. Properties with `draft/` in the URN are experimental
    and carry `x-internal: true`.

  - `Tags []string`

### Package Input Binding

- `type PackageInputBinding struct{…}`

  Input binding for a package.

  `schema` constrains install-level inputs. `bindings` is a CEL expression
  that assembles the flat input map — static values are CEL literals,
  install-provided values are `pkg.inputs.X` references. Evaluated at
  provisioning time to produce the `entities.inputs` map for entity bindings.

  - `Bindings string`

    CEL expression assembling the flat input map from static values
    and install-provided values (referenced via `pkg.inputs.X`).

    Scope:

    - `pkg.inputs` — install-supplied values conforming to `schema`.

  - `Schema PackageInputBindingSchema`

    A subset of JSON Schema 2020-12 used to describe package input and output
    shapes.

    Supported keywords:

    - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
    - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
    - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
      `minItems`, `maxItems`, `enum`, `const`, `format`

    Intentionally unsupported (reject at release time rather than silently ignore):

    - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
    - References: `$ref`, `$dynamicRef`
    - `patternProperties`, `propertyNames`, `unevaluatedProperties`
    - Custom vocabularies and `$vocabulary`

    Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

    - `AdditionalProperties any`

      Schema for properties not named in `properties`.

    - `Const any`

      Constant allowed value.

    - `Default any`

      Default value (annotation).

    - `Description string`

      Human-readable description (annotation).

    - `Enum []any`

      Enumerated allowed values.

    - `Format string`

      Format hint (e.g., "uri", "uuid", "email", "date-time").

    - `Items any`

      Schema for array items.

    - `Maximum float64`

    - `MaxItems int64`

    - `MaxLength int64`

    - `Minimum float64`

    - `MinItems int64`

    - `MinLength int64`

    - `Pattern string`

    - `Properties any`

      Property schemas, keyed by property name.

    - `ReadOnly bool`

      Read-only hint — server-populated, ignored on write.

    - `Required []string`

      Names of required properties.

    - `Title string`

      Human-readable title (annotation).

    - `Type string`

      The `type` keyword in JSON Schema 2020-12.

      - `const PackageInputBindingSchemaTypeObject PackageInputBindingSchemaType = "object"`

      - `const PackageInputBindingSchemaTypeArray PackageInputBindingSchemaType = "array"`

      - `const PackageInputBindingSchemaTypeString PackageInputBindingSchemaType = "string"`

      - `const PackageInputBindingSchemaTypeInteger PackageInputBindingSchemaType = "integer"`

      - `const PackageInputBindingSchemaTypeNumber PackageInputBindingSchemaType = "number"`

      - `const PackageInputBindingSchemaTypeBoolean PackageInputBindingSchemaType = "boolean"`

      - `const PackageInputBindingSchemaTypeNull PackageInputBindingSchemaType = "null"`

    - `WriteOnly bool`

      Write-only hint (passwords, secrets) — never returned on read.

### Package List

- `type PackageList struct{…}`

  - `Items []Package`

    - `ID string`

    - `CreatedAt Time`

    - `Kind string`

    - `Name string`

    - `Published bool`

      Whether the package is published. Unpublished packages are excluded from
      list endpoints by default; pass `include_unpublished=true` to include them.

    - `Slug string`

      Server-populated URL-friendly identifier.

    - `UpdatedAt Time`

    - `CurrentVersion PackageVersion`

      - `ID string`

      - `CreatedAt Time`

      - `ManifestSha string`

      - `Name string`

      - `OwnerType PackageVersionOwnerType`

        - `const PackageVersionOwnerTypePlatform PackageVersionOwnerType = "platform"`

        - `const PackageVersionOwnerTypeCustomer PackageVersionOwnerType = "customer"`

      - `Version int64`

      - `ArchivedAt Time`

      - `CreatedBy string`

      - `Description string`

      - `IconURL string`

      - `Inputs PackageInputBinding`

        Input binding for a package.

        `schema` constrains install-level inputs. `bindings` is a CEL expression
        that assembles the flat input map — static values are CEL literals,
        install-provided values are `pkg.inputs.X` references. Evaluated at
        provisioning time to produce the `entities.inputs` map for entity bindings.

        - `Bindings string`

          CEL expression assembling the flat input map from static values
          and install-provided values (referenced via `pkg.inputs.X`).

          Scope:

          - `pkg.inputs` — install-supplied values conforming to `schema`.

        - `Schema PackageInputBindingSchema`

          A subset of JSON Schema 2020-12 used to describe package input and output
          shapes.

          Supported keywords:

          - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
          - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
          - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
            `minItems`, `maxItems`, `enum`, `const`, `format`

          Intentionally unsupported (reject at release time rather than silently ignore):

          - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
          - References: `$ref`, `$dynamicRef`
          - `patternProperties`, `propertyNames`, `unevaluatedProperties`
          - Custom vocabularies and `$vocabulary`

          Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

          - `AdditionalProperties any`

            Schema for properties not named in `properties`.

          - `Const any`

            Constant allowed value.

          - `Default any`

            Default value (annotation).

          - `Description string`

            Human-readable description (annotation).

          - `Enum []any`

            Enumerated allowed values.

          - `Format string`

            Format hint (e.g., "uri", "uuid", "email", "date-time").

          - `Items any`

            Schema for array items.

          - `Maximum float64`

          - `MaxItems int64`

          - `MaxLength int64`

          - `Minimum float64`

          - `MinItems int64`

          - `MinLength int64`

          - `Pattern string`

          - `Properties any`

            Property schemas, keyed by property name.

          - `ReadOnly bool`

            Read-only hint — server-populated, ignored on write.

          - `Required []string`

            Names of required properties.

          - `Title string`

            Human-readable title (annotation).

          - `Type string`

            The `type` keyword in JSON Schema 2020-12.

            - `const PackageInputBindingSchemaTypeObject PackageInputBindingSchemaType = "object"`

            - `const PackageInputBindingSchemaTypeArray PackageInputBindingSchemaType = "array"`

            - `const PackageInputBindingSchemaTypeString PackageInputBindingSchemaType = "string"`

            - `const PackageInputBindingSchemaTypeInteger PackageInputBindingSchemaType = "integer"`

            - `const PackageInputBindingSchemaTypeNumber PackageInputBindingSchemaType = "number"`

            - `const PackageInputBindingSchemaTypeBoolean PackageInputBindingSchemaType = "boolean"`

            - `const PackageInputBindingSchemaTypeNull PackageInputBindingSchemaType = "null"`

          - `WriteOnly bool`

            Write-only hint (passwords, secrets) — never returned on read.

      - `Links []PackageVersionLink`

        - `Href string`

          Target reference.

          Fragment URIs (`#name`) reference other entities in the same graph by
          their local name (the key in the entity map). Absolute paths and URLs reference
          external resources outside the graph.

        - `Rel string`

          Link relation type.

        - `Properties map[string, any]`

          Additional metadata keyed by property name.

        - `Titles map[string, string]`

          Human-readable titles keyed by BCP 47 language tag.

        - `Type string`

          Media type of the target resource (per RFC 7033 section 4.4.4.3).
          Applies to external `href`s; typically omitted for intra-graph references.

      - `Outputs PackageOutputBinding`

        Output binding for a package.

        `schema` describes the flat outputs surfaced on an install.
        `bindings` is a CEL expression — a map literal whose keys match
        `schema.properties` and whose values project fields out of the resolved
        entity graph. Evaluated after the provisioner has resolved all entities.

        - `Bindings string`

          CEL expression source. Must evaluate to a map whose fields match
          `schema.properties`.

          Scope: `entities`:

          - `entities.inputs` — the package's input values (merged with
            install inputs at provisioning time).
          - `entities.<name>` — resolved entities in the graph, each with
            `href: string` and `outputs: map<string, dyn>`.

        - `Schema PackageOutputBindingSchema`

          A subset of JSON Schema 2020-12 used to describe package input and output
          shapes.

          Supported keywords:

          - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
          - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
          - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
            `minItems`, `maxItems`, `enum`, `const`, `format`

          Intentionally unsupported (reject at release time rather than silently ignore):

          - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
          - References: `$ref`, `$dynamicRef`
          - `patternProperties`, `propertyNames`, `unevaluatedProperties`
          - Custom vocabularies and `$vocabulary`

          Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

          - `AdditionalProperties any`

            Schema for properties not named in `properties`.

          - `Const any`

            Constant allowed value.

          - `Default any`

            Default value (annotation).

          - `Description string`

            Human-readable description (annotation).

          - `Enum []any`

            Enumerated allowed values.

          - `Format string`

            Format hint (e.g., "uri", "uuid", "email", "date-time").

          - `Items any`

            Schema for array items.

          - `Maximum float64`

          - `MaxItems int64`

          - `MaxLength int64`

          - `Minimum float64`

          - `MinItems int64`

          - `MinLength int64`

          - `Pattern string`

          - `Properties any`

            Property schemas, keyed by property name.

          - `ReadOnly bool`

            Read-only hint — server-populated, ignored on write.

          - `Required []string`

            Names of required properties.

          - `Title string`

            Human-readable title (annotation).

          - `Type string`

            The `type` keyword in JSON Schema 2020-12.

            - `const PackageOutputBindingSchemaTypeObject PackageOutputBindingSchemaType = "object"`

            - `const PackageOutputBindingSchemaTypeArray PackageOutputBindingSchemaType = "array"`

            - `const PackageOutputBindingSchemaTypeString PackageOutputBindingSchemaType = "string"`

            - `const PackageOutputBindingSchemaTypeInteger PackageOutputBindingSchemaType = "integer"`

            - `const PackageOutputBindingSchemaTypeNumber PackageOutputBindingSchemaType = "number"`

            - `const PackageOutputBindingSchemaTypeBoolean PackageOutputBindingSchemaType = "boolean"`

            - `const PackageOutputBindingSchemaTypeNull PackageOutputBindingSchemaType = "null"`

          - `WriteOnly bool`

            Write-only hint (passwords, secrets) — never returned on read.

      - `Properties map[string, any]`

        Vocabulary-defined metadata properties, keyed by property URN.

        Known properties are declared with their schemas; additional
        properties with custom URNs are permitted via `Record<unknown>`.

        Each property carries `x-subject-types` indicating which entity types
        it applies to. Properties with `draft/` in the URN are experimental
        and carry `x-internal: true`.

      - `Tags []string`

    - `Description string`

    - `Draft PackageDraft`

      - `ID string`

      - `ManifestSha string`

      - `Name string`

      - `UpdatedAt Time`

      - `Description string`

      - `IconURL string`

      - `Inputs PackageInputBinding`

        Input binding for a package.

        `schema` constrains install-level inputs. `bindings` is a CEL expression
        that assembles the flat input map — static values are CEL literals,
        install-provided values are `pkg.inputs.X` references. Evaluated at
        provisioning time to produce the `entities.inputs` map for entity bindings.

        - `Bindings string`

          CEL expression assembling the flat input map from static values
          and install-provided values (referenced via `pkg.inputs.X`).

          Scope:

          - `pkg.inputs` — install-supplied values conforming to `schema`.

        - `Schema PackageInputBindingSchema`

          A subset of JSON Schema 2020-12 used to describe package input and output
          shapes.

          Supported keywords:

          - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
          - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
          - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
            `minItems`, `maxItems`, `enum`, `const`, `format`

          Intentionally unsupported (reject at release time rather than silently ignore):

          - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
          - References: `$ref`, `$dynamicRef`
          - `patternProperties`, `propertyNames`, `unevaluatedProperties`
          - Custom vocabularies and `$vocabulary`

          Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

          - `AdditionalProperties any`

            Schema for properties not named in `properties`.

          - `Const any`

            Constant allowed value.

          - `Default any`

            Default value (annotation).

          - `Description string`

            Human-readable description (annotation).

          - `Enum []any`

            Enumerated allowed values.

          - `Format string`

            Format hint (e.g., "uri", "uuid", "email", "date-time").

          - `Items any`

            Schema for array items.

          - `Maximum float64`

          - `MaxItems int64`

          - `MaxLength int64`

          - `Minimum float64`

          - `MinItems int64`

          - `MinLength int64`

          - `Pattern string`

          - `Properties any`

            Property schemas, keyed by property name.

          - `ReadOnly bool`

            Read-only hint — server-populated, ignored on write.

          - `Required []string`

            Names of required properties.

          - `Title string`

            Human-readable title (annotation).

          - `Type string`

            The `type` keyword in JSON Schema 2020-12.

            - `const PackageInputBindingSchemaTypeObject PackageInputBindingSchemaType = "object"`

            - `const PackageInputBindingSchemaTypeArray PackageInputBindingSchemaType = "array"`

            - `const PackageInputBindingSchemaTypeString PackageInputBindingSchemaType = "string"`

            - `const PackageInputBindingSchemaTypeInteger PackageInputBindingSchemaType = "integer"`

            - `const PackageInputBindingSchemaTypeNumber PackageInputBindingSchemaType = "number"`

            - `const PackageInputBindingSchemaTypeBoolean PackageInputBindingSchemaType = "boolean"`

            - `const PackageInputBindingSchemaTypeNull PackageInputBindingSchemaType = "null"`

          - `WriteOnly bool`

            Write-only hint (passwords, secrets) — never returned on read.

      - `Links []PackageDraftLink`

        - `Href string`

          Target reference.

          Fragment URIs (`#name`) reference other entities in the same graph by
          their local name (the key in the entity map). Absolute paths and URLs reference
          external resources outside the graph.

        - `Rel string`

          Link relation type.

        - `Properties map[string, any]`

          Additional metadata keyed by property name.

        - `Titles map[string, string]`

          Human-readable titles keyed by BCP 47 language tag.

        - `Type string`

          Media type of the target resource (per RFC 7033 section 4.4.4.3).
          Applies to external `href`s; typically omitted for intra-graph references.

      - `Outputs PackageOutputBinding`

        Output binding for a package.

        `schema` describes the flat outputs surfaced on an install.
        `bindings` is a CEL expression — a map literal whose keys match
        `schema.properties` and whose values project fields out of the resolved
        entity graph. Evaluated after the provisioner has resolved all entities.

        - `Bindings string`

          CEL expression source. Must evaluate to a map whose fields match
          `schema.properties`.

          Scope: `entities`:

          - `entities.inputs` — the package's input values (merged with
            install inputs at provisioning time).
          - `entities.<name>` — resolved entities in the graph, each with
            `href: string` and `outputs: map<string, dyn>`.

        - `Schema PackageOutputBindingSchema`

          A subset of JSON Schema 2020-12 used to describe package input and output
          shapes.

          Supported keywords:

          - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
          - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
          - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
            `minItems`, `maxItems`, `enum`, `const`, `format`

          Intentionally unsupported (reject at release time rather than silently ignore):

          - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
          - References: `$ref`, `$dynamicRef`
          - `patternProperties`, `propertyNames`, `unevaluatedProperties`
          - Custom vocabularies and `$vocabulary`

          Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

          - `AdditionalProperties any`

            Schema for properties not named in `properties`.

          - `Const any`

            Constant allowed value.

          - `Default any`

            Default value (annotation).

          - `Description string`

            Human-readable description (annotation).

          - `Enum []any`

            Enumerated allowed values.

          - `Format string`

            Format hint (e.g., "uri", "uuid", "email", "date-time").

          - `Items any`

            Schema for array items.

          - `Maximum float64`

          - `MaxItems int64`

          - `MaxLength int64`

          - `Minimum float64`

          - `MinItems int64`

          - `MinLength int64`

          - `Pattern string`

          - `Properties any`

            Property schemas, keyed by property name.

          - `ReadOnly bool`

            Read-only hint — server-populated, ignored on write.

          - `Required []string`

            Names of required properties.

          - `Title string`

            Human-readable title (annotation).

          - `Type string`

            The `type` keyword in JSON Schema 2020-12.

            - `const PackageOutputBindingSchemaTypeObject PackageOutputBindingSchemaType = "object"`

            - `const PackageOutputBindingSchemaTypeArray PackageOutputBindingSchemaType = "array"`

            - `const PackageOutputBindingSchemaTypeString PackageOutputBindingSchemaType = "string"`

            - `const PackageOutputBindingSchemaTypeInteger PackageOutputBindingSchemaType = "integer"`

            - `const PackageOutputBindingSchemaTypeNumber PackageOutputBindingSchemaType = "number"`

            - `const PackageOutputBindingSchemaTypeBoolean PackageOutputBindingSchemaType = "boolean"`

            - `const PackageOutputBindingSchemaTypeNull PackageOutputBindingSchemaType = "null"`

          - `WriteOnly bool`

            Write-only hint (passwords, secrets) — never returned on read.

      - `Properties map[string, any]`

        Vocabulary-defined metadata properties, keyed by property URN.

        Known properties are declared with their schemas; additional
        properties with custom URNs are permitted via `Record<unknown>`.

        Each property carries `x-subject-types` indicating which entity types
        it applies to. Properties with `draft/` in the URN are experimental
        and carry `x-internal: true`.

      - `Tags []string`

    - `IconURL string`

    - `InputState InputState`

      Computed input state for a package — derived at response time from the
      package kind's schema and the package's input binding. Not stored.

      `effective_schema` is the full input schema (kind + binding required
      constraints merged). `effective_bindings` resolves the CEL binding to
      show actual static values and `{"$input": "path"}` references for
      install-provided fields.

      - `EffectiveBindings map[string, any]`

      - `EffectiveSchema InputStateEffectiveSchema`

        A subset of JSON Schema 2020-12 used to describe package input and output
        shapes.

        Supported keywords:

        - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
        - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
        - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
          `minItems`, `maxItems`, `enum`, `const`, `format`

        Intentionally unsupported (reject at release time rather than silently ignore):

        - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
        - References: `$ref`, `$dynamicRef`
        - `patternProperties`, `propertyNames`, `unevaluatedProperties`
        - Custom vocabularies and `$vocabulary`

        Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

        - `AdditionalProperties any`

          Schema for properties not named in `properties`.

        - `Const any`

          Constant allowed value.

        - `Default any`

          Default value (annotation).

        - `Description string`

          Human-readable description (annotation).

        - `Enum []any`

          Enumerated allowed values.

        - `Format string`

          Format hint (e.g., "uri", "uuid", "email", "date-time").

        - `Items any`

          Schema for array items.

        - `Maximum float64`

        - `MaxItems int64`

        - `MaxLength int64`

        - `Minimum float64`

        - `MinItems int64`

        - `MinLength int64`

        - `Pattern string`

        - `Properties any`

          Property schemas, keyed by property name.

        - `ReadOnly bool`

          Read-only hint — server-populated, ignored on write.

        - `Required []string`

          Names of required properties.

        - `Title string`

          Human-readable title (annotation).

        - `Type string`

          The `type` keyword in JSON Schema 2020-12.

          - `const InputStateEffectiveSchemaTypeObject InputStateEffectiveSchemaType = "object"`

          - `const InputStateEffectiveSchemaTypeArray InputStateEffectiveSchemaType = "array"`

          - `const InputStateEffectiveSchemaTypeString InputStateEffectiveSchemaType = "string"`

          - `const InputStateEffectiveSchemaTypeInteger InputStateEffectiveSchemaType = "integer"`

          - `const InputStateEffectiveSchemaTypeNumber InputStateEffectiveSchemaType = "number"`

          - `const InputStateEffectiveSchemaTypeBoolean InputStateEffectiveSchemaType = "boolean"`

          - `const InputStateEffectiveSchemaTypeNull InputStateEffectiveSchemaType = "null"`

        - `WriteOnly bool`

          Write-only hint (passwords, secrets) — never returned on read.

    - `Inputs PackageInputBinding`

      Input binding for a package.

      `schema` constrains install-level inputs. `bindings` is a CEL expression
      that assembles the flat input map — static values are CEL literals,
      install-provided values are `pkg.inputs.X` references. Evaluated at
      provisioning time to produce the `entities.inputs` map for entity bindings.

      - `Bindings string`

        CEL expression assembling the flat input map from static values
        and install-provided values (referenced via `pkg.inputs.X`).

        Scope:

        - `pkg.inputs` — install-supplied values conforming to `schema`.

      - `Schema PackageInputBindingSchema`

        A subset of JSON Schema 2020-12 used to describe package input and output
        shapes.

        Supported keywords:

        - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
        - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
        - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
          `minItems`, `maxItems`, `enum`, `const`, `format`

        Intentionally unsupported (reject at release time rather than silently ignore):

        - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
        - References: `$ref`, `$dynamicRef`
        - `patternProperties`, `propertyNames`, `unevaluatedProperties`
        - Custom vocabularies and `$vocabulary`

        Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

        - `AdditionalProperties any`

          Schema for properties not named in `properties`.

        - `Const any`

          Constant allowed value.

        - `Default any`

          Default value (annotation).

        - `Description string`

          Human-readable description (annotation).

        - `Enum []any`

          Enumerated allowed values.

        - `Format string`

          Format hint (e.g., "uri", "uuid", "email", "date-time").

        - `Items any`

          Schema for array items.

        - `Maximum float64`

        - `MaxItems int64`

        - `MaxLength int64`

        - `Minimum float64`

        - `MinItems int64`

        - `MinLength int64`

        - `Pattern string`

        - `Properties any`

          Property schemas, keyed by property name.

        - `ReadOnly bool`

          Read-only hint — server-populated, ignored on write.

        - `Required []string`

          Names of required properties.

        - `Title string`

          Human-readable title (annotation).

        - `Type string`

          The `type` keyword in JSON Schema 2020-12.

          - `const PackageInputBindingSchemaTypeObject PackageInputBindingSchemaType = "object"`

          - `const PackageInputBindingSchemaTypeArray PackageInputBindingSchemaType = "array"`

          - `const PackageInputBindingSchemaTypeString PackageInputBindingSchemaType = "string"`

          - `const PackageInputBindingSchemaTypeInteger PackageInputBindingSchemaType = "integer"`

          - `const PackageInputBindingSchemaTypeNumber PackageInputBindingSchemaType = "number"`

          - `const PackageInputBindingSchemaTypeBoolean PackageInputBindingSchemaType = "boolean"`

          - `const PackageInputBindingSchemaTypeNull PackageInputBindingSchemaType = "null"`

        - `WriteOnly bool`

          Write-only hint (passwords, secrets) — never returned on read.

    - `Links []PackageLink`

      - `Href string`

        Target reference.

        Fragment URIs (`#name`) reference other entities in the same graph by
        their local name (the key in the entity map). Absolute paths and URLs reference
        external resources outside the graph.

      - `Rel string`

        Link relation type.

      - `Properties map[string, any]`

        Additional metadata keyed by property name.

      - `Titles map[string, string]`

        Human-readable titles keyed by BCP 47 language tag.

      - `Type string`

        Media type of the target resource (per RFC 7033 section 4.4.4.3).
        Applies to external `href`s; typically omitted for intra-graph references.

    - `Outputs PackageOutputBinding`

      Output binding for a package.

      `schema` describes the flat outputs surfaced on an install.
      `bindings` is a CEL expression — a map literal whose keys match
      `schema.properties` and whose values project fields out of the resolved
      entity graph. Evaluated after the provisioner has resolved all entities.

      - `Bindings string`

        CEL expression source. Must evaluate to a map whose fields match
        `schema.properties`.

        Scope: `entities`:

        - `entities.inputs` — the package's input values (merged with
          install inputs at provisioning time).
        - `entities.<name>` — resolved entities in the graph, each with
          `href: string` and `outputs: map<string, dyn>`.

      - `Schema PackageOutputBindingSchema`

        A subset of JSON Schema 2020-12 used to describe package input and output
        shapes.

        Supported keywords:

        - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
        - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
        - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
          `minItems`, `maxItems`, `enum`, `const`, `format`

        Intentionally unsupported (reject at release time rather than silently ignore):

        - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
        - References: `$ref`, `$dynamicRef`
        - `patternProperties`, `propertyNames`, `unevaluatedProperties`
        - Custom vocabularies and `$vocabulary`

        Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

        - `AdditionalProperties any`

          Schema for properties not named in `properties`.

        - `Const any`

          Constant allowed value.

        - `Default any`

          Default value (annotation).

        - `Description string`

          Human-readable description (annotation).

        - `Enum []any`

          Enumerated allowed values.

        - `Format string`

          Format hint (e.g., "uri", "uuid", "email", "date-time").

        - `Items any`

          Schema for array items.

        - `Maximum float64`

        - `MaxItems int64`

        - `MaxLength int64`

        - `Minimum float64`

        - `MinItems int64`

        - `MinLength int64`

        - `Pattern string`

        - `Properties any`

          Property schemas, keyed by property name.

        - `ReadOnly bool`

          Read-only hint — server-populated, ignored on write.

        - `Required []string`

          Names of required properties.

        - `Title string`

          Human-readable title (annotation).

        - `Type string`

          The `type` keyword in JSON Schema 2020-12.

          - `const PackageOutputBindingSchemaTypeObject PackageOutputBindingSchemaType = "object"`

          - `const PackageOutputBindingSchemaTypeArray PackageOutputBindingSchemaType = "array"`

          - `const PackageOutputBindingSchemaTypeString PackageOutputBindingSchemaType = "string"`

          - `const PackageOutputBindingSchemaTypeInteger PackageOutputBindingSchemaType = "integer"`

          - `const PackageOutputBindingSchemaTypeNumber PackageOutputBindingSchemaType = "number"`

          - `const PackageOutputBindingSchemaTypeBoolean PackageOutputBindingSchemaType = "boolean"`

          - `const PackageOutputBindingSchemaTypeNull PackageOutputBindingSchemaType = "null"`

        - `WriteOnly bool`

          Write-only hint (passwords, secrets) — never returned on read.

    - `Properties map[string, any]`

      Vocabulary-defined metadata properties, keyed by property URN.

      Known properties are declared with their schemas; additional
      properties with custom URNs are permitted via `Record<unknown>`.

      Each property carries `x-subject-types` indicating which entity types
      it applies to. Properties with `draft/` in the URN are experimental
      and carry `x-internal: true`.

    - `Source PackageSource`

      Provenance info for a package originating from an ancestor catalog.

      - `Scope PackageSourceScope`

        Scope type of the catalog where the package is authored.

        - `const PackageSourceScopeGlobal PackageSourceScope = "global"`

        - `const PackageSourceScopeOrg PackageSourceScope = "org"`

        - `const PackageSourceScopeZone PackageSourceScope = "zone"`

    - `Tags []string`

  - `Pagination PackageListPagination`

    Cursor-based pagination metadata returned alongside a list of results

    - `AfterCursor string`

      An opaque cursor used for paginating through a list of results

    - `BeforeCursor string`

      An opaque cursor used for paginating through a list of results

    - `TotalCount int64`

      Total number of items across all pages. Only present when the request includes ?expand[]=total_count.

### Package Output Binding

- `type PackageOutputBinding struct{…}`

  Output binding for a package.

  `schema` describes the flat outputs surfaced on an install.
  `bindings` is a CEL expression — a map literal whose keys match
  `schema.properties` and whose values project fields out of the resolved
  entity graph. Evaluated after the provisioner has resolved all entities.

  - `Bindings string`

    CEL expression source. Must evaluate to a map whose fields match
    `schema.properties`.

    Scope: `entities`:

    - `entities.inputs` — the package's input values (merged with
      install inputs at provisioning time).
    - `entities.<name>` — resolved entities in the graph, each with
      `href: string` and `outputs: map<string, dyn>`.

  - `Schema PackageOutputBindingSchema`

    A subset of JSON Schema 2020-12 used to describe package input and output
    shapes.

    Supported keywords:

    - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
    - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
    - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
      `minItems`, `maxItems`, `enum`, `const`, `format`

    Intentionally unsupported (reject at release time rather than silently ignore):

    - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
    - References: `$ref`, `$dynamicRef`
    - `patternProperties`, `propertyNames`, `unevaluatedProperties`
    - Custom vocabularies and `$vocabulary`

    Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

    - `AdditionalProperties any`

      Schema for properties not named in `properties`.

    - `Const any`

      Constant allowed value.

    - `Default any`

      Default value (annotation).

    - `Description string`

      Human-readable description (annotation).

    - `Enum []any`

      Enumerated allowed values.

    - `Format string`

      Format hint (e.g., "uri", "uuid", "email", "date-time").

    - `Items any`

      Schema for array items.

    - `Maximum float64`

    - `MaxItems int64`

    - `MaxLength int64`

    - `Minimum float64`

    - `MinItems int64`

    - `MinLength int64`

    - `Pattern string`

    - `Properties any`

      Property schemas, keyed by property name.

    - `ReadOnly bool`

      Read-only hint — server-populated, ignored on write.

    - `Required []string`

      Names of required properties.

    - `Title string`

      Human-readable title (annotation).

    - `Type string`

      The `type` keyword in JSON Schema 2020-12.

      - `const PackageOutputBindingSchemaTypeObject PackageOutputBindingSchemaType = "object"`

      - `const PackageOutputBindingSchemaTypeArray PackageOutputBindingSchemaType = "array"`

      - `const PackageOutputBindingSchemaTypeString PackageOutputBindingSchemaType = "string"`

      - `const PackageOutputBindingSchemaTypeInteger PackageOutputBindingSchemaType = "integer"`

      - `const PackageOutputBindingSchemaTypeNumber PackageOutputBindingSchemaType = "number"`

      - `const PackageOutputBindingSchemaTypeBoolean PackageOutputBindingSchemaType = "boolean"`

      - `const PackageOutputBindingSchemaTypeNull PackageOutputBindingSchemaType = "null"`

    - `WriteOnly bool`

      Write-only hint (passwords, secrets) — never returned on read.

### Package Source

- `type PackageSource struct{…}`

  Provenance info for a package originating from an ancestor catalog.

  - `Scope PackageSourceScope`

    Scope type of the catalog where the package is authored.

    - `const PackageSourceScopeGlobal PackageSourceScope = "global"`

    - `const PackageSourceScopeOrg PackageSourceScope = "org"`

    - `const PackageSourceScopeZone PackageSourceScope = "zone"`

# Versions

## Domain Types

### Package Version

- `type PackageVersion struct{…}`

  - `ID string`

  - `CreatedAt Time`

  - `ManifestSha string`

  - `Name string`

  - `OwnerType PackageVersionOwnerType`

    - `const PackageVersionOwnerTypePlatform PackageVersionOwnerType = "platform"`

    - `const PackageVersionOwnerTypeCustomer PackageVersionOwnerType = "customer"`

  - `Version int64`

  - `ArchivedAt Time`

  - `CreatedBy string`

  - `Description string`

  - `IconURL string`

  - `Inputs PackageInputBinding`

    Input binding for a package.

    `schema` constrains install-level inputs. `bindings` is a CEL expression
    that assembles the flat input map — static values are CEL literals,
    install-provided values are `pkg.inputs.X` references. Evaluated at
    provisioning time to produce the `entities.inputs` map for entity bindings.

    - `Bindings string`

      CEL expression assembling the flat input map from static values
      and install-provided values (referenced via `pkg.inputs.X`).

      Scope:

      - `pkg.inputs` — install-supplied values conforming to `schema`.

    - `Schema PackageInputBindingSchema`

      A subset of JSON Schema 2020-12 used to describe package input and output
      shapes.

      Supported keywords:

      - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
      - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
      - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
        `minItems`, `maxItems`, `enum`, `const`, `format`

      Intentionally unsupported (reject at release time rather than silently ignore):

      - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
      - References: `$ref`, `$dynamicRef`
      - `patternProperties`, `propertyNames`, `unevaluatedProperties`
      - Custom vocabularies and `$vocabulary`

      Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

      - `AdditionalProperties any`

        Schema for properties not named in `properties`.

      - `Const any`

        Constant allowed value.

      - `Default any`

        Default value (annotation).

      - `Description string`

        Human-readable description (annotation).

      - `Enum []any`

        Enumerated allowed values.

      - `Format string`

        Format hint (e.g., "uri", "uuid", "email", "date-time").

      - `Items any`

        Schema for array items.

      - `Maximum float64`

      - `MaxItems int64`

      - `MaxLength int64`

      - `Minimum float64`

      - `MinItems int64`

      - `MinLength int64`

      - `Pattern string`

      - `Properties any`

        Property schemas, keyed by property name.

      - `ReadOnly bool`

        Read-only hint — server-populated, ignored on write.

      - `Required []string`

        Names of required properties.

      - `Title string`

        Human-readable title (annotation).

      - `Type string`

        The `type` keyword in JSON Schema 2020-12.

        - `const PackageInputBindingSchemaTypeObject PackageInputBindingSchemaType = "object"`

        - `const PackageInputBindingSchemaTypeArray PackageInputBindingSchemaType = "array"`

        - `const PackageInputBindingSchemaTypeString PackageInputBindingSchemaType = "string"`

        - `const PackageInputBindingSchemaTypeInteger PackageInputBindingSchemaType = "integer"`

        - `const PackageInputBindingSchemaTypeNumber PackageInputBindingSchemaType = "number"`

        - `const PackageInputBindingSchemaTypeBoolean PackageInputBindingSchemaType = "boolean"`

        - `const PackageInputBindingSchemaTypeNull PackageInputBindingSchemaType = "null"`

      - `WriteOnly bool`

        Write-only hint (passwords, secrets) — never returned on read.

  - `Links []PackageVersionLink`

    - `Href string`

      Target reference.

      Fragment URIs (`#name`) reference other entities in the same graph by
      their local name (the key in the entity map). Absolute paths and URLs reference
      external resources outside the graph.

    - `Rel string`

      Link relation type.

    - `Properties map[string, any]`

      Additional metadata keyed by property name.

    - `Titles map[string, string]`

      Human-readable titles keyed by BCP 47 language tag.

    - `Type string`

      Media type of the target resource (per RFC 7033 section 4.4.4.3).
      Applies to external `href`s; typically omitted for intra-graph references.

  - `Outputs PackageOutputBinding`

    Output binding for a package.

    `schema` describes the flat outputs surfaced on an install.
    `bindings` is a CEL expression — a map literal whose keys match
    `schema.properties` and whose values project fields out of the resolved
    entity graph. Evaluated after the provisioner has resolved all entities.

    - `Bindings string`

      CEL expression source. Must evaluate to a map whose fields match
      `schema.properties`.

      Scope: `entities`:

      - `entities.inputs` — the package's input values (merged with
        install inputs at provisioning time).
      - `entities.<name>` — resolved entities in the graph, each with
        `href: string` and `outputs: map<string, dyn>`.

    - `Schema PackageOutputBindingSchema`

      A subset of JSON Schema 2020-12 used to describe package input and output
      shapes.

      Supported keywords:

      - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
      - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
      - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
        `minItems`, `maxItems`, `enum`, `const`, `format`

      Intentionally unsupported (reject at release time rather than silently ignore):

      - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
      - References: `$ref`, `$dynamicRef`
      - `patternProperties`, `propertyNames`, `unevaluatedProperties`
      - Custom vocabularies and `$vocabulary`

      Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

      - `AdditionalProperties any`

        Schema for properties not named in `properties`.

      - `Const any`

        Constant allowed value.

      - `Default any`

        Default value (annotation).

      - `Description string`

        Human-readable description (annotation).

      - `Enum []any`

        Enumerated allowed values.

      - `Format string`

        Format hint (e.g., "uri", "uuid", "email", "date-time").

      - `Items any`

        Schema for array items.

      - `Maximum float64`

      - `MaxItems int64`

      - `MaxLength int64`

      - `Minimum float64`

      - `MinItems int64`

      - `MinLength int64`

      - `Pattern string`

      - `Properties any`

        Property schemas, keyed by property name.

      - `ReadOnly bool`

        Read-only hint — server-populated, ignored on write.

      - `Required []string`

        Names of required properties.

      - `Title string`

        Human-readable title (annotation).

      - `Type string`

        The `type` keyword in JSON Schema 2020-12.

        - `const PackageOutputBindingSchemaTypeObject PackageOutputBindingSchemaType = "object"`

        - `const PackageOutputBindingSchemaTypeArray PackageOutputBindingSchemaType = "array"`

        - `const PackageOutputBindingSchemaTypeString PackageOutputBindingSchemaType = "string"`

        - `const PackageOutputBindingSchemaTypeInteger PackageOutputBindingSchemaType = "integer"`

        - `const PackageOutputBindingSchemaTypeNumber PackageOutputBindingSchemaType = "number"`

        - `const PackageOutputBindingSchemaTypeBoolean PackageOutputBindingSchemaType = "boolean"`

        - `const PackageOutputBindingSchemaTypeNull PackageOutputBindingSchemaType = "null"`

      - `WriteOnly bool`

        Write-only hint (passwords, secrets) — never returned on read.

  - `Properties map[string, any]`

    Vocabulary-defined metadata properties, keyed by property URN.

    Known properties are declared with their schemas; additional
    properties with custom URNs are permitted via `Record<unknown>`.

    Each property carries `x-subject-types` indicating which entity types
    it applies to. Properties with `draft/` in the URN are experimental
    and carry `x-internal: true`.

  - `Tags []string`

### Package Version List

- `type PackageVersionList struct{…}`

  - `Items []PackageVersion`

    - `ID string`

    - `CreatedAt Time`

    - `ManifestSha string`

    - `Name string`

    - `OwnerType PackageVersionOwnerType`

      - `const PackageVersionOwnerTypePlatform PackageVersionOwnerType = "platform"`

      - `const PackageVersionOwnerTypeCustomer PackageVersionOwnerType = "customer"`

    - `Version int64`

    - `ArchivedAt Time`

    - `CreatedBy string`

    - `Description string`

    - `IconURL string`

    - `Inputs PackageInputBinding`

      Input binding for a package.

      `schema` constrains install-level inputs. `bindings` is a CEL expression
      that assembles the flat input map — static values are CEL literals,
      install-provided values are `pkg.inputs.X` references. Evaluated at
      provisioning time to produce the `entities.inputs` map for entity bindings.

      - `Bindings string`

        CEL expression assembling the flat input map from static values
        and install-provided values (referenced via `pkg.inputs.X`).

        Scope:

        - `pkg.inputs` — install-supplied values conforming to `schema`.

      - `Schema PackageInputBindingSchema`

        A subset of JSON Schema 2020-12 used to describe package input and output
        shapes.

        Supported keywords:

        - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
        - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
        - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
          `minItems`, `maxItems`, `enum`, `const`, `format`

        Intentionally unsupported (reject at release time rather than silently ignore):

        - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
        - References: `$ref`, `$dynamicRef`
        - `patternProperties`, `propertyNames`, `unevaluatedProperties`
        - Custom vocabularies and `$vocabulary`

        Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

        - `AdditionalProperties any`

          Schema for properties not named in `properties`.

        - `Const any`

          Constant allowed value.

        - `Default any`

          Default value (annotation).

        - `Description string`

          Human-readable description (annotation).

        - `Enum []any`

          Enumerated allowed values.

        - `Format string`

          Format hint (e.g., "uri", "uuid", "email", "date-time").

        - `Items any`

          Schema for array items.

        - `Maximum float64`

        - `MaxItems int64`

        - `MaxLength int64`

        - `Minimum float64`

        - `MinItems int64`

        - `MinLength int64`

        - `Pattern string`

        - `Properties any`

          Property schemas, keyed by property name.

        - `ReadOnly bool`

          Read-only hint — server-populated, ignored on write.

        - `Required []string`

          Names of required properties.

        - `Title string`

          Human-readable title (annotation).

        - `Type string`

          The `type` keyword in JSON Schema 2020-12.

          - `const PackageInputBindingSchemaTypeObject PackageInputBindingSchemaType = "object"`

          - `const PackageInputBindingSchemaTypeArray PackageInputBindingSchemaType = "array"`

          - `const PackageInputBindingSchemaTypeString PackageInputBindingSchemaType = "string"`

          - `const PackageInputBindingSchemaTypeInteger PackageInputBindingSchemaType = "integer"`

          - `const PackageInputBindingSchemaTypeNumber PackageInputBindingSchemaType = "number"`

          - `const PackageInputBindingSchemaTypeBoolean PackageInputBindingSchemaType = "boolean"`

          - `const PackageInputBindingSchemaTypeNull PackageInputBindingSchemaType = "null"`

        - `WriteOnly bool`

          Write-only hint (passwords, secrets) — never returned on read.

    - `Links []PackageVersionLink`

      - `Href string`

        Target reference.

        Fragment URIs (`#name`) reference other entities in the same graph by
        their local name (the key in the entity map). Absolute paths and URLs reference
        external resources outside the graph.

      - `Rel string`

        Link relation type.

      - `Properties map[string, any]`

        Additional metadata keyed by property name.

      - `Titles map[string, string]`

        Human-readable titles keyed by BCP 47 language tag.

      - `Type string`

        Media type of the target resource (per RFC 7033 section 4.4.4.3).
        Applies to external `href`s; typically omitted for intra-graph references.

    - `Outputs PackageOutputBinding`

      Output binding for a package.

      `schema` describes the flat outputs surfaced on an install.
      `bindings` is a CEL expression — a map literal whose keys match
      `schema.properties` and whose values project fields out of the resolved
      entity graph. Evaluated after the provisioner has resolved all entities.

      - `Bindings string`

        CEL expression source. Must evaluate to a map whose fields match
        `schema.properties`.

        Scope: `entities`:

        - `entities.inputs` — the package's input values (merged with
          install inputs at provisioning time).
        - `entities.<name>` — resolved entities in the graph, each with
          `href: string` and `outputs: map<string, dyn>`.

      - `Schema PackageOutputBindingSchema`

        A subset of JSON Schema 2020-12 used to describe package input and output
        shapes.

        Supported keywords:

        - Structural: `type`, `properties`, `required`, `items`, `additionalProperties`
        - Annotations: `title`, `description`, `default`, `readOnly`, `writeOnly`
        - Constraints: `pattern`, `minLength`, `maxLength`, `minimum`, `maximum`,
          `minItems`, `maxItems`, `enum`, `const`, `format`

        Intentionally unsupported (reject at release time rather than silently ignore):

        - Schema combinators: `allOf`, `anyOf`, `oneOf`, `not`
        - References: `$ref`, `$dynamicRef`
        - `patternProperties`, `propertyNames`, `unevaluatedProperties`
        - Custom vocabularies and `$vocabulary`

        Dialect: JSON Schema 2020-12 (implied — authors do not include `$schema`).

        - `AdditionalProperties any`

          Schema for properties not named in `properties`.

        - `Const any`

          Constant allowed value.

        - `Default any`

          Default value (annotation).

        - `Description string`

          Human-readable description (annotation).

        - `Enum []any`

          Enumerated allowed values.

        - `Format string`

          Format hint (e.g., "uri", "uuid", "email", "date-time").

        - `Items any`

          Schema for array items.

        - `Maximum float64`

        - `MaxItems int64`

        - `MaxLength int64`

        - `Minimum float64`

        - `MinItems int64`

        - `MinLength int64`

        - `Pattern string`

        - `Properties any`

          Property schemas, keyed by property name.

        - `ReadOnly bool`

          Read-only hint — server-populated, ignored on write.

        - `Required []string`

          Names of required properties.

        - `Title string`

          Human-readable title (annotation).

        - `Type string`

          The `type` keyword in JSON Schema 2020-12.

          - `const PackageOutputBindingSchemaTypeObject PackageOutputBindingSchemaType = "object"`

          - `const PackageOutputBindingSchemaTypeArray PackageOutputBindingSchemaType = "array"`

          - `const PackageOutputBindingSchemaTypeString PackageOutputBindingSchemaType = "string"`

          - `const PackageOutputBindingSchemaTypeInteger PackageOutputBindingSchemaType = "integer"`

          - `const PackageOutputBindingSchemaTypeNumber PackageOutputBindingSchemaType = "number"`

          - `const PackageOutputBindingSchemaTypeBoolean PackageOutputBindingSchemaType = "boolean"`

          - `const PackageOutputBindingSchemaTypeNull PackageOutputBindingSchemaType = "null"`

        - `WriteOnly bool`

          Write-only hint (passwords, secrets) — never returned on read.

    - `Properties map[string, any]`

      Vocabulary-defined metadata properties, keyed by property URN.

      Known properties are declared with their schemas; additional
      properties with custom URNs are permitted via `Record<unknown>`.

      Each property carries `x-subject-types` indicating which entity types
      it applies to. Properties with `draft/` in the URN are experimental
      and carry `x-internal: true`.

    - `Tags []string`

  - `Pagination PackageVersionListPagination`

    Cursor-based pagination metadata returned alongside a list of results

    - `AfterCursor string`

      An opaque cursor used for paginating through a list of results

    - `BeforeCursor string`

      An opaque cursor used for paginating through a list of results

    - `TotalCount int64`

      Total number of items across all pages. Only present when the request includes ?expand[]=total_count.
